Upload
eugenia-pilar
View
226
Download
0
Embed Size (px)
Citation preview
Tema 2Autómatas finitos
1. Autómata finito deterministaFormas de Representación de un AFD
Diagrama de transiciones Tabla de transiciones
2. Autómata finito no determinista Equivalencia AFN - AFD
3. Autómata finito no determinista con transiciones vacías Equivalencia AF - AFD
4. Equivalencia Autómatas finitos-Gramáticas Regulares
Autómata finito determinista
A = (Q, , , q0, F)
conjunto de estadosalfabeto
función de transición: Q Q
estado inicial, q0 Q
conjunto de estados finales F Q
ana3a2a1 ...
control finito
Extensión de a palabras (: Q * Q):
)),,((),(
),(
*,,
axqxaq
axQq
Formas de Representación de un AFD
Tabla de transicionesDiagrama de transiciones
a
a
b
b
a, b
q0 q1
q2
a bq0 q1 q2
q1 q2 q0
q2 q2 q2
A = ({q0 , q1 , q2), {a, b}, , q0 , {q1})con: (q0 ,a) = q1, (q0 , b) = q2 , (q1 ,a) = q2, (q1 ,b) = q0 , (q2,a) = q2, (q2,b) = q2
Lenguaje aceptado: L(A) = {x *: (q0 , x) F }
Autómata finito no determinista
A = (Q, , , q0, F)
conjunto de estadosalfabeto
función de transición: Q 2Q
estado inicial, q0 Q
conjunto de estados finales F Q
Extensión de a cadenas (: Q * 2Q )
),(),(),(
}{),(
*,,
xqpapxaq
axQq
Ejemplo de AFN
Tabla de transiciones
Diagrama de transiciones
A = ({q0 , q1 , q2), {a, b, c}, , q0 , {q0, q1, q2})con: (q0 ,a) = {q0, q1, q2}, (q0 , b) = {q1, q2}, (q0 ,c) = {q2}, (q1 ,a) = , (q1, b) = {q1, q2}, (q1,c) = {q2 },(q2 ,a) = , (q2, b) = , (q2,c) = {q2 }.
Lenguaje aceptado: L(A) = {x *: (q0 , x) F }
a b cq0 {q0, q1, q2} {q1, q2} {q2}q1 {q1, q2} {q2 }q2 {q2 }
Equivalencia AFN - AFD
q0 q1 q2
c
a,b b,c
a,b,c
ba
a b c{q0 } {q0, q1, q2} {q1, q2} {q2}{q0, q1, q2} {q0, q1, q2} {q1, q2} {q2} {q1, q2} {q1, q2} {q2} {q2} {q2}
Paso de AFN a AFD
Dado un lenguaje L aceptado por un AFN, existe un AFD queacepta L.
p0
p1
p3
p2
a
b
b b
cc
c
c
a b c{q0 } {q0, q1, q2} {q1, q2} {q2}{q0, q1, q2} {q0, q1, q2} {q1, q2} {q2} {q1, q2} {q1, q2} {q2} {q2} {q2}
a
a a,b
a,b,c
Autómata finito no determinista con transiciones vacías
A = (Q, , , q0, F)
conjunto de estados
alfabeto
función de transición: Q ( {}) 2Q
estado inicial, q0 Q
conjunto de estados finales F Q
Lenguaje aceptado: L(A) = {x *: (q0 , x) F }
-clausura de un estado
Equivalencia AF - AFD
-Dado q Q, -clausura(q) es el conjunto de estados a los que se puede llegar desde q sin consumir símbolos.
-Dado P Q -clausura(P ) = p P -clausura(p)
Extensión a cadenas de la función de transición -’(q , ) = -clausura(q)
-’(q, xa) = -clausura( p ’(q , x) (p , a) )
Dado A = (Q, , , q0, F) AF , construimos A’ = (Q, , ’, q0, F’)con F’ = F {q0} si -clausura(q0) F F en caso contrario
Se cumple que L(A) = L(A’ )
Ejemplo de AF-
Tabla de transiciones
Diagrama de transiciones
A = ({q0 , q1 , q2 , q3), {0, 1}, , q0 , {q0})con:
Lenguaje aceptado: L(A) = {x * : (q0 , x) F }
0 1 q0 {q1}q1 {q3} {q2 }q2 {q1} {q2}
q3 {q3} {q0}
Equivalencia Autómatas finitos-Gramáticas Regulares
Si L es un lenguaje regular, L es aceptado por un A. Finito
-Dada G = (N, , P, S) lineal por la derecha con L = L(G)se construye un AF A = (Q, , , q0, F) con L(A) = L(G):
Q = N {X}, X N; q0 = S; F ={X}.
Función de transición:1. (A aB) P se define B (A, a); A,B N; a {}2. (A a) P se define X (A, a); A N; a {}3. a {} se define (A, a) =
Equivalencia Autómatas finitos-Gramáticas Regulares
Si L es aceptado por un A. Finito, L es un lenguaje regular.-Sea A = (Q, , , q0, F) un AF tal que L = L(A)se construye una G = (N, , P, S) lineal por la derecha con L = L(G):
N = Q ; S = q0
El conjunto de reglas de producción se construye:
1. q’ (q, a) se define (q aq’) P ; q, q’ Q; a {}2. q F se define (q ) P