语法和自动机语言的可判定性


16

请注意,这是在一所大学的CS固然与研究的一个问题,这不是功课,可以发现这里在2011年秋季exam2。

这是我过去考试所关注的两个问题。它们似乎是相关的,第一个是:

FINITECFG={<G>∣G is a Context Free Grammar with |L(G)|<}

证明是一种可判定的语言。 FINITECFG

和...

FINITETM={<M>∣M is a Turing Machine with |L(M)|<}

证明是一种不确定的语言。 FINITETM

我对如何解决这些问题有些迷茫,但是我有一些见解,我认为可能是正确的方向。我首先知道的是语言,其中AREX

AREX={<R,w>∣R is a regular expression with wL(R)}

是一种可决定的语言(证明在Michael Sipser的计算理论中,第168页)。同样的资料也证明了上下文无关文法可以转换为正则表达式,反之亦然。因此,可以转换为正则表达式,因此也必须是可确定的。这一点,而事实上,一个牛逼中号联合国 -decidable,似乎是与此相关的问题。ACFGATM

我能想到的唯一被传递g至用于图灵机和(G转换为正则表达式之后)Ť 中号。然后接受是否G拒绝如果G不这样做。作为一个牛逼中号是不可判定,这绝不会发生。我以某种方式觉得自己在这里犯了一个错误,但是我不确定这是什么。有人可以帮我在这里吗?AREXATMATM


5
“可以将上下文无关语法转换为正则表达式,反之亦然”(并非如此(除非您将其解释为“存在可以转换为正则表达式的CFG”),但我不认为这就是您的意思。的意思)。正则语法可以转换为正则表达式。由于无法使用正则表达式描述大多数上下文无关的语言(即,所有非上下文语言也不是正则语言),因此没有将CFG转换为正则表达式的算法。
sepp2k 2012年

Answers:


9
  1. 将G转换为Chomsky Normal形式。这样,唯一的空派生将是在其他任何地方都不会出现的开始符号,因此,如果有某种生成物最终能够产生自身,那么语法是无限的。如果不存在这样的产生,则每个符号将只能生成有限的字符串集,然后语法是有限的。因此,建立一个有向图,其中每个产品是一个节点,产品中的每个符号都是针对该符号的边。如果图形具有某个周期,则CFG是无限的,否则就不是。因此图灵机为可以是构建体准确地这样做,然后˚F FINITECFG是可以决定的。FINITECFG

  2. 假设是可确定的。假设H是一个图灵机,具有一些字符串作为输入,并使用自身作为F I N I T E T M的输入。如果F I N I T E T M返回true(即H仅接受有限语言),则HFINITETMHFINITETMFINITETMHH接受输入,这会导致矛盾,因为输入集是无限的(输入的长度是无限制的,因此接受任何可能的字符串作为接受无限字符串集的输入手段)。如果返回false(即H的语言是无限的),则H拒绝输入,这意味着H的语言是有限的,因为它不接受任何输入(即其语言为空),这也导致了矛盾。这样,存在H的假设会导致矛盾,并且该假设基于F I N I T的假设FINITETMHHHH是可以决定的。因此,通过矛盾,我们有 ˚F ñ 牛逼ê ŧ 中号是不可判定。FINITETMFINITETM

同样的资料也证明了上下文无关文法可以转换为正则表达式,反之亦然。

我真的很怀疑Sipser是否会声明您可能误读或误解了。这意味着与上下文无关的语法所产生的语言与线性语法完全相同。这是错误的;生成的右线性语法是无上下文语法dp的适当子集。也就是说,您尝试使用常规语言回答问题的方式只会导致您无所适从。

正如您在我的证明中看到的那样,这两个问题确实是两个非常不同的,不相关的问题。碰巧它们的措词是相似的。


1
在第二次证明之后,我遇到了一些问题。好的,所以您将H传递给G,是吗?如果G返回的真值大于H是有限的,那是有道理的。但是,我没有得到无限的输入集,您要引用的输入是什么?
BrotherJack 2012年

1
@BrotherJack的 H的输入可以是任何长度,其长度是无限制的。它可以是只有一个符号的字符串,也可以是一百万兆字节长的输入。这样,可能的输入H是无限集,因为我们可以使其任意大。
维克多·斯塔夫萨

1
好。这似乎是有道理的。将该输入称为“输入语言H中的任何可能的字符串”是否准确?
BrotherJack 2012年

1
@BrotherJack-我编辑了答案,以使这一点更清楚。
维克多·斯塔夫萨

1
出色的解释!非常感谢您的宝贵时间。
BrotherJack 2012年

2

另一种决策方式 F一世ñ一世ŤËCFG 是通过抽水引理。

抽引引理说每个CFL 大号 有一个数字 ñ (可以从语法中计算出来,或者至少可以很容易地计算出它的上限),这样 X大号ñ 可以“抽”。

这意味着 大号是有限的,所有的单词大号 短于 ñ

现在,所有需要检查的是长度在 ñ2ñ。如果存在任何这样的词,那么大号是无限的。很难看出该语句是“如果且仅当”,因此,如果在此范围内找不到任何单词,大号是有限的。这里的效率比Victor的答案差很多,但是它教会了CFL的结构。

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.