La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha...

21
Motivación Jerarquía de Chomsky La Jerarquía de Chomsky Apuntes sobre la Complejidad Universidad de Cantabria Jerarquía de Chomsky

Transcript of La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha...

Page 1: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

La Jerarquía de ChomskyApuntes sobre la Complejidad

Universidad de Cantabria

Jerarquía de Chomsky

Page 2: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Esquema

1 Motivación

2 Jerarquía de ChomskyGramáticas RegularesGramáticas Libres de ContextoGramáticas Sensibles al Contexto

Jerarquía de Chomsky

Page 3: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Ideas y Nociones

Como se ha mencionado anteriormente, los lenguajes sonconjuntos de palabras definidos por un alfabeto. No estamosinteresados en cualquier conjunto, los lenguajes que nosinteresan tienen una estructura inherente.

Jerarquía de Chomsky

Page 4: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Ideas y Nociones

Las gramáticas nos marcan las reglas que han construido ellenguaje. Para detectar esas reglas nos podemos preguntar:

¿Es nuestro lenguaje una sucesión de símbolos donde elsiguiente depende del anterior (o del siguiente)? encualquiera de los casos vemos una relación simétrica.¿Se puede separar cada palabra del lenguaje en partesmás pequeñas que no dependan unas de otras?¿Hay elementos que cambien su significado dependiendodel contexto?No se ajusta a ninguna de estas premisas pero sereconoce su estructura de alguna manera (mediante algúnalgoritmo).

Jerarquía de Chomsky

Page 5: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Ideas y Nociones

Las gramáticas nos marcan las reglas que han construido ellenguaje. Para detectar esas reglas nos podemos preguntar:

¿Es nuestro lenguaje una sucesión de símbolos donde elsiguiente depende del anterior (o del siguiente)? encualquiera de los casos vemos una relación simétrica.¿Se puede separar cada palabra del lenguaje en partesmás pequeñas que no dependan unas de otras?¿Hay elementos que cambien su significado dependiendodel contexto?No se ajusta a ninguna de estas premisas pero sereconoce su estructura de alguna manera (mediante algúnalgoritmo).

Jerarquía de Chomsky

Page 6: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Ideas y Nociones

Las gramáticas nos marcan las reglas que han construido ellenguaje. Para detectar esas reglas nos podemos preguntar:

¿Es nuestro lenguaje una sucesión de símbolos donde elsiguiente depende del anterior (o del siguiente)? encualquiera de los casos vemos una relación simétrica.¿Se puede separar cada palabra del lenguaje en partesmás pequeñas que no dependan unas de otras?¿Hay elementos que cambien su significado dependiendodel contexto?No se ajusta a ninguna de estas premisas pero sereconoce su estructura de alguna manera (mediante algúnalgoritmo).

Jerarquía de Chomsky

Page 7: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Ideas y Nociones

Las gramáticas nos marcan las reglas que han construido ellenguaje. Para detectar esas reglas nos podemos preguntar:

¿Es nuestro lenguaje una sucesión de símbolos donde elsiguiente depende del anterior (o del siguiente)? encualquiera de los casos vemos una relación simétrica.¿Se puede separar cada palabra del lenguaje en partesmás pequeñas que no dependan unas de otras?¿Hay elementos que cambien su significado dependiendodel contexto?No se ajusta a ninguna de estas premisas pero sereconoce su estructura de alguna manera (mediante algúnalgoritmo).

Jerarquía de Chomsky

Page 8: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Ejemplos

Las sumas expresiones matemáticas que involucrensimplemente números sumas y restas. ¿Que significa3− 4 + 2?¿Que pasa si a esa expresión le añadimos paréntesis deeste modo 3− (4 + 2)?En JAVA, ¿que significa i + j?, ¿es lo mismo que lasvariables i , j sean strings que sean enteros ó números enpunto flotante?Pensemos ahora en alguna lengua humana, comoespañol, ¿es fácil detectar ironía?

Jerarquía de Chomsky

Page 9: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Ejemplos

Las sumas expresiones matemáticas que involucrensimplemente números sumas y restas. ¿Que significa3− 4 + 2?¿Que pasa si a esa expresión le añadimos paréntesis deeste modo 3− (4 + 2)?En JAVA, ¿que significa i + j?, ¿es lo mismo que lasvariables i , j sean strings que sean enteros ó números enpunto flotante?Pensemos ahora en alguna lengua humana, comoespañol, ¿es fácil detectar ironía?

Jerarquía de Chomsky

Page 10: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Ejemplos

Las sumas expresiones matemáticas que involucrensimplemente números sumas y restas. ¿Que significa3− 4 + 2?¿Que pasa si a esa expresión le añadimos paréntesis deeste modo 3− (4 + 2)?En JAVA, ¿que significa i + j?, ¿es lo mismo que lasvariables i , j sean strings que sean enteros ó números enpunto flotante?Pensemos ahora en alguna lengua humana, comoespañol, ¿es fácil detectar ironía?

Jerarquía de Chomsky

Page 11: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Ejemplos

Las sumas expresiones matemáticas que involucrensimplemente números sumas y restas. ¿Que significa3− 4 + 2?¿Que pasa si a esa expresión le añadimos paréntesis deeste modo 3− (4 + 2)?En JAVA, ¿que significa i + j?, ¿es lo mismo que lasvariables i , j sean strings que sean enteros ó números enpunto flotante?Pensemos ahora en alguna lengua humana, comoespañol, ¿es fácil detectar ironía?

Jerarquía de Chomsky

Page 12: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Gramáticas RegularesGramáticas Libres de ContextoGramáticas Sensibles al Contexto

Jerarquía de Chomsky

Definición (Gramáticas Regulares o de Tipo 3)

Definiremos las gramáticas con producciones lineales delmodo siguiente:Llamaremos gramática lineal por la izquierda a todaG := (V ,Σ,Q0,P) gramática tal que todas las producciones deP son de uno de los dos tipos siguientes:

A 7→ a, donde A ∈ V y a ∈ Σ ∪ {λ}.A 7→ aB, donde A,B ∈ V y a ∈ Σ ∪ {λ}.

Jerarquía de Chomsky

Page 13: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Gramáticas RegularesGramáticas Libres de ContextoGramáticas Sensibles al Contexto

Ejemplo de Gramática Linear

Sea G := ({Q0,Op}, {Num,+,−},Q0,P) gramática lasiguiente gramática:

P = {Q0 7→ Num Op | Num, Op 7→ +Q0 | −Q0}.

Esta gramática genera el lenguaje de todas las operacionesaritméticas que involucren solo sumas y restas.

Jerarquía de Chomsky

Page 14: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Gramáticas RegularesGramáticas Libres de ContextoGramáticas Sensibles al Contexto

Jerarquía de Chomsky

Definición (Gramáticas Libres de Contexto o de Tipo 2)Llamaremos gramática libre de contexto a todaG = (V ,Σ,Q0,P) gramática tal que todas las producciones deP son del tipo siguiente:

A 7→ ω, donde A ∈ V y ω ∈ (Σ ∪ V )∗.

Un lenguaje libre de contexto es un lenguaje generado poruna gramática libre de contexto.

Jerarquía de Chomsky

Page 15: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Gramáticas RegularesGramáticas Libres de ContextoGramáticas Sensibles al Contexto

Ejemplo

Tomemos la gramática G que habíamos definido anteriormentey añadamos una variableG := ({Q0,Q1,Op}, {Num,+,−, (, )},Q1,P). Las produccionesvan a ser ahora

P = {Q0 7→ Q1 Op|Q1, Op 7→ +Q1| −Q1,

Q1 7→ Num | (Q0)}.

Jerarquía de Chomsky

Page 16: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Gramáticas RegularesGramáticas Libres de ContextoGramáticas Sensibles al Contexto

Jerarquía de Chomsky

Definición (Gramáticas sensibles al contexto o de Tipo 1)Llamaremos gramática sensible al contexto a todaG = (V ,Σ,Q0,P) gramática tal que todas las producciones deP son del tipo siguiente:

γAδ 7→ γωδ, donde A ∈ V y ω, γ, δ ∈ (Σ ∪ V )∗, ω 6= λ.

Un lenguaje sensible al contexto es un lenguaje generado poruna gramática libre de contexto.

Jerarquía de Chomsky

Page 17: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Gramáticas RegularesGramáticas Libres de ContextoGramáticas Sensibles al Contexto

Jerarquía de Chomsky

Supongamos que queremos definir el lenguaje que solo aceptaprogramas donde las variables hayan sido especificadas. Porsimplicidad supongamos que solo vamos a utilizar programascon una sola variable.

Jerarquía de Chomsky

Page 18: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Gramáticas RegularesGramáticas Libres de ContextoGramáticas Sensibles al Contexto

Jerarquía de Chomsky

Boolean aa=trueEs un programa válido, peroBoolean ab=trueno lo es.

Jerarquía de Chomsky

Page 19: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Gramáticas RegularesGramáticas Libres de ContextoGramáticas Sensibles al Contexto

Jerarquía de Chomsky

Una posible gramática (solo en el caso de los identificadoresestén formados por las letras a,b) :

S 7→ Boolean CD=true,C 7→ aCA|bCB|λ,D 7→ λ

AD 7→ aD,BD 7→ bDAa 7→ aA,Ab 7→ bABa 7→ aB,Bb 7→ bB

Jerarquía de Chomsky

Page 20: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Gramáticas RegularesGramáticas Libres de ContextoGramáticas Sensibles al Contexto

Jerarquía de Chomsky

Definición (Gramáticas de Tipo 0)

Llamaremos gramática de tipo 0 a toda G = (V ,Σ,Q0,P)gramática tal que todas las producciones de P son del tiposiguiente:

γ 7→ ω, donde γ, ω ∈ (Σ ∪ V )∗.

Jerarquía de Chomsky

Page 21: La Jerarquía de Chomsky - unican.esMotivación Jerarquía de Chomsky Ideas y Nociones Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos por un

MotivaciónJerarquía de Chomsky

Gramáticas RegularesGramáticas Libres de ContextoGramáticas Sensibles al Contexto

Jerarquía de Chomsky

Notar que un lenguaje regular es siempre un lenguaje libre decontexto. Nuestra preocupación será encontrar cual es lamínima estructura que tiene un lenguaje.

Jerarquía de Chomsky