Revisando la jerarquía de chomsky

24
Revisando la jerarquía de Chomsky Hierarchies are celestial. In hell all are equal— Nicolás Gómez Dávila Ivan Meza

Transcript of Revisando la jerarquía de chomsky

Page 1: Revisando la jerarquía de chomsky

Revisando la jerarquía de Chomsky

Hierarchies are celestial. In hell all are equal—Nicolás Gómez Dávila

Ivan Meza

Page 2: Revisando la jerarquía de chomsky

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 ∈ VS ∈ V

Page 3: Revisando la jerarquía de chomsky

S

S

cB

WB

WX

BX

bB

→→→→→→→

abc

aSBc

WB

WX

BX

Bc

bb

Page 4: Revisando la jerarquía de chomsky

Jerarquía de ChomskyLenguaje Gramática Máquina Ejemplo

Dependiente delcontexto

Tipo 1 ( )

??

Independiente delcontexto

Tipo 2 ( )

Autómatade pila

Regular Tipo 3 ( )

Autómatafinito

αV β → αγβww, anbncn

V → αw ,wr anbn

V → aA|ϵw, a∗

Page 5: Revisando la jerarquía de chomsky

El lenguaje aceptado por una GDCL(G) = {w ∈ |S w}Σ∗ ⇒+

Page 6: Revisando la jerarquía de chomsky

aabccd

S

A

B

Xb

XY

Y

→→→→→→

AB

aAX|aX

bBd|bY d

bX

Y c

ϵ

Page 7: Revisando la jerarquía de chomsky

aabccd

S

AB

AC

BC

BA

CA

CB

A

B

C

→→→→→→→→→→

ABC|ABCS

BA

CA

CB

AB

AC

BC

a

b

c

Page 8: Revisando la jerarquía de chomsky

Formas normalesForma normal de Chomsky para GLC

A → BC

A → a

A → ϵ

Page 9: Revisando la jerarquía de chomsky

PropiedadesForma normal de Chomsky

Todas las producciones tienen para

Se puede buscar por fuerza brutaToda gramática libre de contexto se reduce a FNC

2n − 1|w| = n

Page 10: Revisando la jerarquía de chomsky

Reducción: paso ceroAgregar inicial

Agregar → SS0

Page 11: Revisando la jerarquía de chomsky

Reducción: paso unoQuitar 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

ϵ

Page 12: Revisando la jerarquía de chomsky

Reducción: paso dosQuitar transiciones unitarias

Identificar las reglas de la forma (unitarias)Por cada producción agregar Borrar transiciones unitarias

A → B

B → α A → α

Page 13: Revisando la jerarquía de chomsky

Reducción: paso tresReducir transiciones largas

Identificar las reglas de la forma Agregar las versiones , ...

Quitar versión original

A → . . .X1 Xn

A → X1A1 →A2 X2A2→An−1 Xn−1Xn

Page 14: Revisando la jerarquía de chomsky

Reducción: paso cuatroRemover 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

Page 15: Revisando la jerarquía de chomsky

Reducir

S → ASA|aBA → B|SB → b|ϵ

Page 16: Revisando la jerarquía de chomsky

Forma normal de Greibach (GLC)

A → a . . .A1 An

S → ϵ

Page 17: Revisando la jerarquía de chomsky

Forma normal de Kuruda (GDC)

AB → CD

A → BC

A → B

A → a

Page 18: Revisando la jerarquía de chomsky

Autómata de doble 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ΣΓq0q0AδQ × (Σ ∪ {ϵ}) × Γ × Γ → Q × ×Γ∗ Γ∗

Un AFND- + una pilaϵ

Page 19: Revisando la jerarquía de chomsky

a,Zo/BZo,CZo

a,B/BB,C/CC

b,B/ε,C/C

Z0

Z0

b,B/ε,C/C

q0 q1 q2 q3c,Zo/Zo,C/ε

c,Zo/Zo,C/ε

ε,Zo/Zo,Zo/Zo

Page 20: Revisando la jerarquía de chomsky

Autómata lineal con fronteraEs 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ΣΓ Σ ⊂ Γq0B B ∈ Γ B ∉ ΣAδQ × Γ ∪ {<, >} → Q × Γ ∪ {<, >} × {der, izq}

Restricción, no se puede ir más allá de los símbolos <, >

Page 21: Revisando la jerarquía de chomsky

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/Rb/b/L

c/x/L

a/a/L

c/c/L

x/x/L

</</R

Page 22: Revisando la jerarquía de chomsky

Jerarquía de ChomskyLenguaje Gramática Máquina Ejemplo

Dependientedel contexto

Tipo 1 ( )

Autómata dedoble pila/linealcon fronteras

Independientedel contexto

Tipo 2 ( )

Autómata depila

Regular Tipo 3 ( )

Autómata finito

αV β → αγβww, anbncn

V → αw ,wr anbn

V → aA|ϵw, a∗

Page 23: Revisando la jerarquía de chomsky

AF, AFNDAFND-ɛ

L

Verdadero

Falso

R

LLCAP, APD

APDo, ALFLDC

Page 24: Revisando la jerarquía de chomsky

[email protected] ivanvladimir.github.io ivanvladimir

Revisando la jerarquía de Chomsky by is licensedunder 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/chomsky.html