นายฉัตรชัย อัศวินโกวิท · Web viewHomework Assignment 2...

17
Homework Assignment 2 จจจจจจจจจ จจจจจจจจจ จจจจจจจจ จจจจจจจจจจจจจจจจจจจ จจจ จ จจจจจจจจจจจจ 545020137-5 จจจจ จจจจจจจจจจจจจจ จจ.จจจจจจ จจจจจจจจจ จจจจจจจจจจจจจจ (322721 Theory of Computation)

Transcript of นายฉัตรชัย อัศวินโกวิท · Web viewHomework Assignment 2...

Page 1: นายฉัตรชัย อัศวินโกวิท · Web viewHomework Assignment 2 จ ดทำโดย นายส ร ยะ ว ไลวงศ ว ทยาการคอมพ

HomeworkAssignment 2

จดัทำ�โดย

น�ยสรุยิะ วไิลวงศ์ วทิย�ก�รคอมพวิเตอร ์แผน ก โครงก�รพเิศษ 545020137-5

เสนอ

รองศ�สตร�จ�รย ์ดร.ศ�สตร� วงศ์ธนวสุ

ทฤษฎีก�รคำ�นวน (322721 Theory of Computation)

ภ�ควชิ�วทิย�ก�รคอมพวิเตอร ์ คณะวทิย�ศ�สตร ์ มห�วทิย�ลัยขอนแก่น

Page 2: นายฉัตรชัย อัศวินโกวิท · Web viewHomework Assignment 2 จ ดทำโดย นายส ร ยะ ว ไลวงศ ว ทยาการคอมพ
Page 3: นายฉัตรชัย อัศวินโกวิท · Web viewHomework Assignment 2 จ ดทำโดย นายส ร ยะ ว ไลวงศ ว ทยาการคอมพ

Assignment 2Context-free Grammar & Chomsky Normal Form1. Consider the CFG

S X0X0XX 0X | 1X | ^

What is the language this CFG generates?CFG นี้ generate RE = (0+1)*0(0+1)*0(0+1)*

หรอื ภาษาท่ีม ี“0” อยา่งน้อย 2 ตัว ตอบ

Find a CFG for 2 thru 3 defined by regular expression.2. 01*

S 0XX 1X | ^ ตอบ

3. 0*1*S S0 | S1 | ^ตอบ

4. Design context-free grammars for the following languages

a) A = {anbm|n≠m }.b) B = {aibjck|i, j, k ≥ 0 and either i = j or j = k }.c) C = {anbm|n = 3m }.d) D = {anbm|n ≤ m + 3}.

a) S aX | XbX aXb | ^ ตอบ

b) S AX | YCX bXc | ^Y aYb | ^ A Aa | ^C Cc | ^ ตอบ

C={ aaab , aaaaaabb , aaaaaaaaabbb , aaaaaaaaaaaabbbb , … }

c) S aaaXbX aaaXb | ^ ตอบ

Page 4: นายฉัตรชัย อัศวินโกวิท · Web viewHomework Assignment 2 จ ดทำโดย นายส ร ยะ ว ไลวงศ ว ทยาการคอมพ

D= { ^,a,aa,aaa,b,ab,aab,aaaab,bb,abb,aabb,aaabb,aaaabb,aaaaabb,…}

d) S X | aX | aaX | aaaXXXb | aXb | aaXb | aaaXb| ^ ตอบ

5. Decide whether the following grammar is ambiguous.S AB |aaBA a|AaB b

ทดสอบสรา้ง parse tree โดยให ้grammar นี้สรา้ง aabแบบท่ี 1 แบบท่ี 2

จาก parse tree จะเหน็วา่สามารถสรา้ง aab ได้ถึง 2 ทาง แสดงวา่ grammar นี้ คลมุเครอื (ambiguous) ตอบ

6. Convert the following CFG into an equivalent CFG in ChomskyNormal Form

A → BAB |B |^B → 00|^

A,B เป็น nullable variable ดังนัน้ทำาการกำาจดั null โดยแทน null ใน nullable variable จะได้

A AB | BA | A | BBนำาไปเพิม่ใน CFG ตัวเก่า และตัด null จะได้ CNF :

Page 5: นายฉัตรชัย อัศวินโกวิท · Web viewHomework Assignment 2 จ ดทำโดย นายส ร ยะ ว ไลวงศ ว ทยาการคอมพ

A BAB |B |AB | BA | A | BBB 00 ตอบ

7. Find the leftmost derivation for the string 011010011101101 in theCFG:

S SSS | 0S1S 10 | 110 | 011

S SSSS 0S1SSS 01101SSS 011010S1SS 0110100111SS 01101001110S1S 011010011101101 ตอบ

Page 6: นายฉัตรชัย อัศวินโกวิท · Web viewHomework Assignment 2 จ ดทำโดย นายส ร ยะ ว ไลวงศ ว ทยาการคอมพ

Push down Automata, CFG=PDA8. Convert the following CFG to an equivalent PDA.

R XRX | SS aTb | bTaT XTX | X | ^X a | b

ตอบ

Page 7: นายฉัตรชัย อัศวินโกวิท · Web viewHomework Assignment 2 จ ดทำโดย นายส ร ยะ ว ไลวงศ ว ทยาการคอมพ

9. Let L be the language of all string that have the same number of 0’sand 1’s and that, as we read them from left to right, never have more1’s than 0’s. For example, 0100011011 is good but 01001110 is nogood but 0100110 is no good since at a certain point we had four 0’s butonly three 1’s. All the words in L with six letters are:

000111 001011 001101 010011010101

a) Write out all the string in L with eight letters (there are 14).

b) Find a PDA that accepts Lc) Prove that L is not regulard) Find a CFG that defines Le) If we think of a 0 as an open parenthesis “(” and

a 1 as a closeparenthesis “)” then L is the language of the sequence of parenthesisthat might occur in arithmetic expression. Explain.

a) L|8| = {

00001111,00010111,00011011,00011101,00100111,00101011,00101101,

00110101,00110011,01000111,01001011,01001101,01010011,01010101 }

b)

Page 8: นายฉัตรชัย อัศวินโกวิท · Web viewHomework Assignment 2 จ ดทำโดย นายส ร ยะ ว ไลวงศ ว ทยาการคอมพ

c) ไมส่ามารถนำา L นี้ไปเขยีนเป็น Regular Expression ได้ แสดงวา่ไมเ่ป็น Regular Language01010101d) CFG : S 0X1

X0X1 | 1Y0 | ^Y 0X1| ^

e) มองเลข “0”ตัวแรกและเลข “1”ตัวหลังเป็นวงเล็บ “(“ขา้งหน้าและ“)”ขา้งหลังขา้งในวงเล็บ เป็นหลักการทัว่ไปของการเปิดปิดวงเล็บ

10. Given a CFGS 0S1 | 01, generating the language {0n1n}

a) Transfer this CFG into CNF.b) Take such a CNF defined in (i) to construct a

corresponding PDAthat accepts the same language.

แปลง CFG เป็น CNF (ใชตั้วแปร R0 แทน 0 และ R1 แทน 1)S R0SR1 | R0R1R0 0 R1 1

เมื่อแทน R0S เป็น X จะได้CNF ดังนี้S XR1 | R0R1X R0SR0 0 R1 1 ตอบ (a)

Page 9: นายฉัตรชัย อัศวินโกวิท · Web viewHomework Assignment 2 จ ดทำโดย นายส ร ยะ ว ไลวงศ ว ทยาการคอมพ

นำา CNF มาสรา้ง PDA จะได้

สรา้ง PDA จาก CNF จะได้ PDA ท่ี accept ภาษาเดียวกับ CFG ขา้งต้นตอบ (b)

11. Consider the palindrome-generating grammar (over the alphabet of two symbols a and b):

S aaSb | aSab | abSa | aSba | baSa | bSaa | ^

Construct a PDA that accepts exactly the strings generated by this grammar.

Page 10: นายฉัตรชัย อัศวินโกวิท · Web viewHomework Assignment 2 จ ดทำโดย นายส ร ยะ ว ไลวงศ ว ทยาการคอมพ

ตอบ

Context-Free Language

12. Prove that the following languages are context free, by giving acontext-free grammar for each.

(a) {akajbjck| j , k≥0 }

Page 11: นายฉัตรชัย อัศวินโกวิท · Web viewHomework Assignment 2 จ ดทำโดย นายส ร ยะ ว ไลวงศ ว ทยาการคอมพ

(b) {aibi+kck| i, k ≥ 0}(c) {aibj | i≠j and (i, j > 0)}

a) SaSc | XXaXb | ^

b) S XY | ^X aXb | ^Y bYc | ^

c) S aaXb | aYbbX aX | aXb | ^Y Yb | aYb | ^

13. Prove that the following languages are not context free:

Page 12: นายฉัตรชัย อัศวินโกวิท · Web viewHomework Assignment 2 จ ดทำโดย นายส ร ยะ ว ไลวงศ ว ทยาการคอมพ

(a) {anb2ncn|n≥0}(b) { amax{m ,n}bmcn| n , m ≥ 0}

(a) L = {anb2ncn | n≥0}สมมติL เป็น context-free พสิจูน์โดยใชp้umping lemma

u = ^v = an

x = b2n

y = cn

z = ^w = uvnxynz = ^(an)v(b2n)(cn)y^ ,(an)(b2n)(cn)Lw' = (an)2(b2n)(cn)2 = a2nb2nc2n∉ Lดังนัน้ L ไมเ่ป็น context-free ตอบ (a)

(b) { amax{m ,n}bmcn| n , m ≥ 0}สมมติL เป็น context-free พสิจูน์โดยใชp้umping lemma

u = ^v = amax{m,n}

x = bm

y = cn

z = ^w = uvnxynz = ^(amax{m,n})v(bm)(cn)y^ ,(amax{m,n})

(bm)(cn)Lw' = (amax{m,n})0(bm)(cn)0 = a0(bm)c0 ∉ Lดังนัน้ L ไมเ่ป็น context-free ตอบ (b)

Page 13: นายฉัตรชัย อัศวินโกวิท · Web viewHomework Assignment 2 จ ดทำโดย นายส ร ยะ ว ไลวงศ ว ทยาการคอมพ

In Problem 14 through 16, find CFG’s for the indicated languages over ={0,1} when n appears as an exponent, n=1,2,3,…

14. All string of the form 0m1n, where m>n or the form 0n1n

S 0X1X 0X1 | 0X | ^ ตอบ

15. All string of the form 0n12n0m12m, where n,m=1 2 3… but m need not=n,={011011 011001111 001111011}

S 0X110X11X 0X11 | ^ ตอบ

16. Considera) All string of the form0x1y0z1w, where x,y,z,w=1 2 3 … and x>y and z>w and x+z=y+whint: think of these word as: (0p1p)(1p0p)(0r1r)b) What happen if we throw away the restrictions y>x and z>w ?

a) เป็นไปไมไ่ด้ที่จะใหx้>y และ z>w และ x+z = y+w เพราะ มากกวา่+มากกวา่ น้อยกวา่≠ +น้อยกวา่

b) สามารถหา CFG ของ{0x1y0z1w}จากเง่ือนไข x+z = y+w ได้S0Y1X0Y1X1X0 | ^Y 0Y1 | ^ ตอบ

Page 14: นายฉัตรชัย อัศวินโกวิท · Web viewHomework Assignment 2 จ ดทำโดย นายส ร ยะ ว ไลวงศ ว ทยาการคอมพ

Problem 17-18 concerns intersection and compliment:

17. Which of the following are context-free?a) (0)(0+1)* ODDPALINDROMEb) EQUAL {0n1n0n}c) {0n1n}PALINDROME’d{0n1n}PALINDROMEe) EVEN-EVEN PALINDROMEf) PALINDROME0n1n+m0m where n,m=1,2,3,..n=m or

n≠m}g) PALINDROME’ EQUAL

กำาหนดใหตั้วพจน์หน้าเป็นL1และ พจน์หลังเป็นL2จะได้L1L2

a) L1L2 = (0)(0+1)* ODDPALINDROME(0)(0+1)* เป็น Regular Languageเพราะสามารถเขยีน Regular

Expression ได้ซึ่ง RL∈CFGODDPALINDROMEสามารถเขยีนเป็น CFG ได้แสดงวา่เป็น context-

freeจากCFLCFL เป็นCFLดังนัน้ L1L2เป็น context-free ตอบ 17(a)

b) EQUAL {0n1n0n}CFGของ EQUALคือ S 0X1 | 1X0 | ^ เขยีน CFGได้แสดงวา่เป็น

context-freeREของ {0n1n0n | n≥1}คือ 00*11*00* เขยีน REได้แสดงวา่เป็น

RLซึ่ง RL∈CFLจากCFLCFL เป็นCFLดังนัน้ L1L2เป็น context-free ตอบ 17(b)

c) {0n1n}PALINDROME’

Page 15: นายฉัตรชัย อัศวินโกวิท · Web viewHomework Assignment 2 จ ดทำโดย นายส ร ยะ ว ไลวงศ ว ทยาการคอมพ

REของ {0n1n | n≥1}คือ 00*11* เขยีน REได้แสดงวา่เป็น RLซึ่ง RL∈CFL

PALINDROMEสามารถเขยีน CFGได้ แสดงวา่เป็นcontext-freeแต่ (CFG)’ไมแ่น่วา่จะเป็น context-free

ดังนัน้ L1L2เป็นอาจจะไมเ่ป็นcontext-free ตอบ 17(c)

d) {0n1n}PALINDROMEREของ {0n1n | n≥1}คือ 00*11* เขยีน REได้แสดงวา่เป็น RLซึ่ง

RL∈CFLPALINDROMEสามารถเขยีน CFGได้ แสดงวา่เป็นcontext-freeจากCFLCFL เป็นCFLดังนัน้ L1L2เป็น context-free ตอบ 17(d)

e) EVEN-EVEN PALINDROMEEVEN-EVENเป็น context-freePALINDROMEเป็น context-freeจากCFLCFL เป็นCFLดังนัน้ L1L2เป็น context-free ตอบ 17(e)

f) PALINDROME {0n1n+m0mwhere n,m=1,2,3,..n=m or n≠m}PALINDROMEเป็น context-free0n1n+m0mเขยีน CFG ได้เป็น S 01X11Y0

X 0X1 | ^Y 1Y0 | ^ แสดงวา่เป็น context-free

จากCFLCFL เป็นCFLดังนัน้ L1L2เป็น context-free ตอบ 17(f)

g) PALINDROME’ EQUALPALINDROMEเป็นcontext-freeแต่ (CFL)’ ไมแ่น่วา่จะเป็น context-

freeดังนัน้ L1L2เป็นอาจจะไมเ่ป็น context-free ตอบ 17( g)

18. Considersa) Show thatL={01n01n0} is non-regular but context

freeb) Find a regular language that when intersected

with a context-free

Page 16: นายฉัตรชัย อัศวินโกวิท · Web viewHomework Assignment 2 จ ดทำโดย นายส ร ยะ ว ไลวงศ ว ทยาการคอมพ

language becomes non-regular but context-free.

a) L={01n01n0}สมมติให ้Lเป็น Regular Language พสิจูน์โดยใช ้pumping theorem

w = xyz xy = 01n01n

x = 01n0y = 1n

z = 0w = 01n01n(y)0w' = 01n01n(2)0 = 01n012n0 ∉ Lดังนัน้ แสดงวา่ L ไมเ่ป็น Regular Language

CFGL: S 0X0X 1X1 | 1Y1 | ^Y 0

สามารถเขยีน CFGได้ แสดงวา่เป็น context-freeแต่ไมเ่ป็น Regular Language ตอบ (a)

b) ถ้ากำาหนดให ้Lx=(0+1)*นำาไป Intersectกับตัวใดก็จะได้ตัวนัน้ เมื่อให ้L={01n01n0}

ถ้า L Lxจะได้ Lจากขอ้ a) Lเป็น context-freeแต่ไมเ่ป็น regular language ตอบ (b)