Está en la página 1de 21

Motivacin

Jerarqua de Chomsky

La Jerarqua de Chomsky
Apuntes sobre la Complejidad

Universidad de Cantabria

Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Esquema

Motivacin

Jerarqua de Chomsky
Gramticas Regulares
Gramticas Libres de Contexto
Gramticas Sensibles al Contexto

Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Ideas y Nociones

Como se ha mencionado anteriormente, los lenguajes son


conjuntos de palabras definidos por un alfabeto. No estamos
interesados en cualquier conjunto, los lenguajes que nos
interesan tienen una estructura inherente.

Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Ideas y Nociones
Las gramticas nos marcan las reglas que han construido el
lenguaje. Para detectar esas reglas nos podemos preguntar:
Es nuestro lenguaje una sucesin de smbolos donde el
siguiente depende del anterior (o del siguiente)? en
cualquiera de los casos vemos una relacin simtrica.
Se puede separar cada palabra del lenguaje en partes
ms pequeas que no dependan unas de otras?
Hay elementos que cambien su significado dependiendo
del contexto?
No se ajusta a ninguna de estas premisas pero se
reconoce su estructura de alguna manera (mediante algn
algoritmo).
Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Ideas y Nociones
Las gramticas nos marcan las reglas que han construido el
lenguaje. Para detectar esas reglas nos podemos preguntar:
Es nuestro lenguaje una sucesin de smbolos donde el
siguiente depende del anterior (o del siguiente)? en
cualquiera de los casos vemos una relacin simtrica.
Se puede separar cada palabra del lenguaje en partes
ms pequeas que no dependan unas de otras?
Hay elementos que cambien su significado dependiendo
del contexto?
No se ajusta a ninguna de estas premisas pero se
reconoce su estructura de alguna manera (mediante algn
algoritmo).
Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Ideas y Nociones
Las gramticas nos marcan las reglas que han construido el
lenguaje. Para detectar esas reglas nos podemos preguntar:
Es nuestro lenguaje una sucesin de smbolos donde el
siguiente depende del anterior (o del siguiente)? en
cualquiera de los casos vemos una relacin simtrica.
Se puede separar cada palabra del lenguaje en partes
ms pequeas que no dependan unas de otras?
Hay elementos que cambien su significado dependiendo
del contexto?
No se ajusta a ninguna de estas premisas pero se
reconoce su estructura de alguna manera (mediante algn
algoritmo).
Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Ideas y Nociones
Las gramticas nos marcan las reglas que han construido el
lenguaje. Para detectar esas reglas nos podemos preguntar:
Es nuestro lenguaje una sucesin de smbolos donde el
siguiente depende del anterior (o del siguiente)? en
cualquiera de los casos vemos una relacin simtrica.
Se puede separar cada palabra del lenguaje en partes
ms pequeas que no dependan unas de otras?
Hay elementos que cambien su significado dependiendo
del contexto?
No se ajusta a ninguna de estas premisas pero se
reconoce su estructura de alguna manera (mediante algn
algoritmo).
Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Ejemplos

Las sumas expresiones matemticas que involucren


simplemente nmeros sumas y restas. Que significa
3 4 + 2?
Que pasa si a esa expresin le aadimos parntesis de
este modo 3 (4 + 2)?
En JAVA, que significa i + j?, es lo mismo que las
variables i, j sean strings que sean enteros nmeros en
punto flotante?
Pensemos ahora en alguna lengua humana, como
espaol, es fcil detectar irona?

Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Ejemplos

Las sumas expresiones matemticas que involucren


simplemente nmeros sumas y restas. Que significa
3 4 + 2?
Que pasa si a esa expresin le aadimos parntesis de
este modo 3 (4 + 2)?
En JAVA, que significa i + j?, es lo mismo que las
variables i, j sean strings que sean enteros nmeros en
punto flotante?
Pensemos ahora en alguna lengua humana, como
espaol, es fcil detectar irona?

Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Ejemplos

Las sumas expresiones matemticas que involucren


simplemente nmeros sumas y restas. Que significa
3 4 + 2?
Que pasa si a esa expresin le aadimos parntesis de
este modo 3 (4 + 2)?
En JAVA, que significa i + j?, es lo mismo que las
variables i, j sean strings que sean enteros nmeros en
punto flotante?
Pensemos ahora en alguna lengua humana, como
espaol, es fcil detectar irona?

Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Ejemplos

Las sumas expresiones matemticas que involucren


simplemente nmeros sumas y restas. Que significa
3 4 + 2?
Que pasa si a esa expresin le aadimos parntesis de
este modo 3 (4 + 2)?
En JAVA, que significa i + j?, es lo mismo que las
variables i, j sean strings que sean enteros nmeros en
punto flotante?
Pensemos ahora en alguna lengua humana, como
espaol, es fcil detectar irona?

Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Gramticas Regulares
Gramticas Libres de Contexto
Gramticas Sensibles al Contexto

Jerarqua de Chomsky

Definicin (Gramticas Regulares o de Tipo 3)


Definiremos las gramticas con producciones lineales del
modo siguiente:
Llamaremos gramtica lineal por la izquierda a toda
G := (V , , Q0 , P) gramtica tal que todas las producciones de
P 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 {}.

Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Gramticas Regulares
Gramticas Libres de Contexto
Gramticas Sensibles al Contexto

Ejemplo de Gramtica Linear

Sea G := ({Q0 , Op}, {Num, +, }, Q0 , P) gramtica la


siguiente gramtica:
P = {Q0 7 Num Op | Num, Op 7 +Q0 | Q0 }.
Esta gramtica genera el lenguaje de todas las operaciones
aritmticas que involucren solo sumas y restas.

Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Gramticas Regulares
Gramticas Libres de Contexto
Gramticas Sensibles al Contexto

Jerarqua de Chomsky

Definicin (Gramticas Libres de Contexto o de Tipo 2)


Llamaremos gramtica libre de contexto a toda
G = (V , , Q0 , P) gramtica tal que todas las producciones de
P son del tipo siguiente:
A 7 , donde A V y ( V ) .
Un lenguaje libre de contexto es un lenguaje generado por
una gramtica libre de contexto.

Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Gramticas Regulares
Gramticas Libres de Contexto
Gramticas Sensibles al Contexto

Ejemplo

Tomemos la gramtica G que habamos definido anteriormente


y aadamos una variable
G := ({Q0 , Q1 , Op}, {Num, +, , (, )}, Q1 , P). Las producciones
van a ser ahora
P = {Q0 7 Q1 Op|Q1 , Op 7 +Q1 | Q1 ,
Q1 7 Num | (Q0 )}.

Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Gramticas Regulares
Gramticas Libres de Contexto
Gramticas Sensibles al Contexto

Jerarqua de Chomsky

Definicin (Gramticas sensibles al contexto o de Tipo 1)


Llamaremos gramtica sensible al contexto a toda
G = (V , , Q0 , P) gramtica tal que todas las producciones de
P son del tipo siguiente:
A 7 , donde A V y , , ( V ) , 6= .
Un lenguaje sensible al contexto es un lenguaje generado por
una gramtica libre de contexto.

Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Gramticas Regulares
Gramticas Libres de Contexto
Gramticas Sensibles al Contexto

Jerarqua de Chomsky

Supongamos que queremos definir el lenguaje que solo acepta


programas donde las variables hayan sido especificadas. Por
simplicidad supongamos que solo vamos a utilizar programas
con una sola variable.

Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Gramticas Regulares
Gramticas Libres de Contexto
Gramticas Sensibles al Contexto

Jerarqua de Chomsky

Boolean a
a=true
Es un programa vlido, pero
Boolean a
b=true
no lo es.

Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Gramticas Regulares
Gramticas Libres de Contexto
Gramticas Sensibles al Contexto

Jerarqua de Chomsky

Una posible gramtica (solo en el caso de los identificadores


estn formados por las letras a,b) :
S
7
Boolean CD=true,
C 7 aCA|bCB|, D 7
AD 7 aD, BD 7 bD
Aa 7 aA, Ab 7 bA
Ba 7 aB, Bb 7 bB

Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Gramticas Regulares
Gramticas Libres de Contexto
Gramticas Sensibles al Contexto

Jerarqua de Chomsky

Definicin (Gramticas de Tipo 0)


Llamaremos gramtica de tipo 0 a toda G = (V , , Q0 , P)
gramtica tal que todas las producciones de P son del tipo
siguiente:
7 , donde , ( V ) .

Jerarqua de Chomsky

Motivacin
Jerarqua de Chomsky

Gramticas Regulares
Gramticas Libres de Contexto
Gramticas Sensibles al Contexto

Jerarqua de Chomsky

Notar que un lenguaje regular es siempre un lenguaje libre de


contexto. Nuestra preocupacin ser encontrar cual es la
mnima estructura que tiene un lenguaje.

Jerarqua de Chomsky

También podría gustarte