• No se han encontrado resultados

Clase09(GSC)

N/A
N/A
Protected

Academic year: 2020

Share "Clase09(GSC)"

Copied!
11
0
0

Texto completo

(1)

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

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 - 2014

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 - 2014

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 - 2014

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 - 2014

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

βcambia

(4)

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

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 - 2014

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 - 2014

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

(6)

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

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

Jerarquía de Chomsky

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

(7)

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

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

Jerarquía de Chomsky

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

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

(8)

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

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 ⇒ ….

aaabbbcccddd

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

(9)

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

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⇒ ccdd

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

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.

(10)

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

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

Todo lo que está desordenado debería generarse con

símbolos NO TERMINALES para poder ordenarlos

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⇒ ….

(11)

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

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

pueden usar en cualquier momento (por ejemplo en el

paso 5); por lo tanto también podemos generar cadenas

que tienen sus símbolos desordenados

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

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

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

• 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

Ángulo eléctrico y ángulo geométrico, en una máquina de un par de polos ambos coinciden, pero si la máquina tuviera por ejemplo dos pares de polos, cada par de polos se

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