Lema de ``Pumping`` y Propiedades de Lenguajes Regulares

Anuncio
Teoría de Lenguajes
Clase Teórica 6
Lema de ”Pumping” y Propiedades de Lenguajes Regulares
Primer cuartimestre 2014
Material compilado por el Profesor Julio Jacobo, a lo largo de distintas ediciones de la materia Teoría de Lenguajes en el
Departamento de Computación, Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires.
Bibliografía: Capítulo 4, Introduction to Automata Theory, Languages and Computation, J. Hopcroft, R. Motwani, J.
Ullman, Second Edition, Addison Wesley, 2001.
Definición 1. La configuración instantánea de un AFD es un par pq, αq P Q ˆ Σ˚ en el que q es el estado en el que está
el autómata y α es la cadena de entrada aún no consumida.
Definición 2. Transición para configuraciones instantáneas $: es una relación definida en Q ˆ Σ˚ dada por pq, αq $
pp, βq ô pδ pq, aq “ p ^ α “ aβq.
˚
De lo anterior tenemos que pq, αβq $ pp, βq si y sólo si se puede pasar del estado q al estado p consumiendo la cadena α.
Lema 3. Dado el Autómata Finito Determinístico M “ă Q, Σ, δ, q0 , F ą,
˚
pq, αβq $ pq, βq ,
entonces es cierto que
`
˘ ˚
@i ě 0, q, αi β $ pq, βq ,
donde q P Q y α, β P Σ˚ .
Demostración. Queremos probar que
`
˘ ˚
˚
pq, αβq $ pq, βq ñ @i ě 0, q, αi β $ pq, βq
˚
Fijemos α P Σ˚ y fijemos q P Q. Asumamos la hipótesis del lema: @β P Σ˚ , pq, αβq $ pq, βq.
Haremos una demostración por inducción en la cantidad de repeticiones de la cadena α.
Caso base: pi “ 0q
`
˘ 0
q, α0 β $ pq, βq
Caso inductivo:
`
˘ `
˘
q, αk`1 β “ q, ααk β
˘
˚ `
$ q, αk β
porque lo asumimos.
˚
$ pq, βq
por hipótesis inductiva.
Lema 4 (Lema de ”Pumping” (Bar Hillel, Perles, Shamir 1961). Sea L un lenguaje regular. Existe entonces una longitud
mínima n tal que, todas las cadenas z que superan o igualan dicha longitud, pueden ser escritas de la forma
z “ uvw
donde
n ě |uv| ,
|v| ě 1 y
@i ě 0, uv i w P L
1
Demostración. Consideremos n como la cantidad de estados del AFD M tal que L pM q “ L. Tomemos una cadena z
cuya longitud m es igual o mayor que la cantidad de estados n del AFD, o sea, z “ a1 ¨ ¨ ¨ am , con m ě n. Denotemos
qi0 “ q0 , qi1 , ¨ ¨ ¨ , qim (con qim un estado final), la sucesión de estados que recorre el AFD hasta aceptar la cadena z.
Como m ě n, tenemos que necesariamente existen j y k tales que qij “ qik , para j ă k ď n. Partamos la cadena z
en tres subcadenas u, v y w de la siguiente manera:
"
a1 ¨ ¨ ¨ aj si j ą 0
u“
λ
si j “ 0
v “ aj`1 ¨ ¨ ¨ ak
"
ak`1 ¨ ¨ ¨ am
w“
λ
Entonces
si k ă m
si k “ m
˘ ˚
˚ `
˚
pq0 , uvwq $ qij , vw $ pqik , wq $ pqim , λq
Pero, como qij “ qik , entonces la subcadena v puede ser repetida i veces volviendo siempre al mismo estado qij
`
˘ ˚ `
˘
qij , v i w $ qij , w “ pqik , wq , @i ě 0
Luego uv i w P L.
El enunciado de este lema puede expresarse más formalmente
@L regular, Dn, @z,
z P L ^ |z| ě n ùñ
Du, v, wpz “ uvw, n ě |uv| , |v| ě 1 ^ @i, uv i w P Lq
Teorema 5. El conjunto de lenguajes regulares incluido en Σ˚ es cerrado respecto de la unión.
Demostración. Dados L1 “ L pM1 q y L2 “ L pM2 q, L1 Y L2 es un lenguaje regular. Sean
M1 “ă Q1 , Σ, δ1 , q1 , F1 ą
M2 “ă Q2 , Σ, δ2 , q2 , F2 ą,
donde Q1 X Q2 “ ∅, definamos
M “ă Q1 Y Q2 Y tq0 u , Σ, δ, q0 , F ą,
con tq0 u X Q1 “ ∅ y tq0 u X Q2 “ ∅, donde
q0 es un nuevo estado
si λ R L1 y λ R L2
F “ F1 Y F2
sino
F “ F1 Y F2 Y tq0 u
δ pq0 , aq “ δ pq1 , aq Y δ pq2 , aq
2
@q P Q1 , @a P Σ, δ pq, aq “ δ1 pq, aq
@q P Q2 , @a P Σ, δ pq, aq “ δ2 pq, aq
El autómata M así construido es no-determinístico. Puede probarse por inducción en el largo i ě 1 de la cadena w que
i
pq0 , wq $ pq, λq ô
M
ˆ
˙
i
q P Q1 ^ pq1 , wq $ pq, λq _
M1
ˆ
˙
i
q P Q2 ^ pq2 , wq $ pq, λq
M2
Teorema 6. El conjunto de lenguajes regulares incluido en Σ˚ es cerrado respecto de la complementación.
Demostración. Sea L “ L pM q, con M “ă Q, ∆, δ, q0 , F ą y ∆ Ď Σ. El autómata
M 1 “ă Q, ∆, δ, q0 , Q ´ F ą
acepta ∆˚ ´ L pM q. O sea, L pM 1 q “ ∆˚ ´ L pM q. Por lo tanto, el complemento de L pM q relativo a Σ˚ será
` ˘
L pM q “ L M 1 Y Σ˚ pΣ ´ ∆q Σ˚ ,
que es la unión de dos lenguajes regulares y por lo tanto regular.
Teorema 7. El conjunto de lenguajes regulares incluido en Σ˚ es cerrado respecto de la intersección.
Demostración.
L1 X L2 “ L1 X L2 “ L1 Y L2
Por lo visto anteriormente, al poder expresar L1 X L2 como el complemento de la unión de dos lenguajes regulares, es
por lo tanto regular.
Las tres propiedades anteriores se sintetizan diciendo que:
El conjunto de los lenguajes regulares incluidos en Σ˚ es un álgebra Booleana de conjuntos.
De las tres anteriores puede deducirse también que:
Teorema 8. La unión finita y la intersección finita de lenguajes regulares dan por resultado un leguaje regular.
n
ď
@n P N,
i“1
n
č
@n P N,
Li es regular
Li es regular
i“1
para n “ 0:
Demostración.
0
Ť
Li “ H es regular
i“1
para n ą 0:
n
Ť
Li “
i“1
n´1
Ť
Li Y Ln es regular
i“1
idem para X.
Ejemplo 9. ¿Es
8
Ť
(
Li regular? Sean Li “ ai bi , entonces
i“1
8
ď
(
(
ai bi “ ak bk : k P N
i“1
que sabemos que no es regular.
3
Teorema 10. Todo lenguaje finito es regular.
Demostración. Sean αi con n ě i ě 1, siendo n la cantidad de cadenas del lenguaje L. Definamos Li “ tαi u, entonces
n
Ť
L“
tαi u. Como cada tαi u es regular, entonces L también lo es.
i“1
1
Ejemplo 11. Dados M1 y M2 AFDs, construir M 1 tal que L pM 1 q “ L pM1 qXL pM2 q. Definamos M “ă Q1 , Σ, δ 1 , q01 , F 1 ą
con
Q1 “ Q1 ˆ Q2
δ 1 ppq, rq , aq “ pδ1 pq, aq , δ2 pr, aqq para q P Q1 y r P Q2
q01 “ pq01 , q02 q
F 1 “ F1 ˆ F2
entonces
´ 1¯
αPL M
δp1 ppq01 , q02 q , αq P F 1
´
¯
δp1 pq01 , αq , δp2 pq02 , αq P F1 ˆ F2
´
¯ ´
¯
δp1 pq01 , αq P F1 ^ δp2 pq02 , αq P F2
ô
ô
ô
ô
α P L pM1 q ^ α P L pM1 q
Usando el Lema de “Pumping” podemos verificar lo siguiente.
Observation 12. Seam M “ă Q, Σ, δ, q0 , F ą, con |Q| “ n.
p 0 , wq P F y |w| ă n.
1. LpM q es no vacío si y solo si existe w en Σ˚ tal que δpq
p 0 , wq P F y n ď |w| ă 2n.
2. LpM q es infinito si y solo si existe w en Σ˚ tal que δpq
Demostración. 1.ñ). Supongamos LpM q es no vacío. Sea z en LpM q de longitud mayor o igual a n, y supongamos que
no hay ninguna más corta en LpM q. Por el lema de Pumping, para u, v, w apropiados tal que |v| ě 1, z “ uvw y @i ě 0,
uv i w en LpM q. Entonces uw está en LpM q. Pero uv es más corta que z, lo que contradice nuestra suposicón. Entonces
|z| ă n.
ð). Es obvio que L es no vacío.
2. ñ). Supongamos LpM q es infinito. Supongamos que no hay ninguna cadena en LpM q de longitud entre n y 2n´1.
Sea z en LpM q de longitud 2n. Por el Lema de Pumping, hay u, v, w tal que z “ uvw, con |uv| ď n, v ě 1 y @i ě 0
uv i w está en LpM q. Entonces uw está en LpM q. Como 1 ď |v| ď n, la longitud de uw es 2n ´ 1, contradiciendo que
no había ninguna en LpM q de esta longitud. Concluímos que si LpM q es infinito necesariamente tiene una cadena de
longitud entre n y 2n ´ 1.
ð). Supongamos z pertenece a LpM q y n ď z ă 2n. Por el Lema de Pumping z “ uvw y para todo i ě 0, uv i w esta
en LpM q. Luego LpM q es infinito.
Observation 13. Los siguientes problemas sobre lenguajes regulares son decidibles.
1. Pertenencia: dados el lenguaje regular L sobre Σ y α P Σ˚ ,
¿pertenece α a L?
2. Finitud: dado el lenguaje regular L, ¿es L finito?
3. Vacuidad: dado el lenguaje regular L, ¿es L vacío?
4. Equivalencia: dados los lenguajes regulares L1 y L2 ,
¿son L1 y L2 equivalentes?
4
Pertenencia: Dado el lenguaje regular L,
Demostración.
- se construye su AFD M tal que L pM q “ L.
- si α es aceptada, entonces pertenece a L y
sino no.
Finitud: Un lenguaje regular L es finito, si en su AFD
ningún estado desde el cual se pueda alcanzar
un estado final puede dar lugar a un ’ciclo’.
´
¯
˚
`
L finito ô @q P Q, q Ñ f P F ñ E q Ñ q
o lo que es lo mismo
´
¯ ´
¯
˚
`
L infinito ô D q P Q, q Ñ f P F ^ q Ñ q
Alternativamente, el lenguaje regular L es infinito sii su AFD acepta al menos una cadena de longitud ` tal que
2n ą ` ě n
donde n es la cantidad de estados del AFD.
Vacuidad: Dado el lenguaje regular L,
- se construye su AFD M tal que L pM q “ L
- se determina el conjunto A de estados
alcanzables.
- si F X A “ H entonces el lenguaje L es vacío y
sino no.
Equivalencia: Dados los lenguajes regulares L1 y L2 , aceptados por los autómatas M1 y M2 respectivamente, si el
lenguaje regular
`
˘ `
˘
L1 X L2 Y L1 X L2
es vacío entonces L1 y L2 son equivalentes, sino no lo son.
Ejercicios
1. Demostrar que los siguientes lenguajes no son regulares
2
L “ t0n : n ě 1u
L “ tai bj : i ­“ ju
L “ txay : x P Σ˚ , y P Σ˚ , a P Σ, |x| “ |y|u
2. Sea L un lenguaje regular, y sea n la constante del Lema de Pumping para L. Indicar Verdadero o Falso y justificar.
1. Para cada cadena z en L, con |z| ě n, la descomposición de z en uvw, con |v| ě 1 y |uv| ď n, es única.
2. Cada cadena z em L, con |z| ě n, es de la forma uv i w para algún i.
3. Indicar Verdadero o Falso y justificar.
1. Sean L1 y L2 lenguajes sobre el alfabeto Σ, tal que L1 YL2 es regular. Entonces, tanto L1 como L2 son regulares.
2. La clase de lenguajes regulares esta cerrada por unión infinita.
4. Sea C el mínimimo conjunto que contiene a todos los lenguajes finitos, y está cerrada por unión finita, intersección,
complemento y concatenación. ¿ Cuál es la relación entre C y el conjunto de todos los lenguajes regulares?
5. Dar un algoritmo de decisión que determine si el lenguaje aceptado por un autómata finito es el conjunto de todas
las cadenas del alfabeto.
6. Dar un algoritmo de decisión que determine si el lenguaje aceptado por un autómata finito es cofinito.
5
Descargar