我正在学习形式语言和自动机理论,我有一个关于书中没有回答的问题的问题。问题是:
这种语言是上下文无关的、常规的还是上下文相关的?
L= {a n w w R b n | w 是 ( a+b )*, w R是 w 的倒数并且 n>=0 }
我认为这种语言是上下文相关的,因为它至少需要两个堆栈才能接受。
有人可以对此发表评论吗?
谢谢。
我正在学习形式语言和自动机理论,我有一个关于书中没有回答的问题的问题。问题是:
这种语言是上下文无关的、常规的还是上下文相关的?
L= {a n w w R b n | w 是 ( a+b )*, w R是 w 的倒数并且 n>=0 }
我认为这种语言是上下文相关的,因为它至少需要两个堆栈才能接受。
有人可以对此发表评论吗?
谢谢。
语言 a n w w R b n是上下文无关语言。我们可以为这种语言编写上下文无关语法。
S --> aSb | R
R --> aRa | bRb | ^
^
是空符号
PDA:用于语言 a n w w R b n
a
n
w
w
同时将每个符号与符号匹配w
R
a
推入堆栈并匹配b
后缀b
n
注意:我们在通过 PDA 处理语言字符串 a n w w R b n时,我们不知道前缀a
n
在哪里结束,然后在w
开始之前在哪里结束,w
R
因此对于这种语言,我们无法绘制 PDA 的确定性模型,尽管非确定性 PDA 是可能的. 重要的是非确定性 PDA 类别与确定性 PDA 类别不同,这意味着范围确定性上下文无关语言不等于非确定性上下文无关语言。(实际上确定性是非确定性 CFL 的子集)