3、上下文無關(guān)語言練習(xí)

3、上下文無關(guān)語言練習(xí)

ID:7780556

大?。?30.50 KB

頁數(shù):9頁

時間:2018-02-25

3、上下文無關(guān)語言練習(xí)_第1頁
3、上下文無關(guān)語言練習(xí)_第2頁
3、上下文無關(guān)語言練習(xí)_第3頁
3、上下文無關(guān)語言練習(xí)_第4頁
3、上下文無關(guān)語言練習(xí)_第5頁
資源描述:

《3、上下文無關(guān)語言練習(xí)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第3章、上下文無關(guān)語言習(xí)題解答-練習(xí)3.1回憶一下例3.3中給出的CFGG4。為方便起見,用一個字母重新命名它的變元如下:E→E+T

2、TT→T×E

3、FF→(E)

4、a給出下述字符串的語法分析樹和派生。a.ab.a+ac.a+a+ad.((a))答:a.b.c.d.3.2a.利用語言A={ambncn

5、m,n30}和B={anbncm

6、m,n30}以及例3.20(語言B={anbncn

7、n30}不是上下文無關(guān)的),證明上下文無關(guān)語言在交的運算下不封閉。b.利用(a)和DeMorgan律(定理1.10),證明上下文無關(guān)語言在補運算

8、下不封閉。證明:a.先說明A,B均為上下文無關(guān)文法,對A構(gòu)造CFGC1S?aS

9、T

10、eT?bTc

11、e//生成bncn對B,構(gòu)造CFGC2S?Sc

12、R

13、eR?aRb

14、e//生成anbn由此知A,B均為上下文無關(guān)語言。由例3.20,A∩B={anbncn

15、n30}(假設(shè)m≤n)不是上下文無關(guān)語言,所以上下文無關(guān)語言在交的運算下不封閉。9b.用反證法。假設(shè)CFL在補運算下封閉,則對于(a)中上下文無關(guān)語言A,B,,也為CFL。因為CFL對并運算封閉,所以也為CFL,進而知道為CFL。由DeMorgan定律,得出是CFL。這與(a)

16、的結(jié)論矛盾,所以CFL對補運算不封閉。3.3設(shè)上下文無關(guān)文法G:R→XRX

17、SS→aTb

18、bTaT→XTX

19、X

20、εX→a

21、b回答下述問題:a.G的變元和終結(jié)符是什么?起始變元是哪個?答:變元是:R,X,S,T;起始變元是R。終結(jié)符是:a,b,εb.給出L(G)中的三個字符串。答:ab,ba,aab。c.給出不在L(G)中的三個字符串。答:a,b,ε。d.是真是假:。答:假e.是真是假:。答:真f.是真是假:。答:假g.是真是假:。答:假h.是真是假:。答:真i.是真是假:。答:假j.是真是假:。答:真k.是真是假:。答:真l

22、.是真是假:。答:假m.用普通的語言描述L(G):93.4和3.5給出產(chǎn)生下述語言的上下文無關(guān)文法和PDA,其中字母表S={0,1}。a.{w

23、w至少含有3個1}S→A1A1A1AA→0A

24、1A

25、e讀輸入中的符號。每讀一個1,把一個1推入棧,每讀1個0,不讀棧也不寫棧。同時非確定性地轉(zhuǎn)移,并把1個1彈出棧。如果能轉(zhuǎn)移三次,共彈出三個1,則接受這個輸入,并繼續(xù)讀輸入符號直至結(jié)束。否則拒絕這個輸入。e,1?e1,e?10,e?ee,1?ee,1?e1,e?e0,e?eb.{w

26、w以相同的符號開始和結(jié)束,w的長大于1}S→0A0

27、

28、1A1A→0A

29、1A

30、e讀輸入中的第一個符號并將其推入棧。繼續(xù)讀后面的符號,同時非確定性地猜想輸入符號和棧符號是否相同,如果相同則轉(zhuǎn)移到接受狀態(tài),如果此時輸入結(jié)束,則接受這個輸入,否則繼續(xù)輸入。0,e?e1,e?e1,1?e0,0?e0,e?01,e?1c.{w

31、w的長度為奇數(shù)}S→ASA

32、0

33、1A→0

34、1讀輸入中的1個符號,轉(zhuǎn)移到接受狀態(tài),再讀一個符號,轉(zhuǎn)移到非接受狀態(tài),如此循環(huán)。可見接受長度為奇數(shù)的字符串。0,e?e1,e?e0,e?e1,e?ed.{w

35、w的長度為奇數(shù)且正中間的符號為0}S→ASA

36、09A→0

37、1讀輸入

38、中的1個符號,推入1個0。每當(dāng)讀到0時就非確定性地猜想已經(jīng)到達字符串的中點,然后變成讀輸入中的1個符號,就把棧中的0彈出。當(dāng)輸入結(jié)束的同時棧被排空,則接受,否則拒絕。1,e?00,e?e0,e?01,0?e0,0?ee,e?$e,$?eb.{w

39、w中1比0多}答:S→T1T

40、T1S//T1T可以產(chǎn)生1比0多1個的所有字符串。//T1S可以產(chǎn)生1比0多2個以上的所有字符串。T→0T1T

41、1T0T

42、ε//T可以產(chǎn)生0和1數(shù)目相等的所有字符串。1,e?1e,1?e0,e?0e,1?ee,e?$e,$?e1,0?e0,1?e如果輸入

43、0時,棧頂元素是1,則彈出1;否則將0推入堆棧。如果輸入1時,棧頂元素是0,則彈出0;否則將1推入堆棧。非確定地猜想棧頂元素是1,且棧中都是1,如果是,則接受;否則拒絕。c.{w

44、w=wR,即w是一個回文,回文是順讀和倒讀都一樣的字符串}S→0S0

45、1S1

46、1

47、0

48、ε1,e?10,e?e0,e?01,1?e0,0?ee,e?$e,$?e1,e?ee,e?e如果W是回文,那么它的中點有三種可能:1)字符個數(shù)是奇數(shù),中點的字符是1。2)字符個數(shù)是奇數(shù),中點的字符是0。3)字符個數(shù)是偶數(shù),中點的字符是e。9開始時,把讀到的字符推入

49、棧中,在每一步非確定性地猜想已經(jīng)到達字符串的中點。然后變成把讀到的每一個字符彈出棧,檢查在輸入中和在棧頂讀到的字符是否一樣。如果它們總是一樣的,并且當(dāng)輸入結(jié)束時棧是空的,則接受;否則拒絕。b.空集S→S3.6給出產(chǎn)生下述語言的上下文無關(guān)文法:a.字母表{a,b}上a的個數(shù)是b的個數(shù)的兩倍的

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。