UNIVERSIDAD NACIONAL AUTONOMA DE MÉXICO FACULTAD DE INGENIERIA INGENIERIA EN COMPUTACION

LENGUAJES FORMALES Y AUTÓMATAS
TEMA: « FORMA NORMAL DE CHOMSKY»

INTEGRANTES: BARRANCO SERRANO ISAAC CORTÉS YAÑEZ ARI-BEN GONZÁLEZ ESPINOZA DAVID RAMIREZ CHAVARRÍA ROBERTO GIOVANNI
SEMESTRE 2011-1

FORMA NORMAL DE CHOMSKY Las gramáticas se pueden expresar de diferentes formas. una norma para estandarizar las gramática es la Forma Normal de Chomsky. en ocasiones podemos llegar al mismo resultado utilizando gramáticas que difieren en su estructura. .

B y C son símbolos no terminales (o variables) y α es un símbolo terminal.Forma Normal de Chomsky (CNF): A BC A a donde A. Gramáticas Regulares: A aB A a .

.**Teorema: Si L es un lenguaje independiente del contexto que no contiene la cadena vacía. entonces existe una gramática G independiente del contexto tal que L(G)=L y el lado derecho de cualquier regla de reescritura en G consiste en un solo terminal o exactamente dos no terminales.

llamada así en honor a Noam Chomsky.Se dice que una gramática cuyas reglas de reescritura se adhieren a las restricciones del teorema tiene la FORMA NORMAL DE CHOMSKY (FNC o CNF). Por ejemplo la siguiente gramática cuyo símbolo inicial es S tiene la forma normal de Chomsky. S XM M SY X x Y y Mientras que la siguiente gramática que genera el mismo lenguaje no la tiene S xSy S xy .

.

-PASO 1 .

-PASO 2 .

.

Para la explicación de estas dos propiedades procedemos con un ejemplo: Tenemos la siguiente gramática: A -> cB+ B -> q . estás son: 1) Un No Terminal solo puede derivarse en otros dos No Terminales. 2) Un No Terminal solo puede derivar en un Terminal.EJEMPLO FORMA NORMAL DE CHOMSKY La FNC (Forma Normal de Chomsky) sigue dos reglas básicas y únicas para tener el formato debido.

entonces procedemos a crear un No Terminal nuevo con este elemento y se lo agregamos al no Terminal A. Observemos la primera producción: A -> cB+ 1) Este No Terminal A deriva en cB+ donde como primer elemento de esta es un elemento Terminal. A -> ZB+ Z -> c . con lo que procedemos con el paso 3º. respetando el orden de la gramática.Nota: La gramática anterior no tiene ni reglas unitarias ni reglas no productivas.

en nuestro ejemplo. tenemos el No Terminal A que deriva en ZB+.2) Una de las propiedades para la FNC es que un No Terminal solo puede derivar en otros dos No terminales. A -> ZY Z -> c Y -> B+ 3) Podemos ver que los No Terminal A y Z cumplen con las propiedades de la FNC. excepto el No Terminal Y que deriva en un No Terminal y un Terminal. por lo que procedemos a crear el último No Terminal que cumpla la FNC. A -> ZY Z -> c Y -> BX X -> + . este contiene otro elemento terminal más. creamos un nuevo No Terminal para respetar la propiedad anteriormente descrita.

Por lo que se obtiene como resultado FINALMENTE: A -> ZY Z -> c Y -> BX X -> + B -> q .

Ejemplo .