ออโตเมชั่น LR (1) สำหรับภาษาหนึ่ง ๆ จะใหญ่กว่าเทอร์มอนิน LR (0) ที่เท่ากันได้อย่างไร?


10

ในตัวแยกวิเคราะห์ LR (0) แต่ละรัฐประกอบด้วยชุดของรายการ LR (0) ซึ่งเป็นการผลิตคำอธิบายประกอบพร้อมตำแหน่ง ในตัวแยกวิเคราะห์ LR (1) แต่ละรัฐประกอบด้วยชุดของรายการ LR (1) ซึ่งเป็นโปรดักชั่นที่มีคำอธิบายประกอบพร้อมตำแหน่งและตัวอักษร lookahead

เป็นที่ทราบกันดีว่าเมื่อกำหนดสถานะในออโตเมต LR (1) ชุดการกำหนดค่าที่เกิดขึ้นจากการโยนโทเค็น lookahead จากแต่ละรายการ LR (1) ให้ชุดการกำหนดค่าที่สอดคล้องกับสถานะบางอย่างในออโต้ LR (0) ในแง่นั้นความแตกต่างที่สำคัญระหว่างหุ่นยนต์ LR (1) และหุ่นยนต์ LR (0) คือหุ่นยนต์ LR (1) มีสำเนาของสถานะต่าง ๆ ในหุ่นยนต์ LR (0) ซึ่งแต่ละอันมีหมายเหตุประกอบกับ lookahead ข้อมูล. ด้วยเหตุผลนี้ LR (1) ออโตมาตะสำหรับ CFG ที่กำหนดมักจะมีขนาดใหญ่กว่าตัวแยกวิเคราะห์ LR (0) ที่สอดคล้องกันสำหรับ CFG นั้น

คำถามของฉันคือว่าหุ่นยนต์ LR (1) จะมีขนาดใหญ่เท่าใด หากมีสัญลักษณ์ขั้วที่แตกต่างกันในตัวอักษรของไวยากรณ์แล้วในหลักการเราอาจจำเป็นต้องที่จะทำซ้ำแต่ละรัฐใน LR (0) หุ่นยนต์อย่างน้อยหนึ่งครั้งต่อเซตของผู้ที่สัญลักษณ์ขั้วที่แตกต่างกันอาจนำไปสู่การ LR (1 ) หุ่นยนต์ที่มีขนาดใหญ่กว่าหุ่นยนต์ LR (0)เท่าเท่า เนื่องจากแต่ละไอเท็มในหุ่นยนต์ LR (0) ประกอบด้วยชุดของไอเท็ม LR (0) ที่แตกต่างกันเราอาจได้ระเบิดที่ใหญ่ขึ้นn 2 nnn2n

ที่กล่าวว่าฉันไม่สามารถหาวิธีสร้างตระกูลของแกรมม่าที่หุ่นยนต์ LR (1) มีขนาดใหญ่กว่ายานยนต์ LR (0) ที่สอดคล้องกันอย่างมีนัยสำคัญ ทุกสิ่งที่ฉันพยายามทำให้มีขนาดเพิ่มขึ้นเล็กน้อย (ปกติประมาณ 2-4 เท่า) แต่ฉันไม่สามารถหารูปแบบที่นำไปสู่การระเบิดขนาดใหญ่ได้

มีครอบครัวที่รู้จักกันของไวยากรณ์ที่ไม่มีบริบทซึ่งมี LR (1) ออโตมาต้ามีขนาดใหญ่กว่าออโตมาตา LR (0) ที่เท่ากันหรือไม่? หรือเป็นที่ทราบกันว่าในกรณีที่เลวร้ายที่สุดคุณจะไม่ได้รับการระเบิดแบบทวีคูณจริง ๆ ?

ขอบคุณ!


ปัญหาเช่นนี้บางครั้งคล้อยตามการทดสอบเชิงประจักษ์ คุณจะคิดอย่างไรกับอินสแตนซ์ของแต่ละบุคคลที่สร้างแบบสุ่มว่า (ถูกเลือกให้) แสดงการระเบิด มีรูปแบบในคำถามประเภทนี้ที่กองกำลัง "ดูสุ่ม" แสดงความซับซ้อน "ที่สุด" ...
vzn

2
กรณีที่เลวร้ายที่สุดมักพบได้ยากโดยการสุ่มตัวอย่างอย่างน้อยที่สุดถ้ากรณีเฉลี่ยดีกว่าอย่างมีนัยสำคัญ
กราฟิลส์

ป.ล. มันจะเป็นประโยชน์ถ้าคุณรวมตัวอย่างของกรณีการระเบิด 2x-4x บางที่ไม่ได้โพสต์ใน ...
vzn

ความคิด / นำไปสู่: การเรียงสับเปลี่ยน LR (cstheory.se)
vzn

LALR (1) ถูกนำเสนอโดยทั่วไปว่าเป็นวิธีที่จะเข้าใกล้พลัง LR (1) อย่างเพียงพอที่จะเป็นประโยชน์กับสถานะที่น้อยลง (เพื่อใช้คำของหนังสือมังกร) ฉันสงสัยว่าปัจจัยเพียง 2 ถึง 4 จะเพียงพอที่จะยกเลิก LR (1) เป็นสิ่งต้องห้ามหรือไม่จนกว่าการประดิษฐ์ LALR (1) ถ้าฉันคิดเกี่ยวกับมันเมื่อพวกเขาสามารถเข้าถึงได้ฉันจะดูใน Aho & Ullman ทฤษฎีของการแยกวิเคราะห์แปลและรวบรวมและใน Grune Parsing Techniquesหากพวกเขามีบางอย่างเกี่ยวกับตัวเลข
AProgrammer

คำตอบ:


2

ไวยากรณ์

ST0TnaTn+1TnbTn+1TnbTn+1tnTNtN

มีสถานะ LR (0) ขยายเป็นในออโตมาตา LR (1) เนื่องจากพาร์ทิชันทั้งหมดของเป็นไปได้ - หัวซึ่งปรากฏในบริบทที่แตกต่างกัน จำนวนของรัฐใน LR (0) หุ่นยนต์บนมืออื่น ๆ ที่เป็นเส้นตรงในระยะเวลาของNดังนั้นปัจจัยการขยายตัวของคำสั่งของ2 N / Nเป็นไปได้

TNtN˙
{ t 0t N - 1 } N2N{t0tN1}N2N/N

แก้ไข: ฉันจะต้องตรวจสอบในภายหลังเมื่อฉันมีเวลามากขึ้นฉันคิดว่าการเพิ่มจะให้ปัจจัยแทนในเกือบทุกรัฐ LR (0) TNT0ส่งผลให้เกิดความขัดแย้งลดกะ


0

ขอบเขตที่ต่ำกว่าเช่นนี้บางครั้งก็ยากที่จะสร้างและอาจทำให้เกิดทฤษฎี CS ที่ลึกกว่า (เช่นในกรณีที่มีการแยกชั้นความซับซ้อน) บทความนี้ดูเหมือนจะให้การก่อสร้างเชิงทฤษฎี / ขอบเขตที่คุณต้องการเช่นในทฤษฎีบทที่ 5 ซึ่งทำให้ขอบเขตที่ต่ำกว่าของสัญลักษณ์ทั้งหมดและดังนั้นจึงยังระบุ การอ้างอิงยังรวมถึงการก่อสร้างอื่น ๆ ที่คล้ายกัน / ขอบเขตที่ต่ำกว่า

(n,k)=214(n-k)/n2k=0,1;...,n-1Lnn3(n,k)(n,k)

ขนาดของตัวแยกวิเคราะห์และ LR (k) -grammars / Leunga, Wotschkeb


2(n-1)/4/n22n/4/n2ถูกผูกไว้กับขนาดของหุ่นยนต์ LR (0) สำหรับภาษานั้น ดังนั้นคำตอบนี้ไม่ตอบคำถามที่ถาม
DW

1.1892

DW คิดว่าการคัดค้านของคุณนั้นถูกต้องตามกฎหมาย ขอบคุณมากสำหรับการชี้แจง / รายละเอียด มันเป็นคำตอบทางวิทยาศาสตร์ที่เกี่ยวข้อง / เกือบจะตรงกับ / การศึกษาอย่างเป็นระบบของคำถามของเขาซึ่งเป็นหลักเกี่ยวกับการสร้างภาษากรณีที่เลวร้ายที่สุด (s) / ระเบิดใน LR (n) เป็นไปได้เหล่านี้ (เกือบ?) "ผลลัพธ์ที่รู้จักกันดี" ในพื้นที่ คำตอบที่ถูกต้องสำหรับคำถามอาจเป็นลบหรือที่รู้จักว่าไม่มีผลลัพธ์ที่ดีกว่าคำถามที่พบโดยผู้ถาม (เขายังไม่ได้แสดงจริงๆ ) หรือในวรรณคดี รออย่างใจจดใจจ่อรอคำตอบใด ๆเพิ่มเติมตัวเอง!
vzn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.