Download - Gramáticas libres de contexto en su habitát
![Page 1: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/1.jpg)
Gramáticas libres de contexto ensu habitat
A veces te vas por las ramas para no tener que ir directo a la raíz. Sobre todo si la raíz es dolorosa ypuede derribar el árbol—Albert Espinosa
Ivan Meza
![Page 2: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/2.jpg)
Son una tupla , donde:
Gramáticas libres de contextoG = (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
que denominamos símbolo inicial
V
ΣP V → α α ∈ (Σ ∪ V )∗
S ∈ V
![Page 3: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/3.jpg)
GLC para el lenguaje de ER donde G = ({R, B}, {a, b, ϵ, ∅}, P , R, +, ∗, (, )) P
R → BR → R + RR → R∗R → RRR → (R)B → aB → bB → ϵB → ∅
![Page 4: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/4.jpg)
Derivaciones para: a + (ab)
![Page 5: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/5.jpg)
Derivación a la izquierdaa + (ab)
R⇒ R + R⇒ B + R⇒ a + R⇒ a + (R)⇒ a + (RR)⇒ a + (BR)⇒ a + (aR)⇒ a + (aB)⇒ a + (ab)
![Page 6: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/6.jpg)
Derivación a la derechaa + (ab)
R⇒ R + R⇒ R + (R)⇒ R + (RR)⇒ R + (RB)⇒ R + (Rb)⇒ R + (Bb)⇒ R + (ab)⇒ B + (ab)⇒ a + (ab)
![Page 7: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/7.jpg)
Derivaciones diferentes
¿Árboles?
![Page 8: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/8.jpg)
Árbol primera derivación
a b
B B
a R R
B ( R )
R + R
R
![Page 9: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/9.jpg)
Árbol segunda derivación
a b
B B
a R R
B ( R )
R + R
R
![Page 10: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/10.jpg)
a b
B B
a R R
B ( R )
R + R
R
a b
B B
a R R
B ( R )
R + R
R
![Page 11: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/11.jpg)
Dos derivaciones diferentes producen el mismo árbol
![Page 12: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/12.jpg)
Derivaciones para: a + ab
![Page 13: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/13.jpg)
Derivación a la izquierdaa + ab
R⇒ R + R⇒ B + R⇒ a + R⇒ a + RR⇒ a + BR⇒ a + aR⇒ a + aB⇒ a + ab
![Page 14: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/14.jpg)
¡¡Segunda derivación a laizquierda!!a + ab
R⇒ RR⇒ R + RR⇒ B + RR⇒ a + RR⇒ a + BR⇒ a + aR⇒ a + aB⇒ a + ab
![Page 15: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/15.jpg)
Derivaciones diferentes
¿Árboles?
![Page 16: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/16.jpg)
Árbol primera derivación
a b
a B B
B R R
R + R
R
![Page 17: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/17.jpg)
Árbol segunda derivación
a a
B B b
R + R B
R R
R
![Page 18: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/18.jpg)
a b
a B B
B R R
R + R
R
a a
B B b
R + R B
R R
R
![Page 19: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/19.jpg)
Dos derivaciones diferentes producen dos árboles diferentes
![Page 20: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/20.jpg)
¡¡Dos derivaciones diferentesproducen dos árbolesdiferentes!!
![Page 21: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/21.jpg)
A esta propiedad de que una cadena tiene dos "signi�cados"diferentes le llamamos
Ambigüedad
![Page 22: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/22.jpg)
veo al gato con el telescopio
¿quien tiene el telescopio?
![Page 23: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/23.jpg)
S
VP
veo NP PP
al gato con el telescopio
S
VP
veo NP
NP PP
al gato con el telescopio
![Page 24: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/24.jpg)
Ambigüedad
Los humanos encontramos la ambigüedad muy divertida
Hola, ¿cómo te llamas?Maria de los Ángeles ¿y tú?Daniel de Nueva York
![Page 25: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/25.jpg)
Oye, pues mi hijo en su nuevo trabajo se siente como pez en elagua.¿Qué hace?Nada
![Page 26: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/26.jpg)
Definiciones
Una gramática es ambigua si para cuando menos una
cadena tiene más de un árbol de derivación
Si todas las cadenas de una gramática tienen cuando menos
un árbol de derivación no es ambigua
![Page 27: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/27.jpg)
Reducción de gramáticasambiguasMalas noticias: no existe un algoritmo para reducirgramáticas
Pero hay algunas estrategias
![Page 28: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/28.jpg)
Elegir un agrupamiento paramismo operador: izquierda oderechaa + a + a
![Page 29: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/29.jpg)
Forzar preferencia: introducirnuevas variables
donde G = ({E, T , F , B}, {a, b, ϵ, ∅, P , R, +, ∗, (, )}, E)
P
E → T |E + TT → F |TFF → B|F ∗ |(E)B → aB → bB → ϵB → ∅
![Page 30: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/30.jpg)
Derivación por la izquierdaa + ab
E⇒ E + T⇒ T + T⇒ F + T⇒ B + T⇒ a + T⇒ a + TF⇒ a + FF⇒ a + BF⇒ a + aF⇒ a + aB⇒ a + ab
![Page 31: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/31.jpg)
Árbol primera derivación
E
E + T
T T F
F F B
B B b
a a
![Page 32: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/32.jpg)
Derivación por la derechaa + ab
E⇒ E + T⇒ E + TF⇒ E + TB⇒ E + Tb⇒ E + Fb⇒ E + Bb⇒ E + ab⇒ T + ab⇒ F + ab⇒ B + ab⇒ a + ab
![Page 33: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/33.jpg)
Árbol segunda derivación
E
E + T
T T F
F F B
B B b
a a
![Page 34: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/34.jpg)
Intentar con: a ∗ +(a ∗ b)∗
![Page 35: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/35.jpg)
Intentar con: ∪anbncmdm anbmcmdn
![Page 36: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/36.jpg)
Por un lado... y anbn cndn
A → aAb|abB → cBd|cd
Por otro lado anbmcmdn
C → aCd|aDdD → bDc|bc
E → AB|C
¿Qué pasa cuando ?n = m
![Page 37: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/37.jpg)
OjoHay lenguajes inherentemente ambiguos
![Page 38: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/38.jpg)
Regresando a operaciones con
![Page 39: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/39.jpg)
Además podemos definir
y = ( , Σ, , )G1 V1 P1 S1 = ( , Σ, , )G2 V2 P2 S2
= ( ∪ , Σ, ∪ ∪ { → + }, )GU V1 V2 P1 P2 SU S1 S2 SU
= ( ∪ , Σ, ∪ ∪ { → }, )GC V1 V2 P1 P2 SC S1S2 SC
= ( , Σ, ∪ { → |ϵ}, )G∗ V1 P1 S∗ S1S∗ S∗
![Page 40: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/40.jpg)
¿A qué lenguajes corresponden?
G = (V , Σ, ∅, S)
G = (V , Σ, {S → ϵ}, S)
G = (V , Σ, {S → a}, S)
![Page 41: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/41.jpg)
EntoncesTenemos las operaciones de composición para cualquier GLC
Tenemos lenguajes básicos como GLC
Podemos usar las operaciones sobre las GLR
¡Podemos generar todos los lenguajes regulares congramáticas!
![Page 42: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/42.jpg)
Convertir de AF a GLC
q₀ q₁b
a a
b
![Page 43: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/43.jpg)
a bQ
q0 q0 q1
q1 q1 q0
![Page 44: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/44.jpg)
se transforma en , se transforma en q0 A q1 B
a bV
A A B
B B A
![Page 45: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/45.jpg)
con , reescribir las transicionesa reglas
G = ({A, B}, {a, b}, P , A)
A → aAA → bBB → aBB → bA
Incluir las �nales, que lleguen a un estado �nal
A → bB → a
![Page 46: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/46.jpg)
Derivación por la izquierda yderechaababa
A⇒ aA⇒ abB⇒ abaB⇒ ababA⇒ ababa
![Page 47: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/47.jpg)
EntoncesDado un AF podemos encontrar una GLC
¿Dada una GLC podemos encontrar un AF?
Cuidado... mucho cuidado
Sí y Solo sí tienen la misma forma A → cB|a
![Page 48: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/48.jpg)
con , reescribir las reglas atransiciones
G = ({A, B}, {a, b}, P , A)
A → aA δ(A, a) = A
A → bB δ(A, b) = B
B → aB δ(B, a) = B
B → bA δ(B, b) = A
A → b δ(A, b) = F
B → a δ(A, a) = F
![Page 49: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/49.jpg)
Son una tupla , donde:
Gramáticas regularesG = (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 → aB|a a ∈ ΣA, B ∈ VS ∈ V
![Page 50: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/50.jpg)
Jerarquía de ChomskyLenguaje Gramática Máquina
Independiente de contexto Tipo 2, ??
Regular Tipo 3, Autómata finito
V → α
V → aA
![Page 51: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/51.jpg)
Autómata de pilaUn AFND- + una pilaϵ
![Page 52: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/52.jpg)
No confundir
![Page 53: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/53.jpg)
Autómata de pilaEs una tupla (Q, Σ, Γ, , , A, δ)q0 Z0
conjunto finito de estados alfabeto de cadenas reconocidas alfabeto de pila estado inicial símbolo inicial de la pila
estados finales función de transición
QΣΓq0Z0Aδ Q × (Σ ∪ {ϵ}) × Γ → Q × Γ∗
Un AFND- + una pilaϵ
![Page 54: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/54.jpg)
AF vs AFND vs AFND- vs APϵ
AF AFND AFND- APϵ
Q Q Q Q
Σ Σ Σ ΣΓ
∈ Qq0 ∈ Qq0 ∈ Qq0 ∈ Qq0
∈ ΓZ0
A ⊆ Q A ⊆ Q A ⊆ Q A ⊆ Q
Q × Σ → Q Q × Σ → 2Q Q × (Σ ∪ {ϵ}) → 2Q Q × (Σ ∪ {ϵ}) × Γ → Q × Γ∗
![Page 55: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/55.jpg)
q₀ q₁ q₂b,A/ε
b,A/εa,Z₀/AZ₀
a,A/AA
ε,Z₀/Z₀
![Page 56: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/56.jpg)
Posición inicialEstado: Pila:
q0Z0
![Page 57: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/57.jpg)
OperacionesPush: Pop: Sin operación:
A/BAA/ϵ
A/A
![Page 58: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/58.jpg)
q₀ q₁ q₂b,A/ε
b,A/εa,Z₀/AZ₀
a,A/AA
ε,Z₀/Z₀
Z0
![Page 59: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/59.jpg)
¿Qué recuerda el AP?
![Page 60: Gramáticas libres de contexto en su habitát](https://reader034.vdocuments.mx/reader034/viewer/2022042706/58aac6f81a28ab2f728b4f2b/html5/thumbnails/60.jpg)
[email protected] ivanvladimir.github.io ivanvladimir
¿Qué es un computadora? by is licensed under a.
Creado a partir de la obra en.
Ivan V. Meza RuizCreative Commons Reconocimiento 4.0 Internacional License
http://turing.iimas.unam.mx/~ivanvladimir/slides/lfya/intro.html