【问题标题】:Find a non-deterministic CFL whose reverse is deterministic找到一个反向是确定性的非确定性 CFL
【发布时间】:2012-01-11 22:12:36
【问题描述】:

我有一个家庭作业,我完成了一个问题(见标题)

对于我的生活,我无法弄清楚......所以我开始认为这是一个诡计问题。

我将提交的当前答案是:

L1 = {a^n b^n: n>=1} is deterministic.  And the reverse, 
L2 = {b^n a^n: n>=1} is also deterministic.  

但是,由于所有确定性语言都是非确定性语言的子集,因此 L2 可以被认为是非确定性的。

顺便说一句,我试图做的唯一另一个例子是:

L3= {{a,b}a}

这似乎是可能的,因为前向存在不确定性,因为输入可以是 a,也可以是 b,只要后面跟着 a。

相反,存在确定性,因为它只接受'a'。但是,它引入了新的非确定性,因为第二个输入可能是 a 或 b。

任何帮助/指导都会很棒。

【问题讨论】:

    标签: formal-languages


    【解决方案1】:

    我知道截止日期已经过去,但将来有人可能会发现这很有用。

    (a+b+c)*WcW^R,其中W在(a+b)+中;这是不确定的,因为您不知道“WcW”位从哪里开始。

    W^RcW(a+b+c)*,其中W在(a+b)+中;这是确定性的,因为您可以编写确定性 PDA 来接受“W^RcW”形式的简单回文,并修改接受状态以在 a、b 和 c 中的任何一个上循环到自身。

    这里的诀窍是 PDA 必须从左到右读取输入。

    【讨论】:

      猜你喜欢
      • 2012-10-20
      • 2016-05-14
      • 2013-12-13
      • 1970-01-01
      • 2018-07-14
      • 1970-01-01
      • 1970-01-01
      • 2015-05-05
      • 1970-01-01
      相关资源
      最近更新 更多