Gramáticas y Modelos Matemáticos - Clase 3

Page 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

Tipo 0: Irrestricta

Recursivamente enumerable (Nivel Pragmático)

Máquina de Turing (MT)

Tipo 1: Dependiente del Contexto

Dependiente del Contexto (Nivel Semántico)

Autómata Linealmente Limitado (ALL)

Tipo 2: Independiente del Contexto

Independiente del Contexto (Nivel Sintáctico)

Autómata de Pila (AP)

Tipo 3: Regular

Regular (Nivel Léxico)

Autómata Finito (AF) ING. JORGE BUABUD


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


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


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 El lenguaje generado por Zb → bZ Za → aZ esta gramática es: X→λ aV → Va L(G) = {ww / w∈Σ ∈ΣT* } UV → bUZ | aUY | λ ING. JORGE BUABUD


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


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


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


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


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


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 } P: S → aSb | ab

El lenguaje generado por esta gramática es: L(G) = {an bn / n ≥ 1 } ING. JORGE BUABUD


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


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


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 } P: S → bbS | aaA A → aaA | bb

El lenguaje generado por esta gramática es: ≥0, k≥ ≥1} L(G) = {(bb)n (aa)k bb / n≥ ING. JORGE BUABUD


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


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 〉 ΣN = { S } ΣT = { a, b }

El lenguaje generado por esta gramática es: L(G) = {aaa, bbb}.{ab,ba}*

P: S → Sab | Sba | aaa | bbb

ING. JORGE BUABUD


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


U.T.N. – F.R.T. S. y S. de los L.

GRAMÁTICAS Y MODELOS 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


U.T.N. – F.R.T. S. y S. de los L.

GRAMÁTICAS Y MODELOS 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


U.T.N. – F.R.T. S. y S. de los L.

GRAMÁTICAS Y MODELOS 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: F.E.T.0

N1N2....Ni → M1M2....Mj | λ donde “t” es un terminal y los N→t

“N” y “M” son no-terminales.

La transformación consiste en reemplazar todos los terminales de las reglas que no cumplen con este formato, por nuevos símbolos noterminales y agregar reglas de la forma “nuevo no-terminal deriva a terminal correspondiente”. ING. JORGE BUABUD


U.T.N. – F.R.T. S. y S. de los L.

GRAMÁTICAS Y MODELOS 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 }

P: S → UVX ZX → VBX YB → BY ZB → BZ X→λ UV → BUZ | AUY | λ

ΣT = {a, b}

BV → VB YX → VAX YA → AY ZA → AZ AV → VA A→ a B→b ING. JORGE BUABUD


U.T.N. – F.R.T. S. y S. de los L.

GRAMÁTICAS Y MODELOS 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: F.E.T.1

α 1 N α 2 → α 1 β α 2 N ∈ Σ N , β ∈ Σ + , αi ∈ Σ * 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


U.T.N. – F.R.T. S. y S. de los L.

GRAMÁTICAS Y MODELOS 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 noterminales nuevos Y1, Y2, ... , YL y reemplazarla por las siguientes producciones: ING. JORGE BUABUD


U.T.N. – F.R.T. S. y S. de los L.

GRAMÁTICAS Y MODELOS 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


U.T.N. – F.R.T. S. y S. de los L.

GRAMÁTICAS Y MODELOS 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


U.T.N. – F.R.T. S. y S. de los L.

GRAMÁTICAS Y MODELOS 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 } P: S → T DB → EB EB → EF EF → BF BF → BD D→c T → aTBD | abD bB → bb

ΣT = { a, b, c }

ING. JORGE BUABUD


U.T.N. – F.R.T. S. y S. de los L.

GRAMÁTICAS Y MODELOS 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


U.T.N. – F.R.T. S. y S. de los L.

GRAMÁTICAS Y MODELOS 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


U.T.N. – F.R.T. S. y S. de los L.

GRAMÁTICAS Y MODELOS MATEMÁTICOS

FORMATO ESTÁNDAR TIPO 1: De tal modo que la regla de partida se sustituye por las siguientes producciones:

AXB → FXB FXB → FGB FGB → FGHDE FGHDE → YGHDE YGHDE → YCHDE YCHDE → YCZDE

A→a B→b C→c D→d E→e

Como vemos todas las reglas cumplen con el formato dependiente del contexto. ING. JORGE BUABUD


U.T.N. – F.R.T. S. y S. de los L.

GRAMÁTICAS Y MODELOS 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


U.T.N. – F.R.T. S. y S. de los L.

GRAMÁTICAS Y MODELOS 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 n bn cn / n ≥ 0 } L(G) = { a bB → bb ING. JORGE BUABUD


U.T.N. – F.R.T. S. y S. de los L.

GRAMÁTICAS Y MODELOS 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 SA → aa

¿ Qué lenguaje genera esta gramática ?

ING. JORGE BUABUD


U.T.N. – F.R.T. S. y S. de los L.

GRAMÁTICAS Y MODELOS 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


U.T.N. – F.R.T. S. y S. de los L.

GRAMÁTICAS Y MODELOS 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 FNC 2

N1 → N2N3 N→t S→λ

Forma Normal de Greibach FNG 2

N → tW S→λ

Forma Normal de Chomsky FNC 3

N1 → tN2 N→t S→λ

N∈Σ ∈ΣN , t∈Σ ∈ΣT , W∈ ∈ΣN* y si tiene la regla S→ →λ , entonces S no figura a la derecha de ninguna regla de producción. ING. JORGE BUABUD


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.