คำถามติดแท็ก context-free

คำถามเกี่ยวกับชุดของภาษา (เทียบเท่า) อธิบายโดยไวยากรณ์ที่ไม่มีบริบทหรือยอมรับโดยออโตมาดาวน์

2
Decidablity ภาษา Grammars และ Automata
หมายเหตุนี่เป็นคำถามที่เกี่ยวข้องกับการเรียนในหลักสูตร CS ที่มหาวิทยาลัยไม่ใช่การบ้านและอยู่ที่นี่ภายใต้การสอบ Fall 2011 นี่คือคำถามสองข้อที่ฉันดูจากการสอบที่ผ่านมา พวกเขาดูเหมือนจะเกี่ยวข้องกันคนแรก: ปล่อย FINITECFG={&lt;G&gt;∣G is a Context Free Grammar with |L(G)|&lt;∞}FINITECFG={&lt;G&gt;∣G is a Context Free Grammar with |L(G)|&lt;∞}\qquad \mathrm{FINITE}_{\mathrm{CFG}} = \{ < \! G \! > \mid G \text{ is a Context Free Grammar with } |\mathcal{L}(G)|<\infty \} พิสูจน์ว่าเป็นภาษาที่ใช้งานได้ FINITECFGFINITECFG\mathrm{FINITE}_{\mathrm{CFG}} และ... ปล่อย FINITETM={&lt;M&gt;∣M is a …

1
แยกบริบทด้วยภาษาปกติ
จุดตัดของบริบทภาษาอิสระ L กับภาษา M ทั่วไปกล่าวกันว่าเป็นบริบทฟรีเสมอ ฉันเข้าใจหลักฐานการก่อสร้างข้ามผลิตภัณฑ์ แต่ฉันก็ยังไม่เข้าใจว่าทำไมจึงไม่มีบริบท แต่ไม่ใช่ปกติ ภาษาที่สร้างขึ้นโดยทางแยกดังกล่าวมีสตริงที่ยอมรับได้ทั้งจาก PDA และ DFA เนื่องจาก DFA ได้รับการยอมรับจึงไม่ควรเป็นภาษาปกติ นอกจากนี้หากจุดตัดเป็นปกติก็ยังหมายถึงบริบทฟรีเนื่องจากภาษาปกติทั้งหมดยังไม่มีบริบท ใครสามารถอธิบายให้ฉันฟังได้ว่าทำไมภาษาที่ได้จากการแยกดังกล่าวไม่ปกติ


2
เป็นส่วนประกอบของ {ww | …} ไม่มีบริบทใช่ไหม
กำหนดภาษาเป็นL = { , ข} * - { W W | W ∈ { , ข} * } กล่าวอีกนัยหนึ่งLมีคำที่ไม่สามารถแสดงออกมาเป็นคำบางคำซ้ำสองครั้ง คือLบริบทฟรีหรือไม่?LLLL = { a , b }* * * *- { w w ∣ w ∈ { a , b }* * * *}L={a,b}∗−{ww∣w∈{a,b}∗}L = \{a, b\}^* - \{ww\mid w \in …

2
ก่อนและหลังมีการตั้งค่าสำหรับไวยากรณ์ที่ไม่มีบริบทหรือไม่
ให้GGGเป็นไวยากรณ์ที่ไม่มีบริบท สตริงของอาคารและ nonterminals ของGGGบอกว่าจะเป็นรูปแบบ sententialของGGGถ้าคุณสามารถรับมันได้โดยการใช้โปรดักชั่นของGGGศูนย์ครั้งหรือมากกว่าที่จะเป็นสัญลักษณ์ของการเริ่มต้นของSSSSให้SF(G)SF⁡(G)\operatorname{SF}(G)เป็นชุดของรูปแบบ sentential ของGGGG ให้α∈SF(G)α∈SF⁡(G)\alpha \in \operatorname{SF}(G)และปล่อยให้ββ\betaเป็นย่อยของαα\alpha - เราเรียกส่วนของเอสเอฟ( G ) ตอนนี้ให้ββ\betaSF(G)SF⁡(G)\operatorname{SF}(G) Before(β)={γ | ∃δ.γβδ∈SF(G)}Before⁡(β)={γ | ∃δ.γβδ∈SF⁡(G)}\operatorname{Before}(\beta) = \{ \gamma \ |\ \exists \delta . \gamma \beta \delta \in \operatorname{SF}(G) \} และ After(β)={δ | ∃γ.γβδ∈SF(G)}After⁡(β)={δ | ∃γ.γβδ∈SF⁡(G)}\operatorname{After}(\beta) = \{ \delta \ |\ \exists \gamma . \gamma \beta …

3
คุณจะได้อะไรถ้าคุณเพิ่มพารามิเตอร์ลงในไวยากรณ์ฟรีตามบริบท
ฉันคิดถึงไวยากรณ์สำหรับภาษาที่มีความอ่อนไหวและดูเหมือนว่าไวยากรณ์กรัมจะทำเคล็ดลับถ้ารวมกับพารามิเตอร์ ลองพิจารณาตัวอย่างนี้สำหรับไวยากรณ์ Python ที่ง่ายขึ้นในรูปแบบ ANTLR: // on top-level the statements have empty indent program : statement('')+ ; // let's consider only one compound statement and one simple statement for now statement(indent) : ifStatement(indent) | passStatement(indent) ; passStatement(indent) : indent 'pass' NEWLINE ; // statements under if must have current indent …

5
การไม่ใช้ความไม่แตกต่างจากระดับคืออะไร?
ฉันพยายามที่จะเข้าใจสิ่งที่มีความหมายโดย "deterministic" ในการแสดงออกเช่น "ไวยากรณ์บริบทที่ปราศจากการกำหนด" (มี "สิ่ง" ที่กำหนดขึ้นได้ในฟิลด์นี้) ฉันขอขอบคุณตัวอย่างมากกว่าคำอธิบายที่ซับซ้อนที่สุด! ถ้าเป็นไปได้. ความสับสนหลักของฉันมาจากการที่ไม่สามารถบอกได้ว่าคุณสมบัติของไวยากรณ์นี้แตกต่างจากความกำกวม (ไม่ใช่ -) อย่างไร ที่ใกล้เคียงที่สุดที่ฉันจะต้องค้นหาสิ่งที่มันหมายถึงเป็นคำพูดจากกระดาษโดย D. Knuth ในการแปลภาษาจากซ้ายไปขวา : Ginsburg และ Greibach (1965) ได้กำหนดแนวความคิดของภาษาที่กำหนดขึ้นมา เราแสดงในหมวดที่ 5 ว่าภาษาเหล่านี้เป็นภาษาที่มีไวยากรณ์ LR (k) อยู่จริง ซึ่งกลายเป็นวงกลมทันทีที่คุณไปถึงที่Section Vนั่นเพราะมันบอกว่าสิ่งที่ตัวแยกวิเคราะห์ LR (k) สามารถแยกวิเคราะห์เป็นภาษาที่กำหนดขึ้น ... ด้านล่างเป็นตัวอย่างที่ฉันสามารถค้นหาเพื่อช่วยให้ฉันเข้าใจความหมาย "คลุมเครือ" โปรดดู: onewartwoearewe ซึ่งสามารถแยกวิเคราะห์เป็นone war two ear eweหรือo new art woe are we- ถ้าไวยากรณ์อนุญาตให้ …

1
มีบริบทที่ไม่ใช่ภาษาที่ไม่ใช่ภาษาปกติ
ฉันรู้ว่ามีภาษาที่ไม่ปกติเพื่อให้เป็นปกติ แต่ตัวอย่างทั้งหมดที่ฉันสามารถค้นหานั้นมีความอ่อนไหวต่อบริบท แต่ไม่ใช่บริบทที่ฟรีL* * * *L∗L^* ในกรณีที่ไม่มีคุณจะพิสูจน์ได้อย่างไร

2
การลบการเรียกซ้ำซ้ายในไวยากรณ์ขณะที่ยังคงความสัมพันธ์ด้านซ้ายของโอเปอเรเตอร์
ฉันมีปัญหากับแบบฝึกหัดนี้: ให้ G เป็นไวยากรณ์ที่ไม่ชัดเจนต่อไปนี้สำหรับ calcul-แคลคูลัส: E → v | λv.E | EE | (E) โดยที่ E คือสัญลักษณ์ที่ไม่ใช่ขั้วเดี่ยวλv.Eแสดงถึงนามธรรม abtraction wrt ตัวแปร v ใน E และ EE แทนแอ็พพลิเคชัน กำหนดไวยากรณ์LL (1) G ′เช่น L (G′) = L (G) และความคลุมเครือของ G ได้รับการแก้ไขโดยกำหนดอนุสัญญาตามปกติดังต่อไปนี้: สิ่งที่เป็นนามธรรมคือการเชื่อมโยงที่ถูกต้อง แอปพลิเคชันนั้นเชื่อมโยงกันอยู่ แอปพลิเคชันมีลำดับความสำคัญสูงกว่านามธรรม แสดง LL (1) การแยกโต๊ะ G λv1. λv2. v1v2v1และต้นไม้แยกที่ได้รับเมื่อแยกสตริง ฉันตัดความกำกวมของการตั้งค่าความสำคัญและการเชื่อมโยงเพื่อให้ได้ไวยากรณ์นี้: …

3
ความสำคัญของรูปแบบปกติเช่น Chomsky รูปแบบปกติสำหรับ CFG
ฉันเข้าใจว่าสามารถใช้ไวยากรณ์แบบไม่มีบริบทเพื่อแสดงภาษาที่ไม่มีบริบทได้ซึ่งอาจมีความคลุมเครือ เรายังมีรูปแบบปกติเช่นChomskyและGreibachรูปแบบปกติ ฉันไม่เข้าใจความต้องการของสิ่งนั้น ทำไมพวกเขาถึงมีความสำคัญในทฤษฎีภาษา? หนังสือทุกเล่มที่ฉันพูดถึงเกี่ยวกับรูปแบบปกติเหล่านี้ แต่ไม่ได้บอกอะไรเกี่ยวกับความสำคัญของพวกเขา

2
ภาษาทั้งหมดที่ไม่มีบริบทและภาษาปกติสามารถตัดสินใจได้อย่างมีประสิทธิภาพหรือไม่
ฉันเจอตัวเลขนี้ซึ่งแสดงว่าภาษาที่ไม่มีบริบทและภาษาปกติเป็นเซตย่อยของปัญหาที่มีประสิทธิภาพ (สมมุติว่า ) ฉันเข้าใจอย่างถ่องแท้ว่าปัญหาที่มีประสิทธิภาพเป็นส่วนย่อยของปัญหาที่ตัดสินใจได้ทั้งหมดเพราะเราสามารถแก้ปัญหาได้ แต่อาจใช้เวลานานมากPP\mathrm{P} ทำไมทุกบริบทฟรีและปกติภาษา decidable ได้อย่างมีประสิทธิภาพ? มันหมายถึงการแก้ปัญหาพวกเขาจะไม่ใช้เวลานาน (ฉันหมายถึงเรารู้โดยไม่มีบริบท)

2
ตัวอย่างของภาษาที่ไม่มีบริบทพร้อมกับการเติมที่ไม่มีบริบท
ภาษาที่ไม่มีบริบทจะไม่ถูกปิดภายใต้การเสริม ในการบรรยายเราได้รับอาร์กิวเมนต์เดียวกันกับที่นี่ใน Wikipedia : สำหรับ A = { anขnคม.; m , n ∈ N 0}และB = { aม.ขnคn; m , n ∈ N 0} ,A={anbncm; m,n∈ℕ0}andB={ambncn; m,n∈ℕ0},A = \{\mathtt a^n \mathtt b^n \mathtt c^m;~m, n ∈ ℕ_0\}\quad\text{and}\quad B = \{\mathtt a^m \mathtt b^n \mathtt c^n;~m, n ∈ ℕ_0\}, ทั้งAAAและBBBปราศจากบริบท แต่การแยกA …

2
การค้นหาภาษาที่สร้างโดยไวยากรณ์ที่ไม่มีบริบท
นี่คือคำถามจากหนังสือ Dragon (ฉันขอโทษสำหรับความผิดพลาดในการแปลฉันไม่ได้มีเวอร์ชันภาษาอังกฤษอยู่ในมือ): ไวยากรณ์นี้สร้างด้วยภาษาใด S→ a SขS∣ b SS∣ ϵS→aSขS|ขSaS|εS \rightarrow a S b S \mid b S a S \mid \epsilon ฉันไม่รู้ว่าฉันควรทำอะไรที่นี่ คำจำกัดความในหนังสือเกี่ยวกับภาษาบอกว่าสิ่งนี้ (และมันก็สวยมากในบท): ภาษาคือชุดของคำทั้งหมดที่สามารถสร้างได้โดยทรีการแยกวิเคราะห์ใด ๆ ดังนั้นหากฉันต้องการแยกทรี "ใด ๆ " ออกจากไวยากรณ์นี้ฉันสามารถสร้างมันซ้ำ ๆ โดยใช้กฏสองข้อแรก ฉันค้นหาเล็กน้อยและได้รับความประทับใจว่าต้องใช้กฎทุกครั้ง แต่ฉันไม่แน่ใจ มันจะมีประโยชน์มากถ้ามีคนสามารถให้คำแนะนำในการแก้ปัญหาต่าง ๆ เหล่านี้ได้

3
พิสูจน์ได้ง่ายสำหรับภาษาที่ไม่มีบริบทถูกปิดภายใต้การเปลี่ยนแปลงแบบวนรอบ
วงจรกะ (ที่เรียกว่าหมุนหรือผัน ) ของภาษาถูกกำหนดให้เป็น\} ตามวิกิพีเดีย (และที่นี่ ) ภาษาที่ไม่มีบริบทถูกปิดภายใต้การดำเนินการนี้โดยมีการอ้างอิงถึงเอกสารจาก Oshiba และจาก Maslov มีหลักฐานง่าย ๆ ของความจริงข้อนี้?{ y x ∣ x y ∈ L }LLL{yx∣xy∈L}{yx∣xy∈L}\{ yx \mid xy \in L \} สำหรับภาษาทั่วไปการปิดตัวจะถูกกล่าวถึงในแบบฟอร์มนี้เป็น " พิสูจน์ว่าภาษาปกติถูกปิดภายใต้ตัวดำเนินการรอบ "

1
การแยกประเภทการปรับแต่ง
ที่ทำงานฉันได้รับมอบหมายให้อนุมานข้อมูลบางประเภทเกี่ยวกับภาษาแบบไดนามิก ฉันเขียนลำดับของข้อความไปยังletนิพจน์ที่ซ้อนกันเช่น: return x; Z =&gt; x var x; Z =&gt; let x = undefined in Z x = y; Z =&gt; let x = y in Z if x then T else F; Z =&gt; 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 

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