Está en la página 1de 11

22/05/2012

INTRODUCCIN
La informacin se codifica en cadenas de smbolos, y un autmata es un dispositivo que manipula cadenas de smbolos que se le presentan a su entrada, producindose otras tiras o cadenas de smbolos a su salida. El autmata recibe los smbolos de entrada, uno detrs de otro, es decir secuencialmente. El smbolos de salida que en un instante produce un autmata, no slo depende del ltimo smbolo recibido a la entrada, sino de toda la secuencia o cadena, que ha recibido hasta ese instante. Todo lo anterior conduce a definir un concepto fundamental: estado de un autmata.

AUTMATAS
1

Teora de Lenguajes

Ing. Laura Bazn Daz

ESTADO DE UN AUTMATA

Es toda la informacin necesaria en un momento dado, para poder deducir, dado un smbolo de entrada en ese momento, cul ser el smbolo de salida; as, el estado inicial, es conocer en qu estado se encontraba el autmata al recibir el primero de los smbolos de entrada. El autmata tendr un determinado nmero de estados (pudiendo ser infinitos). Se define la configuracin de un autmata a la situacin en un instante. Se define movimiento de un autmata como el trnsito entre dos configuraciones. El autmata al recibir un smbolo, producir un smbolo de salida y efectuar un cambio o transicin a otro estado(o puede quedarse en el mismo).

Un autmata reconocedor de un lenguaje, funciona de tal forma que cuando reciba a su entrada una determinada cadena de smbolos, indica si dicha cadena pertenece o no al lenguaje. Se mostrar cmo existe un tipo de autmata para reconocer cada uno de los tipos de lenguajes generados por las correspondientes gramticas

22/05/2012

DEFINICIN FORMAL DE UN AUTMATA

DEFINICIN FORMAL DE UN AUTMATA


f es la funcin de transicin o funcin del estado siguiente, y para un par del conjunto E x Q devuelve un estado perteneciente al conjunto Q. E x Q es el conjunto producto cartesiano de E por Q. g es la funcin de salida, y para un par del conjunto E x Q, devuelve un smbolo de salida del conjunto S.

Un autmata es una Quntupla:


A= (E, S, Q, f, g) donde:
E={conjunto de entradas o vocabulario de entrada} S={conjunto de salidas o vocabulario de salidas} Q={conjunto de estados} f: E x Q Q g: E x Q S

E es un conjunto finito y sus elementos se llaman entradas o smbolos de entrada. S es un conjunto finito, y sus elementos se llaman salidas o smbolos de salida. Q es el conjunto de estados posibles, puede ser finito o infinito.

REPRESENTACIN DE AUTMATAS

REPRESENTACIN DE AUTMATAS
f q1 q2 q3 a q1 q3 q3 b q2 q2 q1 g q1 q2 q3 a 0 0 1 b 1 0 0

Los autmatas se pueden representar mediante:


Tabla de transiciones Diagrama de Moore

TABLA DE TRANSICIONES Las funcin f y g pueden representarse mediante una tabla, con tantas filas como estados y tantas columnas como entradas. As por ejemplo se puede representar el autmata A=(E,S,Q,f,g) donde E={a,b}, S={0,1}, Q={q1,q2,q3} y las funciones f y g se pueden representar por:
7

As se obtiene que f(a,q1)=q1 ; g(a, q1)=0; o tambin que f(a,q2)=q3 ; g(a, q3)=1. Ambas funciones tambin se pueden representar en una misma tabla de la siguiente forma:

f/g q1 q2 q3

a q1/0 q3/0 q3/1

b q2/1 q2/0 q1/0


8

22/05/2012

DIAGRAMAS DE MOORE
Son otra forma de representar las funciones de transicin y salida de un autmata. El diagrama de Moore es un grafo orientado en el que cada nodo corresponde a un estado; y si f(,qi)=qj y g(,qi)=s existe un arco dirigido del nodo qi al qj sobre el que se pone la etiqueta /s, tal y como se muestra en la figura:

EJEMPLO DE DIAGRAMA
a/0

DE MOORE

q1 b/1 b/0

/s q2 q3

qi Diagrama de Moore

qj

b/0

a/1 a/0

10

CORRESPONDENCIA ENTRE LAS GRAMTICAS Y LOS AUTMATAS


Una Mquina de Turing es un Autmata de tipo 0 (Gramticas tipo 0). Los autmatas Lineales o Acotados son Autmatas de tipo 1 (Gramticas tipo 1), Los Autmatas de Pila son Autmatas de tipo 2, capaces de reconocer la gramtica de Contexto Libre o tipo 2. Los autmatas Finitos son Autmatas de tipo 3, reconocen las gramticas regulares o de tipo 3.

AUTMATAS FINITOS

Los autmatas finitos reconocen los lenguajes regulares, o de tipo 3 y se pueden representar intuitivamente por una cinta y una cabeza de lectura.
Movimiento a Izquierda

CINTA 0 1 1 1 1 1 1

Celda 0 1 1

1 0

Para efectos de estudio, iniciaremos con los autmatas finitos (Gramticas tipo 3) y luego veremos autmatas con pila (Gramticas tipo 2), que son las gramticas que como ya hemos indicado, son las que nos interesan.
11

Control de estados

Esquema intuitivo de un Autmata Finito

12

22/05/2012

AUTMATAS FINITOS
La cinta de entrada solo contiene smbolos de un determinado alfabeto, y se mueve en una sola direccin. El control de estados, determina el funcionamiento del autmata. Una sentencia de un lenguaje determinado, colocada en la cinta, y leda por el autmata finito, es reconocida por ste, si el control de estados llega a un estado final.

DEFINICIN FORMAL DE UN AUTMATA FINITO


Se puede definir como una quntupla: AF=(E,Q,f,q1,F) donde:

E={conjunto finito de smbolos de entrada, que constituye el vocabulario} Q={conjunto finito de estados} f: E* x Q Q es la funcin de transicin q1 Q, es estado inicial F Q, es el conjunto de estados finales

Se entiende por configuracin de autmata finito a un par de la forma (q,W) donde q es el estado actual y W la cadena que queda por leer en ese instante.
14

13

DEFINICIN FORMAL DE UN AUTMATA FINITO


La configuracin inicial del AF es (q1,t) siendo t la cadena o sentencia de entrada a reconocer. La configuracin final del AF es (qi,) donde qi F y indica que no queda nada por entrar de la cinta. Un movimiento de un autmata finito puede definirse como el trnsito entre dos configuraciones, y se representa por:

LENGUAJE RECONOCIDO POR UN AUTMATA FINITO


Cuando un autmata transita a una configuracin final partiendo de la configuracin inicial, en varios movimientos, se dice que se ha producido aceptacin o reconocimiento de la cadena de entrada. Es decir que dicha cadena pertenece al lenguaje reconocido por el autmata. Por el contrario cuando el autmata finito no es capaz de llegar a un estado final, se dice que el autmata no reconoce dicha cadena y que por tanto no pertenece al lenguaje. El lenguaje reconocido por un autmata finito es: L(AF)={t/t E*, (q1,t) (qi,), qi F}

(q,aW) (q,W) y se debe cumplir que f(q,a)=q


15

16

22/05/2012

TEOREMAS Y COROLARIOS
TEOREMA 1. Para toda gramtica regular G3, existe un autmata finito AF tal que el lenguaje reconocido por el autmata finito es igual al lenguaje reconocido por la gramtica. L(AF)=L(G3) TEOREMA 2. Para todo autmata finito AF existe una gramtica regular G3, tal que el lenguaje generado por la gramtica es igual al lenguaje reconocido por el autmata finito. L(G3) =L(AF) COROLARIO. Segn el teorema 1 se tiene que {L(G3)}{L(AF)} y por el teorema 2 {L(AF)}{L(G3}, luego {Lregulares}={L(AF)}={L(G3}

REPRESENTACIN DE LOS AUTMATAS FINITOS

La forma habitual de representar los autmatas finitos es mediante un grafo o diagrama de estados, donde los nodos son los estados y las ramas estn marcadas con los smbolos del alfabeto de entrada. Las ramas se construyen segn la funcin de transicin, as debe de cumplir f(q1,a)q2.
a

17

q1

Transicin entre dos estados

q2

18

REPRESENTACIN DE LOS AUTMATAS


FINITOS Los nodos que representan los estados finales, suelen marcarse con doble crculo, y el estado inicial tambin se marca con una flecha, encima de la cual se suele colocar INICIO. Ejemplo 1: Sea el autmata finito A1=(E,Q,f,q1,F) donde E={a,b} {}; Q={q1,q2,q3,q4} y la funcin f viene dada por la tabla siguiente y el conjunto de estados finales F={q3} f a b

SOLUCIN

Determinar el lenguaje que reconoce, representar el diagrama de Moore, e indicar la expresin regular que representa al lenguaje.

q1 q2 q3 q4

q2 q2 q4 q4

q4 q3 q3 q4
19

Se construye el diagrama de Moore, colocando en primer lugar todos los estados dentro de crculos, marcando con doble crculo el estado final. El estado inicial se indica con una flecha que lo seala la palabra INICIO encima. Para construir las ramas, nos situamos en el primer estado de la tabla de transiciones y se observa que f(q1,a)=q2, entonces se traza una flecha entre q1 y q2 apuntando a q2, y se coloca encima de la flecha el smbolo del vocabulario de entrada a. De igual forma se recorre la tabla de transiciones para cada estado y entrada completndose el diagrama de Moore.

20

22/05/2012

SOLUCIN
INICIO

SOLUCIN
El lenguaje generado se obtiene partiendo del estado inicial y recorriendo todos los caminos posibles para alcanzar el estado final. As se obtiene que este autmata reconoce el lenguaje: L(A1)={ab,aab,,abbb,,aabb,} L(A1)={anbm/n 1, m 1}

q1

q2

q3

q4

Diagrama de Moore - Ejemplo

La expresin regular que denota el lenguaje es a+b+ o tambin aa*bb*.


22

a,b
21

EJEMPLO 2

SOLUCIN

Sea el autmata finito A2=(E,Q,f,q1,F) donde E={0,1}, Q={q1,q2,q3,q4} y f se define por la tabla siguiente, y F={q2}. Construir el diagrama de Moore y determinar el lenguaje que reconoce, denotndolo con su expresin regular.
f q1 q2 q3 q4 0 q4 q3 q4 q4 1 q2 q4 q2 q4
23

Se construye el diagrama de Moore de forma anloga al ejemplo anterior.


0 q1 1 q2 1 0 q4 0,1 0 1 q3

INICIO

El lenguaje generado es el siguiente: L(A2)={1,101,10101,} = {1(01)n/n 0} La expresin regular: 1(01)*

24

22/05/2012

EJERCICIOS: PARA LOS SGTS. AF CONSTRUIR EL DIAGRAMA DE MOORE Y DETERMINAR EL LENGUAJE QUE RECONOCE, DENOTNDOLO CON SU EXPRESIN REGULAR.
1.

CLASIFICACIN DE LOS AUTMATAS


FINITOS Cuando se defini autmata finito, la funcin f:E*x QQ, es en general no determinista. As en funcin de f, se hablar de autmatas finitos deterministas AFD y autmatas finitos no deterministas AFND. Un autmata finito no determinista AFND se caracteriza por la portabilidad de que dada una entrada e en un estado qi, se pueda pasar a un estado qj,qk,,qn sin saber a ciencia cierta, a cual de esos estados pasar. Existiendo la misma probabilidad de que se pase a cualquiera de dichos estados.

A3=(E,Q,f,q1,F) donde E={a,b,c}, Q={q1,q2,q3,q4,q5} y f se define por la tabla siguiente, y F={q2,q4}.


f q1 q2 q3 q4 q5 a q2 q5 q5 q5 q5 b q3 q5 q5 q5 q5 c q5 q5 q4 q5 q5

2.

A4=(E,Q,f,q1,F) donde E={1,2,3}, Q={q1,q2,q3} y f se define por la tabla siguiente, y F={q2}.


f q1 q2 q3 1 q1 q3 q3 2 q1 q3 q3 3 q2 q3 q3
25

26

AUTMATAS FINITOS NO DETERMINISTAS


La de definicin de autmata finito no determinista AFND coincide con la de autmata finito: AFND=(E,Q,f,q1,F) con la salvedad de que f:E*xQQ es no determinista. Ejemplo: Sea el autmata finito no determinista AFND=(E,Q,f,q1,F) donde E={a,b}, Q={q1,q2,q3,q4}, F={q4} y la funcin f viene dada por la siguiente tabla: f a b

Determinar el lenguaje que reconoce y dar su expresin regular. SOLUCIN El diagrama de Moore se construye al igual que en los ejemplos anteriores de autmatas finitos, con la salvedad que para una entrada a un estado puede salir ms de una flecha e un determinado estado. El lenguaje reconocido es el siguiente: a(b*ba*b)a* o tambin a(b*a*)ba* .

a
INICIO

q2 b

b q4 b

q1 q2 q3 q4

{q2,q3} q3 q4

{q2,q4} q4
27

q1 a q3 a

a
28

Diagrama de AFND

22/05/2012

TEOREMA DE LA TRANSFORMACIN DE AUTMATA FINITO DETERMINISTAS


Un autmata finito determinista AFD es un caso particular de los autmatas finitos, en el que la funcin de transicin no presenta ninguna ambigedad en las transiciones de estados para una entrada dada. Un autmata finito determinista es una quntupla AFD=(E,Q,f,q1,F) donde la funcin f:E*xQQ es determinista.

AFND A AFD El teorema dice as: Para todo autmata finito no determinista AFND=(E,Q,f,q1,F) se puede construir un autmata finito determinista AFD=(E,Q,f,q1,F) tal que el lenguaje reconocido por el autmata finito no determinista AFND, es decir L(AFD)=L(AFND). DEMOSTRACIN Se determina en primer lugar Q que es el conjunto de las partes del conjunto de estados Q. Q=P(Q)={conjunto de las partes de Q} El cardinal de Q o nmero de estados del conjunto Q es: cardinal(Q)=2cardinal(Q).

29

30

Q={,[q1],[q2],[q3],[q4],[q1q2],[q1q3], ,[q1q2q3q4]}

EJEMPLO. SEA

EL AFND, DETERMINAR UN AUTMATA

q1=[q1] F={[q4],[q1q4],[q2q4],[q3q4],[q1q2q4],,[q1q2q3q4]} Y fse construye a partir de f resultando la siguiente tabla:

FINITO DETERMINISTA EQUIVALENTE.

f [q1] [q2] [q3] [q4]


a [q2q3] [q3] [q4] [q2q3] [q2q3] [q2q3q4] [q3] [q4] [q3q4] [q2q3] [q2q3q4] [q2q3q4] [q3q4] [q2q3q4]

b [q2q4] [q4] [q2q4] [q4] [q2q4] [q2q4] [q4] [q2q4] [q2q4] [q4] [q2q4] [q2q4]
32

Sea el autmata finito no determinista AFND=(E,Q,f,q1,F) donde E={a,b}, Q={q1,q2,q3,q4}, F={q4} y la funcin f viene dada por la siguiente tabla: f a b
q1 q2 q3 q4 {q2,q3} q3 q4 {q2,q4} q4

[q1q2] [q1q3] [q1q4] [q2q3] [q2q4]

Solucin: Siguiendo la construccin del teorema, el AFD tendr en un principio 24 estados, es decir Q conjunto de las partes de Q tiene en un principio 16 estados. Tambin se define el estado inicial y el conjunto de estados finales F.

31

[q3q4] [q1q2q3] [q1q2q4] [q1q3q4] [q2q3q4] [q1q2q3q4]

22/05/2012

a [q2q3] [q3] [q4] [q3] [q4]

b [q4] [q2q4] [q2q4]

Ahora bien, en un AF los estados que no son accesibles desde el inicial pueden eliminarse , as se eliminan los marcados en la tabla con flechas: [q2], [q1q2], [q1q3], [q1q4], [q1q2q3],[q1q2q4], [q1q3q4] y [q1q2q3q4] por no aparecer dentro de la tabla. [q2q3q4] por no aparecer en la tabla como transicin de un estado eliminado anteriormente. [q3q4] por aparecer en la tabla como transicin de un estado eliminado anteriormente, y tambin en su propio estado, no es accesible por no aparecer en otro estado. Evidentemente [q1] nunca puede eliminarse como estado, por ser el estado inicial. Entonces f puede resumirse segn la tabla:

[q1] [q3] [q4] [q2q3] [q2q4]

El estado [ ] no puede eliminarse en este caso, pues es accesible desde [q1] y [q4]. De los 16 estados posibles slo han quedado 6, con los que se construye el diagrama de Moore de la figura:

33

34

ALGORITMO DE TRANSFORMACIN DE UNA GRAMTICA DE TIPO 3 EN UN AUTMATA

Se puede comprobar que el lenguaje reconocido por el AFD es el mismo que el reconocido por el AFND. As el lenguaje reconocido por el AFD es: abb*abb*aa*aaa*ba* = abb*(aa*)aaa*ba* = abb*a*aaa*ba* = ab*ba*aaa*ba* = a(b*aa*)ba* = a(b*a*)ba*
35

Sea una gramtica de tipo 3 o regular G=(N,T,P,S) y se desea obtener un autmata finito AF=(E,Q,f,q1,F) que reconozca el lenguaje generado por la gramtica. El autmata obtenido, en general ser no determinista. SOLUCIN. Se determinan los distintos elementos del autmata de la siguiente forma: E=T Q=N {qf} A cada smbolo no terminal de la gramtica se le asocia un estado del autmata. Adems se introduce un nuevo estado, denominado qf que ser el nico estado final del autmata. q1=S F={qf}

36

22/05/2012

ALGORITMO

DE TRANSFORMACIN DE UNA

GRAMTICA DE TIPO

3 EN UN AUTMATA

La funcin de transicin f se determina a partir de la forma de las reglas de produccin P, de la manera siguiente: a) Para las reglas de la forma AaB se obtiene f(A,a)=B siendo A y B los estados correspondientes a los no terminales A y B.
a Diagrama de Moore de f(A,a)=B

A
b)

Ejemplo: Sea la gramtica de tipo 3 siguiente: G=(N={A,S}, T={a,b}, S, P) Donde P son las reglas: SaS S aA A bA A b Obtener un AFND y otro AFD que reconozcan el mismo lenguaje que esta gramtica genera. SOLUCIN. Se define el AFND a partir de la gramtica como AFND=(E,Q,f,q1,F) donde E={A,S,X}, q1=S, F=[X], y f viene dada por la siguiente tabla:
f S A
37

Para las reglas de la forma Aa se obtiene a f(A,a)=qf


A qf Diagrama de Moore de f(A,a)=B

a {S,A} -

b {A,X} 38

El diagrama de Moore se representa:

Se eliminan de la tabla los estados inaccesibles desde el estado inicial [S], y se representa el diagrama de Moore:

El lenguaje que reconoce: a*ab*b=aa*bb*=a*b* El AFD se define como AFD=(E,Q,f,q1,F) donde fviene dado por la tabla:

39

40

10

22/05/2012

EQUIVALENCIAS ENTRE EXPRESIONES REGULARES BSICAS Y AUTMATAS FINITOS

EQUIVALENCIAS ENTRE EXPRESIONES REGULARES BSICAS Y AUTMATAS FINITOS

41

42

EQUIVALENCIAS ENTRE EXPRESIONES REGULARES BSICAS Y AUTMATAS FINITOS

EQUIVALENCIAS ENTRE EXPRESIONES REGULARES BSICAS Y AUTMATAS FINITOS

43

44

11

También podría gustarte