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

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

ภาควิชาวิศวกรรมคอมพิวเตอร์ มิถุนายน ๒๕๕๒

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


งานนำเสนอเรื่อง: "ภาควิชาวิศวกรรมคอมพิวเตอร์ มิถุนายน ๒๕๕๒"— ใบสำเนางานนำเสนอ:

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

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

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

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

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

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

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

8 การกำหนดภาษา ตัวอย่าง หมายเหตุ ภาษานี้เรียกว่า Palindrome over 
กำหนดให้  = { 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 

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

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

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

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

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

14 Kleene closure นิยาม S* = U Si Sn = SSn-1 เมื่อ n  1 S0 = {}
หมายเหตุ Concatenation ของ AB หมายถึง { ab | aA และ bB } I Ii = 0

15 Kleene closure ทฤษฎีบท หมายเหตุ S** หมายถึง (S*)*
กำหนดให้ S เป็นเซต จะได้ว่า S** = S* หมายเหตุ S** หมายถึง (S*)* 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 this S** S*. In general, it is true that S  S*. So S* S**. Then S*= S**.

16 Positive closure นิยาม S+ = U Si Sn = SSn-1 เมื่อ n  1 S0 = {}
หมายเหตุ Concatenation ของ AB หมายถึง { ab | aA และ bB } I Ii = 1

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

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

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

20 การกำหนดภาษา แบบฝึกหัด L1={ xn for n = 1, 2, 3, … }
เป็นการบรรยายที่กำกวม และยากต่อการตรวจสอบความเป็นสมาชิก


ดาวน์โหลด ppt ภาควิชาวิศวกรรมคอมพิวเตอร์ มิถุนายน ๒๕๕๒

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


Ads by Google