FORMAS NORMALES - PowerPoint PPT Presentation

About This Presentation
Title:

FORMAS NORMALES

Description:

FORMAS NORMALES Tomado de Sudkamp: Languages and Machines Cap. 5. – PowerPoint PPT presentation

Number of Views:71
Avg rating:3.0/5.0
Slides: 22
Provided by: Rafael217
Category:
Tags: formas | normales | abaca

less

Transcript and Presenter's Notes

Title: FORMAS NORMALES


1
FORMAS NORMALES
  • Tomado de Sudkamp
  • Languages and Machines
  • Cap. 5.

2
Gramática regular
Forma normal de Chomsky
A aB A a A
?
A BC A a S
?
S no aparece al lado derecho de ninguna producción
Forma normal de Greibach
A aA1A2A3. An A a S
?
3
  • Evite que el símbolo de arranque sea recursivo.
  • Eliminación de reglas Lambda
  • Eliminación de las reglas en cadena (chain
    rules).
  • Símbolos inútiles

4
  • Algoritmo 5 .1. 2
  • Costrucción del conjunto de variables anulables
  • Input Context-free Grammar G(V,?,P,S)
  • NULLA A ?
  • Repeat
  • 2.1 PREVNULL
  • 2.2 for each variable A?V do
  • if there is an A rule A
    w and w?PREV then
  • NULLNULL?A
  • until NULLPREV

5
EJEMPLO 5.1.2
G V S, A, B, C S a,b
P S ? ACA A ? aAa B C
B ? Bb b C ? cC ?
Iter. NULL PREV
  1. C

2. A,C C
3. S, A, C A,C
4. S, A, C S,A,C
6
Teorema 5.1.5
  • Dada G (V,?,P,S) una cfg, existe un algoritmo
    que construye una gramática cfg GL(VL,?,PL,SL)
    tal que
  • L(G)L(GL)
  • SL no es una variable recursiva.
  • A ? ? si y solo sí ??L(G) y ASL.

7
DEMOSTRACIÓN
Construcción de GL
VL es V con un nuevo símbolo de arranque si es
necesario.
Construcción de PL
Si ??L(G) entonces SL ? ?
Sea A? w una regla de P. Si w puede escribirse de
la forma w1A1w2A2.wkAkwk1 donde A1A2, Ak son
símbolos anulables entonces A? w1w2.wkwk1 Es
una regla de PL.
A ? ? si y solo si ??L(G) y ASL.
8
Ejemplo 5.1.4
G V S, A, B, C S a,b
P S ? ACA A ? aAa B C
B ? Bb b C ? cC ?
Símbolos anulables S,A,C
GL V S, A, B, C S a,b
P S ? ACACAACAAAC? A ?
aAa aa B C B ? Bb b
C ? cC c
G S gt ACA gtaAaCA gt
aBaCA gtabaCA gtabaA
gtabaC gtaba
G S gt A gtaAa gtaBa
gt aba
9
Reglas en cadena
  • Es una regla de la forma A ? B.
  • CHAIN(A) comprende además de A, todas las
    símbolos auxiliares que se derivan de A.
  • Es decir CHAIN(A)B AgtB?A.
  • CHAIN(A) se construye recursivamente a partir de
    A.

10
Ejemplo 5.2.1
CHAIN RULES Chain(S) S,A,C,B Chain(A)
A,C,B Chain(B) B Chain(C) C
G V S, A, B, C S a,b
P S ? ACACAACAAACAC? A
? aAa B C B ? Bb b
C ? cC c
S ? ACA CA AC AA AC ?
S ? aAa Bb b cC c
A ? aAa Bb b cC c
B? Bb b
C ? cC c
11
Símbolos Inútiles
  • Hay dos clases de símbolos inútiles
  • Aquellos que no derivan cadenas de símbolos
    terminales (estériles).
  • Aquellos que no son alcanzables a partir de S
    (inalcanzables).
  • El teorema 5.3.3 garantiza que para toda cfg
    existe una equivalente sin símbolos estériles.
  • El teorema 5.3.6 garantiza que para toda cfg
    existe una equivalente sin símbolos inútiles.

12
Construcción del conjunto de variables no
estériles.
  • TERMA existe A ? w con w?? .
  • repeat
  • PREVTERM
  • for cada variable A?V do
  • if existe A ? w con w?(PREV??) then
  • TERMTERM?A
  • until PREVTERM

13
EJEMPLO 5.3.1
S ? AC BS B A ? aA aF B ? CF b C ?
cC D D ? aD BD C E ? aA BSA F ? bB
b
Iter. TERM PREV
  1. B,F

2. B,F,A,S B,F
3. B, F, A, S, E
B,F,A,S
4. B, F, A, S, E B, F, A, S,
E
S ? BS B A ? aA aF B ? b E ? aA
BSA F ? bB b
GT
14
Construcción del conjunto de variables
ALCANZABLES.
  • REACHS
  • PREV?
  • repeat
  • NEWREACH-PREV
  • PREVREACH
  • for cada variable A?NEW do
  • for cada regla A ? w agrege a REACH
    todas las variables de w
  • until REACHPREV

15
EJEMPLO 5.3.2
S ? AC BS B A ? aA aF B ? CF b C ?
cC D D ? aD BD C E ? aA BSA F ? bB
b
Iter. REACH PREV NEW
  1. S
    S

2. S,B S
B
3. S, B S, B
?
S ? BS B B ? b
GU
S ? BS B A ? aA aF B ? b E ? aA
BSA F ? bB b
GT
16
FN de CHOMSKY
  • Se parte de una gramática que
  • El símbolo de arranque no es recursivo.
  • No contiene variables anulables salvo S.
  • No contiene reglas en cadena.
  • No tiene símbolos inútiles.

A ? BT T ? AW W ?AD
A ? bAaD
A ? BAAD B ? b A ?a
17
Ejemplo 5.4.2 (AE)
AE V S, A, T S b, , (, )
P 1. S ? A 2. A ? T
3. A ? A T 4. T ? b
5. T ? (A)
S ? A T b (A) A ? A T b (A) T ? b
(A)
R ? ) L ? ( P ?
Z ?AR Y ?PT T ? b AY LZ S?AY b LZ

18
Eliminar la recursividad a izquierda directa.
  • Se busca eliminar las reglas de tipo
    A ? Aw como A ? A T.

(bvc)a(bvc)
ba
(bvc)(avb)
A ? A B BA a B ? b c
A ? A a b
A ? A a Ab b c
A ? bZ cZ Z ? aZ bZ a b
A ? BAZ aZ BA Z ? BZ B B ? b c
A ? bZ b Z ? aZ a
19
Generalizando
A ? Au1 Au2 Aun
A ? v1 v2 vk
A ? v1 v2 vk v1Z v2Z vk Z
Z ? u1Z u2Z unZ
20
Conversión a fn de Greibach
Forma normal de Greibach
A ? aA1A2A3. An A ? a S ? ?
S ? AB ? A ? AB CB a B ? AB b C
? AC c
G
S ? AB ? A ? aR1 CBR1 CB a B ?
aR1B CBR1B CBB aB b C ? AC c R1
?BR1 B
S ? AB ? A ? aR1 CBR1 CB a B ? AB
b C ? AC c R1 ?BR1 B
LEMA 5.6.2 La regla A ?uBv se puede reemplazar
por A?uk1vuknv donde B?k1 kn son todas las
B reglas.
21
continuamos
S ? AB ? A ? aR1 CBR1 CB a B ?
aR1B CBR1B CBB aB b C ? AC c R1
?BR1 B
S ? AB ? A ? aR1 CBR1 CB a B ?
aR1B CBR1B CBB b C ? aR1C CBR1C CBC
aC c R1 ?BR1 B
C ? aR1C aC c aR1CR2 aCR2 cR2
R2 ? BR1CR2 BCR2 BR1CBC
Write a Comment
User Comments (0)
About PowerShow.com