9. AF en un lenguaje infinito
Para un y paraΣ w ∈ LR
El trabajo del AF es circular por un conjunto nito 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 = xyz
Entonces x z ∈y
k
LR
13. Ejemplo
Proponer lenguaje, qué tal número par de bes
Escoger , qué tal
Proponer una cadena que dependa de , qué tal
Particionar , qué tal , ,
Checar que se cumplan restricciones, ,
Checar si , sí pertenece
Σ = {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 , qué tal , ,
Checar que se cumplan restricciones, qué tal ,
Checar si , sí pertenece , ya que 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 nito, es su ciente
¡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, qué tal con
Escoger , qué tal
Proponer una cadena que dependa de , qué tal
Particionar , qué tal , ,
Checar que se cumplan restricciones, ,
Checar si , no pertenece para cualquier
, 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
k ∉ 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 → α α ∈ (Σ ∪ V )
∗
A ∈ V
S ∈ V
29. Como proceso de reescritura
El subrayado sólo marca que elemento se está re-escribiendo
Una derivación
S
−
⇒ a bS
−
⇒ a a b bS
−
⇒ a a a b b bS
−
⇒ a a a ϵ b b b
⇒ aaabbb
30. Uno más bonito
dondeG = ({R, B}, {a, b, ϵ, ∅}, P , R, +, ∗, (, )) P
R → B
R → R + R
R → R
∗
R → RR
R → (R)
B → a
B → b
B → ϵ
B → ∅
32. ⇒ ( R RRR
∗
R
−
)
∗
⇒ ( R RR
∗
R
∗
R
−
)
∗
⇒ ( R RR
−
∗
R
∗
R
∗
)
∗
⇒ ( RB
∗
R
−
R
∗
R
∗
)
∗
⇒ ( B RB
∗
R
−
∗
R
∗
)
∗
⇒ ( BB
∗
B
∗
R
−
R
∗
)
∗
⇒ ( B BB
∗
B
∗
R
−
∗
)
∗
⇒ ( B BB
−
∗
B
∗
B
∗
)
∗
33. ⇒ ( B BB
−
∗
B
∗
B
∗
)
∗
⇒ ( Ba
∗
B
−
B
∗
B
∗
)
∗
⇒ ( b Ba
∗
B
−
∗
B
∗
)
∗
⇒ ( ba
∗
a
∗
B
−
B
∗
)
∗
Rightarrow (a^* b a^* b underline{B^*)^*
⇒ ( b ba
∗
a
∗
a
∗
)
∗
34. Un ejemplo más pequeño
R
−
⇒ + RR
−
⇒ + RB
−
⇒ a + R
−
⇒ a + B
−
⇒ a + b
R
−
⇒ R + R
−
⇒ R + B
−
⇒ + bR
−
⇒ + bB
−
⇒ a + b
Derivaciones por la izquierda y por la derecha
35. Un ejemplo más largo
R
−
⇒ RR
−
⇒ RRR
−
⇒ RRRR
−
⇒ RRRRR
−
⇒ RRRRB
−
⇒ a RRRR
−
⇒ a RRRB
−
⇒ aa RRR
−
⇒ aa RRB
−
⇒ aaa RR
−
⇒ aaa BB
−
⇒ aaaaR
−
⇒ aaaaB
−
⇒ aaaaa
R RRRRR⇒
∗
aaRRR⇒
∗
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
Abro paréntesis, abro paréntesis, cierro parentesis, ... 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/glc.html