คำถามติดแท็ก fl.formal-languages

ภาษาทางการ, ไวยากรณ์, ทฤษฎีออโตมาตะ

4
การนับคำที่ไวยากรณ์ทั่วไปยอมรับ
เมื่อพิจารณาจากภาษาปกติ (NFA, DFA, ไวยากรณ์หรือ regex) จะนับจำนวนคำที่ยอมรับในภาษาที่กำหนดได้อย่างไร ทั้ง "ด้วยตัวอักษร n ทั้งหมด" และ "ที่มีตัวอักษรไม่เกิน n ตัว" เป็นสิ่งที่น่าสนใจ Margareta Ackermanมีบทความสองเรื่องเกี่ยวกับการแจกแจงคำที่ NFA ยอมรับ แต่ฉันไม่สามารถแก้ไขให้นับได้อย่างมีประสิทธิภาพ ดูเหมือนว่าธรรมชาติของภาษาปกติที่ จำกัด ควรทำให้นับได้ง่าย - ฉันเกือบจะคาดหวังว่าสูตรมากกว่าอัลกอริทึม แต่การค้นหาของฉันจนถึงตอนนี้ยังไม่ปรากฏอะไรเลยดังนั้นฉันต้องใช้คำที่ไม่ถูกต้อง

3
มีส่วนขยายของนิพจน์ทั่วไปที่รวบรวมบริบทภาษาที่ไม่มีบริบทหรือไม่
ในเอกสารจำนวนมากที่เกี่ยวข้องกับไวยากรณ์ที่ไม่มีบริบท (CFGs) ตัวอย่างของไวยากรณ์ดังกล่าวที่นำเสนอที่นั่นมักจะยอมรับลักษณะของภาษาที่พวกเขาสร้างขึ้นได้ง่าย ตัวอย่างเช่น: S→aaSbS→aaSbS \to a a S b S→S→S \to สร้าง ,{a2ibi|i≥0}{a2ibi|i≥0}\{ a^{2i} b^i | i \geq 0\} S→aSbS→aSbS \to a S b S→aaSbS→aaSbS \to a a S b S→S→S \to สร้างและ{aibj∣i≥j≥0}{aibj∣i≥j≥0}\{ a^i b^j \mid i \geq j \geq 0 \} S→aSaS→aSaS \to a S a S→bSbS→bSbS \to …

5
กำลังกู้คืนป่าแยกวิเคราะห์จากตัวแยกวิเคราะห์ Earley หรือไม่
เมื่อไม่นานมานี้ฉันอ่านหนังสือบนตัวแยกวิเคราะห์ Earleyและคิดว่าเป็นหนึ่งในอัลกอริทึมที่หรูหราที่สุดที่ฉันเคยเห็นมา อย่างไรก็ตามอัลกอริทึมในความหมายดั้งเดิมของมันคือตัวจดจำและไม่ใช่ตัวแยกวิเคราะห์ซึ่งหมายความว่ามันสามารถตรวจจับได้ว่าสตริงนั้นตรงกับ CFG เฉพาะหรือไม่ แต่ไม่สร้างทรีสำหรับแยกวิเคราะห์ คำถามของฉันคือวิธีการกู้คืนไม่ใช่ทรีการแยกวิเคราะห์แต่เป็นการแยกวิเคราะห์ฟอเรสต์ของ parses ที่เป็นไปได้ทั้งหมดของสตริงอินพุตที่กำหนด ใน "เทคนิคการแยกวิเคราะห์: คู่มือการปฏิบัติ" ของกรุนและจาค็อบพวกเขาแสดงให้เห็นถึงอัลกอริธึมที่สามารถใช้ในการกู้คืนป่าแยกจากผลของ Earley Recognizer แต่มันขึ้นอยู่กับวิธีการแยกวิเคราะห์ของอังเกอร์ซึ่งรันไทม์ O (n k + 1 ) โดยที่ k คือความยาวของการผลิตที่ยาวที่สุดในไวยากรณ์ ซึ่งหมายความว่ารันไทม์ไม่ใช่พหุนามในขนาดของไวยากรณ์ ยิ่งกว่านั้นกระดาษต้นฉบับของ Earley บนอัลกอริทึมซึ่งแนะนำอัลกอริทึมสำหรับการกู้คืนการแยกวิเคราะห์ป่าไม่ถูกต้อง (ดูตัวอย่างหน้า 762 ของบทความนี้โดย Tomita) แม้ว่าหลาย ๆ แหล่งข้อมูลยังอ้างว่าเป็นวิธีที่เหมาะสมในการกู้คืนการแยกวิเคราะห์ . คำถามของฉันคือว่าเป็นไปได้ในเวลาพหุนามเพื่อกู้คืนการแยกวิเคราะห์ฟอเรสต์ที่กำหนด ฉันได้พบกระดาษที่นี่ที่ให้อัลกอริทึมสำหรับการผลิตการแยกวิเคราะห์ป่าขนาดลูกบาศก์สำหรับการแยกวิเคราะห์ใด ๆ โดยใช้การจำลองของ PDA ดังนั้นดูเหมือนว่ามันควรจะเป็นไปได้ แต่ฉันยังไม่พบวิธีที่จะทำเช่นนี้ เป็นการดีที่ฉันต้องการทำสิ่งนี้โดยไม่ต้องแปลงไวยากรณ์อินพุตเป็น CNF (ซึ่งแน่นอนจะแก้ปัญหา) เนื่องจากป่าแจงป่าผลลัพธ์ที่ได้จะยุ่งสวย ขอบคุณสำหรับความช่วยเหลือใด ๆ …

2
บริบทไวและไวยากรณ์ที่สำคัญ
1) อะไรคือสิ่งที่ถ้ามีความสัมพันธ์ระหว่างการพิมพ์แบบคงที่และไวยากรณ์อย่างเป็นทางการคืออะไร? 2) โดยเฉพาะอย่างยิ่งมันเป็นไปได้ไหมที่หุ่นยนต์ที่มีข้อ จำกัด เชิงเส้นเพื่อตรวจสอบว่าพูดว่าโปรแกรม C ++ หรือ SML นั้นพิมพ์ได้ดีหรือไม่? ออโตเมติกแบบซ้อนกัน? 3) มีวิธีธรรมชาติในการแสดงกฎการพิมพ์แบบคงที่ในแง่ไวยากรณ์ที่เป็นทางการ?


1
ภาษาที่รู้จักโดย DFA ขนาดพหุนาม
สำหรับตัวอักษรที่แน่นอนคงเป็นภาษาอย่างเป็นทางการLมากกว่าΣคือปกติถ้ามีอยู่กำหนดขอบเขตหุ่นยนต์ (DFA) มากกว่าΣซึ่งยอมรับว่าLΣΣ\SigmaLLLΣΣ\SigmaΣΣ\SigmaLLL ฉันสนใจในภาษาที่ "เกือบจะ" เป็นปกติในแง่ที่ว่าพวกเขาสามารถได้รับการยอมรับจากครอบครัวออโตมาตะที่มีขนาดที่โตขึ้นเฉพาะกับคำพหุนาม อย่างเป็นทางการให้ฉันบอกว่าเป็นภาษาที่เป็นทางการจะได้รับการยอมรับโดย DFA ครอบครัว( n )ถ้าทุกคำพูดW ∈ Σ *ให้n = | w | , Wอยู่ในL IFF nยอมรับW (ไม่ว่าถ้าคนอื่น ๆฉันยอมรับมันหรือไม่) และแจ้งให้เรากำหนดP-ปกติภาษาเป็นภาษารับการยอมรับจากPTIME-คำนวณครอบครัว DFA ( n )LLL (An)(An)(A_n)w∈Σ∗w∈Σ∗w \in \Sigma^*n=|w|n=|w|n = |w|wwwLLLAnAnA_nwwwAiAiA_i(An)(An)(A_n)ขนาดพหุนามคือมีความเป็นพหุนามดังกล่าวว่า| n | ≤ P ( n )สำหรับทุกn (ชื่อนี้คือ "p-regular" เป็นสิ่งที่ฉันสร้างขึ้นคำถามของฉันคือการรู้ว่ามีชื่ออื่นอยู่แล้วสำหรับเรื่องนี้โปรดทราบว่านี่ไม่ใช่ภาษา p-regular ในแง่ของการเปลี่ยนแปลงแบบอัตโนมัติ )PPP|An|≤P(n)|An|≤P(n)|A_n| \leq P(n)nnn ภาษา …

6
เทคนิคขั้นสูงสำหรับการกำหนดขอบเขตความซับซ้อนที่ต่ำกว่า
คุณบางคนอาจติดตามคำถามนี้ซึ่งถูกปิดเนื่องจากไม่ได้อยู่ในระดับการวิจัย ดังนั้นฉันจึงแยกส่วนของคำถามที่อยู่ในระดับการวิจัย นอกเหนือจากเทคนิค "เรียบง่าย" เช่นการลดการเรียงลำดับหรือปัญหาที่สมบูรณ์แบบ EXPTIME เทคนิคใดที่ใช้ในการพิสูจน์ขอบเขตที่ต่ำกว่าสำหรับความซับซ้อนของเวลาในปัญหา โดยเฉพาะอย่างยิ่ง: อะไรคือ "ทันสมัย" เทคนิคที่ได้รับการพัฒนาในทศวรรษที่ผ่านมา? สามารถใช้เทคนิคจากพีชคณิตนามธรรม, ประเภททฤษฎีหรือสาขาอื่นที่มักจะ "บริสุทธิ์" คณิตศาสตร์นำมาใช้? (ตัวอย่างเช่นผมมักจะได้ยินพูดถึงของ "โครงสร้างพีชคณิต" ของการเรียงลำดับโดยไม่มีคำอธิบายใด ๆ จริงของสิ่งที่นี้หมายถึง.) อะไรคือผลลัพธ์ที่สำคัญ แต่ไม่ค่อยมีคนรู้จักสำหรับความซับซ้อนที่ต่ำกว่าขอบเขต

1
สามารถแยกไวยากรณ์ที่ชัดเจนทั้งหมดในเวลาเชิงเส้นได้หรือไม่?
เมื่อทำการวิเคราะห์ด้วย LR แบบ noncanonical LR ฉันคิดวิธีการแยกวิเคราะห์ (ด้วยตารางที่มีขนาดไม่ จำกัด ซึ่งทำให้มันค่อนข้างไม่สามารถปฏิบัติได้) สามารถแยกไวยากรณ์ที่ชัดเจนในเวลาและฉันสงสัยว่ามันเป็นไปได้ไหมที่จะทำ ที่ดีกว่า:O(n2)O(n2)O(n^2) สามารถแยกไวยากรณ์ที่ชัดเจนทั้งหมดในเวลาเชิงเส้นได้หรือไม่? ฉันค่อนข้างแน่ใจว่าฉันได้อ่านที่ไหนสักแห่งว่าเป็นกรณีนี้ แต่มันไม่ได้เกิดขึ้นเมื่อค้นหาอินเทอร์เน็ต คำถามเดียวกันถูกถามที่นี่แต่ไม่มีคำตอบเท่าที่ฉันรู้

2
หมายเลขพาร์ติชันโปรโตคอลและความซับซ้อนของการสื่อสารที่กำหนดขึ้น
นอกจากนี้(กำหนด) การสื่อสารความซับซ้อน ของความสัมพันธ์อีกมาตรการพื้นฐานสำหรับจำนวนของการสื่อสารที่จำเป็นเป็นจำนวนพาร์ทิชันโปรโตคอล(R) ความสัมพันธ์ระหว่างสองมาตรการนี้เป็นที่ทราบกันดีถึงปัจจัยคงที่ เอกสารโดย Kushilevitz และ Nisan (1997) ให้R p p ( R )c c ( R )cc(R)cc(R)RRR p p ( R )pp(R)pp(R) คค( R ) / 3 ≤ บันทึก2( พีพี( R ) ) ≤ คค( R )cc(R)/3≤log2⁡(pp(R))≤cc(R).cc(R)/3 \le \log_2(pp(R)) \le cc(R). เกี่ยวกับความไม่เท่าเทียมกันที่สองมันเป็นเรื่องง่ายที่จะให้ (ครอบครัวไม่มีที่สิ้นสุดของ) ความสัมพันธ์กับ(R)log 2 ( p p …

3
ภาษาปกติจากมุมมองหมวดหมู่เชิงทฤษฎี
ฉันสังเกตเห็นว่าภาษาปกติของตัวอักษรสามารถคิดได้ว่าเป็น poset และเป็นขัดแตะ ยิ่งไปกว่านั้นการต่อข้อมูลร่วมกับภาษาที่ว่างเปล่ากำหนดโครงสร้าง monoidal ที่เข้มงวดในหมวดหมู่นี้ที่กระจายผ่านการรวม (ฉันไม่แน่ใจเกี่ยวกับการพบกัน) นี่เป็นโครงสร้างที่มีประโยชน์ในทางทฤษฎีหรือการปฏิบัติของภาษาปกติหรือไม่? มีส่วนเสริมที่ดีที่จะพบเช่นเราสามารถกำหนดดาว Kleene เป็นหนึ่งได้หรือไม่?ϵΣΣ\Sigmaεϵ\epsilon นี่เป็นสำเนาคำถามที่ถามในหลักสูตร Compilers ที่ Coursera: https://class.coursera.org/compilers/forum/thread?thread_th=311

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

1
จำนวนคำที่มีความยาว n ในภาษาที่ไม่มีบริบท
แสดงว่าโดยwnwnw_nจำนวนคำของความยาวnnnใน (อาจจะไม่ชัดเจน) ภาษาบริบทฟรี สิ่งที่เป็นที่รู้จักกันเกี่ยวกับwnwnw_n ? ฉันแน่ใจว่าสิ่งนี้ได้รับการศึกษามากมาย แต่ฉันไม่สามารถหาอะไรได้เลย

3
ความซับซ้อนของการแยกภาษาปกติเป็นไวยากรณ์ที่ไม่มีบริบท
ได้รับการแสดงออกปกติ , จะมีผู้ใดขอบเขตที่ไม่น่ารำคาญกับขนาดของไวยากรณ์บริบทที่เล็กที่สุดสำหรับR 1 ∩ ⋯ ∩ R n ?R1,…,RnR1,…,RnR_1, \dots, R_nR1∩⋯∩RnR1∩⋯∩RnR_1 \cap \cdots \cap R_n

5
ชั้นเรียนภาษาพิเศษ: ภาษา "วงกลม" มันเป็นที่รู้จักกัน?
กำหนดคลาสของภาษา "แบบวงกลม" ต่อไปนี้บนซิกม่าตัวอักษรที่ จำกัด จริงๆแล้วชื่อมีอยู่แล้วเพื่อแสดงถึงสิ่งที่แตกต่างที่ดูเหมือนว่าใช้ในด้านการคำนวณดีเอ็นเอ AFAICT นั่นเป็นคลาสภาษาอื่น ภาษา L นั้น IFF วงกลมสำหรับทุกคำWwwในΣ *Σ∗\Sigma^*เรามี: Wwwเป็น L และถ้าหากสำหรับทุกจำนวนเต็ม k > 0k>0k > 0 , W kwkw^kเป็นลิตร ภาษานี้เป็นที่รู้จักกันในระดับ? ฉันสนใจภาษาวงกลมซึ่งปกติและโดยเฉพาะอย่างยิ่งใน: ชื่อสำหรับพวกเขาหากพวกเขาเป็นที่รู้จักกันแล้ว decidability ของปัญหาให้อัตโนมัติ (โดยเฉพาะอย่างยิ่ง: DFA) ไม่ว่าจะเป็นภาษาที่ยอมรับได้ปฏิบัติตามคำนิยามข้างต้น

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.