Questions tagged «context-free»

关于语言集的问题(等效地)由上下文无关的语法描述或被(不确定性)下推自动机接受。

2
语法和自动机语言的可判定性
请注意,这是在一所大学的CS固然与研究的一个问题,这不是功课,可以发现这里在2011年秋季exam2。 这是我过去考试所关注的两个问题。它们似乎是相关的,第一个是: 让 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 Turing Machine with |L(M)|&lt;∞}FINITETM={&lt;M&gt;∣M is …

1
与普通语言的上下文自由交集
上下文无关语言L与常规语言M的交集被称为始终上下文无关。我了解跨产品构造的证明,但是我仍然不明白为什么它是上下文无关的但不是常规的。 由这种相交产生的语言具有PDA 和 DFA 都接受的字符串。由于DFA接受了该语言,因此它不应该是常规语言吗?另外,如果交集是规则的,则也意味着上下文无关,因为所有常规语言也是上下文无关的。 有人可以向我解释为什么通过这种交集获得的语言不规则吗?


2
与上下文无关的语法的前后集是否始终与上下文无关?
令GGG为上下文无关的语法。如果您可以通过将次数乘以零或多次到的开始符号上来获得的一串和的句子,则可以说它是一种句法形式。让是该组中的句型。摹摹GGGGGGGGGSSSSF(G)SF⁡(G)\operatorname{SF}(G)GGG 让,并让是的一个子 -我们称之为一个片段的。现在让α∈SF(G)α∈SF⁡(G)\alpha \in \operatorname{SF}(G)ββ\betaαα\alphaββ\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 \delta \in \operatorname{SF}(G) \}。 是和上下文无关语言?如果不含歧义怎么办?如果明确,是否也可以使用明确的上下文无关语言来描述和吗?Before(β)Before⁡(β)\operatorname{Before}(\beta)After(β)After⁡(β)\operatorname{After}(\beta)GGGGGGBefore(β)Before⁡(β)\operatorname{Before}(\beta)After(β)After⁡(β)\operatorname{After}(\beta) 这是一个后续到我先前的问题,后一个较早的尝试,使我的问题比较容易回答失败。否定的答案将使我正在研究的总体问题很难回答。

2
是{ww | ……}是否与上下文无关?
将语言定义为。换句话说,包含不能表示为重复两次的某个单词的单词。是否与上下文无关?LLLL={a,b}∗−{ww∣w∈{a,b}∗}L={a,b}∗−{ww∣w∈{a,b}∗}L = \{a, b\}^* - \{ww\mid w \in \{a, b\}^*\}LLLLLL 我试图将与相交,但是我仍然无法证明任何东西。我也看了帕里克定理,但这没有帮助。LLLa∗b∗a∗b∗a∗b∗a∗b∗a^*b^*a^*b^*

3
如果将参数添加到上下文无关文法中,将会得到什么?
我当时在考虑对倾向性敏感的语言的语法,如果将CF语法与参数结合使用,它似乎可以解决问题。例如,考虑以下片段,以类似于ANTLR的格式简化Python语法: // 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 plus 4 spaces ifStatement(indent) …

5
非不确定性与确定性有何不同?
我试图理解“确定性上下文无关语法”等表达中的“确定性”是什么意思。(在该字段中还有更多确定性的“事物”)。除了最详尽的解释之外,我将不胜感激一个例子!如果可能的话。 我困惑的主要根源在于无法分辨语法的这种性质与(非)歧义有何不同。 我最想找到的意思是D. Knuth 在论文《语言从左到右的翻译》中的这句话: Ginsburg和Greibach(1965)定义了确定性语言的概念。我们在第五节中表明,这些正是存在LR(k)语法的语言 一旦到达Section V,它就变成循环了,因为那里说LR(k)解析器可以解析的是确定性语言... 下面是一个示例,可以帮助我理解“歧义”的含义,请看一下: onewartwoearewe 可以将其解析为- one war two ear ewe或o new art woe are we-如果语法允许(例如,它列出了我刚刚列出的所有单词)。 我需要做些什么才能使示例语言具有不确定性?(例如,我可以o从语法中删除单词,以使语法不模糊)。 以上语言是确定性的吗? PS。这个例子来自《哥德尔,埃舍尔,巴赫:永恒的金辫子》一书。 假设我们为示例语言定义了语法,如下所示: S -&gt; A 'we' | A 'ewe' A -&gt; B | BA B -&gt; 'o' | 'new' | 'art' | 'woe' | 'are' | 'one' …


2
除去语法中的左递归,同时保持运算符的左关联
我对此练习有疑问: 令G为λ微积分的以下歧义语法: E → v | λv.E | EE | (E) 其中E是单个非终结符号,λv.E表示带有E中变量v的抽象,而EE表示应用。 定义LL(1)语法G',以使L(G')= L(G)并通过施加以下常用约定来解决G的歧义: 抽象是正确的关联; 申请保持关联; 应用程序具有比抽象更高的优先级。 显示G'的LL(1)解析表和解析字符串时获得的解析树λv1. λv2. v1v2v1。 我消除了歧义设置的优先级和关联,获得了以下语法: E -&gt; EF | F F -&gt; λv.G | G G -&gt; (E) | v 这不是LL(1),因为生产E -&gt; EF是递归的。但是,从该生产中消除左递归可以获得: E -&gt; FE¹ E¹-&gt; FE¹ | ɛ F -&gt; λv.G | …


2
是否可以有效确定所有无上下文和常规语言?
我碰到了该图,该图表明无上下文和常规语言是有效问题(假设为)的(适当)子集。我完全理解有效的问题是所有可确定问题的子集,因为我们可以解决它们,但可能需要很长时间。PP\mathrm{P} 为什么所有无上下文和常规语言都可以有效地确定?这是否意味着解决它们将不会花费很长的时间(我的意思是我们无需更多上下文即可知道)?

2
具有非上下文无关补语的上下文无关语言示例
上下文无关的语言不会在补充条件下封闭。在讲座中,我们得到了与Wikipedia相同的论点:对于 既和是上下文无关,但它们的交点不是。由于无上下文语言在联合之下是封闭的,因此它们在补充时也不能封闭。A={anbncm; m,n∈N0}andB={ambncn; m,n∈N0},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\},AAABBBA∩BA∩BA ∩ B 但是,这仅表明三种语言,和是一种上下文无关的语言,具有非上下文无关的补语,但对于哪一种语言而言,这不是真的。那是什么AAABBBA¯¯¯¯∪B¯¯¯¯A¯∪B¯\overline A \cup \overline B 另外,是否有一个最小且优雅的示例,它提供了上下文无关的语言以及非上下文无关的补语(可能是二进制字母)?

2
查找上下文无关语法生成的语言
这是《龙书》中的一个问题(对于翻译错误,我深表歉意,我手头没有英文版本): 该语法生成​​什么语言? 小号→ 一个小号b 小号∣ b S一个小号| εS→aSbS∣bSaS∣ϵS \rightarrow a S b S \mid b S a S \mid \epsilon 我不知道该怎么办。书中有关语言的定义说明了这一点(本章中的内容差不多): 语言是任何解析树都可以产生的所有单词的集合。 因此,如果我想根据这种语法制作“任何”解析树,则可以仅使用前两个规则来递归地继续构建它。我搜索了一下,并得出了每个规则都必须使用一次的印象,但是我不确定。如果有人能够提供一些解决此类问题的技巧,那将非常有帮助。

3
轻松证明无上下文语言在循环移位下被关闭
语言L的循环移位 (也称为旋转或共轭)定义为\ {yx \ mid xy \ in L \}。根据维基百科(和此处),无上下文语言在此操作下是封闭的,参考了Oshiba和Maslov的论文。有一个容易证明这一事实的证据吗?大号LL{ ÿ X | X ý ∈ 大号}{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 } 由于我从一般类型信息开始,并试图推断出更具体的类型,因此自然的选择是精简类型。例如,条件运算符返回其真假分支类型的并集。在简单的情况下,它效果很好。 但是,在尝试推断以下类型时遇到了障碍: function …
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 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.