Automatas Finitos y Lenguajes Formales

15
AUTOMATAS FINITOS Y AUTOMATAS FINITOS Y LENGUAJES FORMALES LENGUAJES FORMALES PROF. DIANA CAROLINA RIVERA VELASCO

Transcript of Automatas Finitos y Lenguajes Formales

AUTOMATAS FINITOS Y AUTOMATAS FINITOS Y LENGUAJES FORMALESLENGUAJES FORMALES

PROF. DIANA CAROLINA RIVERA VELASCO

CONTENIDOCONTENIDOAutómataAplicacionesConceptos básicos:

◦Alfabeto◦Palabra◦Lenguaje◦Operaciones con lenguajes

Autómatas finitos◦AFD◦AFN

Representaciones

AUTOMATAAUTOMATAMaquina conceptual capacidad

de procesar cadenas de texto.

APLICACIONES-Reconocedores de lenguajes.

Lenguajes de programación análisis léxico.

- Comparación de cadenas.- Ejemplo: para una palabra buscar y

reemplazar.

CONCEPTOS BASICOSCONCEPTOS BASICOSALFABETO

Un alfabeto es un conjunto finito no vacío de símbolos.

∑ 1= {A,B,C,..Z,a,b,c,..z}∑ 2= {0, 1}∑ 3 = {a, b}∑ 4 = {na, pa, bra, la}∑ 5 =

{<HTML>,</HTML>,<BODY>,</BODY>}∑ 6 = {|}∑ 7 = {a, ab, aab}

CONCEPTOS BASICOSCONCEPTOS BASICOSPALABRA

Una secuencia finita de símbolos de un alfabeto es una palabra sobre dicho alfabeto.

∑ 1 : CASA, MESA, moto, carro.

∑ 2 : 0, 1, 00, 01, 11, 000, 1001101∑ 3 : a, aa, abb, ababa∑ 4 : napa, palabra∑ 7 : a, ab, aab, aaab, abab

CONCEPTOS BASICOSCONCEPTOS BASICOSLENGUAJE

Conjunto de palabras sobre el alfabeto o cualquier subconjunto del universo sobre algún alfabeto.

EJEMPLOSL = ø es el lenguaje vacio (que no contiene

ninguna palabra), |L| = 0L = {ε} es el lenguaje que solamente contiene

la palabra vacio, |L| = 1.sea ∑= {a, b}L1 = { ε, a, b}Lab = {anbn | nє IN } es decir, el lenguaje que

contiene todas las palabras con unnúmero de as seguidos por el mismo número

de bs.

CONCEPTOS BASICOSCONCEPTOS BASICOSOPERACIONES CON LENGUAJES

◦Sea L ={A,B,…Z,a,b,…z} D= {0,1,…,9}

Unión L U D ó L|D cadenas de longitud 1Concatenación LD cadenas de longitud 2Cerradura de kleene : L*Cerradura positiva: D+

AUTOMATAS FINITOSAUTOMATAS FINITOSUn autómata finito (AF) o máquina de

estado finito es un modelo matemático que realiza cómputos en forma automática sobre una entrada para producir una salida.

Este modelo está conformado por un alfabeto, un conjunto de estados y un conjunto de transiciones entre dichos estados. Su funcionamiento se basa en una función de transición, que recibe a partir de un estado inicial una cadena de caracteres pertenecientes al alfabeto (la entrada), y que va leyendo dicha cadena a medida que el autómata se desplaza de un estado a otro, para finalmente detenerse en un estado final o de aceptación, que representa la salida.

AUTOMATAS FINITOSAUTOMATAS FINITOSLos autómatas finitos son

reconocedores solo dicen “si” o “no” ante una determinada entrada.

Entre ellos podemos encontrar:◦AFD (autómatas finitos

deterministicos)◦AFN (autómatas finitos no

deterministicos)

AUTOMAS FINITOSAUTOMAS FINITOSFormalmente, un autómata finito

es una 5-tupla (Q, Σ, q0, T, F) donde:

◦Q es un conjunto finito de estados◦Σ es un alfabeto finito◦q0 es el estado inicial

◦T es una función de transición◦F es un conjunto de estados finales o

de aceptación.

AUTOMATAS FINITOSAUTOMATAS FINITOS

1

2

23a

bc

inicioPara la codificación de un Autómata existe lo que se Denomina tabla de transición De estados, cuyas filas Corresponden a los estados y Los símbolos de entrada a las Columnas.

ESTADOS

a b c ε

1 {3} {2} Ø Ø

2 Ø Ø {3} Ø

3 Ø Ø Ø Ø

AUTOMATAS FINITOS AUTOMATAS FINITOS DETERMINISTICOSDETERMINISTICOS

Existe un camino o una transición para cada símbolo del alfabeto.

1

2

23a

bc

inicio

AUTOMATAS FINITOS NO AUTOMATAS FINITOS NO DETERMINISTICOSDETERMINISTICOS

No se determina un único camino para un símbolo del lenguaje.

Un AFN es un producto antes de generar el AFD.

1

2

23a

ac

inicio

REPRESENTACIONESREPRESENTACIONESUn AF sea determinantico o no

deterministico se puede representar formalmente utilizando expresiones regulares.

O una ER se puede expresar gráficamente utilizando un AF.◦EJEMPLO: A partir de la siguientes

expresiones regulares construir el autómata finito que lo represente. L (L|D) (a* 1 b*)c*

REPRESENTACIONESREPRESENTACIONESA partir del siguiente autómata

construir la expresión regular que lo represente.

1

2

2 3a

b c

inicio d