确定确定性下推自动机是否可以接受上下文无关的语言


22

给定与上下文无关的语法G,存在一个不确定的下推自动机N,它准确地接受G接受的语言。(反之亦然)

可能还存在接受恰好摹接受过语言中的确定性下推自动d。这取决于语法。

通过对G产生的哪种算法,我们可以确定D是否存在?


4
即使你知道事先没有用于克DPDA,没有算法来找到它。看这里
sdcvvc 2012年

Answers:


20

没有给定上下文无关文法的算法,无法确定DPDA是否识别相同的语言并进行计算(如果存在)。

因为如果存在这样的算法,我们将能够决定上下文无关文法的普遍性的不确定问题,Σ上给定的上下文无关文法是否能识别整个语言∑ ^ *GΣΣ

假设有这样的算法ADPDA。令G为某种与上下文无关的语法。令LL(G)。然后该算法ADPDA如果有DPDA将决定A识别L

  • 如果没有这样的DPDA,则L不能被DPDA识别,特别是它不是规则的,因此它不能为Σ

  • 如果存在DPDA,则可以确定是否等于因为DPDA的通用性是可确定的。为什么?因为:L ALΣ

    • DPDA语言在补语下是封闭的(因为DPDA是确定性的)
    • 空对于DPDA是可决定的(因为对于PDA

使用我们建立了一种算法,用于确定是否对任何上下文无关文法,这已被证明是不可能的。因此不存在。 L G = Σ G A D PADPDAL(G)=ΣGADPDA


我不明白这对不起。您是否使用Σ来表示G使用的字母?您的意思是“ L是全语言 ”吗?您是说要对生成G的语法G执行算法吗?显然,我们不仅会找到DPDA,而且会找到针对该语言的简单DFA。的补语是空语言,DPDA和DFA也很容易识别这种语言-因此,我显然在您的解释中遗漏了一些内容。ΣΣΣΣΣ
2012年

我希望现在情况会更清楚。请注意,我回答了一个稍有不同的问题:我会宣誓您问我们是否可以计算 ,而不仅仅是确定它是否存在。D
jmad 2012年
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.