You are on page 1of 9

Hoc lieu Mo Vietnam - Vietnam Open Educational Resources module: m14369

Vn ph m phi ng c nh
Huynh Tram Vo
This work is produced by Hoc lieu Mo Vietnam - Vietnam Open Educational Resources and licensed under the Creative Commons Attribution License

Tm t t n i dung Vn ph m phi ng c nh

1 VN PH M PHI NG
1.1 N i dung chnh :

C NH

Trong chng ny, ta s nghin c u m t lo i vn ph m kh quan tr ng, g i l vn ph m phi ng c nh (CFG) v l p ngn ng m chng m t - ngn ng phi ng c nh(CFL). CFL, cng nh t p h p chnh quy, c nhi u ng d ng th c t r t quan tr ng, c bi t trong vi c bi u di n ngn ng l p trnh. Ch ng h n, CFG dng h u ch m t cc bi u th c s h c trong cc d u ngo c l ng nhau hay nh ng c u trc kh i trong ngn ng l p trnh (c u trc kh i begin-end). Sau khi nh ngha vn ph m phi ng c nh, m t s cch bi n i vn ph m phi ng c nh nh m gi n l c n v a n v m t trong nh ng d ng chu n s c trnh by. Cu i chng, b bm cho ngn ng CFL v m t s tnh ch t nh m xc nh t p ngn ng ny cng s c gi i thi u. 1.2 M c tiu c n t: Cu i chng, sinh vin c n ph i n m v ng: Khi ni m CFG, xc nh cc thnh ph n c a m t CFG. Nh n d ng c l p ngn ng m m t vn ph m CFG c t . Xy d ng cc lu t sinh cho m t CFG c t m t l p ngn ng . Cc b c gi n l c vn ph m CFG khng ch a cc gi tr v ch. Chu n ha CFG v cc d ng chu n Chomsky ho c Greibach. ng d ng b bm cho CFL ch ng t m t ngn ng khng l ngn ng phi ng c nh. Xc nh m t ngn ng c thu c l p ngn ng phi ng c nh hay khng theo cc tnh ch t c a CFL. Ki m tra tnh r ng, h u h n ho c v h n c a m t CFL. 1.3 Ki n th c c b n: ti p thu t t n i dung c a chng ny, tr c h t sinh vin c n hi u r c u trc c php c a m t s ngn ng l p trnh c p cao nh Pascal, C; n m v ng l thuy t th v cy; phng php ch ng minh ph n ch ng v s phn c p cc l p vn ph m theo Noam Chomsky; . . .
Version

1.1: Jul 27, 2010 1:13 am GMT+7

http://creativecommons.org/licenses/by/3.0/

http://voer.edu.vn/content/m14369/1.1/

Hoc lieu Mo Vietnam - Vietnam Open Educational Resources module: m14369

1.4 Ti li u tham kh o : John E. Hopcroft, Jeffrey D.Ullman Introduction to Automata Theory, Languages and Computation Addison Wesley Publishing Company, Inc 1979 (Chapter 4 : Context Free Grammars). V.J. Rayward-Smith A First course in Formal Language Theory (Second Editor) McGraw-Hill Book Company Europe 1995 (Chapter 5: Context-Free Languages ) From Wikipedia, the free encyclopedia Context-Free Grammar: http://en.wikipedia.org/wiki/Context-free_grammar

2 VN PH M PHI NG

C NH (CFG : Context Free Grammar)

Xu t x c a vn ph m phi ng c nh l s m t thng qua cc ngn ng t nhin. Ta c th vi t cc quy t c c php di n t cu An l sinh vin gi i nh sau : < cu n > < ch ng > < v ng > < ch ng > < danh t > < v ng > < ng t > < b ng > < b ng > < danh t > < tnh t > < danh t > An < danh t > sinh vin < ng t > l < tnh t > gi i Cc t trong d u mc nh n nh < cu n >, < ch ng >, < v ng >, ... l cc ph m tr c php, cho ta vai tr c a cc b ph n h p thnh cu. Ta th y m t cu sinh ra qua cc b c tri n khai d n d n theo cc quy t c c php. y cng chnh l d ng c a cc lu t sinh trong vn ph m phi ng c nh. V nh v y, vn ph m phi ng c nh cng c th ch n lm m hnh cho cc vn ph m c a cc ngn ng t nhin. Tuy nhin, trong khoa h c my tnh, v i nhu c u bi u di n cc ngn ng l p trnh, vn ph m phi ng c nh CFG cn c thi t k thnh m t d ng tng ng g i l vn ph m BNF (Backus - Naur Form). y cng l vn ph m CFG v i nh ng thay i nh v d ng th c v m t s k hi u vi t t t m cc nh khoa h c my tnh th ng ng d ng trong vi c di n t c php c a cc ngn ng l p trnh c p cao (nh ALGOL, PASCAL, ... ). Trong d ng th c c a vn ph m BNF, k hi u ::= c dng thay cho k hi u . Ch ng h n, nh ngha m t bi u th c s h c (expression) bao g m cc danh bi u (identifier) tham gia vo cc php ton +, * ho c bi u th c con l ng trong d u ngo c n , ta vi t : <expression> ::= <expression> + <expression> <expression> ::= <expression> * <expression> <expression> ::= ( <expression> ) <expression> ::= <identifier> Vi c nghin c u cc vn ph m phi ng c nh t o nn m t c s l lu n v ng ch c cho vi c bi u di n ngn ng l p trnh, vi c tm ki m cc gi i thu t phn tch c php v n d ng trong chng trnh d ch v cho nhi u ng d ng khc v x l chu i. Ch ng h n, n r t h u ch trong vi c m t cc bi u th c s h c v i nhi u d u ngo c l ng nhau ho c c u trc kh i trong ngn ng l p trnh m bi u th c chnh quy khng th ct . 2.1 nh ngha Vn ph m phi ng c nh l m t t p h p h u h n cc bi n (cn g i l cc k hi u cha k t thc), m i bi n bi u di n m t ngn ng . Ngn ng c bi u di n b i cc bi n c m t m t cch quy theo thu t ng c a m t khi ni m khc g i l k hi u k t thc. Quy t c quan h gi a cc bi n g i l lu t sinh. M i lu t sinh c d ng m t bi n v tri sinh ra m t chu i c th g m bi n l n cc k hi u k t thc trong vn ph m. Vn ph m phi ng c nh (CFG) l m t h th ng g m b n thnh ph n, k hi u l vn ph m G (V, T, P, S), trong : . V l t p h u h n cc bi n (hay k t cha k t thc)

http://voer.edu.vn/content/m14369/1.1/

Hoc lieu Mo Vietnam - Vietnam Open Educational Resources module: m14369

. T l t p h u h n cc k t k t thc, V [U+F0C7] T = . P l t p h u h n cc lu t sinh m m i lu t sinh c d ng A v i A l bi n v l chu i cc k hi u (V T)* . S l m t bi n c bi t g i l k hi u b t u vn ph m. Th d 5.1 : Vn ph m G ({S, A, B}, {a, b}, P, S ), trong P g m cc lu t sinh sau: S AB A aA A a B bB B b Quy c k hi u: - Cc ch in hoa A, B, C, D, E, ... v S k hi u cc bi n (S th ng c dng lm k hi u b t u ). - Cc ch nh a, b, c, d, e, ...; cc ch s v m t s k hi u khc k hi u cho cc k hi u k t thc. - Cc ch in hoa X, Y, Z l cc k hi u c th l k hi u k t thc ho c bi n. - Cc ch Hi-l p , , , ... bi u di n cho chu i cc k hi u k t thc v bi n. Ta s bi u di n vn ph m m t cch tm t t b ng cch ch li t k cc lu t sinh c a n. N u A 1 , A 2 , ... , A k l cc lu t sinh c a bi n A trong vn ph m no , ta s ghi ng n g n l A 1 | 2 | ... | k Th d 5.2 : Vn ph m trong Th d 5.1 trn c th vi t g n l : S AB A aA | a B bB | b

Figure 1

2.2 D n xu t v ngn ng D n xu t: nh ngha ngn ng sinh b i vn ph m CFG G (V, T, P, S), ta d n nh p khi ni m d n xu t. Tr c h t ta gi i thi u hai quan h G v * G gi a hai chu i trong t p (V T)* . N u A l m t lu t sinh trong vn ph m v , l hai chu i b t k trong t p (V T)* th A[U+F067] G [U+F067], hay ta cn ni lu t sinh A p d ng vo chu i A[U+F067] thu c chu i [U+F067], ngha l A[U+F067] sinh tr c ti p trong vn ph m G. Hai chu i g i l quan h nhau b i G n u chu i th hai thu c t chu i th nh t b ng cch p d ng m t lu t sinh no . Gi s 1 , 2 , ..., m l cc chu i thu c (V T)* v i m 1 v : 1 G 2 , 2 G 3 , . . ., m -1 G m th ta ni 1 * G m hay 1 d n xu t ra m trong vn ph m G. Nh v y, * G l bao ng ph n x v b c c u c a G . Ni cch khc, * G n u c d n ra t b ng khng ho c nhi u hn cc lu t sinh c a P. Ch r ng * G v i m i chu i . Thng th ng n u khng c nh m l n ta s dng cc k hi u v * thay cho k hi u G v * G . N u d n ra b ng i b c d n xu t th ta k hi u i . Ngn ng sinh b i vn ph m phi ng c nh
http://voer.edu.vn/content/m14369/1.1/

Hoc lieu Mo Vietnam - Vietnam Open Educational Resources module: m14369

Cho vn ph m CFG G(V, T, P, S), ta nh ngha : L(G) = {w|w T * v S * G w} Ngha l, m t chu i thu c L(G) n u: 1) Chu i g m ton k hi u k t thc. 2) Chu i c d n ra t k hi u b t u S. Ta g i L l ngn ng phi ng c nh (CFL) n u n l L(G) v i m t CFG G no . Chu i g m cc k hi u k t thc v cc bi n, c g i l m t d ng cu sinh t G n u S * . Hai vn ph m G1 , G2 c g i l tng ng n u L(G1 ) = L(G2 ) Th d 5.3 : Xt vn ph m G (V, T, P, S), trong : V = {S}, T = {a, b}, P = {S aSb, S ab}. B ng cch p d ng lu t sinh th nh t n -1 l n v lu t sinh th hai 1 l n, ta c: S aSb aaSbb a3 Sb3 ... an-1 bn-1 an bn V y, L(G) ch a cc chu i c d ng an bn , hay L(G) = {an bn | n 1}.

2.3 Cy d n xu t d hnh dung s pht sinh ra cc chu i trong vn ph m phi ng c nh, ta th ng di n t m t chu i d n xu t qua hnh nh m t cy. M t cch hnh th c, ta nh ngha nh sau: nh ngha : Cho vn ph m G (V, T, P, S). Cy d n xu t (hay cy phn tch c php) c a G c nh ngha nh sau : i) M i nt ( nh) c m t nhn, l m t k hi u (V T {}) ii) Nt g c c nhn l k hi u b t u S. iii) N u nt trung gian c nhn A th A V iv) N u nt n c nhn A v cc nh n1 , n2 , ..., nk l con c a n theo th t t tri sang ph i c nhn l n l t l X1 , X2 , ..., Xk th A X1 X2 ... Xk l m t lu t sinh trong t p lu t sinh P. v) N u nt n c nhn l t r ng th n ph i l nt l v l nt con duy nh t c a nt cha c a n. Th d 5.4 : Xt vn ph m G ({S, A}, {a, b}, P, S), trong P g m: S aAS | a A SbA | SS | ba M t cy d n xu t t vn ph m c d ng nh hnh 5.1 sau : Ta th y, nt 1 c nhn S v cc con c a n l n l t l a, A, S (ch S aAS l m t lu t sinh). Tng t , nt 3 c nhn A v cc con c a n l S, b, A (t lu t sinh A SbA). Nt 4, 5 c cng nhn S v c nt con nhn a (lu t sinh S a). Cu i cng nt 7 c nhn A v c cc nt con b, a (lu t sinh A ba). Trn cy d n xu t, n u ta c cc l theo th t t tri sang ph i th ta c m t d ng cu trong G. Ta g i chu i ny l chu i sinh b i cy d n xu t.

http://voer.edu.vn/content/m14369/1.1/

Hoc lieu Mo Vietnam - Vietnam Open Educational Resources module: m14369

Figure 2

Hnh 5.1 - Cy d n xu t t vn ph m M t cy con (subtree) c a cy d n xu t c nt g c nhn l A cn c g i l A-cy con (ho c A-cy). Cy con cng gi ng nh cy d n xu t, ch khc l nhn c a nt g c khng nh t thi t ph i l k hi u b t u S. Th d 5.5 : Xt vn ph m v cy d n xu t trong Hnh 5.1. c cc l theo th t t tri sang ph i ta c chu i aabbaa, trong tr ng h p ny t t c cc l u l k hi u k t thc, nhng ni chung cng khng b t bu c nh th , l c th c nhn l ho c bi n. Ta th y d n xu t S * aabbaa b ng chu i d n xu t : S aAS aSbAS aabAS aabbaS aabbaa A-cy c nt nh l 3 t o ra chu i con abba theo chu i d n xu t : S SbA abA abba

Figure 3

http://voer.edu.vn/content/m14369/1.1/

Hoc lieu Mo Vietnam - Vietnam Open Educational Resources module: m14369

2.4 Quan h gi a d n xu t v cy d n xu t NH L 5.1 : N u G (V, T, P, S) l m t vn ph m phi ng c nh th S * n u v ch n u c cy d n xu t trong vn ph m sinh ra .

3 Ch ng minh
Ta ch ng minh r ng v i bi n A b t k, A * n u v ch n u c m t A-cy sinh ra . N u : Gi s c sinh b i A-cy, ta ch ng minh quy n p theo s nt trung gian c a cy d n xu t r ng A * . N u c 1 nt trung gian th cy ph i c d ng nh hnh sau : Khi X 1 X 2 ... X n l chu i v A l m t lu t sinh trong P theo nh ngha cy d n xu t.

Figure 4

Figure 5

Hnh 5.2(a) - A-cy v i m t nt trong Gi s k t qu ng t i k -1 nt trung gian ( k > 1) Ta ch ng minh k t qu cng ng v i k nt. Xt c sinh ra b i A-cy c k nt trung gian. R rng cc nt con c a nt g c khng ph i t t c u l l, ta g i chng t tri sang ph i l X 1 , X 2 , ..., X n th ch c ch n r ng A X 1 X 2 ... X n l m t lu t sinh. Xt nt X i b t k : - N u X i khng l nt l th X i ph i l m t bi n v X i - cy con s sinh ra m t chu i i no . - N u X i l nt l, ta t i = X i . D th y r ng n u j < i th cc j bn tri j , do v y chu i c t l v n c d ng = 1 2 ... n . M i X i - cy con ph i c t nt trung gian hn cy ban u, v th theo gi thi t quy n p, v i m i nh i khng ph i l l th X i * i . V y A X 1 X 2 ... X n * 1 X 2 ... X n * 1 2 X 3 ... X n * ... * 1 2 ... n =
http://voer.edu.vn/content/m14369/1.1/

Hoc lieu Mo Vietnam - Vietnam Open Educational Resources module: m14369

Hay ta c A * . Ch r ng y ch l m t trong nhi u cch d n xu t ra . Ch n u : Ng c l i, gi s A * ta c n ch ra m t A - cy sinh ra . N u A * b ng m t b c d n xu t th A l m t lu t sinh trong P v c cy d n xu t sinh ra nh trong hnh trn. Gi s k t qu ng t i k-1 b c d n xu t Xt A * b ng k b c d n xu t, g i b c u tin l A X 1 X 2 ... X n . R rng, m t k hi u trong ph i c d n ra t m t bi n X i no . V v y, ta c th vi t = 1 2 ... n , trong m i 1 i n tho mn : - i = X i n u X i l k hi u k t thc. - X i * i n u X i l m t bi n. N u X i l bi n th d n xu t c a i t X i ph i c t hn k b c. V v y, theo gi thi t quy n p ta c X i - cy sinh ra i , t cy ny l T i By gi ta d ng A - cy c n l X 1 X 2 ... X n . M i X i khng l k hi u k t thc ta thay b ng cy T i tng ng. Cu i cng, ta c cy d n xu t sinh ra c d ng nh sau :

Figure 6

Hnh 5.2(b) - A-cy Th d 5.6 : Xt chu i d n xu t S * aabbaa cho vn ph m Th d 5.4. B c u tin trong d n xu t l S aAS. Theo di cc b c suy d n sau , ta th y bi n A c thay b i SbA, r i tr thnh abA v cu i cng thnh abba, chnh l k t qu c a cy T2 (A - cy). Cn bi n S th c thay b i a v l k t qu c a cy T3 (S -cy). Ghp n i l i, ta c cy d n xu t m k t qu l chu i aabbaa nh d i y.

http://voer.edu.vn/content/m14369/1.1/

Hoc lieu Mo Vietnam - Vietnam Open Educational Resources module: m14369

Figure 7

Hnh 5.3 - Ghp n i cc cy d n xu t 3.1 D n xu t tri nh t, d n xu t ph i nh t N u t i m i b c d n xu t, lu t sinh c p d ng vo bi n bn tri nh t th ta g i l d n xu t tri nh t (leftmost) hay d n xu t tri. Tng t , n u bi n bn ph i nh t c thay th m i b c d n xu t, l d n xu t ph i nh t (rightmost) hay d n xu t ph i. N u chu i w L(G) v i CFG G th w s c t nh t m t cy d n xu t ra n v tng ng v i cc cy ny, w ch c duy nh t m t d n xu t tri nh t v duy nh t m t d n xu t ph i nh t. D nhin, w c th c nhi u d n xu t tri (ph i) nh t v n c th c nhi u cy d n xu t. Th d 5.7 : Xt cy d n xu t Hnh 5.1 . D n xu t tri nh t c a cy : S aAS aSbAS aabAS aabbaS aabbaa. . D n xu t ph i nh t tng ng l : S aAS aAa aSbAa aSbbaa aabbaa. 3.2 Vn ph m m h M t vn ph m phi ng c nh G c nhi u hn m t cy d n xu t cho cng m t chu i w, th G c g i l vn ph m m h (ambiguity). D nhin, cng c th ni r ng vn ph m G l m h n u c m t chu i w c d n ra t k hi u b t u S v i hai d n xu t tri ho c hai d n xu t ph i. Th d 5.8 : Xt vn ph m G v i cc lu t sinh nh sau : EE+E|E*E|(E)|a Vn ph m ny sinh ra cc chu i bi u th c s h c v i 2 php ton + v * . V i chu i a + a * a, ta c th v n hai cy d n xu t khc nhau nh sau :

http://voer.edu.vn/content/m14369/1.1/

Hoc lieu Mo Vietnam - Vietnam Open Educational Resources module: m14369

Figure 8

(a) (b) Hnh 5.4 - Cc cy d n xu t khc nhau cho cng chu i nh p i u ny c ngha l bi u th c a + a * a c th hi u theo hai cch khc nhau: th c hi n php c ng tr c hay php nhn tr c ? kh c ph c s m h ny, ta c th : - Ho c quy nh r ng cc php c ng v nhn lun lun c th c hi n theo th t t tri sang ph i (tr khi g p ngo c n). Ta vi t vn ph m G1 khng m h tng ng nh sau : EE+T|E*T|T T(E)|a - Ho c quy nh r ng khi khng c d u ngo c n ngn cch th php nhn lun lun c u tin hn php c ng. Ta vi t vn ph m G2 khng m h tng ng nh sau : EE+T|T TT*F|F F(E)|a

http://voer.edu.vn/content/m14369/1.1/

You might also like