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

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

Pushdown Automata : PDA

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


งานนำเสนอเรื่อง: "Pushdown Automata : PDA"— ใบสำเนางานนำเสนอ:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

15 NPDA: Non-Deterministic PDA
Example:

16 Execution Example: Time 0 Input Stack current state

17 Time 1 Input Stack

18 Time 2 Input Stack

19 Time 3 Input Stack

20 Time 4 Input Stack

21 Time 5 Input Stack

22 Time 6 Input Stack

23 Time 7 Input Stack

24 Time 8 Input Stack accept

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

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

27 Another NPDA example NPDA

28 Execution Example: Time 0 Input Stack current state

29 Time 1 Input Stack

30 Time 3 Input Stack

31 Time 4 Input Stack

32 Time 5 Input Stack

33 Time 6 Input Stack

34 Time 7 Input Stack

35 Time 8 Input Stack accept

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


ดาวน์โหลด ppt Pushdown Automata : PDA

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


Ads by Google