Autómatas y Lenguajes Formales 2016-1
Maestría en Ciencia e Ingeniería de la Computación UNAM Tema 7: Lenguajes no regulares, el lema del bombeo y el teorema
de Myhill-Nerode
Dr. Favio Ezequiel Miranda Perea [email protected]
Facultad de Ciencias UNAM
¿ Cuántos lenguajes regulares hay?
REG={L⊆Σ?|Les regular}Dado que un lenguajeLes un subconjunto deΣ?, existen tantos lenguajes como elementos enP(Σ?).
Puesto queΣ? es infinito numerable, es decir, es del tamaño del conjuntoNde los números naturales, entoncesP(Σ?)es del
tamaño del conjunto de los números realesR.
Por otra parte, existen sólo tantos lenguajes regulares como números naturales,|REG|=|N|.
De manera que el conjuntoP(Σ?)−REG no puede ser
numerable, pues unión de numerables sigue siendo numerable.
¿ Cúantos lenguajes regulares hay?
REG={L⊆Σ?|Les regular}Existen sólo tantos lenguajes regulares como números naturales:
I La idea de la prueba es enumerar lexicográficamente todos los
AFD posibles con alfabeto de entradaΣ, es decir, primero los autómatas con un sólo estado, luego los de dos estados, etc,etc..
I Esto implica que el número de lenguajes regulares es a lo más
numerable.
I Además claramente es numerable pues hay una infinidad
numerable de lenguajes regulares, por ejemplo
El lema del bombeo
Propiedad de lenguajes regulares
Lema (Lema del Bombeo)
Si L es un lenguaje regular infinito entonces existe un número n∈N, llamado constante de bombeo para L, tal que para cualquier cadena w de L con|w| ≥n existen cadenas u,v,x tales que:
1 w =uvx 2 v 6=ε 3 |uv| ≤n
4 ∀i ≥0, uvix ∈L.
Pruebas de no regularidad
Lema del bombeo
Para probar que un lenguajeLno es regular se procede por contradicción usando del lema del bombeo como sigue:
I SiLfuera regular existiría una constante de bombeon.
I Cualquier palabraw∈Lse descompone como
w=uvx, v 6=ε, |uv| ≤n.
I Se llega a una contradicción como sigue:
F Por el lema del bombeouvix∈Lpara todai≥0.
F Por la definición particular deL, existe algunaital queuvix∈/L.
Debemos observar que encontrar laiadecuada depende del problema particular y no hay un método general, pero
L
=
{
a
ib
i|
i
∈
N
}
no es regular
Lema del bombeo
Supóngase queLes regular y seanuna constante de bombeo.
Considérese la palabraw =anbny su descomposiciónw =uvx
conv 6=ε, |uv| ≤n.
Entoncesu,v constan de puras aes, digamos
u=ak, v =a`, k ≥0, `≥1.
De manera quex =an−k−`bn.
Si hacemosi =2 tenemos queuv2x ∈Lpor el lema del bombeo.
Pero, por otra parte
L
=
{
a
i2|
i
∈
N
}
no es regular
Lema del bombeo
Supongase queLes regular y seanuna constante de bombeo.
Considérese la palabraw =an2 y su descomposiciónw =uvx
conv 6=ε, |uv| ≤n.
Digamos queu=ak, v =a`, 1≤`≤n.
L
=
{
a
i2|
i
∈
N
}
no es regular
Lema del bombeo
Si hacemosi =2 tenemos queuv2x ∈Lpor el lema del bombeo.
Pero, por otra parte
uv2x =aka`a`an2−k−`=an2+`
Y observemos quen2<n2+` <(n+1)2pues 1≤`y
`≤n<2n+1= (n+1)2−n2
L
=
{
w
∈ {
a
,
b
}
?|
w
=
w
R}
no es regular
Lema del bombeo
Supongase queLes regular y seanuna constante de bombeo.
Considérese la palabraw =anbnany su descomposición
w =uvx conv 6=ε, |uv| ≤n.
Entoncesu,v constan de puras aes, digamos
u=ak, v =a`, `≥1.
De manera quex =an−k−`bnan.
Si hacemosi =2 tenemos queuv2x ∈Lpor el lema del bombeo.
Pero, por otra parte
Relaciones de indistinguibilidad entre cadenas
Teorema de Myhill-Nerode
Considerense las siguientes relaciones de equivalencia sobreΣ? relacionadas a un lenguaje dadoLy a un autómata finito
determinista dadoM.
I x ≡Ly si y sólo si
∀z∈Σ?(xz∈L⇔yz∈L)
I x ≡M y si y sólo si
δ?(q0,x) =δ?(q0,y)
Six ≡M y entonces se dice quex,y son cadenas indistinguibles segúnM.
Six ≡Ly entonces se dice quex,y son cadenas
Relación
≡
LEjemplos paraL={an
bn|n∈N}
x ≡Ly si y sólo si∀z ∈Σ?(xz ∈L⇔yz ∈L)
a4b3≡
La3b2pues
∀z ∈Σ?(a4b3z ∈L⇔z =b⇔a3b2z ∈L)
a2b26≡La3b2pues paraz =εse tiene
a2b2z ∈Lya3b2z ∈/ L
a4b26≡La3b2pues paraz =b, se tiene
Relación
≡
LEjemplos
SeaL={w ∈ {a,b}?|w tiene un número par de aes}
I x ≡Ly si y sólo six yy tienen la misma paridad. I Por lo tanto existen dos clases de equivalencia:[ε] =Ly
[a] ={a,b}?−L
Sea
L={w ∈ {0,1}? |w empieza y termina con el mismo símbolo}
I x ≡Ly si y sólo six yy comienzan con un mismo símbolo y
terminan con un mismo símbolo
I x ≡Ly si y sólo six =awbyy =avbcona,b∈ {0,1}
I Se sigue que≡Ltiene 5 clases de equivalencia:
[ε] =ε [0] =0+0(0+1)?0 [1] =1+1(0+1)?1
Relación
≡
LEjemplos
SeaL={anbn|n∈
N}
La relación≡Ltiene una infinidad de clases de equivalencia, por ejemplo:
[ε],[a],[a2], . . . ,[an], . . .
Todas estas clases son diferentes pues sii 6=jentoncesai 6≡l aj
Relaciones de indistinguibilidad entre cadenas
Teorema de Myhill-Nerode
Por lo general no hay relación alguna entreLyM. La relación≡L
puede definirse para cualquier lenguajeLaún cuando este no sea regular.
Sin embargo, en el caso particular en queL=L(M)se cumple que≡M es un refinamiento de≡L, es decir
∀x,y ∈Σ?(x ≡M y →x ≡Ly).
Esta proposición nos deja ver la más importante limitación de los autómatas finitos, el hecho de que carecen de memoria más allá de lo que recuerde el estado actual.
Invariancia de las relaciones
≡
M,
≡
LTeorema de Myhill-Nerode
Una relación de equivalencia≡sobreΣ? es invariante por la derecha si y sólo si
∀x,y,w ∈Σ?(x ≡y →xw ≡yw).
La relación≡Les invariante por la derecha.
Lema de continuación: Seanx,y ∈Σ?. Siδ?(q0,x) =δ?(q0,y)
entonces para cualquierz ∈Σ?, se cumple que
δ?(q0,xz) =δ?(q0,yz)
Propiedades de la relación
≡
MRecordemos que el índice de una relación de equivalencia≡es el número de clases de equivalencia generadas por≡.
Dado un AFDM=hQ,Σ,q0, δ,Fise cumple lo siguiente:
I La relación≡Mes invariante por la derecha.
I La relación≡Mes de índice finito.
El Teorema de Myhill-Nerode
Propiedad de lenguajes regulares
Teorema (Myhill-Nerode)
Sea L⊆Σ?. Las siguientes condiciones son equivalentes:
1 L es regular.
2 Existe una relación de equivalencia≡sobreΣ?, invariante por la
derecha y de índice finito, tal que L es la unión de algunas de las clases de equivalencia de≡.
3 La relación de equivalencia≡
Lema del índice finito
Teorema de Myhill-Nerode
Por el teorema de Myhill-Nerode para mostrar que un lenguajeL
no es regular basta mostrar queLno es de índice finito.
Es decir, basta con ver que≡Ltiene una infinidad de clases de equivalencia.
Esto se hace explícito mediante el siguiente lema que es una consecuencia directa del teorema de Myhill-Nerode.
Conjuntos estafadores
1Pruebas de no regularidad
Las pruebas de no regularidad se sirven de la contrapositiva del lema del índice finito.
Hallando un conjuntoS que no cumpla la propiedad del lema, habremos probado queLno es regular.
Un conjunto infinitoS⊆Σ? es un conjunto estafador paraLsi y sólo si para cualesquierax,y ∈Sexiste una cadenaz ∈Σ? tal que una y sólo una dexz yyz pertenecen aL.
Es decir,S es un conjunto estafador paraLsi y sólo si
∀x,y ∈S(x 6≡Ly).
L
=
{
a
ib
i|
i
∈
N
}
no es regular
Teorema de Myhill-Nerode
Basta hallar un conjunto estafador paraL={anbn|n∈N}.
SeaS={ak |k ∈
N}, veamos queS es un conjunto estafador.
Siai,aj ∈Sconi6=jentonces claramente
aibi ∈Lyaibj ∈/L.
Por lo tanto
ai 6≡Laj
L
=
{
a
i2|
i
∈
N
}
no es regular
Teorema de Myhill-Nerode
Basta hallar un conjunto estafador paraL={ai2
|i∈N}
SeaS=L, veamos queSes un conjunto estafador.
Seanai2,aj2 ∈Sconj>i.
I Por un lado tenemos queai2a2i+1=ai2+2i+1=a(i+1)2 ∈L
I Por otra parte,aj2a2i+1=aj2+2i+1∈/Lpuesto que
j2<j2+2i+1<j2+2j+1= (j+1)2.
Por lo tanto
ai2 6≡Laj2