如下所示的PDA接受的语言是什么

时间:2020-05-08 14:16:17

标签: pushdown-automaton

u

我不确定我对这个问题的回答。 当我回答问题时,我的答案是

{a^nb^ma^n | m,n∈ N,m,n>=0}

这是对的吗?有人可以检查我的答案吗?

1 个答案:

答案 0 :(得分:0)

假设此PDA仅通过接受状态来接受,并且堆栈内容无关紧要。

然后它接受以下所有内容:

  1. bb *,立即看到状态为0的b
  2. (aa)*,通过在状态0和2之间循环
  3. 通过读取处于状态0和2的na,然后读取处于状态3的b的任意个数,然后读取处于状态4的na的n> 0的(li)(a ^ n)b *(a ^ n)。 / li>

项目3是您确定的内容,但其中不包含空字符串。但是,我们的项目#2包含空字符串,因此您可以按此计数。因此,您的语言不包含任何非该语言的内容;您的语言是我的语言的一部分。

但是我的语言也是您语言的子集,因为项1仅对应于您的语言中n = 0的所有非空字符串,而我的项目2对应于您的语言中m = 0的所有非字符串。 / p>

因为您和我的语言是彼此的子集,所以它们是相同的,并且您的渲染比我的更紧凑,更优雅。因此,我们同意您的回答正确。