语言 L= {0 i 21 i |字母 {0,1, 2} 上的 i≥0 } 是:
(A)不递归
(B)是递归的并且是确定性 CFL。
(C)是常规语言。
(D)不是确定性 CFL,而是 CFL。答案:(乙)
说明:让我们首先为给定的语言设计一个确定性下推自动机。
- 对于每次出现 ‘0’ ,我们将 X 推入堆栈。
- 当“2”出现时,不执行堆栈操作。但是,自动机的状态发生了变化。
- 对于每次出现 ‘1’ ,我们从堆栈中弹出 X。
- 如果最后 Z 0在堆栈顶部,则接受输入字符串
我们还为给定的语言设计了一个图灵机。
- 当输入字符串出现’0’时,我们将其替换为X。然后,遍历到最右边的角落,将’1’替换为Y。
- 我们回到最左边的’0’,重复上面的过程。
- 从输入字符串的开头向右遍历时,如果在 X 之后出现 ‘2’ 并且在 ‘2’ 之后出现 Y 则我们到达 HALT 状态。
因此,给定的语言是递归的。每种递归语言都是 CFL。
因此,选项(B)是答案。如果您发现上面的帖子有任何错误,请在下面发表评论。
这个问题的测验