• No se han encontrado resultados

Clase09(GSC-Jerarquia Chomsky)

N/A
N/A
Protected

Academic year: 2020

Share "Clase09(GSC-Jerarquia Chomsky)"

Copied!
13
0
0

Texto completo

(1)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2015

Gramáticas Sensibles al Contexto y

Lenguajes Sensibles al Contexto

Ciencias de la Computación I

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2015

Gramáticas Formales

Una gramática formal es una cuadrupla G = <N, T, P, S>

N = conjunto finito de símbolos no terminales

T = conjunto finito de símbolos terminales

S = símbolo distinguido o axioma S

(N

T)

P = conjunto finito de reglas de producción(permiten generar cadenas a partir de S)

De acuerdo a formato de reglas se pueden definir 4 tipos de gramáticas y sus correspondientes lenguajes

N

T =

α → β

α

=

ϕ

A

ρ

A

N

{S}

(2)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2015

Gramáticas Sensibles al Contexto (GSC) (Tipo 1)

• Generan los lenguajes sensibles al contexto (reconocidos por ALA)

T = conjunto finito de símbolos terminales S = símbolo distinguido o axioma S

(N

T) P = conjunto finito de reglas de producción N = conjunto finito de símbolos no terminales • Se definen como una cuadrupla G = <N, T, P, S>

γγγγ

A

β

γγγγ

w

β

A

N

{S}

γγγγ

,

β

(N

T)*

w

(N

T)* - {

εεεε

}

S

→ εεεε

Se puede incluir para generar la cadena vacía

N

T =

Generar

S

A

A

aABC

A

aBC

L={a

n

b

n

c

n

/n>0}

aB

ab

bB

bb

bC

bc

cC

cc

Lenguaje Sensible al Contexto

Ordenar

Reemplazar

con contexto

G=<{A, B, C},{a, b, c},P, S>

Gramáticas Sensibles al Contexto (Tipo 1)

Ejemplo:

CB →BC

Ejemplo de Derivación S⇒

A ⇒

aABC⇒

aaABCBC ⇒

aaaBCBCBC ⇒

aaaBBCCBC⇒

aaaBBCBCC⇒

aaaBBBCCC⇒

aaabBBCCC⇒

aaabbBCCC⇒

aaabbbCCC⇒

aaabbbcCC⇒

aaabbbccC⇒

(3)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2015

Generar

S

A

A

aABC

A

aBC

L={a

n

b

n

c

n

/n>0}

aB

ab

bB

bb

bC

bc

cC

cc

Lenguaje Sensible al Contexto

Ordenar

Reemplazar

con contexto

G=<{A, B, C},{a, b, c},P, S>

Gramáticas Sensibles al Contexto (Tipo 1)

Ejemplo:

CB →BC

Ejemplo de derivación S ⇒

A ⇒

Ejemplo de derivación S ⇒

A ⇒

aABC ⇒

Ejemplo de derivación S ⇒

A ⇒

aABC ⇒

aaABCBC⇒

Ejemplo de derivación S ⇒

A ⇒

aABC ⇒

aaABCBC⇒

aaaBCBCBC⇒

Ejemplo de derivación S ⇒

A ⇒

aABC ⇒

aaABCBC⇒

aaaBCBCBC⇒

aaabCBCBC ⇒

Ejemplo de derivación S ⇒

A ⇒

aABC ⇒

aaABCBC⇒

aaaBCBCBC⇒

aaabCBCBC ⇒

aaabcBCBC (no se puede llegar de ninguna manera a reemplazar todos los símbolos

no terminales por símbolos terminales ⇒G no genera cadenas incorrectas)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2015

Sea G = <{A, B, C}, {a, b, c}, P, S> donde P = {S→A,

A→aABC, CB→BC (*)

A→abC,

bB→bb,

bC→bc,

cC→cc }

A

Gramáticas Sensibles al Contexto (Tipo 1)

Ejemplo:

Aclaración:

CB→BC no respeta el formato de reglas de Tipo 1

Formato reglas de tipo 1

γγγγA →→→→ γγγγ ωωωω A ∈∈∈∈N ∪∪∪∪{S} γγγγ, ∈∈∈∈(N ∪∪∪∪T)* w ∈∈∈∈(N ∪∪∪∪T)* - {εεεε}

ω

β

A

A

A

γ γ ω

A

ω ω

A

γ

Se utiliza para “resumir” el efecto de las siguientes 3 reglas: AB →XB

XB →XA XA →BA

donde los símbolos A, B, X ∈N

A

γ γ ω

A

γ γ ω

γ=ε y β=ε

γ=ε y β=ε

γ=ε y β=ε

β=ε

β=ε

β=ε

(*) En la práctica se puede usar esta regla aclarando que NO es de Tipo 1

(4)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2015

Gramáticas Sensibles al Contexto (Tipo 1)

• Las reglas de producción indican cómo reemplazar un no terminal o el símbolo distinguido teniendo en cuenta el contexto en el que se encuentra

Ejemplo: G sensible al contexto

Sea G = <{A, B, C}, {a, b, c}, P, S> donde

P = {S→A, A→aABC, A→abC, CB→BC, bB→bb, bC→bc, cC→cc}

Del lado izquierdo puede haber símbolos terminales y/o no terminales (también puede aparecer el símbolo distinguido)

Se reemplaza el no terminal y su contexto por la cadena del lado derecho de la regla de producción (manteniendo el contexto)

S

A

a

A

BC

aab

CB

C

aa

bB

CC

aab

bC

C

aabb

cC

aabbcc

Gramáticas Sensibles al Contexto (Tipo 1)

Derivación:

Dadas dos cadenas ω1, ω2 y una gramática sensible al contexto G = <N, T, P, S> se dice queω1deriva aω2siω2puede obtenerse a partir de

ω1por aplicación de reglas de G.

Derivación inmediata:

La cadena ω2se obtiene de la cadena ω1en un paso usando las reglas de P

2) ω1 ⇒ω2

γ αBβψ ⇒γ αωβψ α, β, γ, ψ ∈(N T)*, B N {S},

αBβ → αωβ∈P y ω ∈(N ∪T)* - { ε} 1) Cuando ω1= S y ω2= ε y S → ε ∈P

ω1⇒ω2 sí y sólo sí

(5)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2015

Gramáticas Sensibles al Contexto (Tipo 1)

Derivación:

La cadena

α

αα

α

2se obtiene de la cadena

α

αα

α

1en cero o más pasos usando las reglas de P.

Si existen

αα

α

α

1

,

αα

α

α

2

, …,

α

αα

α

n ∈(N ∪T)* n ≥1 y

*

αααα

1

αααα

2

αααα

n

decimos que

αααα

1

αααα

n

(clausura reflexiva y transitiva de

)

Lenguaje generado por una gramática sensible al contexto G = <N, T, P, S>:

*

L(G) = { x / x

T* y S

x }

Es decir, una cadena ∈L(G) si:

1) La cadena está formada por símbolos terminales únicamente 2) La cadena puede ser derivada a partir de S

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2015

Ejemplo 2

L={a

n

b

n

c

n

d

n

/n>0}

P:{ S→A, A→aABCD, A→aBCD, DB →BD, CB →BC, DC →CD, aB →ab, bB →bb, bC →bc, cC →cc, cD →cd, dD →dd }

Lenguaje Sensible al Contexto

G=<{A,B,C,D},{a,b,c,d},P,S>

Derivación S⇒

A ⇒

aABCD⇒

aaABCDBCD ⇒

aaaBCDBCDBCD ⇒

aaaBCBDCDBCD ⇒

aaaBCBCDDBCD ⇒

aaaBCBCDBDCD ⇒

aaaBCBCDBCDD ⇒

aaaBBCCDBCDD ⇒

….

aaaBBBCCCDDD ⇒

….

(6)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2015

Ejemplo 3

L={a

n

g

i

h

i

c

n

d

n

/ n, i 0}

P:{S

A,

A

aACD,

A

B,

B

gBh,

B

gh,

DC

CD,

hC

hc,

cC

cC,

cD

cd,

dD

dd,

A

acD, si i=0

S

→ ε

} si n=i=0

Lenguaje Sensible al Contexto

G=<{A,B,C,D},{a,g,h,c,d},P,S>

Derivación S⇒

A ⇒

B⇒

gBh ⇒

gghh Derivación

S⇒

A ⇒

aACD⇒

aaACDCD ⇒

aaBCDCD ⇒

aagBhCDCD ⇒

aagghhCDCD ⇒

aagghhCCDD ⇒

… aagghhccdd

Derivación S⇒

A ⇒

aACD⇒

aacDCD ⇒

aacCDD ⇒

aaccDD ⇒

aaccdD⇒

aaccdd

Ejemplo 4

L = {a

n

c

i

b

n

d

i

/ n, i 0}

P: {S→A, A→aAB, A→H, H→cHD, H→cD, DB →BD, cB →cb, bB →bb, bD →bd, dD →dd,

A →ab, si i=0 cD →cd, si n=0 S → ε} si n=i=0

Lenguaje Sensible al Contexto

G=<{A,B,H,D},{a,c,d,b},P,S>

Derivación S⇒

A ⇒

aAB⇒

aaABB ⇒

aaHBB ⇒

aacHDBB ⇒

aaccHDDBB ⇒

aacccDDDBB ⇒

aacccBBDDD ⇒

aacccbbddd

Derivación S⇒

A ⇒

aAB⇒

aabB⇒

aabb

Derivación S ⇒

A ⇒

H⇒

cHD ⇒

ccDD ⇒

ccdD⇒

(7)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2015

Lenguajes Máquinas Gramáticas Equiv.

Det. y No det

R E G U L A R E S (TIPO 3)

Autómata Finito Determinístico

AFD = <E, A, δ, e0, F>

E: conjunto finito de estados

A: alfabeto de entrada

δδδδ: función de transición

δδδδ: E x A →→→→E

e0: estado inicial; e0 ∈∈∈∈E F: conjunto de estados finales;

F ⊆⊆⊆⊆E

Regulares o de Tipo 3

G = <N, T, P, S>

Formato de reglas de Tipo 3: - Lineales a derecha

A→aB A∈N∪{S}

A→a B∈N

S→ ε a∈T - Lineales a izquierda

A→Ba A∈N∪{S}

A→a B∈N

S→ ε a∈T

SI

Jerarquía de Chomsky

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2015

Lenguajes Máquinas Gramáticas EQ. DET.

y NO DET

L I B R E S D E L C O N T E X T O (TIPO 2)

Autómata de Pila Determinístico o No Determinístico

AP = <E,A,P,δ,e0,Z0, F>

E: conjunto finito de estados

A:alfabeto de entrada

P: alfabeto de la Pila; P∩A=∅ δδδδ:función de transición

δ:E x (A∪{ε}) xP→E xP*

(determinístico)

δ:E x (A∪{ε}) xP→Pf(E xP*)

(no determinístico)

(Pfdenota subconjuntos finitos de E xP*)

e0: estado inicial; e0∈E

Z0:símbolo distinguido; Z0∈P

F: conjunto de estados finales; F⊆E.

Libres del Contexto o de Tipo 2

G = <N, T, P, S>

Formato reglas de Tipo 2:

A

→ ω

donde

A∈N∪{S};

ω ∈ (N∪T)

*

- {ε}

Se puede incluir

S

→ ε

NO

(8)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2015

Lenguajes Máquinas Gramáticas EQ. DET. y NO DET

S E N S I B L E S A L C O N T E X T O (TIPO 1)

Autómata Linealmente Acotado ALA= < E, A, C, δ, e0, B, F, #, $>

E: conjunto finito de estados A: alfabeto de entrada; A ⊆C C: alfabeto de la cinta;

C=A ∪{B, #, $} ∪Auxiliares

δδδδ: función de transición

δδδδ: E x C →→→→E x C x {D, I, N} (1 cinta) (†) δδδδ: E x Ck→→→→E x (C x {D, I, N})k (k cintas)(†) e0: estado inicial; e0 ∈∈∈∈E

B: símbolo blanco; B ∉A y B ∈∈∈∈C F: conjunto de estados finales; F ⊆⊆⊆⊆E #: símbolo de inicio de la/s cinta/s $: símbolo de fin de la/s cinta/s

(†) En ninguna de las cintas se permiten movimientos a izquierda de # ni a derecha de $. Tampoco se permite reescribir los símbolos # y $.

Sensibles al Contexto o de Tipo 1

G = <N, T, P, S>

Formato reglas Tipo 1:

γγγγ

A

β

→ γγγγ

w

β

donde

A∈N∪{S};

γγγγ

,

β

∈ (N∪T)*

ω ∈ (N∪T)* - {ε}

Se puede incluir

S→ ε

SI

Jerarquía de Chomsky

Lenguajes Máquinas Gramáticas EQ. DET. y NO DET

E S T F R R U P A C O S T R E U S R A D O S

(TIPO 0

)

Máquina de Turing Determinística

MTD= < E, A, C, δ, e0, B, F>

E: conjunto finito de estados

A: alfabeto de entrada; A⊆C

C: alfabeto de cinta; C=A∪{B}∪Auxiliares δδδδ: función de transición

δδδδ: E x C →→→→E x C x {D, I, N} (1 cinta)

δδδδ: E x Ck→→→→E x (C x {D, I, N})k (k cintas)

e0: estado inicial; e0 ∈∈∈∈E

B: símbolo blanco; B ∉A y B ∈∈∈∈C F: conjunto de estados finales; F ⊆⊆⊆⊆E

Contractivas o de Tipo 0

G = <N, T, P, S>

Formato reglas Tipo 0:

γγγγ

A

β

→ γγγγ

w

β

donde

A∈N∪{S};

γγγγ, β ,ω ∈ (N∪T)*

(ωpuede serε)

SI

(9)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2015

Jerarquía de Lenguajes

Estructurados por frases

Sensibles al Contexto

Libres del Contexto NO determinísticos

Libres del contexto determinísticos

Regulares

- Máquinas de Turing Determinística - Gramáticas Contractivas (Tipo 0)

- Autómata Linealmente Acotado Determ. - Gramática Sensible al Contexto (Tipo 1)

- Autómata de Pila NO Determinístico - Gramática Libres del Contexto (Tipo 2 )

- Autómata Finito Determinístico - Gramática Regular (Tipo 3)

En la práctica se debe diseñar el autómata y la gramática más restrictivos según el lenguaje dado

- Autómata de Pila Determinístico - Gramática Libres del Contexto (Tipo 2 )

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2015

1) CASO MAS GENERAL:

No existen relaciones entre los símbolos de la cadena

Ejemplos:

L= {anbk cp / n, k, p 0 }

L= {x / x ∈{a,b}* y x contiene cantidad par de a’s y cantidad par de b’s}

Lenguaje tipo 3 o REGULAR

RECONOCER las cadenas con AUTÓMATA FINITO DETERMINÍSTICO

GENERAR las cadenas con GRAMÁTICA REGULAR o TIPO 3

(10)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2015

2) Existen relaciones entre los símbolos de la cadena de a pares (excepto caso “cruzado” que se explica en la próxima filmina)

.

Ejemplos:

L={anbn /n 0}

L={x / x ∈{a,b}* y la cantidad de a’s en x es igual a la cantidad de b’s} L={anbk / n > k y k > 0}

L={ anbncmdm/ n, m > 0} Relación concatenada

L={ ancmdmbn/ n, m 0} Relación anidada

Lenguaje Tipo 2 o Libre del Contexto

RECONOCER las cadenas con AUTÓMATA DE PILA DETERMINÍSTICO o NO DETERMINÍSTICO (analizar el lenguaje para ver si lo pueden hacer

determinístico o no →NO son equivalentes)

GENERAR las cadenas con GRAMÁTICA LIBRE DEL CONTEXTO o TIPO2

¿Cómo identificar el tipo más

restrictivo de un lenguaje?

¿Cómo identificar el tipo más

restrictivo de un lenguaje?

3) Existen relaciones entre los símbolos de la cadena de a tres o más

(incluye un caso con relación de a dos cruzado)

Ejemplos: L={an bncn /n>0}

L={anbkck /n>k y k>0}

L={ anbjcndj/ n, j >0} Caso Cruzado

Lenguaje Tipo 1 o Sensible al Contexto

RECONOCER las cadenas con ALA DETERMINÍSTICO (en la práctica se permite usar MT determinística)

(11)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2015

Gramática incorrecta

L={a

n

b

n

c

n

/n > 0}

S

A

A

aAbc

A

abc

Supongamos que construimos una gramática

Lenguaje Sensible al Contexto

S⇒A aAbcaaAbcbc aaabcbcbc

Genera las cantidades correctas pero desordenadas.

Una vez que se escribieron, los símbolos terminales no se pueden

cambiar de lugar; por lo tanto se generan cadenas que no pertenecen

al lenguaje que se quiere generar.

No es correcto

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2015

REGLAS DE GENERACIÓN: PASO 1

L={a

n

b

n

c

n

/n>0}

S

A

A

aABC

A

aBC

Lenguaje Sensible al Contexto

S⇒A aABCaaABCBC aaaBCBCBC

(12)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2015

REGLAS DE ORDENAMIENTO: PASO 2

L={a

n

b

n

c

2n

/n > 0}

S

A

A

aABC

A

aBC

CB

BC

Lenguaje Sensible al Contexto

S⇒

A ⇒

aABC⇒

aaABCBC ⇒

aaaBCBCBC ⇒

aaaBBCCBC⇒

aaaBBCBCC⇒

aaaBBBCCC⇒

….

Una vez que los símbolos no terminales están ordenados, se tendrían que reemplazar por símbolos terminales

GRAMÁTICA CON REEMPLAZOS INCORRECTOS

L={a

n

b

n

c

n

/n>0}

S

A

A

aABC

A

aBC

CB

BC

Lenguaje Sensible al Contexto

Ejemplo de derivación S⇒

A ⇒

aABC⇒

aaABCBC ⇒

aaaBCBCBC ⇒

aaaBBCCBC⇒

aaaBBCBCC⇒

aaaBBBCCC⇒

Una vez que los símbolos no terminales están ordenados se

tendrían que reemplazar por símbolos terminales

B

b

C

c

Si ponemos reglas independientes del contexto, se

(13)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2015

Gramáticas Sensibles al Contexto (Tipo 1)

Aclaración:

CB→BC no respeta el formato de reglas de Tipo 1

Se utiliza para “resumir” el efecto de las siguientes 3 reglas:: AB →XB

XB →XA XA →BA

donde los símbolos A, B, X ∈N Formato reglas de tipo 1 γγγγAβ→→ γγγγ→→ wβ A ∈∈∈∈N ∪∪∪∪{S} γγγγ,β∈∈∈∈(N ∪∪∪∪T)* ω ∈ω ω ω ∈∈∈(N ∪∪∪∪T)* - {εεεε}

(*) En la práctica se puede usar, aclarando que no es tipo 1

γγγγ A β →→→→ γγγγ w β

ε

S

ε →

ε

A

ε

ε

A

ε →

ε

aABC

ε

ε

A

ε →

ε

abC

ε

b B

ε →

b

b

ε

b C

ε →

b

c

ε

c C

ε →

c

c

ε

γγγγ A β →→→→ γγγγ w β

ε

C

Β →

ε

BC

cambia

Referencias

Documento similar

La Federación de Gremios de Editores de España realiza anualmente el informe de Comercio Interior del Libro de las empresas editoriales privadas y agremiadas en España y que en

Esta asignatura se sitúa, por tanto, en el nivel básico dentro del plan de formación de los grados en Ingeniería Informática y en Tecnologías de la Información y desarrolla

TIPO DE BUQUE Petrolero para crudo, cubierta corrida, habilitación y cámara de máquinas a popa, proa y popa de bulbo, codaste abierto, timón tipo “Mariner”, cofferdam

• Las series de tiempo pueden ser estacionarias en diferencias (tendencia estocástica) o en tendencia (tendencia determinística), el contraste de raíces unitarias o DF también

Si se tiene en cuenta la propuesta de considerar a Chomsky como protagonista y a Foucault como antagonista, el segundo ejerce este derecho con respecto al punto de vista del

Como ya se M z o notar en la Observación IIT — 1, los re- sultados del Capítulo lY son válidos para el álgebra E de todas las funciones enteras provista de la topología de la

prescriptivos; por otra parte, en ciertas ocasiones, se observa una falta de coherencia entre las gramáticas y los diccionarios tanto en el seguimiento de la

de se convertir en chaux par la calcination- L a formation de ces pierres nous paroît due, en grande partie , au détritus des coquillages : Tidentité des