{WW} - 可判定但不是上下文的
{WW ^ R} - 上下文自由,但不是常规的
Σ* - 常用语言
你怎么能确定他们属于哪个班级?
答案 0 :(得分:1)
我的回答可能对您有所帮助:
L 1 = {ww | w∈{a,b} * }
不是上下文自由语言,因为(自动下推自动机)PDA是不可能的(甚至是非确定性-PDA)。为什么?假设你先在堆栈中推送w
。要将第二个w
与第一个w
进行匹配,您必须以相反的顺序推送第一个w
(您需要以与堆栈内容相反的顺序匹配第二个w
)可能与堆栈(我们无法以相反的顺序读取输入)。虽然它的可判定性因为可以为L 1 绘制Turing Machine
,它总是在有限步数之后的一半。
L 3 = {ww R | w∈{a,b} * }
语言L 3 是一种非确定性的上下文无关语言,因为n-PDA
是可能的,但L 3 不可能有限自动化。你也可以使用Pumping Lemma for Regular Languages证明这一点。
Σ*
- 常规语言(RL)
Σ*
是正则表达式(RE),例如
如果Σ = {a, b} then RE is (a + b)*
RE仅适用于RL。
my question中的示例可能对您更有帮助。