1. U.T.N. – F.R.T.
S. y S. de los L.
GRAMÁTICAS Y MODELOS
MATEMÁTICOS
JERARQUÍA DE CHOMSKY:
Gramática Lenguaje Modelo Matemático
Recursivamente
enumerable
Máquina de Turing
Tipo 0: Irrestricta
(Nivel Pragmático)
(MT)
Dependiente del
Tipo 1: Dependiente Contexto
Autómata Linealmente
del Contexto (Nivel Semántico)
Limitado (ALL)
Independiente del
Tipo 2: Independiente Contexto Autómata de Pila (AP)
del Contexto (Nivel Sintáctico)
Regular
Tipo 3: Regular Autómata Finito (AF)
(Nivel Léxico)
ING. JORGE BUABUD
2. U.T.N. – F.R.T.
S. y S. de los L.
GRAMÁTICAS Y MODELOS
MATEMÁTICOS
JERARQUÍA DE CHOMSKY:
Esta clasificación, realizada por Noam Chomsky a fines de
la década de 1950, implica una jerarquía de los lenguajes
generados por las gramáticas de cada tipo, ya que cada
gramática de tipo X surge de aplicar ciertas restricciones al
tipo X-1.
De tal modo que el conjunto de lenguajes recursivamente
enumerables contiene al conjunto de lenguajes
dependientes del contexto, éste contiene a los lenguajes
independientes del contexto y éstos a los regulares:
L0 ⊃ L1 ⊃ L2 ⊃ L3
ING. JORGE BUABUD
3. U.T.N. – F.R.T.
S. y S. de los L.
GRAMÁTICAS Y MODELOS
MATEMÁTICOS
JERARQUÍA DE CHOMSKY:
TIPO 0 (Irrestricta o Sin Restricciones - GI):
Gramática estructurada por frases sin ninguna restricción.
O sea que sus reglas de producción tienen, en la parte izquierda al
menos un símbolo no terminal y en la parte derecha cualquier
secuencia de terminales o no-terminales, inclusive vacía.
Todo lenguaje formal generado por una GI y que no puede ser
generado por una gramática de menor jerarquía, se llama Lenguaje
Irrestricto o Recursivamente Enumerable (LI).
ING. JORGE BUABUD
4. U.T.N. – F.R.T.
S. y S. de los L.
GRAMÁTICAS Y MODELOS
MATEMÁTICOS
JERARQUÍA DE CHOMSKY:
Ejemplo de Gramática Tipo 0:
G = 〈 ΣN , ΣT , P, S 〉
ΣN = { S, U, V, X, Y, Z } ΣT = {a, b}
P: S → UVX bV → Vb
ZX → VbX YX → VaX
Yb → bY Ya → aY
Zb → bZ Za → aZ El lenguaje generado por
esta gramática es:
X→λ aV → Va
∈Σ
L(G) = {ww / w∈ΣT* }
UV → bUZ | aUY | λ
ING. JORGE BUABUD
5. U.T.N. – F.R.T.
S. y S. de los L.
GRAMÁTICAS Y MODELOS
MATEMÁTICOS
JERARQUÍA DE CHOMSKY:
Veamos la generación de algunas palabras:
S ⇒ UVX ⇒ X ⇒ λ
S ⇒ UVX ⇒ aUYX ⇒ aUVaX ⇒ aaX ⇒ aa
S ⇒ UVX ⇒ bUZX ⇒ bUVbX ⇒ baUYbX ⇒ baUbYX
⇒ baUbVaX ⇒ baUVbaX ⇒ babaX ⇒ baba
ING. JORGE BUABUD
6. U.T.N. – F.R.T.
S. y S. de los L.
GRAMÁTICAS Y MODELOS
MATEMÁTICOS
JERARQUÍA DE CHOMSKY:
TIPO 1 (Dependiente del / Sensible al Contexto - GDC):
Gramática estructurada por frases cuyas reglas de producción se
restringen en la longitud de su parte derecha, la cual no puede ser
menor que la longitud de la parte izquierda. O sea que no tienen reglas
compresoras. Excepto la regla de borrado S → λ , siempre que S no
figure a la derecha de ninguna regla, con el único objetivo de generar la
palabra vacía.
Todo lenguaje formal generado por una GDC y que no puede ser
generado por una gramática de menor jerarquía, se llama Lenguaje
Dependiente del Contexto (LDC).
ING. JORGE BUABUD
7. U.T.N. – F.R.T.
S. y S. de los L.
GRAMÁTICAS Y MODELOS
MATEMÁTICOS
JERARQUÍA DE CHOMSKY:
Ejemplo de Gramática Tipo 1:
G = 〈 ΣN , ΣT , P, S 〉
ΣN = { S, T, B, D } ΣT = { a, b, c }
P: S → T
DB → BD
El lenguaje generado por esta
D→c gramática es:
T → aTBD | abD
L(G) = {an bn cn / n ≥ 1 }
bB → bb
ING. JORGE BUABUD
8. U.T.N. – F.R.T.
S. y S. de los L.
GRAMÁTICAS Y MODELOS
MATEMÁTICOS
JERARQUÍA DE CHOMSKY:
Veamos la generación de algunas palabras:
S ⇒ T ⇒ abD ⇒ abc
S ⇒ T ⇒ aTBD ⇒ aabDBD ⇒ aabBDD ⇒ aabbDD
⇒ aabbcD ⇒ aabbcc
S ⇒ T ⇒ aTBD ⇒ aaTBDBD ⇒ aaabDBDBD ⇒
aaabBDDBD ⇒ aaabbDDBD ⇒ aaabbDBDD ⇒
aaabbBDDD ⇒ aaabbbDDD ⇒* aaabbbccc
ING. JORGE BUABUD
9. U.T.N. – F.R.T.
S. y S. de los L.
GRAMÁTICAS Y MODELOS
MATEMÁTICOS
JERARQUÍA DE CHOMSKY:
TIPO 2 (Independiente / Libre del Contexto - GIC):
Gramática estructurada por frases cuyas reglas de producción se
restringen en la longitud de su parte izquierda, que debe ser igual a 1.
O sea que la parte izquierda es un no-terminal y la parte derecha puede
ser cualquier secuencia de terminales o no-terminales.
Todo lenguaje formal generado por una GIC y que no puede ser
generado por una gramática de menor jerarquía, se llama Lenguaje
Independiente del Contexto (LIC).
ING. JORGE BUABUD
10. U.T.N. – F.R.T.
S. y S. de los L.
GRAMÁTICAS Y MODELOS
MATEMÁTICOS
JERARQUÍA DE CHOMSKY:
Ejemplo de Gramática Tipo 2:
G = 〈 ΣN , ΣT , P, S 〉
ΣN = { S } ΣT = { a, b }
El lenguaje generado por esta
P: S → aSb | ab gramática es:
L(G) = {an bn / n ≥ 1 }
ING. JORGE BUABUD
11. U.T.N. – F.R.T.
S. y S. de los L.
GRAMÁTICAS Y MODELOS
MATEMÁTICOS
JERARQUÍA DE CHOMSKY:
Veamos la generación de algunas palabras:
S ⇒ ab
S ⇒ aSb ⇒ aabb
S ⇒ aSb ⇒ aaSbb ⇒ aaabbb
ING. JORGE BUABUD
12. U.T.N. – F.R.T.
S. y S. de los L.
GRAMÁTICAS Y MODELOS
MATEMÁTICOS
JERARQUÍA DE CHOMSKY:
TIPO 3 (Lineal / Regular - GR):
Gramática estructurada por frases cuyas reglas de producción se
restringen en la longitud de su parte izquierda, que debe ser igual a 1.
O sea que la parte izquierda es un no-terminal y la parte derecha puede
ser una secuencia de terminales con un no-terminal como sufijo (GR
por la derecha) o con un no-terminal como prefijo (GR por la izquierda)
o simplemente una secuencia de terminales.
Existe una equivalencia entre ambas formas.
Todo lenguaje formal generado por una GR por la derecha o por la
izquierda, se llama Lenguaje Regular (LR).
ING. JORGE BUABUD
13. U.T.N. – F.R.T.
S. y S. de los L.
GRAMÁTICAS Y MODELOS
MATEMÁTICOS
JERARQUÍA DE CHOMSKY:
Ejemplo de Gramática Tipo 3 (regular por derecha):
G = 〈 ΣN , ΣT , P, S 〉
ΣN = { S, A } ΣT = { a, b }
El lenguaje generado por esta
P: S → bbS | aaA gramática es:
A → aaA | bb ≥ ≥
L(G) = {(bb)n (aa)k bb / n≥0, k≥1}
ING. JORGE BUABUD
14. U.T.N. – F.R.T.
S. y S. de los L.
GRAMÁTICAS Y MODELOS
MATEMÁTICOS
JERARQUÍA DE CHOMSKY:
Veamos la generación de algunas palabras:
S ⇒ aaA ⇒ aabb
S ⇒ aaA ⇒ aaaaA ⇒ aaaabb
S ⇒ bbS ⇒ bbaaA ⇒ bbaabb
S ⇒ bbS ⇒ bbaaA ⇒ bbaaaaA ⇒ bbaaaabb
ING. JORGE BUABUD
15. U.T.N. – F.R.T.
S. y S. de los L.
GRAMÁTICAS Y MODELOS
MATEMÁTICOS
JERARQUÍA DE CHOMSKY:
Ejemplo de Gramática Tipo 3 (regular por izquierda):
G = 〈 ΣN , ΣT , P, S 〉 El lenguaje generado por esta
gramática es:
ΣN = { S } ΣT = { a, b } L(G) = {aaa, bbb}.{ab,ba}*
P: S → Sab | Sba | aaa | bbb
ING. JORGE BUABUD
16. U.T.N. – F.R.T.
S. y S. de los L.
GRAMÁTICAS Y MODELOS
MATEMÁTICOS
JERARQUÍA DE CHOMSKY:
Veamos la generación de algunas palabras:
S ⇒ Sab ⇒ aaaab
S ⇒ Sba ⇒ Sabba ⇒ bbbabba
S ⇒ Sba ⇒ Sbaba ⇒ Sabbaba ⇒ aaaabbaba
S ⇒ Sab ⇒ Sabab ⇒ Sbaabab ⇒ bbbbaabab
ING. JORGE BUABUD
17. U.T.N. – F.R.T. GRAMÁTICAS Y MODELOS
S. y S. de los L.
MATEMÁTICOS
FORMATOS ESTÁNDARES:
Para todas las gramáticas se puede definir un formato estándar,
de tal modo que las reglas de producción adopten formas más
comprensibles o más fáciles de implementar con un computador.
Como veremos en algunos casos el formato de las reglas puede
poner en evidencia características del lenguaje generado por las
mismas. Por ejemplo en las de Tipo 1 se puede apreciar la
dependencia del contexto en la derivación de las palabras.
→
En otros casos las reglas de borrado (N→λ) pueden traer como
consecuencia la posibilidad de derivaciones arbitrariamente
largas. Por ejemplo la siguiente gramática de Tipo 2 que genera
paréntesis bien balanceados (damos sólo las reglas):
1. S → SS 2. S → (S) 3. S → λ
ING. JORGE BUABUD
18. U.T.N. – F.R.T. GRAMÁTICAS Y MODELOS
S. y S. de los L.
MATEMÁTICOS
FORMATOS ESTÁNDARES:
Con esta gramática es posible hacer derivaciones arbitrariamente
largas de una palabra tan sencilla como “( )” (el subíndice de las
flechas indica la regla utilizada):
S ⇒1 SS ⇒1 SSS ⇒1 . . . ⇒3 SSS ⇒3 SS ⇒3 S ⇒2 (S) ⇒3 ( )
Si pudiéramos tener una gramática equivalente, pero sin reglas
que produzcan la cadena vacía, ya no sería posible hacer
derivaciones arbitrariamente largas. Esto puede ser una ventaja
a la hora de determinar si una palabra se deriva o no de una
gramática, o sea en el proceso de análisis del lenguaje generado
por la gramática.
ING. JORGE BUABUD
19. U.T.N. – F.R.T. GRAMÁTICAS Y MODELOS
S. y S. de los L.
MATEMÁTICOS
FORMATO ESTÁNDAR DE TIPO 0:
En el caso de las gramáticas de tipo 0 o irrestrictas, se puede
transformar las reglas para obtener una gramática equivalente de la
forma:
N1N2....Ni → M1M2....Mj | λ donde “t” es un terminal y los
F.E.T.0
“N” y “M” son no-terminales.
N→t
La transformación consiste en reemplazar todos los terminales de las
reglas que no cumplen con este formato, por nuevos símbolos no-
terminales y agregar reglas de la forma “nuevo no-terminal deriva a
terminal correspondiente”.
ING. JORGE BUABUD
20. U.T.N. – F.R.T. GRAMÁTICAS Y MODELOS
S. y S. de los L.
MATEMÁTICOS
FORMATO ESTÁNDAR TIPO 0:
Por ejemplo, la GI vista anteriormente quedaría:
G = 〈 ΣN , ΣT , P, S 〉 ΣN = { S, A, B, U, V, X, Y, Z } ΣT = {a, b}
P: S → UVX BV → VB
ZX → VBX YX → VAX
YB → BY YA → AY
ZB → BZ ZA → AZ
X→λ AV → VA
UV → BUZ | AUY | λ A→a
B→b
ING. JORGE BUABUD
21. U.T.N. – F.R.T. GRAMÁTICAS Y MODELOS
S. y S. de los L.
MATEMÁTICOS
FORMATO ESTÁNDAR TIPO 1:
En el caso de las gramáticas de tipo 1 o dependientes del contexto,
se puede transformar las reglas para obtener una gramática
equivalente de la forma:
α1 N α2 → α1 β α2 N ∈ ΣN , β ∈ Σ+ , αi ∈ Σ*
F.E.T.1
S→ λ Pero S no figura a la derecha de
ninguna regla de producción.
Podemos decir que N puede reemplazarse por β siempre que N esté
en el contexto (α1 , α2). En este formato se pone de manifiesto la
α
dependencia del contexto de este tipo de gramática.
Recordemos que la excepción “S → λ” solo sirve para generar la
palabra vacía, cuando así lo requiera el lenguaje.
ING. JORGE BUABUD
22. U.T.N. – F.R.T. GRAMÁTICAS Y MODELOS
S. y S. de los L.
MATEMÁTICOS
FORMATO ESTÁNDAR TIPO 1:
La transformación de las reglas que no cumplen con el formato
estándar, se puede formalizar mediante los siguientes pasos:
1) Obtener el “F.E.T. 0” de las reglas en cuestión.
2) Para cada regla de la forma:
X1X2...XL → Z1Z2...ZK
donde los (Xi , Zj) son no-terminales, se debe agregar los no-
terminales nuevos Y1, Y2, ... , YL y reemplazarla por las
siguientes producciones:
ING. JORGE BUABUD
23. U.T.N. – F.R.T. GRAMÁTICAS Y MODELOS
S. y S. de los L.
MATEMÁTICOS
FORMATO ESTÁNDAR TIPO 1:
X1X2...XL → Y1X2...XL
Y1X2X3...XL → Y1Y2X3...XL
..............................
Y1Y2...YL-1 XL → Y1Y2...YL-1YLZL+1...ZK
Y1Y2...YL-1YLZL+1...ZK → Z1Y2...YLZL+1...ZK
..............................
Z1Z2...ZL-1YLZL+1...ZK → Z1Z2...ZK
Se puede verificar que estas reglas cumplen con el formato
estándar de tipo 1 y que son equivalentes a la regla de partida.
ING. JORGE BUABUD
24. U.T.N. – F.R.T. GRAMÁTICAS Y MODELOS
S. y S. de los L.
MATEMÁTICOS
FORMATO ESTÁNDAR TIPO 1:
Apliquemos estos pasos al ejemplo de GDC visto anteriormente:
1) La única regla que no cumple con el formato estándar es:
DB → BD, y ya está en el “F.E.T. 0”.
2) Agregamos los nuevos no-terminales: E, F
y reemplazamos la regla en cuestión por las siguientes
producciones:
DB → EB
EB → EF
EF → BF
BF → BD
ING. JORGE BUABUD
25. U.T.N. – F.R.T. GRAMÁTICAS Y MODELOS
S. y S. de los L.
MATEMÁTICOS
FORMATO ESTÁNDAR TIPO 1:
De tal modo que la GDC equivalente resulta ser:
G = 〈 ΣN , ΣT , P, S 〉 ΣN = { S, T, B, D, E, F } ΣT = { a, b, c }
P: S → T
DB → EB
EB → EF
EF → BF
BF → BD
D→c
T → aTBD | abD
bB → bb
ING. JORGE BUABUD
26. U.T.N. – F.R.T. GRAMÁTICAS Y MODELOS
S. y S. de los L.
MATEMÁTICOS
FORMATO ESTÁNDAR TIPO 1:
Veamos ahora un ejemplo arbitrario de una regla de tipo 1, que
no cumple con el formato estándar: aXb → YcZde
1) Agregamos los nuevos no-terminales: A, B, C, D, E
y reemplazamos la regla por las siguientes producciones:
AXB → YCZDE
A→a
B→b
C→c
D→d
E→e
ING. JORGE BUABUD
27. U.T.N. – F.R.T. GRAMÁTICAS Y MODELOS
S. y S. de los L.
MATEMÁTICOS
FORMATO ESTÁNDAR TIPO 1:
2) Agregamos los nuevos no-terminales: F, G, H
y reemplazamos la regla : AXB → YCZDE
por las siguientes producciones:
AXB → FXB
FXB → FGB
FGB → FGHDE
FGHDE → YGHDE
YGHDE → YCHDE
YCHDE → YCZDE
ING. JORGE BUABUD
28. U.T.N. – F.R.T. GRAMÁTICAS Y MODELOS
S. y S. de los L.
MATEMÁTICOS
FORMATO ESTÁNDAR TIPO 1:
De tal modo que la regla de partida se sustituye por las
siguientes producciones:
AXB → FXB A→a
FXB → FGB B→b
FGB → FGHDE C→c
FGHDE → YGHDE D→d
YGHDE → YCHDE E→e
YCHDE → YCZDE
Como vemos todas las reglas cumplen con el formato dependiente
del contexto.
ING. JORGE BUABUD
29. U.T.N. – F.R.T. GRAMÁTICAS Y MODELOS
S. y S. de los L.
MATEMÁTICOS
FORMATO ESTÁNDAR TIPO 1:
Analicemos ahora el problema de agregar la generación de la
palabra vacía a una GDC que originalmente no la genera.
Se presentan dos casos:
1) Si ninguna de las producciones de la GDC contiene el axioma en
su parte derecha, se agrega la regla de borrado: S → λ
como excepción de regla compresora, que tendrá como único
efecto permitir la derivación de la palabra vacía.
2) Si el axioma aparece en la derecha de alguna producción, entonces
se realiza el siguiente artificio:
a) se introduce un nuevo símbolo inicial S1
b) se agrega a las producciones originales las reglas: S1 → S | λ
ING. JORGE BUABUD
30. U.T.N. – F.R.T. GRAMÁTICAS Y MODELOS
S. y S. de los L.
MATEMÁTICOS
FORMATO ESTÁNDAR TIPO 1:
En el ejemplo de GDC que hemos visto, se presenta el primer caso.
De tal modo que si deseamos agregar la generación de la palabra
vacía, la gramática resultante sería:
G = 〈 ΣN , ΣT , P, S 〉
ΣN = { S, T, B, D } ΣT = { a, b, c }
P: S → T | λ
DB → BD
El lenguaje generado por esta
D→c
gramática es:
T → aTBD | abD
bB → bb L(G) = {an bn cn / n ≥ 0 }
ING. JORGE BUABUD
31. U.T.N. – F.R.T. GRAMÁTICAS Y MODELOS
S. y S. de los L.
MATEMÁTICOS
FORMATO ESTÁNDAR TIPO 1:
Veamos por último un ejemplo del segundo caso:
G = 〈 ΣN , ΣT , P, S 〉
ΣN = { S, A } ΣT = { a, b }
P: S → bSbb | SAS
Sb → aaA
A → bb
¿ Qué lenguaje genera esta gramática ?
SA → aa
ING. JORGE BUABUD
32. U.T.N. – F.R.T. GRAMÁTICAS Y MODELOS
S. y S. de los L.
MATEMÁTICOS
FORMATO ESTÁNDAR TIPO 1:
La GDC equivalente que genera la palabra vacía es:
G = 〈 ΣN , ΣT , P, S1 〉
ΣN = { S1, S, A } ΣT = { a, b }
P: S1 → S | λ
S → bSbb | SAS
Sb → aaA
A → bb
¿ Qué lenguaje genera esta gramática ?
SA → aa
ING. JORGE BUABUD
33. U.T.N. – F.R.T. GRAMÁTICAS Y MODELOS
S. y S. de los L.
MATEMÁTICOS
FORMATOS ESTÁNDARES TIPO 2 y 3:
Los siguientes son los formatos estándares de tipo 2 y tipo 3, cuya
obtención veremos cuando profundicemos el estudio de los lenguajes
independientes del contexto y regulares respectivamente:
Forma Normal de Chomsky Forma Normal de Chomsky
N1 → N2N3 N1 → tN2
FNC 2 N→t FNC 3 N→t
S→λ S→λ
Forma Normal de Greibach N∈ΣN , t∈ΣT , W∈ΣN* y
∈Σ ∈Σ ∈
→
si tiene la regla S→λ , entonces
N → tW S no figura a la derecha de
FNG 2
S→λ ninguna regla de producción.
ING. JORGE BUABUD