Depende del contexto
Avecestevasporlasramasparanotenerqueirdirectoalaraíz.Sobretodosilaraízesdolorosay
puedederribarelárbol—
AlbertEspinosa
Ivan Meza
Jerarquía de Chomsky
Lenguaje Gramática Máquina
Independiente de contexto Tipo 2
( )
Autómata de pila
Regular Tipo 3
( )
Autómata finito
V → α
V → aA|ϵ
AF, AFND
AFND-ɛ
L Verdadero
Falso
R
AF, AFND
AFND-ɛ
L
Verdadero
Falso
R
LLC
AP
Autómata de pila
Es una tupla (Q, Σ, Γ, , , A, δ)q0 Z0
Un AFND- + una pilaϵ
Autómata de pila
determinístico (APD)
Es una tupla (Q, Σ, Γ, , , A, δ)q0 Z0
Para cada solo hay una transición, no más de una
transición
Si , entonces , si existe trancisión , no
existe ningún otra más
δ(q, a, x)
δ(q, ϵ, x) ≠ ∅ δ(q, a, x) = ∅ ϵ
Lenguaje donde x = x
r
Lenguaje donde x = x
r
q₀ q₁ q₂
a,Zo/Zo
b,B/εb,Z₀/BZ₀
a,B/AB
ε,Z₀/Z₀
Z0
a,Z₀/AZ₀
b,B/BB
b,Zo/Zo
a,B/B
b,B/B
a,A/A
b,A/A
b,A/BA
a,A/AA
ɛ,Zo/Zo
ɛ,A/A
ɛ,B/B
a,A/ε
Más de una transición posible
Cuando aparece para otro símboloϵ
No determinístico
Lenguaje donde xx
r
Lenguaje donde xx
r
q₀ q₁ q₂
b,B/εb,Z₀/BZ₀
a,B/AB
ε,Z₀/Z₀
Z0
a,Z₀/AZ₀
b,B/BB
b,A/BA
a,A/AA
ɛ,Zo/Zo
ɛ,A/A
ɛ,B/B
a,A/ε
Cuando aparece para otro símboloϵ
No determinístico
Lenguaje donde xmx
r
Lenguaje donde xmx
r
q₀ q₁ q₂
b,B/εb,Z₀/BZ₀
a,B/AB
ε,Z₀/Z₀
Z0
a,Z₀/AZ₀
b,B/BB
b,A/BA
a,A/AA
m,Zo/Zo
m,A/A
m,B/B
a,A/ε
Determinístico: APD
Resumen
, no determinístico
no determinístico
determinístico
x = x
r
xx
r
xmx
r
Las gramáticas
P → aP a|bP b|a|b|ϵ
P → aP a|bP b|aa|bb
P → aP a|bP b|m
Ambigüedad y no determinismo
es no determinístico, pero no es
ambiguo
AP (x = )x
r
G(x = )x
r
No determinismo tiene que ver con el proceso, ambigüedad
con la estructura
Usando un AP para simular un G
Dado , crear
donde
G = (V , Σ, P , S) (Q, Σ, Γ, , , A, δ)q0 Z0
y
Q = { , , }q0 q1 q2
Γ = V ∪ Σ ∪ { }Z0 ∉ V ∪ ΣZ0
A = { }q2
Producciones
Iniciar la pila y cancelar la pila
δ( , ϵ, ) = {( , S })}q0 Z0 q1 Z0
δ( , ϵ, ) = {( , })}q1 Z0 q2 Z0
Producciones
Para manejar las producciones
Para todo ,A ∈ V δ( , ϵ, A) = {( , α})|A → α}q1 q1
δ( , a, a) = {( , ϵ})}q1 q1
q₀ q₁ q₂
ε,A/α|A∈V
ε,Z₀/Z₀
Z0
ε,Zo/SZo
a,a/ε |a∈Σ
y A α
P → aP a|bP b|a|b|ϵ
P → aP a|bP b|a|b|ϵ
q₀ q₁ q₂
ε,P/aPa
ε,Z₀/Z₀
Z0
ε,Zo/PZo
a,a/ε
b,b/ε
ε,P/bPb
ε,P/a
ε,P/b
ε,P/ε
Para todo podemos crear unG(L) AP (L)
¿Cual es su gramática?
q₀ q₁ q₂
b,B/εb,Z₀/BZ₀
a,B/AB
ε,Z₀/Z₀
Z0
a,Z₀/AZ₀
b,B/BB
b,A/BA
a,A/AA
m,Zo/Zo
m,A/A
m,B/B
a,A/ε
Transiciones se transformaa, A/α A → aα
Pushes:
Transiciones:
Pop:
Terminó:
→ aAZ0 Z0
A → aAA
→ mZ0 Z0
A → mA
A → a
→ ϵZ0
→ aAZ0 Z0
→ bBZ0 Z0
A → aAA
B → aAB
A → bBA
B → bBB
→ mZ0 Z0
A → mA
B → mB
A → a
B → b
→ ϵZ0
Derivación abmba
⇒ aAZ0 Z0
⇒ abBAZ0
⇒ abmBAZ0
⇒ abmbAZ0
⇒ abmbaZ0
⇒ abmba
Dado un AP podemos crear su G
equivalente
AP (L) = G(L)
¡Ahora si esta parte está
completa!
Lenguaje Gramática Máquina
Independiente de contexto Tipo 2
( )
Autómata de pila
Regular Tipo 3
( )
Autómata finito
V → α
V → aA|ϵ
¿Hay algo afuera de LLC?
Lemma de bombeo para LLC
Proponer lenguaje
Escoger
Proponer una cadena que dependa de
Particionar cadena en , tal que ,
Checar que se cumplan restricciones
Checar si para todo está en el lenguaje
n
n
uvwxy uwx < n |vx| ≥ 0
u w y ∈ Lv
i
x
i
i
Proponer lenguaje , que tal
Escoger , que tal
Proponer una cadena que dependa de
Particionar cadena en , tal que ,
Caso uno en aes,
Caso dos en aes y bes,
Caso tres en bes y ces,
Caso tres en ces,
En todos los casos existe una palabra que
a
k
b
k
c
k
n n
n a
n
b
n
c
n
uvwxy uwx < n |vx| ≥ 0
vwx a
i
a
i
b
n
c
n
vwx a
i
b
i
c
n
vwx a
n
b
i
c
i
vwx a
n
b
n
c
i
c
i
∉ L
Lenguajes dependientes del
contexto
Sin contexto
Con contexto
Son una tupla , donde:
Gramáticas dependientes de
contexto (sensitivas)
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 )
∗
γ ∈ (Σ ∪ V )
+
A ∈ V
S ∈ V
S
S
cB
W B
W X
BX
bB
→
→
→
→
→
→
→
abc
aSBc
W B
W X
BX
Bc
bb
Derivación para aaabbbccc
S ⇒ aSBc
⇒ aaSBcBc
⇒ aaabcBcBc
⇒ aaabW BcBc
⇒ aaabW XcBc
⇒ aaabBXcBc
⇒ aaabbccBc
⇒ aaabbccBc
⇒ aaabbcW Bc
⇒ aaabbcW Xc
⇒ aaabbcBXc
⇒ aaabbcBcc
⇒ aaabbW Bcc
⇒ aaabbW Xcc
⇒ aaabbBXcc
⇒ aaabbBccc
⇒ aaabbbccc
ivanvladimir@gmail.com ivanvladimir.github.io ivanvladimir
Depende del contexto 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/ldc.html

Depende del contexto