Está en la página 1de 14

Autómata Finito

Un automata finito M consiste en:

1. Un conjunto finito QM de estados;

2. Un elemento SM de QM que es el estado inicial de M;

3. Un subconjunto AM de QM que corresponde a los estados finales


o “estados de aceptación” de M;

4. Un subconjunto finito de transiciones TM = {(q, x, r) | q, r en


QM y x es una cadena}

1
Representación Gráfica
Los autómatas se pueden representar por medio de un
grafo

 Cada estado de QM se representa con un nodo del


grafo

 El estado inicial se representa con

 El conjunto de estados finales con

 La función de transición en los arcos del grafo

2
Autómata Finito

Ejemplo:

1. QM = {A,B,C};

2. SM = A;

3. AM = {A,C};

4. TM = {(A, 1,A), (B, 11,B), (C, 111, C), (A, 0,B), (A, 2,B),
(A, 0, C), (A, 2, C), (B, 0, C), (B, 2, C)}.

3
Autómata Finito
Ejemplo

1. QM = {A,B,C};
2. sM = A;
3. AM = {A,C};
4. TM = {(A, 1,A), (B, 11,B), (C, 111, C), (A, 0,B), (A, 2,B),
(A, 0, C), (A, 2, C), (B, 0, C), (B, 2, C)}.

4
Autómata Finito

• Toman cadenas como entradas.

• Cuando un autómata ejecuta con una entrada


dada, empieza en su estado inicial.

• Los autómatas finitos pueden ser deterministas


o nodeterministas.

5
Autómata Finito
Si, después de un número de pasos, el autómata

1. Está en un estado p,
2. La entrada restante empieza con x, y
3. Hay una transición (p, x, q) en el autómata,

Entonces el autómata puede leer x de su entrada y cambiar


al estado q.

Si (p, z, r) es una transición del autómata, y la entrada


restante empieza con z, entonces se podría consumir z
y cambiar al estado r, etc.

6
Autómata Finito
Si al menos una sequencia de ejecución consume toda la
entrada y llega un estado final, se dice que la
entrada es aceptada por el autómata. De lo contrario
se dice que es rechazada.

El significado del autómata es el lenguaje que consiste en


todas las cadenas que acepta.

7
Lenguaje de un autómata
 El lenguaje de un autómata finito (AF) es el conjunto de cadenas
que el AF acepta:
 Cuál es el lenguage del siguiente autómata?

0 1
inicio 0 1
q0 q1 q2

8
Lenguaje de un autómata

 Ej. Considera el siguiente lenguaje:


L= { w | w es de la forma XY para algunas cadenas X e Y tal que X
consiste en un numero impar de 0´s e Y cualquier numero de 1´s}

 L es el lenguaje del siguiente autómata:

0 1
inicio 0 1
q0 q1 q2

9
Autómata finito nodeterminista

 Es cuando se permite a un AF tener cero o mas estados


siguientes para un par estado-símbolo.
 Herramienta importante para diseñar procesadores de
lenguajes,
p.e. analizadores léxicos.
 Pero son imaginarios en el sentido de que tienen que ser
implementados determinísticamente.

Ejemplo: AFN que acepta cadenas


de símbolos en {1,2,3} tales que
el último símbolo ya ha aparecido
antes en la cadena.

10
Ejemplo

Cuál es el lenguaje del autómata?

11
Ejemplo

Cuál es el lenguaje del autómata?

12
Ejemplo

Cuál es el lenguaje del autómata?

Ejercicio: el lenguaje de todas las cadenas sobre {a,b}


Con un número par de a’s (encuentra el autómata).
13
Ejemplo

Qué cadena no está en el lenguaje del autómata?


Cuál es el lenguaje del autómata?

Kleene’s Thm: Un lenguaje L sobre  es regular ssi


existe un autómata finito que acepta L.
40

También podría gustarte