Pushdown Automata : PDA

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
เฉลยใบงานที่ 1 องค์ประกอบและหลักการทำงานของคอมพิวเตอร์
Advertisements

หน่วยการเรียนรู้ที่ 7 ความรู้เบื้องต้นเกี่ยวกับจำนวนจริง
Click Here Click Here. หน้าแรก รายละเอียด LINK Microsoft Word Microsoft Word โปรแกรมการพิมพ์ เอกสาร จดหมายที่มีผู้ใช้งานมากที่สุดใน โลก ! ผมคิดว่ายังงั้น.
หน่วยการเรียนรู้ที่ 7 ความรู้เบื้องต้นเกี่ยวกับจำนวนจริง
การเขียนโปรแกรม ภาษาซีเบื้องต้น โดย คุณครูปวีณา แนววงศ์
การใช้กราฟิก Cycle Graph
หน่วยการเรียนรู้ที่ 2 หลักการแก้ปัญหาด้วยคอมพิวเตอร์
ไวยากรณ์คอนเท็กซ์ฟรี และภาษาคอนเท็กซ์ฟรี
ไฟไนต์ออโตมาตาที่คาดเดาไม่ได้ (Non-deterministic Finite Automata)
Finite-state Automata
การออกแบบออโตมาตาจำกัดเชิงกำหนด ( DFA )
บทที่ 3 (ต่อ) ไวยากรณ์เรกูลาร์.
องค์ประกอบของคอมพิวเตอร์
ครั้งที่ 7 รีจิสเตอร์ (REGISTER). รีจิสเตอร์ (Register) รีจิสเตอร์เป็นวงจรความจำที่ใช้ในการเก็บค่า ทางไบนารี่ ใช้ในการเก็บค่าในระหว่างการ ประมวลผลโดยใช้ฟลิป.
Intro Excel 2010 ข้อมูลจาก... ellession1.htm.
โปรแกรมคำนวณคะแนน สหกรณ์ ตามเกณฑ์ดีเด่นแห่งชาติ กรมส่งเสริม สหกรณ์ กองพัฒนาสหกรณ์ด้านการเงิน และร้านค้า วิธีการใ ช้
การจัดเก็บข้อมูลในแฟ้มข้อมูลธรรมดา นั้น อาจจำเป็นที่ใช้แต่ละคน จะต้องมีแฟ้มข้อมูลของตนไว้เป็นส่วนตัว จึง อาจเป็นเหตุให้มีการเก็บข้อมูล ชนิดเดียวกันไว้หลาย.
Adaptive Software Development. วงจรชีวิตของการพัฒนาซอฟแวร์ หรือ Software Development Life Cycle (SDLC) เป็นโครง ร่างหรือแนวทางวิธีการ เพื่อใช้ทำความเข้าใจและเพื่อ.
การเลือกข้อมูลจาก List การกำหนดเงื่อนไขการป้อนข้อมูลด้วย Data Validation การใส่ Comment / แสดง / แก้ไข / ลบ.
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
งานวิชา เทคโนโลยี สารสนเทศ 4/3 เรื่อง INPUT และ OUTPUT จัดทำโดย นาย ชาญชัย ศรีน้อย เลขที่ 3 นาย ณัฐดนัย จันทมาศ เลขที่ 4 นาย อุดมศักดิ์ เกื้อนะ เลขที่
Input Output อุปกรณ์คอมพิวเตอร์ เสนอ อ. อภิเดช จิตมุ่ง โดย นางสาว ผกาวดี ช่วงชุณส่อง เลขที่ 43 นางสาว ธนาภรณ์ คำเรือง เลขที่ 39 นางสาว ณัฐวรรณ ห่วงกลาง.
Project Management by Gantt Chart & PERT Diagram
หลักเกณฑ์วิธีที่ดีในการผลิตอาหาร
ส่วนประกอบของคอมพิวเตอร์ (Personal Computer : PC)
เกม คณิตคิดเร็ว.
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
รายการ(List) [1] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
อนุกรมอนันต์และการลู่เข้า
ลายผ้าของแม่ โดย มัณฑนา สันติคุณากร.
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
ส่วนประกอบของคอมพิวเตอร์ (Personal Computer : PC)
รายการ(List) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
บทที่ 7 การหาปริพันธ์ (Integration)
STACK สแตก(stack) เป็นโครงสร้างข้อมูลแบบเชิงเส้น ที่มีการใส่ข้อมูลเข้า และนำข้อมูลออกเพียงด้านเดียว ดังนั้น ข้อมูลที่เข้าไปอยู่ใน stack ก่อนจะออกจาก stack.
คุณลักษณะของสัญญาณไฟฟ้าแบบต่าง ๆ
โครงสร้างภาษา C Arduino
QUEUE คิวจะมีโครงสร้างแบบเชิงเส้นเหมือน stack แต่แตกต่างตรงที่ queue มีตัวชี้ 2 ตัวคือ หัว(Head) และหาง(Tail) โดยการใส่ข้อมูลเข้าและนำข้อมูลออก จะมีลักษณะ.
บทที่ 1 โครงสร้างคอมพิวเตอร์พื้นฐาน
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop)
ประเภทแผ่นโปร่งใส (แผ่นใส) รายวิชา ออปแอมป์และลิเนียร์ไอซี
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
บทที่ 8 เงื่อนไขตัดสินใจ
เซต (SET) ประวัติย่อของวิชาเซต ความหมายของเซต การเขียนแทนเซต
บทที่ 8 การควบคุมโครงการ
ขอแนะนำ PowerPoint 2007 การแนะนำคุณลักษณะใหม่ๆ.
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
การสร้างโมเดลจำลองความสัมพันธ์ ระหว่างข้อมูล E-R Model
วิธีการกำหนดค่า Microsoft SharePoint ของคุณ เว็บไซต์ออนไลน์
Data storage II Introduction to Computer Science ( )
เรื่อง การใช้งานระบบ Survey license
บริษัท พัฒนาวิชาการ (2535) จำกัด
State Table ตารางสถานะ ปรับปรุง 18 เมษายน 2562
โครงสร้างข้อมูลแบบสแตก (stack)
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
หน่วยที่ 6 อะเรย์ของอักขระ
บทที่ 5 : ความสัมพันธ์และฟังก์ชัน
บทที่ 7 การประมวลผลอาร์เรย์
บทที่ 11 พัลส์เทคนิค
บทสรุป ความหมายของ Query ความหมายของ Query
2 โครงสร้างข้อมูลแบบสแตก (STACK).
บทที่ 2 โครงสร้างข้อมูลแบบแถวลำดับหรืออาร์เรย์ (Array)
เงื่อนไขการสร้างเอกสารเลือกวันหยุด
เริ่มต้นสร้างบล็อกเวิร์ดเพรส
การเติบโตของฟังก์ชัน (Growth of Functions)
บทที่ 4 การจำลองข้อมูลและกระบวนการ (Data and Process Modeling)
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
โครงการถ่ายทอดเทคโนโลยีถนนรีไซเคิลเพื่อลดขยะพลาสติกใน 4 ภูมิภาค
การวิเคราะห์สถานะคงตัวของ วงจรที่ใช้คลื่นรูปไซน์
ใบสำเนางานนำเสนอ:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

NPDA: Non-Deterministic PDA Example:

Execution Example: Time 0 Input Stack current state

Time 1 Input Stack

Time 2 Input Stack

Time 3 Input Stack

Time 4 Input Stack

Time 5 Input Stack

Time 6 Input Stack

Time 7 Input Stack

Time 8 Input Stack accept

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

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

Another NPDA example NPDA

Execution Example: Time 0 Input Stack current state

Time 1 Input Stack

Time 3 Input Stack

Time 4 Input Stack

Time 5 Input Stack

Time 6 Input Stack

Time 7 Input Stack

Time 8 Input Stack accept

แบบฝึกหัด Input Stack