Mi pregunta es sencilla, cuando se convierte una gramática a CNF, ¿qué ocurre cuando una regla empieza a repetirse varias veces?
¿Es bueno terminar con reglas como U1→SB,U2→SB,etc... ?, ¿O es mejor utilizar una única variable en este caso?
Un ejemplo que vi:
Tenemos...
S_0 \rightarrow ASB|SB|AS
S \rightarrow ASB|SB|AS
etc...
Y estamos en el último paso, así que tenemos que limpiar las reglas restantes que no están en CNF.
1.
S_0 \rightarrow AU_1|SB|AS
S \rightarrow ASB|SB|AS
U_1 \rightarrow SB
etc...
2.
S_0 \rightarrow AU_1|SB|AS
S \rightarrow AU_2|SB|AS
U_1 \rightarrow SB
U_2 \rightarrow SB
etc...
Así que mi pregunta es: ¿No puedo simplemente poner en el paso 2. S \rightarrow AU_1|SB|AS en lugar de crear la variable U_2 ?