9. AF en un lenguaje infinito
Para un y paraΣ w ∈ LR
El trabajo del AF es circular por un conjunto finito de
estados ( )
w
n
¿Qué podemos decir si es menor de ?
¿Qué podemos decir si es mayor o igual
?
|w| n
|w|
n
11. El caso interesante
Para yw ∈ LR |w| ≥ n
Por lo menos un estado se repite
La cadena se puede particionar en:
En donde
es un prefijo
es un ciclo con
es un sufijo
q₀ qi
x z
y
xyz
|xy| ≤ k
x
y |y| > 1
z
12. El ciclo
Para , yw ∈ LR |w| ≥ n w = xyx
Entonces
x z ∈y
k
LR
13. Ejemplo
Proponer lenguaje , que tal número par de bes
Escoger , qué tal
Proponer una cadena que dependa de , que tal
Particionar , que tal , ,
Checar que se cumplan restricciones , que tal ,
Checar si , que tal
Σ = {a, b}
n n
n bba
n
w x = a
(n−1)
y = a z = bb
|xy| ≤ n
y ≠ ϵ
x z ∈ Ly
k
bb ∈ La
(n−1)
a
k
No tan rápido, faltan más formas de cadenas en el lenguaje
14. Ejemplo (cont.)
Por ejemplo n (bb)
n
Particionar , que tal , ,
Checar que se cumplan restricciones, que tal ,
Checar si , que tal , total de bes es
, que es par
w x = b
(n−2)
y = bb z = b
n
|xy| ≤ n y ≠ ϵ
x z ∈ Ly
k
(bb b ∈ Lb
(n−2)
)
k
b
n
2k + 2n − 2
No tan rápido todavía, faltan más formas de cadenas en el
lenguaje
15. Probar que un lenguaje es regular por este procedimiento es
demasiado trabajo, muchas veces con encontrar una
expresión regular o un autómata finito, es suficiente
¡Es más fácil probar que no lo es!
A este procedimiento se le conoce como lema de bombeo
16. Un nuevo lenguaje con el mismo
alfabeto
El lenguaje de as seguidas del mismo número de bes
a
i
b
i
Ejemplos , , ,ϵ ab aabb aaabbb
18. Proponer lenguaje , que tal con
Escoger , qué tal
Proponer una cadena que dependa de , que tal
Particionar , que tal , ,
Checar que se cumplan restricciones , que tal ,
Checar si , que tal , ya que sólo se
cumple para
Σ = {a, b} a
i
b
i
n n = i
n a
n
b
n
w x = a
(n−1)
y = a z = b
n
|xy| ≤ n y ≠ ϵ
x z ∈ Ly
k
b ∈ La
(n−1)
a
k
b
n
k = 1
19. Otra forma de verlo
¿Qué necesita recordar mi autómata?
27. Son una tupla , donde:
Gramáticas libres de contexto
G = (V , Σ, P , S)
es otro alfabeto que denominamos símbolos no terminales
(generalmente en mayúsculas)
es un alfabeto que denominamos símbolos terminales
es conjunto de reglas con la forma donde
y
que denominamos símbolo inicial
V
Σ
P A → α
alpha ∈ (Σ ∪ V )
∗
A ∈ V
S ∈ V
32. ⇒ ( RRRRR
∗
)
∗
⇒ ( R RRR
∗
R
∗
)
∗
⇒ ( R RRR
∗
R
∗
)
∗
⇒ ( R RB
∗
R
∗
R
∗
)
∗
⇒ ( B RB
∗
R
∗
R
∗
)
∗
⇒ ( B RB
∗
B
∗
R
∗
)
∗
⇒ ( B BB
∗
B
∗
R
∗
)
∗
⇒ ( B BB
∗
B
∗
B
∗
)
∗
33. ⇒ ( B RB
∗
B
∗
B
∗
)
∗
⇒ ( B Ba
∗
B
∗
B
∗
)
∗
⇒ ( b Ba
∗
B
∗
B
∗
)
∗
⇒ ( b Ba
∗
a
∗
B
∗
)
∗
⇒ ( b ba
∗
a
∗
B
∗
)
∗
⇒ ( b ba
∗
a
∗
a
∗
)
∗
34. Un ejemplo más pequeño
R ⇒ R + R ⇒ B + R ⇒ a + R ⇒ a + B
⇒ a + b
R ⇒ R + R ⇒ R + B ⇒ R + b ⇒ B + b ⇒ a + b
Derivaciones por la izquierda y por la derecha
35. Un ejemplo más largo
R ⇒ RR ⇒ RRR ⇒ RRRR ⇒ RRRRR ⇒ BRRRR
⇒ BBRRR ⇒ BBBRR ⇒ BBBBR ⇒ BBBBB
⇒ aBBBB ⇒ aaBBB ⇒ aaaBB ⇒ aaaaB ⇒ aaaaa
R RRRRR⇒
∗
BBBBB⇒
∗
aaaaa⇒
∗
36. En lenguaje aceptado por una
gramática L(G)
Con G = (V , Σ, P , S)
L(G) = {w ∈ Σ ∗ |S w}⇒
∗
41. Lema de bombeo: Lenguajes que no son
regulares
Gramáticas Libres de Contexto
Derivación
Árboles
42. ivanvladimir@gmail.com ivanvladimir.github.io ivanvladimir
¿Qué es un computadora? by is licensed under a
.
Creado a partir de la obra en
.
Ivan V. Meza Ruiz
Creative Commons Reconocimiento 4.0 Internacional License
http://turing.iimas.unam.mx/~ivanvladimir/slides/lfya/intro.html