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

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

พุชดาวน์ออโตมาตา บทที่ 6 Pushdown Automata : PDA.

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


งานนำเสนอเรื่อง: "พุชดาวน์ออโตมาตา บทที่ 6 Pushdown Automata : PDA."— ใบสำเนางานนำเสนอ:

1 พุชดาวน์ออโตมาตา บทที่ 6 Pushdown Automata : PDA

2 พุชดาวน์ออโตมาตา เป็นออโตมาตาที่สามารถรองรับภาษาได้ มากกว่าภาษาที่ไฟไนต์ออโตมาตารองรับ ได้ ส่วนประกอบภายในพุชดาวน์ออโตมาตา ประกอบด้วย 3 ส่วน 1. อินพุตเทป ซึ่งบรรจุตัวอักษร (Alphabet) หัวอ่านอินพุตเทปเคลื่อน จากซ้ายไปขวาโดยไม่สามารถย้อนกลับ มายังตำแหน่งที่เคยอ่านแล้วได้ 2. สแต็ก (Stack) ทำหน้าที่เก็บผลลัพธ์ ชั่วคราวที่ได้จากการประมวลผล โดยใช้ สัญลักษณ์เริ่มต้นเช่น z, $ 3. หน่วยประมวลผล จะมีสถานะที่ เปลี่ยนแปลงได้

3 - สามารถนำข้อมูลเข้าหรือออกได้ทางเดียวคือส่วนบน ของ Stack (Top Of Stack) - คุณสมบัติดังกล่าวเรียกว่า ไลโฟลิสต์ (LIFO list: Last-In-First-Out list) หรือ พูชดาวน์ลิสต์ (Pushdown List) การทำงานมี PUSH ( ใส่ข้อมูลเข้า ) และ POP ( นำข้อมูลออก )

4 ส่วนประกอบภายในพุชดาวน์ออโต มาตา

5 พุชดาวน์ออโตมาตาที่คาดเดาได้ (Deterministic Pushdown Automata : DPDA) นิยาม โดยที่ คือ เซตของสถานะภายในหน่วยประมวลผล คือ เซตของตัวอักษรอินพุต คือ เซตของสัญลักษณ์ที่ถูกบรรจุลงสแต็ก คือ สถานะเริ่มต้นของหน่วยประมวลผล โดยที่ คือ สัญลักษณ์กำหนดจุดเริ่มต้นของสแต็ก เช่น คือ เชตของสถานะสุดท้ายโดยที่ คือ เซตของทรานซิชันฟังก์ชัน เป็นความสัมพันธ์ดังนี้ ( โดยมีข้อบังคับว่าทางฝั่งขวาของทรานซิชันเดียวกัน จะต้องไม่มีทางเลือก )

6 การทำงานของทรานซิชันฟังก์ชัน

7 จากรูปการทำงานของ DPDA เป็นการบังคับว่าหาก สถานะภายในคือ q 0 อินพุตคือ a และส่วนบนสุดของ สแต็กคือ x แล้ว DPDA จะต้องเปลี่ยนสถานะไปเป็น q1 จากนั้นนำ x ออกจากสแต็กและนำตัวอักษร a ใส่ลงไป บนสแต็กแทน แต่ถ้า ทรานซิชันฟังก์ชันมีลักษณะเป็น กรณีนี้ไม่ถือว่าเป็น DPDA เนื่องจากที่สถานะ เดียวกันคือ ออโตมาตาสามารถนำตัวอักษร a หรือสตริงว่าง วางลงไปบนสแต็กก็ได้

8 เราสามารถนำทรานซิชันฟังก์ชันของพุชดาวน์ออโต มาตาเขียนให้อยู่ในรูปทรานซิชันกราฟ เพื่อง่ายต่อการ เข้าใจ เช่น สามารถแสดงการเปลี่ยนสถานะของพุชดาวน์ออโต มาตาที่คาดเดาได้ดังนี้ ตัวอักษรอินพุต สัญลักษณ์ ส่วนบนของ สแต็กซึ่งจะถูก เอาออก สัญลักษณ์ที่จะ นำไป ใส่ลงบนสแต็ก

9 การนำสตริงใส่ลงไปบนสแต็ก

10 ทรานซิชันที่อนุญาตให้เกิดขึ้นได้ใน DPDA

11 ทรานซิชันที่ไม่อนุญาตให้เกิดขึ้นได้ ใน DPDA

12 พุชดาวน์ออโตมาตาที่คาดเดาไม่ได้ (Nondeterministic Pushdown Automata : NPDA) นิยาม โดยที่ คือ เซตของสถานะภายในหน่วยประมวลผล คือ เซตของตัวอักษรอินพุต คือ เซตของสัญลักษณ์ที่ถูกบรรจุลงสแต็ก คือ สถานะเริ่มต้นของหน่วยประมวลผล โดยที่ คือ สัญลักษณ์กำหนดจุดเริ่มต้นของสแต็ก เช่น คือ เชตของสถานะสุดท้ายโดยที่ คือ เซตของทรานซิชันฟังก์ชัน เป็นความสัมพันธ์ดังนี้ ( โดยไม่มีข้อบังคับใดๆ )

13 ทรานซิชันที่อนุญาตให้เกิดขึ้นได้ใน NPDA

14

15 15 NPDA: Non-Deterministic PDA Example:

16 16 Execution Example: Input current state Time 0 Stack

17 17 Input Time 1 Stack

18 18 Input Stack Time 2

19 19 Input Stack Time 3

20 20 Input Stack Time 4

21 21 Input Stack Time 5

22 22 Input Stack Time 6

23 23 Input Stack Time 7

24 24 Input Time 8 accept Stack

25 25 สตริง ใดๆ จะ accept หรือได้รับการยอมรับ เมื่อ เงื่อนไขเหล่านี้ได้บรรลุแล้ว - เมื่อ input ทุกตัวใน tape ถูกใช้งานจนครบ - สามารถไปถึง state สุดท้ายได้ เมื่อการประมวลผลจบลง เราจะไม่สนใจว่า ใน stack มีข้อมูล อะไรบ้าง

26 26 สตริงต่อไปนี้ จะ accepted โดย NPDA: หรือไม่ แบบฝึกหัด

27 27 Another NPDA example NPDA

28 28 Time 0 Input current state Stack Execution Example:

29 29 Time 1 Input Stack

30 30 Time 3 Input Stack

31 31 Time 4 Input Stack

32 32 Time 5 Input Stack

33 33 Time 6 Input Stack

34 34 Time 7 Input Stack

35 35 Time 8 Input Stack accept

36 36 แบบฝึกหัด Input Stack


ดาวน์โหลด ppt พุชดาวน์ออโตมาตา บทที่ 6 Pushdown Automata : PDA.

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


Ads by Google