Gramáticas Formales

Anuncio
Teoría de Autómatas y Lenguajes Formales – Curso 2001/2002
Marta Gonzalo García – 22/10/01
CLASIFICACIÓN DE LENGUAJES FORMALES DE CHOMSKY.
Noam Chomsky
Lingüista estadounidense nacido en 1928, profesor del Instituto de Tecnología de
Massachussets (MIT). Aparte de como lingüista y profesor universitario, es muy conocido por
su faceta de intelectual y crítico activista político.
Chomsky ha publicado más de 70 libros y más de 1000 artículos sobre diversos temas
como lingüística, filosofía y política. Muchos no dudan en calificarle como uno de los
personajes más destacados del siglo XX. Como no podía ser de otra manera, Internet muestra
la relevancia de este personaje: existen numerosas páginas relacionadas con Noam Chomsky.
Desde niño comenzó a desarrollar su afición por la política: el primer artículo que
publicó a los 11 años en el periódico del colegio trataba de la Guerra Civil Española. Desde
muy joven estuvo vinculado a movimientos políticos de izquierdas cercanos al marxismo, a
pesar de que él procedía de una familia judía de clase media-alta. Actualmente se define a sí
mismo como “socialista liberal”.
Chomsky siempre se ha mostrado especialmente beligerante con la política exterior de
Estados Unidos, jugando un importante papel en las protestas contra la guerra de Vietnam en
los 60’s. Asimismo ha denunciado y criticado los crímenes cometidos en Centroamérica por
regímenes dictatoriales apoyados por EEUU, , la actitud norteamericana en Oriente Medio
apoyando la línea dura de los israelíes, la intervención militar en la Guerra del Golfo y en
general la política exterior del mundo occidental. Lamentablemente y como consecuencia de los
trágicos sucesos del 11 de septiembre, el conflicto está ahora más que nunca de actualidad. Al
final de este texto, he incluido un par de enlaces a entrevistas con Chomsky después de los
ataques terroristas.
Su actitud política ha hecho de él una figura de inspiración para algunos movimientos
de izquierdas, y un enemigo para muchos otros. Especialmente negativa es su relación con la
prensa estadounidense, a la que siempre ha acusado de enmascarar las acciones del gobierno
de forma subjetiva y de justificar masacres en otros lugares del mundo en nombre de la justicia
y de los valores democráticos.
Centrándonos ya en el tema que más nos incumbe como estudiantes de informática, hay
que señalar que su aportación a la ciencia de la Computación ha sido muy significativa. Se le
considerada el fundador de la Gramática generativa transformacional. Sus análisis del lenguaje
parten de las oraciones básicas que se desarrollan y terminan en una variedad de combinaciones
sintácticas al aplicar una serie de reglas.
Gramáticas Formales
Una gramática formal consta de un conjunto finito de símbolos terminales (las palabras en
un lenguaje formal), un conjunto finito de símbolos no terminales, un conjunto de reglas de producción
con un lado izquierdo y otro derecho, y un símbolo inicial.
Las reglas se aplican sustituyendo la parte de la izquierda por la parte de la derecha. Una
derivación es una secuencia de aplicaciones de reglas.
Cada gramática define el lenguaje formal de todas las sentencias que están formadas
exclusivamente por los símbolos terminales a los que se puede llegar mediante derivación a
partir del símbolo inicial.

Ejemplo 1: Gramática con terminales {a, b}, no terminales {S,A,B} y las siguientes reglas de
producción, y símbolo inicial S.
1. <S>  <A><B><S>
2. <S>   (siendo  el símbolo vacío)
3. <B><A>  <A><B>
4. <B><S>  b
-1-
Teoría de Autómatas y Lenguajes Formales – Curso 2001/2002
Marta Gonzalo García – 22/10/01
5. <B>b  bb
6. <A>b  ab
7. <A>a  aa
Esta gramática define todas las palabras de la forma anbn. Veamos dos ejemplos (siempre
partiendo del símbolo inicial S). Entre paréntesis se indica la regla de producción utilizada.
 <S>  <A><B><S>
(1)
<A><B><S>  <A>b
(4)
<A>b  ab
(6)
 <S>  <A><B><S>
(1)
<A><B><S>  <A><B><A><B><S>
(1)
<A><B><A><B><S>  <A><A><B><B><S> (3)
<A><A><B><B><S>  <A><A><B>b (4)
<A><A><B>b  <A><A>bb
(5)
<A><A>bb  <A>abb
(6)
<A>abb  aabb
(7)

Ejemplo 2 : Gramática que construye un pequeño subconjunto del lenguaje natural
o Reglas de producción:
1. <ENUNCIADO>  <SUJETO> <PREDICADO>
2. <SUJETO>  <FORMA NOMINAL>
3. <FORMA NOMINAL>  <ARTICULO> <NOMBRE>
4. <ARTICULO>  el
5. <NOMBRE>  hombre | libro | balón
6. <PREDICADO>  <VERBO> <FORMA NOMINAL >
7. <VERBO>  tomó | compró
 <ENUNCIADO>  <SUJETO> <PREDICADO>
<SUJETO> <PREDICADO>  <FORMA NOMINAL> <PREDICADO>
<FORMA NOMINAL> <PREDICADO>  <ARTICULO> <NOMBRE><PREDICADO>
<ARTICULO> <NOMBRE><PREDICADO>  el <NOMBRE><PREDICADO>
el <NOMBRE><PREDICADO>  el hombre <PREDICADO>
el hombre <PREDICADO>  el hombre <VERBO> <FORMA NOMINAL>
el hombre <VERBO> <FORMA NOMINAL>  el hombre tomó <FORMA NOMINAL>
el hombre tomó <FORMA NOMINAL>  el hombre tomó <ARTICULO> <NOMBRE>
el hombre tomó <ARTICULO> <NOMBRE>  el hombre tomó el <NOMBRE>
el hombre tomó el <NOMBRE>  el hombre tomó el libro
el hombre tomó el libro pertenecería por tanto al lenguaje generado por esta
gramática, así como otros enunciados : el libro compró el balón, el balón compró
el hombre, etc.

Ejemplo 3 : Reglas de producción:
1. <ENTERO>  <SIGNO><SECUENCIA>
2. <SIGNO>  + | - | 
3. <SECUENCIA>  <DIGITO> | <DIGITO><SECUENCIA>
4. <DIGITO>  | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Tipos de gramáticas
 Gramáticas Tipo 0 (sin restricciones, recursivas)
Incluyen todas las gramáticas formales. Generan todos los lenguajes que pueden ser
reconocidos por una máquina de Turing.
 Gramáticas Tipo 1 (dependientes de contexto)
Generan los lenguajes dependientes de contexto. Contienen reglas de producción de
la forma:
 A    
A es un no terminal
,  y  son cadenas de terminales y no terminales.
 y  pueden ser vacíos, pero  ha de ser distinto del vacío.
-2-
Teoría de Autómatas y Lenguajes Formales – Curso 2001/2002
Marta Gonzalo García – 22/10/01
Se denominan gramáticas dependientes del contexto, porque, como se observa, A
puede ser sustituido por  si está acompañada de  por la izquierda y de  por la
derecha.
Estos lenguajes son todos los lenguajes que pueden ser reconocidos por una
máquina de Turing no determinista. (autómatas lineales acotados)
 Gramáticas Tipo 2 (independientes de contexto, libre de contexto)
Generan los lenguajes libres de contexto. Están definidas por reglas de la forma:
A
A es un no terminal
 es una cadena de terminales y no terminales.
Se denominan independientes de contexto porque A puede sustituirse por 
independientemente de las cadenas por las que esté acompañada.
Los lenguajes independientes de contexto constituyen la base teórica para la sintaxis
de la mayoría de los lenguajes de programación. Definen la sintaxis de las
declaraciones, las proposiciones, las expresiones, etc.(es decir, la estructura de un
programa)
Estos lenguajes son todos los lenguajes que pueden ser reconocidos por los
autómatas de pila.
 Gramáticas Tipo 3 (gramáticas regulares)
Generan los lenguajes regulares. Las reglas se restringen a un único no terminal en
la parte izquierda y una parte derecha compuesta por un único terminal que puede
estar seguido o no de un único no terminal. Es decir, normas del tipo:
A a B
Aa
Estos lenguajes son los que pueden ser decididos por un autómata finito (regular).
Los lenguajes regulares se utilizan para definir estructura léxica de los lenguajes de
programación. Definen la sintaxis de los identificadores, número, cadenas y otros
símbolos básicos del lenguaje.
Importante!! : Todo lenguaje de tipo 3 es de tipo 2, todo
lenguaje de tipo 2 es de tipo 1, y todo lenguaje de tipo 1
es de tipo 0.
Se dice que un lenguaje es de tipo k [k = 0, k = 1, k = 2, k
= 3] cuando existe una gramática de tipo k que genera ese
lenguaje.
Para clasificar una gramática hemos de analizar una a una
todas sus reglas de producción obteniendo el tipo de cada
una de ellas. La clasificación de la gramática será la
correspondiente al tipo de la producción de menor
clasificación.
Gramática
Lenguaje
Reglas de
Producción
Si   , relación
entre || y ||
Solución
Tipo-0
Recursivas
Sin restricciones
Máquinas de Turing
Tipo-1
Dependiente de contexto
αAβ  αγβ
||  ||
Autómatas lineales
acotados
Tipo-2
Independiente de contexto
Aγ
|| = 1
Autómatas de pila
Tipo-3
Regular
A> aB
Aa
Autómatas finitos,
regulares
α β y γ son cadenas de terminales y no terminales. La cadena γ no puede ser la cadena vacía.
-3-
Teoría de Autómatas y Lenguajes Formales – Curso 2001/2002
Marta Gonzalo García – 22/10/01
Todo tipo de gramática puede incluir la S -> ε. Si se da este caso, entonces no puede tener una
S en la parte derecha de ninguna regla.

Ejemplos:
o Tipo de la regla de producción <A><B>  y
 Tipo 3: No
 Tipo 2: No
 Tipo 1: No
 Tipo 0: Sí  Regla de producción de Tipo 0
o Tipo de la regla de producción <Y>  ba
 Tipo 3: No
 Tipo 2: Sí  Regla de producción de Tipo 2
 Tipo 1: Sí
 Tipo 0: Sí
Referencias:
 Apuntes de Introducción a la Programación (Curso 2000/2001). JESÚS ÁLVAREZ.
Tema 2 : Gramáticas.

Introducción a la Teoría de Autómatas. (1998) JOSÉ ANTONIO MALPICA. Servicio
de Publicaciones de la Universidad de Alcalá.
Información en Internet:
 Jerarquía de Gramáticas y Lenguajes:
o http://www.wikipedia.com/wiki/Chomsky_hierarchy
o http://www.itz.edu.mx/~lveyna/automatas/unidad2.htm (en español)
o www.csi.ull.es/~sande/talf/talf.html (en español)
o http://www.werthmoeller.de/Dokus/aufs/node3.html
o http://www.netaxs.com/people/nerp/automata/chomsky4.html
o http://www.lib.uchicago.edu/keith/tcl-course/topics/regexp.html
 Noam Chomsky (biografía, entrevistas...)
o http://mitpress2.mit.edu/e-books/chomsky (completa biografía de Chomsky
online )
o http://www2.prestel.co.uk/littleton/jp_noamc.htm (entrevista de 1992, sobre
su vida y los acontecimientos políticos del siglo)
o http://www.counterpunch.org/chomskyintv.htm (entrevista después de los
ataques terroristas a EEUU)
o http://www.jornada.unam.mx/2001/sep01/010915/006n1mun.html
(entrevista después de los ataques terroristas a EEUU , en español)
-4-
Documentos relacionados
Descargar