งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

ทฤษฎีคณนา ภาควิชาวิศวกรรมคอมพิวเตอร์ มิถุนายน ๒๕๕๒ Theory of Computation Athasit Surarerks.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "ทฤษฎีคณนา ภาควิชาวิศวกรรมคอมพิวเตอร์ มิถุนายน ๒๕๕๒ Theory of Computation Athasit Surarerks."— ใบสำเนางานนำเสนอ:

1 ทฤษฎีคณนา ภาควิชาวิศวกรรมคอมพิวเตอร์ มิถุนายน ๒๕๕๒ Theory of Computation Athasit Surarerks

2 ภ าษา หน่วยของภาษา อักขระ letters / คำ words / ประโยค sentences / ย่อหน้า paragraphs / เรื่องราว coherent stories หน่วยของภาษาคอมพิวเตอร์ อักขระ letters / คำสำคัญ keywords / คำสั่ง commands / โปรแกรม programs / ระบบ systems หน้า 2

3 ภ าษารูปนัย ( Formal language ) คุณสมบัติของภาษา  มี กฎ กติกา ที่ชัดเจน ในการกำหนดลำดับของสัญลักษณ์ เพื่อสร้างสมาชิกในภาษา  ตีความตามรูปแบบโดยไม่ต้องใช้ ความรู้อื่น ๆ ในการตีความหมาย หน้า 3

4 ภ าษารูปนัย ( Formal language ) นิยามเบื้องต้น  เซตจำกัดของอักขระ (character) เรียกว่า เซตของอักขระ (alphabet) ใช้สัญลักษณ์   ภาษา (language) หมายถึง เซตของสายอักขระ (string) ที่มีการกำหนดคุณสมบัติของ การเป็นสมาชิกที่ชัดแจ้ง  สมาชิกในภาษา เรียกว่า คำ (word)  สายอักขระที่ไม่มีอักขระใด ๆ เรียกว่า สายอักขระว่าง (empty string) ใช้สัญลักษณ์   ภาษาที่ไม่มีคำใด ๆ เลย เรียกว่า เซตว่าง (empty set) ใช้สัญลักษณ์  หน้า 4

5 สั ญลักษณ์ที่นิยม Union operation+ Different operation  Alphabet  Empty string ,  LanguageL,  Empty language  หน้า 5

6 ก ารกำหนดภาษา ตัวอย่าง  บรรยายแบบแจกแจงสมาชิก { 0, 00, 000, 0000, … }  บรรยายด้วยรูปแบบทั่วไป { 0 n | n = 0, 1, 2, … } หมายเหตุ ยกกำลังนิยม n ใช้ในกรณี การเขียนซ้ำ n ครั้ง หน้า 6

7 บังคับการเดิน ของหุ่นยนต์ 0 : ขวา 1 : ซ้าย เข้า สอบผ่าน สอบตก ก ารกำหนดภาษา ตัวอย่าง { 1, 010, 01110, , … }{ 1 }  { 01 m 0 | m = odd integer} หน้า 7

8 ก ารกำหนดภาษา ตัวอย่าง  กำหนดให้  = { 0, 1 } จงบรรยายภาษาของสายอักขระที่เมื่อเรียนย้อนกลับ (reverse) จะได้ผลลัพธ์ เหมือนกับสายอักขระเดิม { , 0, 1, 00, 11, 000, 010, 101, 111, … }  บรรยายด้วยรูปแบบทั่วไป { x  bit string | rev(x) = x } { x  bit string | x -1 = x } หมายเหตุ ภาษานี้เรียกว่า Palindrome over  หน้า 8

9 ก ารกำหนดภาษา ตัวอย่าง  กำหนดให้  = { 0, 1 } จงบรรยายภาษาของสายอักขระที่มีจำนวนของ 0 เท่ากับจำนวนของ 1 { , 01, 10, 0011, 0101, … }  บรรยายด้วยรูปแบบทั่วไป { x  bit string | n 0 (x) = n 1 (x) } หมายเหตุ นิยมใช้ n y (x) แทนฟังก์ชันการนับจำนวนของอักขระ y ในสายอักขระ x หน้า 9

10 Kleene closure นิยาม ภาษาที่สายอักขระทุกรูปแบบที่เป็นไปได้จากอักขระใน  จะถูกเรียกว่าเป็น closure ของ  โดยใช้สัญลักษณ์เป็น  *. หมายเหตุ บางครั้งจะเรียกว่า Kleene star วิธีการนี้เป็นการนำเสนอแนวทางในการบรรยายภาษาที่เป็น เซตอนันต์ ตัวอย่าง กำหนดให้  = { 0, 1 } จะได้ว่า  * = { , 0, 1, 00, 01, 10, 11, 000, … } ในกรณีของ S* (เมื่อ S เป็นภาษา หรือ เซตของสายอักขระ) จะหมายถึง เซตของสายอักขระทุก รูปแบบที่เป็นไปได้จากการนำสมาชิกใน S มาเรียงต่อกันจำนวนเท่าใดก็ได้ หน้า 10

11 ตัวอย่าง  กำหนดให้ S = { 0, 11 } จะได้ว่า S* = { , 0, 00, 11, 000, 011, 110, … } หน้า 11 Kleene closure กำหนดให้ S = { 01, 10 } จงหา S* ? S* = { , 01, 10, 0101, 0110, 1001, 1010, … } หมายเหตุ การเรียงลำดับของสมาชิกเป็นแบบ lexicographic ordering

12 แบบฝึกหัด กำหนดให้S = { 0, 1, 10 } T = { 0, 1, 01 ) U = { 0, 1 } จงแสดงให้เห็นความสัมพันธ์ของ S* T* และ U* ? หน้า 12 Kleene closure จงแสดงให้เห็นว่า ถ้า A  B แล้ว A*  B* เป็นความจริงหรือไม่ ?

13 แบบฝึกหัด กำหนดให้S = { xx, xxxxx} จงแสดง S* ? หน้า 13 Kleene closure S* = { , xx, xxxx, xxxxx, xxxxxx, xxxxxxx, … } S* = { , x 2, x 4, x 5, x 6, … } เราจะพิสูจน์ว่าเป็นความจริงได้อย่างไร

14 นิยาม กำหนดให้S เป็นเซต จะได้ว่า S* = U S i S n = SS n-1 เมื่อ n  1 S 0 = {  } หมายเหตุ Concatenation ของ AB หมายถึง { ab | a  A และ b  B } หน้า 14 Kleene closure Ii = 0 II

15 ทฤษฎีบท กำหนดให้S เป็นเซต จะได้ว่า S** = S* หมายเหตุ S** หมายถึง (S*)* หน้า 15 Kleene closure Proof: Every words in S** is made up of factors from S*. Every words in S* is made up of factors from S. Therefore every words in S** is made up of factors from S. We can write thisS**  S*. In general, it is true that S  S*. So S*  S**. Then S*= S**.

16 นิยาม กำหนดให้S เป็นเซต จะได้ว่า S + = U S i S n = SS n-1 เมื่อ n  1 S 0 = {  } หมายเหตุ Concatenation ของ AB หมายถึง { ab | a  A และ b  B } หน้า 16 Positive closure Ii = 1 II

17 โจทย์น่าคิด หน้า 17 แบบฝึกหัด ให้ L เป็นภาษาใด ๆ ที่นิยามบน  = {0, 1} จงอธิบายความสัมพันธ์ของ L* + และ L + * ?

18 ก ารกำหนดภาษา ตัวอย่าง กำหนดให้ EVEN เป็นภาษาของจำนวนเต็มคู่บวก ดังนั้น EVEN = { 2, 4, 6, 8, … } การบรรยายโดยใช้ กฎการสร้าง (production rule) สามารถทำได้ดังนี้ 1. 2 เป็นสมาชิกใน EVEN 2. ถ้า x เป็นสมาชิกใน EVEN แล้ว x + 2 จะเป็นสมาชิกใน EVEN ด้วย 3. สมาชิกใน EVEN เกิดจาก ข้อ 1 และ ข้อ 2 เท่านั้น หน้า 18 จงพิสูจน์ว่า เป็นสมาชิกใน EVEN ด้วย

19 ก ารกำหนดภาษา ตัวอย่าง กำหนดให้ EVEN เป็นภาษาของจำนวนเต็มคู่บวก ดังนั้น EVEN = { 2, 4, 6, 8, … } การบรรยายโดยใช้ กฎการสร้าง (production rule) สามารถทำได้ดังนี้ 1. 2 เป็นสมาชิกใน EVEN 2. ถ้า x และ y เป็นสมาชิกใน EVEN แล้ว x + y จะเป็นสมาชิกใน EVEN ด้วย 3. สมาชิกใน EVEN เกิดจาก ข้อ 1 และ ข้อ 2 เท่านั้น หน้า 19 จงพิสูจน์ว่า เป็นสมาชิกใน EVEN ด้วย

20 แบบฝึกหัด หน้า 20 L 1 ={ x n for n = 1, 2, 3, … } L 2 ={ x n for n = 1, 3, 5, 7, … } L 3 ={ x n for n = 1, 4, 9, 16, … } L 4 ={ x n for n = 3, 4, 8, 22, … }. เป็นการบรรยายที่กำกวม และยากต่อการตรวจสอบความเป็นสมาชิก ก ารกำหนดภาษา


ดาวน์โหลด ppt ทฤษฎีคณนา ภาควิชาวิศวกรรมคอมพิวเตอร์ มิถุนายน ๒๕๕๒ Theory of Computation Athasit Surarerks.

งานนำเสนอที่คล้ายกัน


Ads by Google