Este documento resume la jerarquía de Chomsky, incluyendo las diferentes clases de lenguajes formales y las máquinas abstractas asociadas. Explica que los lenguajes dependientes del contexto son reconocidos por autómatas lineales con frontera, los lenguajes independientes del contexto por autómatas de pila, y los lenguajes regulares por autómatas finitos. También describe formas normales como la de Chomsky y Greibach para gramáticas libres de contexto y la de Kuruda para gramáticas dependientes del contexto.
1. Revisando la jerarquía de
Chomsky
Hierarchiesarecelestial.Inhellallareequal—
NicolásGómezDávila
Ivan Meza
2. 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
5. Jerarquía de Chomsky
Lenguaje Gramática Máquina Ejemplo
Dependiente del
contexto
Tipo 1
( )
??
Independiente del
contexto
Tipo 2
( )
Autómata
de pila
Regular Tipo 3
( )
Autómata
finito
αV β → αγβ
ww, a
n
b
n
c
n
V → α
w ,w
r
a
n
b
n
V → aA|ϵ
w, a
∗
7. Gramáticas monotónicas
Son una tupla , donde: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
y
que denominamos símbolo inicial
V
Σ
P α → β |α| ≤ |β|, α
β ∈ (Σ ∪ V )
∗
S → ϵ
S ∈ V
11. Propiedades
Forma normal de Chomsky
Todas las producciones tienen para
Se puede buscar por fuerza bruta
Toda gramática libre de contexto se reduce a FNC
2n − 1 |w| = n
13. Reducción: paso uno
Quitar transiciones ϵ
Identificar las reglas que producen
Crear versiones de otras reglas donde la producción aparece
si y , entonces
Borrar transiciones
ϵ
P → AxB A → ϵ B → ϵ P → Ax|xB|x
ϵ
14. Reducción: paso dos
Quitar transiciones unitarias
Identificar las reglas de la forma (unitarias)
Por cada producción agregar
Borrar transiciones unitarias
A → B
B → α A → α
15. Reducción: paso tres
Reducir transiciones largas
Identificar las reglas de la forma
Agregar las versiones , ...
Quitar versión original
A → . . .X1 Xn
A → X1 A1 →A2 X2 A2
→An−1 Xn−1 Xn
16. Reducción: paso cuatro
Remover terminales
Identificar las reglas de la forma
Agregar la regla
Y agregar la regla
Quitar versión original
A → . . . a. . .X1 Xn
A → . . . . . .X1 Na Xn
→ aNa
20. En resumen
GLC tienen FNC y FNG
GM tienen FNK
Toda GLC se puede transformar a FNC y FNG; son debilmente
equivalentes
Toda GM se puede transformar a FNK; son debilmente equivalentes
21. Autómata lineal con frontera
Es una tupla (Q, Σ, Γ, , B, A, δ)q0
conjunto finito de estados
alfabeto de cadenas reconocidas
alfabeto de cinta,
estado inicial
Símbolo de espacio en blanco pero
estados finales
función de transición
Q
Σ
Γ Σ ⊂ Γ
q0
B B ∈ Γ B ∉ Σ
A
δ
Q × Γ ∪ {<, >} → Q × Γ ∪ {<, >} × {der, izq}
Restricción, no se puede ir más allá de los símbolos <, >
22. s wt u v
</</R
</</R
x/x/R
a/x/R
a/a/R
x/x/R x/x/R
b/x/R
b/b/R
b/b/L
c/x/L
a/a/L
c/c/L
x/x/L
</</R
23. Autómata de doble pila*
Es 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
Σ
Γ
q0
Z0
A
δ Q × (Σ ∪ {ϵ}) × Γ × Γ → Q × ×Γ
∗
Γ
∗
Un AFND- + dos pilasϵ
25. Jerarquía de Chomsky
Lenguaje Gramática Máquina Ejemplo
Dependiente del
contexto
Tipo 1
( )
Autómata
lineal con
frontera
Independiente
del contexto
Tipo 2
( )
Autómata de
pila
Regular Tipo 3
( )
Autómata
finito
αV β → αγβ
ww, a
n
b
n
c
n
V → α
w ,w
r
a
n
b
n
V → aA|ϵ
w, a
∗
27. ivanvladimir@gmail.com ivanvladimir.github.io ivanvladimir
Revisando la jerarquía de Chomsky 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/chomsky.html