是否存在描述此有限语言的多项式大小CFG?


9

是否存在置换和多项式大小(在)上下文无关文法,这些文法描述了字母的有限语言?π1,π2|w|=n{wπ1(w)π2(w)}{0,1}

更新:对于一个排列是可能的。是冲销或冲销的相对较小修改。ππ


5
还问过math.stackexchange。他的意思是:是否有一系列的排列这样语言有多项式大小的CFG吗?π1n,π2nSnLn={wπ1(w)π2(w):w{0,1}n}
Yuval Filmus


1
我们是否知道是否存在CFG ?L=nLn
卡夫

4
@Kaveh:对于任何烫发序列,答案是否定的。如果您的语言是上下文无关的,那么它的泵浦长度为。将CFG的抽运引理应用于与相关联的L中的字符串。CFG的抽运引理也可以说,如果OQ有一个肯定的答案,那么的CFG 必须至少使用变量,因为我们需要小于抽运长度,因此我们的 CFG 不接受任何长度字符串。我还没有看到如何使用它来排除对OQ的肯定答案,但是这可能是可能的。Lpw=0p1pLnΩ(n/logn)3nLn>3n
约书亚·格罗夫

1
@Kaveh :(此外,如果可以随意选择烫发的顺序,那么您的语言甚至不必是可计算的……OQ本质上是不一致的。)L
Joshua Grochow 2011年

Answers:


13

乔姆斯基范式

如果唯一的产品为以下形式,则CFG为CNF(乔姆斯基标准格式) AaABC; 只需二次分解就可以将语法带到CNF。

为了语法 G在CNF,我们有漂亮的子字引理:如果G 产生一个词 w,然后每个 w,有一个子字 xw 长度 /2|x|< 由某些非终端产生的 G证明:下降(二进制)语法树,始终转到生成较长子字的子级。如果您以至少一个大小的子词开头,你不能走到下面 /2

不失一般性,我们可以假设 Ln (具有特定语言的语言 π1,π2Sn)为Chomsky范式。语言Ln 由单词组成 w(x)=xπ1(x)π2(x) 对所有人 x{0,1}n

每个使用子词引理 w(x) 我们可以找到一个子串 s(x) 长度

n2|s(x)|<n
由某些符号生成 A(x) 并发生在 p(x)

假设 p(x)=p(y)A(x)=A(y)。以来|s(x)|<n,子字 s(x) 不能相交 x 部分和 π2(x) 部分 w(x); 我们可以假设它与x部分。从而w(x) 的形式 xαs(x)β。这意味着A(x) 恰好生成一个字符串,即 s(x)。因此s(x)=s(y)

现在 s(y) 相交 π1(y) 要么 π2(y) 至少 n/4 位置,从而至少确定 n/4 的位 y。因此最多23n/4y{0,1}n 可以有 p(x)=p(y)A(x)=A(y)。既然最多3n 的可能性 p(y),我们至少知道

2n/43n
语法中的不同非终结词。

评论:如果以下条件相同,则证明有效 π1,π2S{0,1}n,即在所有集合上的任意排列 n位字。给定n/4 的位 πi(y),确实有 23n/4 原像 y

更多例子

使用相同的方法,可以证明每个字符恰好出现两次的语言需要字母大小的CFG指数大小。我们可以将“两次”替换为N 除了四个琐碎的(忽略 0,都不包含 N1 或全部)。

我希望能为该证明方法提供参考。


2
Yuval,也请您在此处复制解决方案。
卡夫

谢谢尤瓦尔。如果您的方法正确且新颖,那么我将很高兴读到一篇文章,该文章探讨了针对有限或无限语言的多尺寸CFG产生正或负结果的更一般的情况。
jerr18 2011年

3
有这样的文章:cs.toronto.edu/~yuvalf/cfg.pdf
Yuval Filmus

我想例外 N1您的意思是“至少出现一次终端”。这是否意味着您可以通过与相交来生成所有排列Σ|Σ|
jerr18 2011年

1
请参阅相关问题cstheory.stackexchange.com/q/5014,Yuval在其中发布了已发布参考文献的答案。
安德拉斯·萨拉蒙
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.