คำถามติดแท็ก pushdown-automata

คำถามเกี่ยวกับสถานะเครื่องที่มีสแต็กเดียวสำหรับหน่วยความจำ พวกเขากำหนดลักษณะของคลาสของภาษาที่ไม่มีบริบท

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

2
มีภาษาที่ไม่มีบริบทที่คลุมเครือและไม่แน่นอนหรือไม่
ให้เราเรียกใช้ภาษาที่ไม่มีบริบทถ้าหากมันสามารถได้รับการยอมรับจากหุ่นยนต์แบบกดลงที่กำหนดได้และเป็นอย่างอื่น ให้เราเรียกภาษาที่ปราศจากบริบทโดยเนื้อแท้ถ้าหากไวยากรณ์ไวยากรณ์ที่ไม่ใช้บริบททั้งหมดที่สร้างภาษานั้นคลุมเครือและไม่คลุมเครือเป็นอย่างอื่น ตัวอย่างของภาษาที่กำหนดขึ้นมาอย่างไม่แน่นอนคือภาษา: ตัวอย่างของภาษา nondeterministic ไม่กำกวมคือภาษา: { w ∈ { a , b } ∗ | w = w R }{ anขn∈ { a , b }* * * *| n≥0}{anbn∈{a,b}∗|n≥0}\{a^{n}b^{n} \in \{a, b\}^{*} | n \ge 0\}{w∈{a,b}∗|w=wR}{w∈{a,b}∗|w=wR}\{w \in \{a, b\}^{*} | w = w^{R}\} จากวิกิพีเดียตัวอย่างของภาษาที่ไม่มีบริบทที่คลุมเครือโดยเนื้อแท้คือการรวมกันของภาษาที่ไม่ใช้บริบทต่อไปนี้ซึ่งจะต้องปราศจากบริบท: L={anbmcmdn∈{a,b,c,d}∗|n,m≥0}∪{anbncmdm∈{a,b,c,d}∗|n,m≥0}L={anbmcmdn∈{a,b,c,d}∗|n,m≥0}∪{anbncmdm∈{a,b,c,d}∗|n,m≥0}L = \{a^{n}b^{m}c^{m}d^{n} \in …

3
ภาษาของคู่ของคำที่มีความยาวเท่ากันซึ่งระยะการแฮ็มเป็น 2 หรือมากกว่านั้นโดยไม่มีบริบทหรือไม่
บริบทภาษาต่อไปนี้ฟรีหรือไม่ L={uxvy∣u,v,x,y∈{0,1}+,|u|=|v|,u≠v,|x|=|y|,x≠y}L={uxvy∣u,v,x,y∈{0,1}+,|u|=|v|,u≠v,|x|=|y|,x≠y}L = \{ uxvy \mid u,v,x,y \in \{ 0,1 \}^+, |u| = |v|, u \neq v, |x| = |y|, x \neq y\} ตามที่อธิบายไว้โดย sdcvvc คำในภาษานี้ยังสามารถอธิบายได้ว่าเป็นการรวมกันของคำสองคำที่มีความยาวเท่ากันในระยะการเชื่อมต่อที่มีค่าเท่ากับ 2 หรือมากกว่า ฉันคิดว่ามันไม่ใช่บริบท แต่ฉันมีเวลาพิสูจน์ยาก ฉันพยายามตัดภาษานี้ด้วยภาษาปกติ (เช่น เป็นต้น) จากนั้นให้ใช้บทแทรกและบทหรือ \ ลง. 0∗1∗0∗1∗ 0∗1∗0∗1∗ \ 0^*1^*0^*1^*

1
ตัดสินใจว่าจะยอมรับภาษาที่ไม่มีบริบทได้หรือไม่
ด้วยไวยากรณ์ G ที่ไม่มีบริบทมี Nondeterministic Pushdown Automaton N ที่ยอมรับภาษาที่ G ยอมรับ (และในทางกลับกันวีซ่า) นอกจากนี้ยังอาจมีการกำหนด Automated D แบบกำหนดลงที่ยอมรับภาษาที่ G ยอมรับเช่นกัน มันขึ้นอยู่กับไวยากรณ์ อัลกอริธึมเกี่ยวกับการผลิตของ G เราสามารถตัดสินได้ว่า D มีอยู่จริงหรือไม่?

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

1
สร้าง PDA สำหรับส่วนเสริมของ
ผมสงสัยว่าถ้าเป็นไปได้แม้ตั้งแต่ L ดังนั้น PDA ที่สามารถแยกความแตกต่างของคำw ∈ { a n b n c n ∣ n ≥ 0 }จากส่วนที่เหลือของ{ a ∗ b ∗ c ∗ }อาจยอมรับเช่นกันซึ่งฟังดูขัดแย้งกับฉัน{anbncn∣n≥0}∉CFL{anbncn∣n≥0}∉CFL\{a^n b^n c^n \mid n \geq 0\} \not\in \mathrm{CFL}w∈{anbncn∣n≥0}w∈{anbncn∣n≥0}w\in\{a^n b^n c^n \mid n \geq 0\}{a∗b∗c∗}{a∗b∗c∗}\{a^*b^*c^*\} ฉันเดาว่าฉันต้องใช้ประโยชน์จากธรรมชาติที่ไม่ได้กำหนดไว้ของพีดีเอ แต่ฉันไม่ได้คิดอะไรเลย หากคุณสามารถให้คำแนะนำฉันจะขอบคุณมันมาก

4
กดปุ่ม Automatons“ เดา” - นั่นหมายความว่าอย่างไร
ฉันรู้ว่าออโตเมต้าที่ไม่สามารถกำหนดค่าได้สามารถปรับปรุงให้ดีขึ้นกว่าที่กำหนดได้เนื่องจากพวกเขาสามารถ "เลือก" ในหลาย ๆ รัฐและมีภาษาที่ไม่มีบริบทซึ่งไม่สามารถยอมรับได้โดยการกดลงที่กำหนดขึ้นมา แต่ฉันก็ยังไม่เข้าใจวิธีการที่พวกเขา "เลือก" สำหรับ Palindormes เช่นทุกแหล่งที่ฉันพบเพียงว่าหุ่นยนต์ "เดา" ตรงกลางของคำ นั่นหมายความว่าอย่างไร? ฉันสามารถคิดถึงความหมายที่เป็นไปได้หลายประการ: มันจะเข้าสู่สถานะหนึ่งโดยการสุ่มดังนั้นจึงอาจไม่ยอมรับคำศัพท์ซึ่งจริงๆแล้วเป็นภาษา "ไปได้ทุกทาง" ดังนั้นถ้าคนแรกผิดก็ทำการทดสอบว่าอีกคนหนึ่งอาจถูก มีกลไกบางอย่างที่ฉันไม่ทราบซึ่งเลือกตรงกลางของคำและดังนั้นจึงไม่ใช่แบบสุ่ม แต่หุ่นยนต์จะค้นหาจุดกึ่งกลางที่ถูกต้องเสมอ นี่เป็นเพียงตัวอย่างเท่านั้น สิ่งที่ฉันอยากรู้ก็คือมันทำงานอย่างไรสำหรับหุ่นยนต์ที่มีสถานะต่อไปนี้หลายสถานะสำหรับสถานะหนึ่งและสถานะเดียวกันก่อนหน้านี้

1
การคำนวณจุดตัดของสอง NPDA ที่เป็นไปได้
Apropois ถึงข้อเสนอแนะของ Raphael เกี่ยวกับจุดตัดของ NPDA สองแห่ง : ให้และA 2 NPDA สำหรับภาษาที่ไม่มีบริบทL 1และL 2ตามลำดับ สมมติว่าเรารู้ว่าL = L 1 ∩ L 2ไม่มีบริบทเราสามารถสร้าง NPDA AสำหรับL ได้หรือไม่?A1A1A_1A2A2A_2L1L1L_1L2L2L_2L=L1∩L2L=L1∩L2L = L_1 \cap L_2AAALLL อัลกอริทึมชนิดใดก็ได้จะยอมรับได้ แต่ยิ่งใช้งานได้ดีเท่าไร

2
ภาษาของนิพจน์ทั่วไปต้องการการกดออโต้ลงเพื่อแยกวิเคราะห์หรือไม่
ฉันต้องการแปลงผู้ใช้ที่ป้อนนิพจน์ทั่วไปให้เป็น NFA เพื่อที่ฉันจะสามารถเรียกใช้ NFA กับสตริงสำหรับวัตถุประสงค์ในการจับคู่ เครื่องจักรขั้นต่ำที่สามารถใช้ในการแยกวิเคราะห์นิพจน์ปกติคืออะไร ฉันคิดว่ามันจะต้องเป็นแบบกดลงอัตโนมัติเพราะ presense ของวงเล็บหมายถึงความจำเป็นในการนับและ DFA / NFA ไม่สามารถทำการนับโดยพล สมมติฐานนี้ถูกต้องหรือไม่ ตัวอย่างเช่นนิพจน์ a (bc *) d อาจต้องการ PDA เพื่อให้การจัดการนิพจน์ย่อยในวงเล็บถูกต้อง

1
การแยกประเภทการปรับแต่ง
ที่ทำงานฉันได้รับมอบหมายให้อนุมานข้อมูลบางประเภทเกี่ยวกับภาษาแบบไดนามิก ฉันเขียนลำดับของข้อความไปยังletนิพจน์ที่ซ้อนกันเช่น: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T; Z } else { F; Z } เนื่องจากฉันเริ่มต้นจากข้อมูลประเภททั่วไปและพยายามอนุมานประเภทที่เฉพาะเจาะจงมากขึ้นตัวเลือกที่เป็นธรรมชาติคือประเภทการปรับแต่ง ตัวอย่างเช่นตัวดำเนินการตามเงื่อนไขส่งคืนการรวมของประเภทของสาขาที่เป็นจริงและเท็จ …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

1
จะพิสูจน์ได้อย่างไรว่า lo-loops ไม่จำเป็นใน PDAs
ในบริบทของการตรวจสอบheap ออโตมาตาฉันต้องการพิสูจน์ว่าตัวแปรเฉพาะไม่สามารถยอมรับภาษาที่ไม่คำนึงถึงบริบท เนื่องจากเราไม่มีรูปแบบของไวยากรณ์ที่เทียบเท่ากันฉันต้องการหลักฐานที่ใช้เฉพาะออโตมาตะ ดังนั้นฉันต้องแสดงให้เห็นว่าฮีปออโตมาตาสามารถจำลองโดยLBA s (หรือโมเดลที่เทียบเท่า) ฉันคาดหวังว่าการพิสูจน์จะทำงานคล้ายกับการแสดงออโตมาตาแบบกดลงที่ยอมรับภาษาย่อยที่มีความอ่อนไหวตามบริบท อย่างไรก็ตามหลักฐานทั้งหมดที่ฉันรู้ว่าทำงานโดย ใช้ไวยากรณ์ - นี่คือความจริงที่เห็นได้ชัดโดยนิยาม - หรือ ไม่คลุมเครือ (เช่นที่นี่ ) ปัญหาของฉันคือ PDA (resp. HA) สามารถมีรอบของ -transitions ที่อาจเขียนสัญลักษณ์ลงใน stack (resp. heap) LBA ไม่สามารถจำลองการวนซ้ำโดยพลการของลูปดังกล่าวได้ จากลำดับชั้นของชัมสกีที่ได้มาด้วยไวยากรณ์เรารู้ว่าεε\varepsilon ทุกภาษาที่ไม่มีบริบทมี - PDA ฟรีหรือεε\varepsilon LBA ที่จำลองขึ้นมาสามารถป้องกันการวนซ้ำ -ca บ่อยเกินไปεε\varepsilon โดยสังเขปนี่เป็นสิ่งที่ชัดเจน: วงจรดังกล่าวเขียนสัญลักษณ์อย่างอิสระจากอินพุตดังนั้นเนื้อหาสแต็ก (ฮีป) จะเก็บข้อมูลเป็นเส้นตรงตามความยาวของรอบเท่านั้น นอกจากนี้คุณยังไม่ได้มีวิธีการกำจัดสิ่งใหม่อีกครั้ง (ถ้าคุณต้องการ) อื่น ๆ อีกกว่าการใช้ -cycle ในสาระสำคัญรอบดังกล่าวไม่ได้มีส่วนร่วมในการจัดการกับอินพุตถ้าทำซ้ำหลาย ๆ ครั้งดังนั้นพวกเขาจึงไม่จำเป็นεε\varepsilon …

1
การไม่กำหนดในเครื่องทัวริงที่ไม่ได้มีการกำหนดค่าแตกต่างจากเครื่องออโต้ จำกัด และการกดออโตมาต้าหรือไม่?
ให้รับสายป้อนเป็น W1W2. . .Wnw1w2...wnw_1w_2...w_n. จากนั้นหาก NFA อยู่ในสถานะปัจจุบันRrr (และอ่านตัวอักษรได้ไม่เกินตัว Wผมwiw_i ) จากนั้นก่อนที่จะอ่านสัญลักษณ์อินพุตถัดไป NFA จะแยกเป็นสอง NFA หนึ่งอันอยู่ในสถานะ Rrr และสิ่งมีชีวิตอื่น ๆ sssหากมีการเปลี่ยนประเภท R→εsr→ϵsr \xrightarrow{\epsilon} s. หากมีรอบประเภทR→εs→εQ1. . . .→εQk→εRr→ϵs→ϵq1....→ϵqk→ϵrr \xrightarrow{\epsilon} s \xrightarrow{\epsilon} q_1....\xrightarrow{\epsilon} q_k \xrightarrow{\epsilon} rที่ไหน Qผมqiq_i คือบางสถานะของ NFA ดังนั้นจึงไม่มีประโยชน์ในการจดจำ NFA อื่นในสถานะ Rrr จนถึงจุดที่อินพุตถูกอ่านจนถึงตัวอักษร Wผมwiw_i. หาก PDA (ไม่กำหนดค่า) อยู่ในสถานะRrr (และอินพุตจะอ่านจนถึง Wผมwiw_i ) และมีวงจรอยู่ …

1
แปลง CFG เป็น PDA
มีชุดของกฎหรือวิธีการใด ๆ ในการแปลงไวยากรณ์อิสระให้เป็นออโตมาต้าหรือไม่ ฉันพบสไลด์ออนไลน์แล้วแต่ไม่สามารถเข้าใจได้ ในสไลด์ที่ 10 เขาพูดถึงกฎบางอย่างที่ทุกคนสามารถอธิบายได้หรือไม่

3
หากไม่มีบริบทและเป็นปกติดังนั้นจะไม่มีบริบทหรือไม่
ฉันกำลังติดการแก้แบบฝึกหัดถัดไป: ยืนยันว่าหากคือบริบทฟรีและเป็นปกติแล้ว (เช่นความฉลาดทางขวา ) ไม่มีบริบทLLLRRRL/R={w∣∃x∈Rs.twx∈L}L/R={w∣∃x∈Rs.twx∈L}L / R = \{ w \mid \exists x \in R \;\text{s.t}\; wx \in L\} ฉันรู้ว่ามีควรมีอยู่ PDA ที่ยอมรับและ DFA ที่ยอมรับRตอนนี้ฉันกำลังพยายามรวมออโตมาตะเหล่านี้เข้ากับพีดีเอที่ยอมรับความฉลาดทางขวา ถ้าฉันสามารถสร้างสิ่งที่ฉันพิสูจน์ได้ว่านั้นปราศจากบริบท แต่ฉันกำลังสร้าง PDA นี้อยู่LLLRRRL/RL/RL/R นี่คือสิ่งที่ฉันทำ: ใน PDA ที่รวมสถานะเป็นผลิตภัณฑ์คาร์ทีเซียนของสถานะของออโตมาตาแยก และขอบเป็นขอบของ DFA แต่จะมีเพียงอันเดียวเท่านั้นซึ่งในอนาคตสถานะสุดท้ายของ PDA ดั้งเดิม L สามารถเข้าถึงได้ แต่ไม่รู้จะเขียนมันอย่างไรอย่างเป็นทางการ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.