Está en la página 1de 3

Forma Normal de Chomsky

MYMY Gramática ambigua.


Una sentencia w se denomina ambigua si puede obtenerse por más de un árbol
de derivación (o equivalentemente, más de una derivación más a la izquierda o
más a la derecha).

Una gramática G se denomina ambigua si el lenguaje que genera contiene alguna


sentencia ambigua.

Lenguaje inherentemente ambiguo

Un lenguaje se denomina inherentemente ambiguo si no existe una gramática no


ambigua que lo genere.

Una GLC se dice que está en Forma Normal de Chomsky (FNC) si todas sus
producciones son de la forma:

Excepcionalmente se permite la producción


La idea de la transformación de una gramática limpia a FNC se ejecuta en dos
pasos:
 Hacer que en la parte derecha de las producciones de longitud mayor o
igual que dos sólo haya terminales.
 Trocear estas producciones para que tengan longitud dos.

Algoritmo FNC:
1. Para cada producción de la forma
(a)Para cada αi, si αi es terminal
- Se añade la producción Ca → a
- Se cambia αi por Ca en A → α1..αn
2. Para cada producción de la forma A → B1...Bm, m ≥ 3

(a) Se añaden (m-2) no terminales D1, D2, ..., Dm-2 (distintos para cada
producción)

(b) La producción A → B1...Bm se reemplaza por A → B1D1, D1 → B2D2, ... Dm-


2 → Bm-1Bm
FORMA NORMALES DE CHOMSKY

Las gramáticas se pueden expresar de diferentes formas, en ocasiones podemos


llegar al mismo resultado utilizando gramáticas que difieren en su estructura, una
norma para estandarizar la gramática es la Forma Normal de Chomsky.

A continuación el teorema 2.4

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.

Se dice que una gramática cuyas reglas de reescritura se adhieren a las


restricciones del teorema 2.4 tiene la FORMA NORMAL DE CHOMSKY (FNC o
CNF), llamada así en honor a Noam Chomsky. Por ejemplo la siguiente gramática
cuyo símbolo inicial es S tiene la forma normal de Chomsky.

S XM
M SY
Xx
Yy
Mientras que la siguiente gramática que genera el mismo lenguaje no la tiene

S xSy
S xy
Para obtener la forma normal de Chomsky

ejemplo: Considere la siguiente gramática


S zMz
MN
M yMy
Nx
S zMz zyMyz zyNyz zyxyz .

Paso 1
Introducir los nuevos no terminales YZ y convertir la gramática anterior en la
siguiente:
S ZMZ
MN

Zz
Yy
Nx

Paso 2
Lo siguiente es reemplazar la regla S ZMZ por el par de reglas S ZR; R MZ,
mientras que M YMY se reemplaza por M YP; P MY para obtener la siguiente
gramática:
S ZR
R MZ
MN
M YP
P MY
Zz
Yy
Nx

Paso 3
Finalmente la regla M N se reemplaza por la regla M x, produciendo así la
siguiente gramática ya que tiene la forma normal de Chomsky.
S ZR
R MZ
Mx
M YP
P MY
Zz
Yy
Nx
S ZR zMZ zYPZ zyPZ zyMYZ zyxYZ zyxyZ zyxyz

También podría gustarte