อ่าน 4 นาที
ออโตมาตาแบบพุชดาวน์เชิงกำหนด
ใน ทฤษฎีออโต มา ตา ออโตมาตาพุชดาวน์แบบกำหนด ( DPDA หรือ DPA ) เป็นรูปแบบหนึ่งของ ออโตมาตาพุชดาวน์ คลาสของออโตมาตาพุชดาวน์แบบกำหนดจะยอมรับ ภาษาแบบไม่จำกัดบริบทแบบกำหนด ซึ่ง...
ออโตมาตาแบบพุชดาวน์เชิงกำหนด
ในทฤษฎีออโตมาตา ออโตมาตาพุชดาวน์แบบกำหนด ( DPDAหรือDPA ) เป็นรูปแบบหนึ่งของออโตมาตาพุชดาวน์คลาสของออโตมาตาพุชดาวน์แบบกำหนดจะยอมรับภาษาแบบไม่จำกัดบริบทแบบกำหนด ซึ่ง เป็นเซตย่อยที่เหมาะสมของภาษาแบบไม่จำกัดบริบท[ 1 ]
การเปลี่ยนสถานะของเครื่องจักรนั้นขึ้นอยู่กับสถานะปัจจุบันและสัญลักษณ์อินพุต รวมถึงสัญลักษณ์บนสุดของสแต็กในปัจจุบันด้วย สัญลักษณ์ที่อยู่ต่ำกว่าในสแต็กจะไม่ปรากฏให้เห็นและไม่มีผลในทันที การกระทำของเครื่องจักร ได้แก่ การผลัก การดึง หรือการแทนที่สัญลักษณ์บนสุดของสแต็ก เครื่องจักรพุชดาวน์อัตโนมัติแบบกำหนดได้จะมีสถานะการเปลี่ยนผ่านที่ถูกต้องได้มากที่สุดหนึ่งสถานะสำหรับชุดค่าผสมเดียวกันของสัญลักษณ์อินพุต สถานะ และสัญลักษณ์บนสุดของสแต็ก นี่คือจุดที่แตกต่างจากเครื่องจักรพุชดาวน์อัตโนมัติแบบไม่กำหนดได้
คำจำกัดความอย่างเป็นทางการ
PDA (ซึ่งไม่จำเป็นต้องเป็นแบบกำหนดได้แน่นอน) สามารถนิยามได้ว่าเป็น 7-tuple ดังนี้:
ที่ไหน
- เป็นเซตของสถานะที่มีจำนวนจำกัด
- เป็นเซตจำกัดของสัญลักษณ์อินพุต
- เป็นเซตจำกัดของสัญลักษณ์สแต็ก
- คือสถานะเริ่มต้น
- คือสัญลักษณ์สแต็กเริ่มต้น
- โดย ที่เซตของสถานะที่ยอมรับหรือสถานะสุดท้ายอยู่ที่ไหน
- เป็นฟังก์ชันการเปลี่ยนผ่าน โดยที่
- โดยที่Kleene starหมายถึง"เซตของสตริงจำกัดทั้งหมด (รวมถึงสตริงว่าง ) ของสมาชิกใน", แทนสตริงว่างและคือเซตกำลังของเซต
Mเป็นแบบกำหนดได้แน่นอน (deterministic)ถ้าเป็นไปตามเงื่อนไขทั้งสองข้อต่อไปนี้:
- สำหรับค่าใดๆเซตนั้นจะมีสมาชิกอย่างมากที่สุดเพียงหนึ่งเดียว
- สำหรับทุก ๆถ้าแล้วสำหรับทุก ๆ
มีเกณฑ์การยอมรับที่เป็นไปได้สองประการ ได้แก่ การยอมรับโดยสแต็กว่างและการยอมรับโดยสถานะสุดท้ายทั้งสองไม่เท่ากันสำหรับออโตมาตาพุชดาวน์แบบกำหนด (แม้ว่าจะเท่ากันสำหรับออโตมาตาพุชดาวน์แบบไม่กำหนด) ภาษาที่ยอมรับโดยสแต็กว่างคือภาษาที่ยอมรับโดยสถานะสุดท้ายและไม่มีคำนำหน้า: ไม่มีคำใดในภาษาเป็นคำนำหน้าของคำอื่นในภาษา[ 2 ] [ 3 ]
เกณฑ์การยอมรับโดยทั่วไปคือสถานะสุดท้ายและเกณฑ์การยอมรับนี้เองที่ใช้ในการกำหนดภาษาบริบทอิสระเชิงกำหนด
ภาษาที่ได้รับการยอมรับ
ถ้าภาษาหนึ่งได้รับการยอมรับจาก PDA แล้ว ภาษานั้นก็จะได้รับการยอมรับจาก DPDA ได้เช่นกัน ก็ต่อเมื่อมีการคำนวณเพียงครั้งเดียวตั้งแต่การกำหนดค่าเริ่มต้นจนถึงการกำหนดค่าที่ยอมรับได้สำหรับสตริงทั้งหมดที่อยู่ในนั้นถ้าภาษาหนึ่งได้รับการยอมรับจาก PDA แล้ว ภาษานั้นจะเป็นภาษาไร้บริบท และถ้าภาษานั้นได้รับการยอมรับจาก DPDA แล้ว ภาษานั้นจะเป็นภาษาไร้บริบทเชิงกำหนด (DCFL)
ไม่ใช่ทุกภาษาแบบไร้บริบทจะเป็นแบบกำหนดได้ นี่ทำให้ DPDA เป็นอุปกรณ์ที่อ่อนแอกว่า PDA อย่างเห็นได้ชัด ตัวอย่างเช่น ภาษาL p ซึ่งประกอบด้วย พาลินโดรมความยาวคู่บนตัวอักษร 0 และ 1 มีไวยากรณ์แบบไร้บริบท S → 0S0 | 1S1 | ε ถ้ามี DPDA สำหรับภาษานี้อยู่ และมันเห็นสตริง 0 nมันจะต้องใช้สแต็กเพื่อจดจำความยาวnเพื่อที่จะสามารถแยกแยะความต่อเนื่องที่เป็นไปได้0 n 11 0 n ∈ L pและ0 n 11 0 n +2 ∉ L pได้ดังนั้น หลังจากอ่าน0 n 11 0 nแล้วการเปรียบเทียบความยาวหลัง "11" กับความยาวก่อน "11" จะทำให้สแต็กว่างเปล่าอีกครั้ง ด้วยเหตุนี้ สตริง0 n 11 0 n 0 n 11 0 n ∈ L pและ0 n 11 0 n 0 n +2 11 0 n +2 ∉ L pจึงไม่สามารถแยกแยะได้[ 4 ]
การจำกัด DPDA ให้อยู่ในสถานะเดียวจะลดคลาสของภาษาที่ยอมรับเหลือเพียงภาษา LL(1) [ 5 ]ซึ่งเป็นคลาสย่อยที่เหมาะสมของ DCFL [ 6 ]ในกรณีของ PDA ข้อจำกัดนี้ไม่มีผลต่อคลาสของภาษาที่ยอมรับ
คุณสมบัติ
การปิด
คุณสมบัติการปิดของภาษาบริบทอิสระเชิงกำหนด (ที่ยอมรับโดย PDA เชิงกำหนดโดยสถานะสุดท้าย) นั้นแตกต่างจากภาษาบริบทอิสระอย่างมาก ตัวอย่างเช่น ภาษาเหล่านี้ปิดภายใต้การเติมเต็ม (อย่างมีประสิทธิภาพ) แต่ไม่ปิดภายใต้การรวมกัน การพิสูจน์ว่าส่วนเติมเต็มของภาษาที่ยอมรับโดย PDA เชิงกำหนดนั้นก็ยอมรับโดย PDA เชิงกำหนดเช่นกันนั้นทำได้ยาก เนื่องจากต้องหลีกเลี่ยงการคำนวณอนันต์และจัดการการเปลี่ยนสถานะที่จัดการสแต็กโดยไม่ต้องอ่านสัญลักษณ์อินพุตอย่างถูกต้อง[ 7 ]
ผลที่ตามมาจากการเติมเต็มคือ สามารถตัดสินได้ว่า PDA แบบกำหนดได้นั้นยอมรับคำทุกคำในตัวอักษรที่ป้อนเข้ามาหรือไม่ โดยการตรวจสอบส่วนเติมเต็มว่าว่างเปล่าหรือไม่ ซึ่งเป็นไปไม่ได้สำหรับไวยากรณ์แบบไร้บริบท (ดังนั้นจึงเป็นไปไม่ได้สำหรับ PDA ทั่วไป)
ปัญหาความเท่าเทียมกัน
Géraud Sénizergues (1997) พิสูจน์ว่าปัญหาความเท่าเทียมกันสำหรับ PDA แบบกำหนด (เช่น กำหนด PDA แบบกำหนดสองตัว A และ B แล้ว L(A)=L(B) หรือไม่?) สามารถตัดสินได้[ 8 ] [ 9 ] [ 10 ]ซึ่งเป็นการพิสูจน์ที่ทำให้เขาได้รับรางวัล Gödel Prize ประจำปี 2002 สำหรับ PDA แบบไม่กำหนด ความเท่าเทียมกันนั้นไม่สามารถตัดสินได้
หมายเหตุ
- ^ Michael Sipser (1997). บทนำ สู่ทฤษฎีการคำนวณ . สำนักพิมพ์ PWS. หน้า 102. ISBN 0-534-94728-X.
- ^ Soltys-kulinicz, Michael (2018). บทนำสู่การวิเคราะห์อัลกอริทึม (ฉบับที่ 3). World Scientific. หน้า 193, 195. ISBN 9789813235922.
- ^ Hopcroft, John E.; Motwani, Rajeev; Ullman, Jeffrey D. (2006). บทนำสู่ทฤษฎีออโตมาตา ภาษา และการคำนวณ (ฉบับที่ 3). Addison-Wesley. หน้า 234, 254. ISBN 0-321-45536-3.
- ^ Hopcroft, John ; Rajeev Motwani ; Jeffrey Ullman (2001). บทนำสู่ทฤษฎีออโตมาตา ภาษา และการคำนวณ (ฉบับที่ 2). Addison-Wesley. หน้า 249 –253.
- ^ Kurki-Suonio, R. (1969). "บันทึกเกี่ยวกับภาษาแบบบนลงล่าง" BIT . 9 (3): 225– 238. doi : 10.1007/BF01946814 . S2CID 60912010 .
- ^ Rosenkrantz, DJ; Stearns, RE (1970). "คุณสมบัติของไวยากรณ์แบบ Top Down ที่กำหนดได้" . ข้อมูลและการควบคุม . 17 (3): 226– 256. doi : 10.1016/s0019-9958(70)90446-8 .ที่นี่: หน้า 246–247
- ^ Hopcroft, John E.; Ullman, Jeffrey D. (1969-01-01), "Deterministic pushdown automata" , Formal languages and their relation to automata , USA: Addison-Wesley Longman Publishing Co., Inc. , สืบค้นเมื่อ 2024-05-29
- ^ Sénizergues, Géraud (1997). "ปัญหาความเท่าเทียมกันสำหรับออโตมาตาแบบพุชดาวน์เชิงกำหนดนั้นสามารถตัดสินได้" Proc. Int. Coll. on Automata, Languages, and Programming (ICALP) . Lecture Notes in Computer Science . Vol. 1256. pp. 671– 681. doi : 10.1007/3-540-63165-8_221 . ISBN 978-3-540-63165-1.- เวอร์ชันเต็ม: Géraud Sénizergues (1997) ล ( ก ) = ล ( ข )? (รายงานทางเทคนิค 1161-97) มหาวิทยาลัยบอร์กโดซ์, LaBRI
- ^ Géraud Sénizergues (2001). "การศึกษาพื้นฐาน: L ( A ) = L ( B )? ผลลัพธ์การตัดสินใจจากระบบที่เป็นทางการที่สมบูรณ์" วิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎี 251 ( 1– 2 ): 1– 166. doi : 10.1016/S0304-3975(00)00285-1 .
- ^ Géraud Sénizergues (2002). " L ( A ) = L ( B )? การพิสูจน์ความสามารถในการตัดสินใจแบบง่าย" . วิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎี . 281 ( 1– 2): 555– 608. doi : 10.1016/S0304-3975(02)00027-0 .
อ่านเพิ่มเติม
- Hamburger, Henry; Dana S. Richards (2002). แบบจำลองตรรกะและภาษาสำหรับวิทยาศาสตร์คอมพิวเตอร์ . Upper Saddle River, NJ 07458: Prentice Hall. หน้า 284–331 . ISBN 0-13-065487-6.
{{cite book}}: CS1 maint: location ( link )
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ออโตมาตาแบบพุชดาวน์เชิงกำหนด
ใน ทฤษฎีออโต มา ตา ออโตมาตาพุชดาวน์แบบกำหนด ( DPDA หรือ DPA ) เป็นรูปแบบหนึ่งของ ออโตมาตาพุชดาวน์ คลาสของออโตมาตาพุชดาวน์แบบกำหนดจะยอมรับ ภาษาแบบไม่จำกัดบริบทแบบกำหนด ซึ่ง...
คำจำกัดความอย่างเป็นทางการ
PDA (ซึ่งไม่จำเป็นต้องเป็นแบบกำหนดได้แน่นอน) สามารถนิยามได้ว่าเป็น 7-tuple ดังนี้: เอ็ม {\displaystyle M}
ภาษาที่ได้รับการยอมรับ
ถ้าภาษาหนึ่งได้รับการยอมรับจาก PDA แล้ว ภาษานั้นก็จะได้รับการยอมรับจาก DPDA ได้เช่นกัน ก็ต่อเมื่อมีการคำนวณเพียงครั้งเดียวตั้งแต่การกำหนดค่าเริ่มต้นจนถึงการกำหนดค่าที่ยอมรับได้สำหรับสตริงทั้งหมดที่อยู่ในนั้นถ้าภาษาหนึ่งได้รับการยอมรับจาก PDA แล้ว...
การปิด
คุณสมบัติการปิดของภาษาบริบทอิสระเชิงกำหนด (ที่ยอมรับโดย PDA เชิงกำหนดโดยสถานะสุดท้าย) นั้นแตกต่างจากภาษาบริบทอิสระอย่างมาก ตัวอย่างเช่น ภาษาเหล่านี้ปิดภายใต้การเติมเต็ม (อย่างมีประสิทธิภาพ) แต่ไม่ปิดภายใต้การรวมกัน การพิสูจน์ว่าส่วนเติมเต็มของภาษาที่ยอมรับโดย...