Professional Documents
Culture Documents
definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 1 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 2 / 49 Teora de la Computacin Francisco Hernndez Quiroz Autmatas Lenguajes regulares Autmatas no deterministas Cerradura Autmatas finitos Otras definiciones Limitaciones Minimalizacin Autmatas Lenguajes regulares Autmatas no deterministas Cerradura Autmatas finitos Otras definiciones Limitaciones Minimalizacin
F F 3 2 2 3 2 2 1 1
S d c b a Q F F F 1 F 2 F 2 1 1 2 S b a Q
Leng. regulares y autmatas finitos Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos Teora de la Computacin Francisco Hernndez Quiroz 3 / 49 4 / 49
terminan con ab y enmedio tienen un nmero indeterminado de c y d . ser comprensible. Y que acepta el lenguaje formado por cadenas que empiezan con ba, Y que acepta un lenguaje cuya descripcin es demasiado larga como para siguiente tabla: por la siguiente tabla: El autmata formado por = {a, b}, Q = {S, 1, 2, F } y descrita por la El autmata formado por = {a, b, c, d }, Q = {S, 1, 2, 3, F } y descrita
Ejemplo 2 Ejemplo 1
Un estado inicial s Q y un conjunto de estados finales F Q Francisco Hernndez Quiroz Un conjunto finito de estados Q
Autmatas finitos
Autmatas Autmatas
Lenguajes regulares Autmatas no deterministas Cerradura Lenguajes regulares Autmatas no deterministas Cerradura
Autmatas finitos Otras definiciones Limitaciones Minimalizacin Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 5 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 6 / 49 Teora de la Computacin Francisco Hernndez Quiroz Autmatas Autmatas Lenguajes regulares Autmatas no deterministas Cerradura Lenguajes regulares Autmatas no deterministas Cerradura Autmatas finitos Otras definiciones Limitaciones Minimalizacin Autmatas finitos Otras definiciones Limitaciones Minimalizacin
2 2 mo d 3 1 1 mo d 3 0 0 mo d 3
0 1 Un lenguaje L es regular sii exite un autmata finito A tal que L = L(A). 1 2 1 0 0 L(A) = { | (S, ) F }. 0 1 A = (Q, , S, F , ): Ahora podemos definir el lenguaje aceptado por el autmata { {0, 1} | es un mltiplo de 3 en binario} El siguiente autmata acepta el lenguaje
Un ejemplo aritmtico
Nota: el alumno puede demostrar que ambas definiciones son equivalentes. 2 a a ((q, ), a)
= (q, a) F b S a,b a q = (q, ) O alternativamente 1 b b ((q, a), ) = (q, a) q = (q, ) F 3 2 1 S b a a b siguiente forma. Sean q Q, a y : c,d Podemos ampliar la funcin a una funcin : Q Q de la
Autmatas Autmatas
Lenguajes regulares Autmatas no deterministas Cerradura Lenguajes regulares Autmatas no deterministas Cerradura
Autmatas finitos Otras definiciones Limitaciones Minimalizacin Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 9 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 10 / 49 Teora de la Computacin Francisco Hernndez Quiroz Autmatas Autmatas Lenguajes regulares Autmatas no deterministas Cerradura Lenguajes regulares Autmatas no deterministas Cerradura Autmatas finitos Otras definiciones Limitaciones Minimalizacin Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 11 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 12 / 49 Teora de la Computacin Francisco Hernndez Quiroz
a,b (q, a) [ (A, a) = (A, ) = A 2 a : P(Q) P(Q) de esta forma: La funcin anterior se extiende a una funcin b S a,b La funcin de transicin de un N FA es : Q P(Q). Adems, tiene un conjunto de estados iniciales S. 1 a,b estados posibles cuando lee un carcter. Un autmata finito no determinista (N FA) puede elegir uno de varios
pues # = 0
# #
(0, ) =
mo d 3 #d = Ahora, por induccin en . Caso bsico mo d 3 (2(#) + d ) = = mo d 3 (2(# mo d 3) + d ) mo d 3 = (2q + d ) (# mo d 3, d ) = d {0, 1} = 2(#) + d #(d ) (q, d ) ((0, ), d ) = (0, d ) Demostracin. Primero Hiptesis inductiva: (0, ) = # mo d 3. Por demostrar mo d 3 (0, ) = # Sea # el nmero denotado por la cadena binaria . Entonces
= =
Autmatas Autmatas
Lenguajes regulares Autmatas no deterministas Cerradura Lenguajes regulares Autmatas no deterministas Cerradura
Autmatas finitos Otras definiciones Limitaciones Minimalizacin Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 13 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 14 / 49 Teora de la Computacin Francisco Hernndez Quiroz Autmatas Autmatas Lenguajes regulares Autmatas no deterministas Cerradura Lenguajes regulares Autmatas no deterministas Cerradura Autmatas finitos Otras definiciones Limitaciones Minimalizacin Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 15 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 16 / 49 Teora de la Computacin Francisco Hernndez Quiroz q (A,) r (q, )
q (A,)
2 a (A, ) = A [ (q, ) define as b 3 a,b Ahora es posible transitar de un estado a otro sin consumir smbolos. se : Q ( { }) P(Q). 1 S N = (Q, , , S, F ), igual a un N FA salvo que Un autmata finito no determinista con transiciones- es una quinteta
1
sii (s , ) F
sii L(D) L(N ) = L(D): se demuestran por induccin sobre , y , en ese orden. Entonces, P(Q)
(A, a)
S
= = = =
{A Q | A F = }
Q
D
D (A, a) sD FD
D
(A, ) = (A, )
i i
= [
(Ai , ) [ ( Ai , )
autmata D FA ((A, ), )
Autmatas Autmatas
Lenguajes regulares Autmatas no deterministas Cerradura Lenguajes regulares Autmatas no deterministas Cerradura
Autmatas finitos Otras definiciones Limitaciones Minimalizacin Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 17 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 18 / 49 Teora de la Computacin Francisco Hernndez Quiroz Autmatas Autmatas Lenguajes regulares Autmatas no deterministas Cerradura Lenguajes regulares Autmatas no deterministas Cerradura Autmatas finitos Otras definiciones Limitaciones Minimalizacin Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 19 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 20 / 49 Teora de la Computacin Francisco Hernndez Quiroz
sii L(D) Se puede demostrar por induccin en que completos, i.e., que la funcin no es parcial. ( (q , a), (q , a)) = ((q , q ), a)
1 2 1 1 2
Los conjuntos regulares son cerrados bajo las operaciones de: Construiremos un D D FA tal que Sean D = (Q , , , s , F ) y D = (Q , , , s , F ) dos D FA.
1 1 1 1 1 2 2 2 2 2
{q | (q) F = }
r (q)
(q)
= (q) o finales en autmatas con un solo estado inicial o final. estados iniciales
r n (q)
(q)
0
Autmatas Autmatas
Lenguajes regulares Autmatas no deterministas Cerradura Lenguajes regulares Autmatas no deterministas Cerradura
Autmatas finitos Otras definiciones Limitaciones Minimalizacin Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 21 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 22 / 49 Teora de la Computacin Francisco Hernndez Quiroz Expresiones regulares Patrones Gramticas Equivalencias Autmatas finitos Otras definiciones Limitaciones Minimalizacin Expresiones regulares Patrones Gramticas Equivalencias Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 23 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 24 / 49 Teora de la Computacin Francisco Hernndez Quiroz
= L( + ) + Gramticas lineales Las expresiones regulares y generan las expresiones y lenguajes: Patrones y son expresiones regulares con L() = y L( ) = { } Expresiones regulares Si a entonces a es una expresin regular y L(a) = {a}. Existen otras formas de definir los lenguajes regulares: definicin inductiva: lenguajes. El lenguaje generado por la expresin es L(). He aqu una Las expresiones regulares son una forma muy compacta de definir
Expresiones regulares Definiciones alternativas de lenguajes regulares L(A ) = L(A) , se aaden transiciones- de los estados en F a s
0 A
.
A
= (q, a) F = F C } {s
B
= S QC Q
A
C
F = F1 F2 . Complemento
Sea A = (Q, , , s, F ) un D FA. Sea A = (Q, , , s, Q F ). Claramente L(A ) = L(A). C = (Q , , , S , F ) se construye de la siguiente forma: C C, s C Sean AC= (Q , , , F ) y B = (Q , , , s , F ) dos D FA. El autmata
Expresiones regulares Patrones Gramticas Equivalencias Autmatas finitos Otras definiciones Limitaciones Minimalizacin Expresiones regulares Patrones Gramticas Equivalencias Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 25 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 26 / 49 Teora de la Computacin Francisco Hernndez Quiroz Expresiones regulares Patrones Gramticas Equivalencias Autmatas finitos Otras definiciones Limitaciones Minimalizacin Expresiones regulares Patrones Gramticas Equivalencias Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 27 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 28 / 49 Teora de la Computacin Francisco Hernndez Quiroz
es una gramtica lineal por la izquierda. # ((ab)+ + (cd )+ ). A o bien A B repeticiones consecutivas de ab o cd : Cualquier smbolo del alfabeto seguido de cualquier cadena menos las Si todas las reglas de G son de alguna de las dos formas ((abc)+ ). se trata de una gramtica lineal por la derecha. consecutivas de la cadena abc: A o bien A B Las cadenas del alfabeto {a, b, c} salvo las que son repeticiones siguientes dos formas @a@b@c@ Sean A, B y . Si todas las reglas de G tienen una de las necesariamente consecutivas: Recordatorio. Una gramtica es G = h, , S, i. Las cadenas que contienen apariciones de a, b y c, en ese orden, pero no
L() = L() (AaAbAcA)+(AaAcAbA)+(AbAaAcA)+(AcAaAbA)+(AcAbAaA)+(AbAcAaA) L() = L() L()L() = L() Las cadenas del alfabeto {a, b, c} con al menos una aparicin de cada una
@, con L(@) = #, con L(#) = a, y son iguales que en las expresiones regulares 0 + ((1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9) (0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9))
inductivamente: Los patrones son otra forma muy comn. Tambin se definen Los nmeros naturales en notacin decimal:
Patrones Ejemplos
Expresiones regulares Patrones Gramticas Equivalencias Autmatas finitos Otras definiciones Limitaciones Minimalizacin Expresiones regulares Patrones Gramticas Equivalencias Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 29 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 30 / 49 Teora de la Computacin Francisco Hernndez Quiroz Expresiones regulares Patrones Gramticas Equivalencias Autmatas finitos Otras definiciones Limitaciones Minimalizacin Expresiones regulares Patrones Gramticas Equivalencias Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 31 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 32 / 49 Teora de la Computacin Francisco Hernndez Quiroz
unin, la concatenacin y la estrella de Kleene de lenguajes regulares. Casos inductivos. Ya se estudi cmo construir autmatas que acepten la Nota. La afirmacin inversa es trivialmente cierta. S S F S queda cubierto por los casos anteriores. a Finalmente, el patrn es equivalente al patrn (+ ), el cual autmatas: La prueba del patrn se deja pendiente. , se tienen los siguientes Casos bsicos. Para las expresiones a, y
+ +
En cuanto aregulares. , basta observar que es equivalente a . expresiones La demostracin se har por induccin en . Los tres primeros son obvios, pues tambin se encuentran presentes en las concatenacin, , + y . L() = L(A). Procedemos a probar los casos inductivos con los operadores +, Para toda expresin regular , existe un autmata finito A tal que
Equivalencia entre expresiones regulares y autmatas Equivalencia entre patrones y expresiones regulares II
L() = L() L() = L() genera las frmulas atmicas del clculo de proposiciones. expresiones regulares y tales que
p | q | r | pS | qS | rS
S Hiptesis inductiva. Supongamos que dados los patrones y , existen L(@) = L((c + + cm ))
alentes obvias. expresiones regulares equiv , # y @. Los tres primeros tienen Primero los casos bsicos: a, , 0 | 1N | 2N | | 9N 0N | 1N | . . . 9N | , S N Demostracin. Por induccin en . La gramtica G = h{0, . . . 9}, {S, N }, S, i con reglas de
produccin
Para todo patrn , existe una expresin regular tal que L() = L().
Expresiones regulares Patrones Gramticas Equivalencias Autmatas finitos Otras definiciones Limitaciones Minimalizacin Expresiones regulares Patrones Gramticas Equivalencias Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 33 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 34 / 49 Teora de la Computacin Francisco Hernndez Quiroz Expresiones regulares Patrones Gramticas Equivalencias Autmatas finitos Otras definiciones Limitaciones Minimalizacin Expresiones regulares Patrones Gramticas Equivalencias Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 35 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 36 / 49 Teora de la Computacin Francisco Hernndez Quiroz
L(N ) = L(G). Demostracin. Induccin en . A partir de este resultado, es claro que [] ([S], ) sii S V .
G
Entonces q r sii (q, ) = r Entonces {[ ]} estados finales. = = estados iniciales {[S]} (q, a) F sii qa si a = {} ([a], a) (q, a) = r sii q ar si V = {[] | V } ([V ], ) {[S]} gramtica con producciones de la forma
= { | V , V } Q A la inversa, sea A = (Q, , , s, F ) D FA. Sea G = h, Q, s, i una el siguiente autmata: Sea G = h, , S, i una gramtica lineal por la derecha. Sea N
N FA -
Equivalencia entre gramticas lineales y autmatas II Equivalencia entre gramticas lineales y autmatas I
k=0 =
pq
k 1
a + +a + Si p = q
i =1 j =1 sf
i j
1k
pq
1k
k=0
a + +a XX L(N ) = L( m
n Q
q (p, a ).
Si p = q
m 1 n 1
Finalmente, si s , . . . , s S y f , . . . , f F , entonces Por induccin en X . Sean a , . . . a todos los smbolos de tales que
pq 1 k
+ pr =
pq pq X X {r }
(
rr
)
rq
X {r } X {r }
X {r }
Equivalencia entre autmatas y expresiones regulares II Equivalencia entre autmatas y expresiones regulares I
Teorema del bombeo Aplicaciones Autmatas finitos Otras definiciones Limitaciones Minimalizacin Teorema del bombeo Aplicaciones Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 37 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 38 / 49 Teora de la Computacin Francisco Hernndez Quiroz Teorema del bombeo Aplicaciones Autmatas finitos Otras definiciones Limitaciones Minimalizacin Teorema del bombeo Aplicaciones Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 39 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 40 / 49 Teora de la Computacin Francisco Hernndez Quiroz
La demostracin generaliza el argumento del ejemplo anterior, en el que siempre es una potencia de 2, lo cual es obviamente falso. Por tanto, A no y = y = i L i N. || + || + i || + || + || entonces , , tales que Como = , la afirmacin anterior quiere decir que k ||, y L i N.
2m i
a = , , , siL(A) tal que 2m > k . El teorema del bombeo nos dice que , , tales que Teorema. Sea L un lenguaje regular. Entonces, k N tal que A D FA reconoce este lenguaje. Sea k el nmero de estados de A y sea m Ejemplo 1. El lenguaje {a2 } no es regular. Supongamos que lo es y
n
lo cual es una contradiccin. En conclusin, este lenguaje no es regular. ai aj par bm 6 {an bn }, i<m j=0 i + j + r = m. q q fF = = =
i
(s, aj ) (q, a) r m (q, a salvo enbel)caso en que p = 1. Por tanto, aunque ai aj par bm L(A), i + jp + r = m, Pero autmata determinista con k estados y L(A) = {an bn }.
Sea la cadena am bm , con m > k . Durante su lectura, el autmata debe haber pasado al menos dos veces por un mismo estado (hay menos estados que copias de a). Sea q este estado repetido. Entonces:
El lenguaje {an bn } no es regular. Supongamos que lo es y que A es un
Teorema del bombeo Aplicaciones Autmatas finitos Otras definiciones Limitaciones Minimalizacin Minimalizacin de estados Teorema de Myhill-Nerode Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 41 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 42 / 49 Teora de la Computacin Francisco Hernndez Quiroz Minimalizacin de estados Teorema de Myhill-Nerode Autmatas finitos Otras definiciones Limitaciones Minimalizacin Minimalizacin de estados Teorema de Myhill-Nerode Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 43 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 44 / 49 Teora de la Computacin Francisco Hernndez Quiroz 3
Al terminar el paso anterior, q q sii (q , q ) = n. i j i j {[f ] | f F }. = F (q , q ) := s. [s] = s Si (q , q ) = n y ((q , a), (q , a)) = s, para algn a , entonces
i j
Se repiteel siguiente procedimiento hasta que ya no haya cambios: [(q, a)] = ([q], a) j -sima columna no es final o viceversa. En caso contrario, m = n. {[q] | q Q} = Q Donde m = s si el estado en el i -simo rengln es final y el estado en la que denotaremos con A/ = (Q, , , s, F), se define as: q de equivalencia a la que pertenece el estado q. El autmata cociente de A, . . Dado que es una relacin de equivalencia, designaremos con [q] la clase ... m q
1 k
Se construye una tabla entre estados de Q. Sean q, r Q. Entonces: autmata A = (Q, , , s, F ), con Q = {q , . . . , q }: 1 k Sea A D FA, A = (Q, , , s, F ). Definimos una relacin de equivalencia El siguiente algoritmo permite construir el autmata cociente a partir del
isomorfismo) con un nmero mnimo de estados que lo reconoce. De hecho, para cada lenguaje regular existe un nico D FA (salvo 2 a, b b 1 El lenguaje {ab} es regular. {ab} { {a, b} | #a() = #b()} = {an bn }. Los lenguajes regulares son cerrados bajo . Por tanto, { {a, b} | #a() = #b()} no puede ser regular. F0 10 S0 a, b a,b F S a, b a, b a
reconoce el mismo lenguaje pero que tiene un conjunto de estados menor: En ocasiones, un autmata A puede reemplazarse con un autmata A0 que Ejemplo 2. Sean y a . Definimos
Minimalizacin de estados Teorema de Myhill-Nerode Autmatas finitos Otras definiciones Limitaciones Minimalizacin Minimalizacin de estados Teorema de Myhill-Nerode Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 45 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 46 / 49 Teora de la Computacin Francisco Hernndez Quiroz Minimalizacin de estados Teorema de Myhill-Nerode Autmatas finitos Otras definiciones Limitaciones Minimalizacin Minimalizacin de estados Teorema de Myhill-Nerode Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 47 / 49 Teora de la Computacin Francisco Hernndez Quiroz Leng. regulares y autmatas finitos 48 / 49 Teora de la Computacin Francisco Hernndez Quiroz
. R sii R.
Existe una relacin de Myhill-Nerode en L. Sea ahora R un lenguaje arbitrario. La relacin de equivalencia L es regular. Una relacin que cumple con 13 es una relacin de Myhill-Nerode. Sea L . Entonces, las siguientes afirmaciones son equivalentes: equivalencia.
3
Es una afinacin de L: a a.
implica que
= La relacin n! n
A (s, ) = (s, ).
sii El algoritmo toma cuando mucho equivalencia en : A = (Q, , , s, F ) y sin estados inaccesibles. Definiremos una relacin de Sea L un lenguaje regular y sea A D FA tal que L(A) = L, con
Minimalizacin de estados Teorema de Myhill-Nerode Autmatas finitos Otras definiciones Limitaciones Minimalizacin Leng. regulares y autmatas finitos 49 / 49 Teora de la Computacin Francisco Hernndez Quiroz
palabras, por cada valor de k hay una clase de equivalencia distinta, i.e.,
Pero ak , ak L sii || + k = || + k = 2n , para alguna n N. En pocas sii L k . ak L sii ak L. El conjunto L = {a2 } no es regular. Se demostrar utilizando el teorema
Ejemplo