You are on page 1of 9

RECONOCIMIENTO UNIDAD 2 AUTOMATAS Y LENGUAJES FORMALES

UNIDAD DIDCTICA 2 LENGUAJES INDEPENDIENTES DEL CONTEXTO

Introduccin

Los lenguajes independientes del contexto que tambin se conocen con el nombre de gramticas de contexto libre son un mtodo recursivo sencillo de especificacin de reglas gramaticales con las que se pueden generar cadenas de un lenguaje. Es factible producir de esta manera todos los lenguajes regulares, adems de que existen ejemplos sencillos de gramticas de contexto libre que generan lenguajes no regulares. Las reglas gramaticales de este tipo permiten que la sintaxis tenga variedad y refinamientos mayores que los realizados con lenguajes regulares, en gran medida sirven para especificar la sintaxis de lenguajes de alto nivel y otros lenguajes formales. Objetivo General Conocer los modelos de computacin que corresponden a los lenguajes independientes del contexto y su aplicacin. Objetivos Especficos Generalizar los conceptos de autmatas finitos y gramticos regulares. Reconocer el potencial de procesamiento del lenguaje del autmata con los autmatas de pila.

LENGUAJES LIBRES DE CONTEXTO 3.1. Gramtica Libre de Contexto Una gramtica libre de contexto en lingstica e informtica es una gramtica formal en la que cada regla de produccin es de la forma:

Gramtica Otros autores definen la gramtica as: Como toda gramtica se definen mediante una cudrupla G = (N, T, P, S), siendo - N es un conjunto finito de smbolos no terminales - T es un conjunto finito de smbolos terminales - P es un conjunto finito de producciones - S es el smbolo distinguido o axioma S

Los lenguajes libres del contexto son aquellos que pueden ser reconocidos por un autmata de pila determinstico o no determinstico.

Ejemplo: Una simple gramtica libre de contexto es S ? aSb | ? Donde | es un o lgico y es usado para separar mltiples opciones para el mismo no terminal?, indica una cadena vaca. Esta gramtica genera el lenguaje no regular.

rbol de Derivacin

Un rbol de derivacin (o rbol sintctico) es una representacin grfica de como se deriva una forma sentencial a partir del smbolo no-terminal inicial.

Un rbol es un grafo dirigido acclico en el cual cada nodo se conecta con un nodo distinguido, llamado nodo raz mediante un nico camino. Un nodo n1 se dice descendiente de otro nodo n2 si se puede llegar a n1 a partir de n1. El nodo raz no es descendiente de ningn nodo, y los nodos que no tienen descendientes se denominan hojas. El resto de los nodos se denominan nodos interiores.

Un rbol de derivacin tiene las siguientes propiedades: El nodo raz est rotulado con el smbolo distinguido (inicial) de la gramtica . Cada hoja corresponde a un smbolo terminal o un smbolo no-terminal . Cada nodo interior corresponde a un smbolo no -terminal . Un rbol de derivacin muestra grficamente las derivaciones (substituciones de smbolos no terminales) que hay que llevar a cabo para llegar a una forma sentencial a partir del smbolo inicial. Ejemplo: Ejemplo: Sea la GIC S ? AB A ? aA | a B ? bB | b La cadena w = aabbb puede ser derivada

Son los que permiten mostrar grficamente cmo se puede derivar cualquier cadena de un lenguaje a partir del smbolo distinguido de una gramtica que genera ese lenguaje.

3.3 Formas Normales de Chomsky Es un modelo o forma normal para las producciones. Se dice que una GIC est en Forma Normal de Chomsky, si no contiene ? producciones y si todas las producciones son de la forma: A ? a, para a ? ? A ? BC, con B y C no terminales Toda GIC puede ser transformada en un GIC en Forma Normal de Chomsky. Sea G una GIC tal que ? no pertenece L(G) Sea G una GIC tal que ? ? L(G)

* Sea G una GIC y ? no pertenece L(G), G puede ser transformada en una GIC en F.N. de Chomsky.

1. Eliminar los smbolos intiles, las ? -producciones y las producciones unitarias de G. 2. Para las producciones de la forma A ? w y |w| >1, donde w=X1X2...Xn, si Xi es un terminal, llamado ? , sustituimos Xi por un no terminal llamado C ? y aadimos la produccin C ? ?? . 3. Transformar aquellas producciones con ms de dos no terminales que se encuentren en el lado derecho de la misma. Si A ? B1B2...Bn, n ? 2 se reemplaza por (n-1) producciones producciones Ejemplo: Sea la GIC S ? bA | aB A ? bAA | aS | a B ? aBB | bS | b Transformarla a una GIC en Forma Normal de Chomsky.

3.4 Formas Normales de Greibach Definicin: Una produccin de la forma A ?? A con ? ? ( ? ? ? )* se conoce como recursiva por la derecha. De la misma forma, una produccin de la forma A ? A ? se conoce como recursiva por la izquierda. Problema: Cuando hay recursividad por la izquierda, los rboles de derivacin se expanden por la izquierda. Para algunas aplicaciones de las GIC no es deseable la recursividad por la izquierda.

Una GIC est en Forma Normal de Greibach (FNG) si todas las producciones son de la forma A?a? donde a es un smbolo terminal y ? ? (? ? ?)*. No puede tener producciones recursivas a la izquierda Cada produccin requiere un smbolo del alfabeto, con lo que una GIC en FNG slo puede generar lenguajes no vacos y que no contengan ?

Teorema: Todo Lenguaje LIC no vaco, que no contiene la palabra vaca ? , se puede generar por medio de una gramtica GIC en forma Normal de Greibach. Toda GIC que genera un lenguaje no vaco que no contiene la palabra vaca, se puede transformar en una GIC en FN de Greibach. Entonces True/False?: Una gramtica regular nunca se puede poner en Forma Normal de Chomsky. Una gramtica G con ? no pertenece L(G) ?? que est en Forma Normal de Chomsky nunca es una gramtica regular. Si se tiene una gramtica cuyo conjunto de producciones es P:{S ? a} entonces G es regular y adems est en Forma Normal de Chomsky. Toda gramtica en Forma Normal de Greibach es una gramtica regular.

Toda gramtica de tipo 2 que no acepte la palabra vaca se puede poner en forma normal de Chomsky. Para ello lo primero que hay que hacer es suprimir las producciones nulas y unitarias. A continuacin se puede ejecutar el siguiente algoritmo:

1. Para cada produccin de la forma A 1 ... n, i (V T ),n 2. Para cada i, si i es terminal: i =a T 3. Se aade la produccin Ca a 4. Se cambia i por Ca en A 1 ... n 5. 5. Para cada produccin de la forma A B1,...Bm, m 3 6. Se aaden (m 2)variables D1,D2,...,Dm2 (distintas para cada produccin) 7. La produccin A B1 ...Bm se reemplaza por A B1D1, D1 B2D2, ..., Dm2 Bm1Bm

Esta es la respuesta correcta: Si a este nodo se le aplica una determinada regla S --> a , entonces para cada smbolo que aparezca en a se aade un hijo con el smbolo correspondiente, situados en el orden de izquierda a derecha

You might also like