Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Informe FNC Chomsky y Greiach - Joao Sanchez Aranda
Informe FNC Chomsky y Greiach - Joao Sanchez Aranda
Normal
de
Choms
ky
A X1 X2 Xm en P
Ejemplo 01:
Convertir la siguiente Gramtica Libre de Contexto a otra equivalente, en su
Forma Normal de Chomsky (FNC):
P = { S zS | AB | C,
A CE | CDE | zD,
B ABA | E,
C BA | xA | yz,
D xyz,
E EE | zB}
Paso 1:
P = { S ZS | AB | C,
A CE | CDE | ZD,
B ABA | E,
C BA | XA | YZ,
D XYZ,
E EE | ZB,
X x,
Y y,
Z z
}.
Paso 2:
P={
S ZS | AB | C,
A CE | CM | ZD,
B AN | E,
C BA | XA | YZ,
D X,
E EE | ZB,
X x,
Y y,
Z z,
M DE,
N BA,
YZ}.
P = { S ZS | AB | BA | XA | YZ,
A CE | CM | ZD,
B AN | EE | ZB,
C BA | XA | YZ,
D X,
E EE | ZB,
X x,
Y y,
Z z,
M DE,
N BA,
YZ}
Ejemplo 02:
Convertir la siguiente Gramtica Libre de Contexto a otra equivalente, en su
Forma Normal de Chomsky (FNC):
P = { S bA | aB
AbAA | aS | a,
BaBB | bS | b
}
Paso 1:
P = { S NA | MB,
A NAA | MS | a,
B MBB | NS | b,
M a,
N b
Paso 2:
P={
S NA | MB,
A NP | MS | a,
B MQ | NS | b,
M a,
N b,
Q BB,
P AA,
}.
Forma Normal de
Greibach
Teorema: todo LLC sin -producciones puede ser generado por una GLC en
donde las producciones son de forma:
A aB, donde a en T y B esta en V*
El cuerpo de las producciones comienzan con un Terminal y puede seguirla
cualquier cantidad de variables (inclusive 0 variables). Su importancia radica
en que, la Forma Normal de Greibach (FNG) genera smbolos terminales por
cada forma sentencial (==>), entonces una cadena de longitud n tiene
exactamente n pasos de derivacin en esta GLC, su derivacin depende
directamente del tamao de la entrada (obtener una GLC en la FNG es costoso
computacionalmente). Adems una forma normal de Greibach permite generar
Autmatas de Pila sin reglas (es decir, transiciones espontneas).
Esta forma normal, tiene una precondicin, y es que se comienza con una
gramtica en Forma Normal de Chomsky. Para aplicar el algoritmo de la
obtencin de una Forma Normal de Greibach, cada variable se etiqueta en un
conjunto ordenado de variables (con subndices en secuencia). Por ejemplo, si
V = {S, A, B}, entonces V = {A1, A2, A3}. La cardinalidad de V es llamada m,
es decir m es el nmero de variables de la GLC.
ALGORITMO (para llevar a la Forma Normal de Greibach)
INICIO
Paso 1: Convertir todas las producciones de una variable en la FNG
PARA K= m a 1 HACER
PARA J=1 a K-1 HACER
PARA Cada produccin de la forma Ak Aj HACER
PARA Todas las producciones Aj HACER
Agregar producciones Ak b
FINPARA
FINPARA
Remover produccin Ak Aj
FINPARA
SI existe Ak Ak ENTONCES
PARA Cada produccin de la forma Ak Ak HACER
Agregar produccin Bk y Bk Bk
FINPARA
Remover produccin Ak Ak
PARA Cada produccin Ak donde no comienza
con Ak HACER
Agregar la produccin Ak Bk
FINPARA
FINSI
FINPARA
Paso 2: Convertir todas las producciones: Las reglas de la forma Aj
a se sustituye
S MzN
,
M xM
S zN
,
Mx
S Mz
,
N yN
S z
,
Ny
2) =>
3) =>
S
S
S
S
S
S xMZN , M xM
Xzn
, Mx
xMZ
, N yN
xZ
, N y
zN
,
Zz
z
Ejemplo 02:
Dada la GLC G siguiente se quiere obtener una GLC equivalente en la FNG:
G = ({A1, A2, A3}, {a, b}, P, A1)
P = A1 A2 A3
A2 A3 A1| b
A3 A1 A2| a
Paso 1: K = 3 , la variable A3
J=1
A3 A2 A3 A2 | a
A2 A3 A1 | b
A1 A2 A3
J=2
A1 A2 A3
A2 A3 A1 | b
A3 A3 A1 A3A2 | b A3 A2 | a
A1
A2
A3
B3
A2 A3
A3 A1| b
b A3 A2 | a
A1 A3A2| A1 A3 A2 B3
A1 A2 A3
A2 A3 A1 | b
A3 b A3A2 | a | b A3 A2 B3 | a B3
B3 A1 A3 A2| A1 A3 A2 B3
Paso 2:
A3 b A3A2 | a | b A3 A2 B3 | a B3
o sustituir A3 en A2
A2 b A3 A2 A1 | a A1 | b A3 A2 B3 A1 | a B3 A1 | b
o sustituir A2 en A1
o sustituir A1 en B3