能否设计出可接受任意语言的确定有限自动机(DFA)?
我完全不同意讲师给出的FALSE结论,我认为正确答案应该是TRUE。咱们来看这个极其简单的DFA:
Q = {s₁} q₀ = s₁ Σ = {a, b} F = {s₁} δ: s₁[Σ] → s₁
这个DFA接受的语言是Σ*——也就是字母表{a,b}能生成的所有字符串的集合。而(Σ*)*本质上和Σ*是同一个集合,它包含了所有可能的字符串,自然也涵盖了像{aⁿbⁿ | n > 1}这类非正则语言。
这里的核心逻辑是:虽然{aⁿbⁿ | n > 1}本身是个非正则语言,但它是Σ*的子集。这个DFA的功能是接受所有属于Σ*的字符串,所以不管某个语言是不是正则,只要它的字符串都在Σ*里(当然所有语言都是),这些字符串就都会被这个DFA接受。换句话说,这个DFA确实可以"接受任意语言"——这里的"接受"指的是该语言中的所有字符串都能被这个DFA识别,而非说这个DFA定义的语言等于那个非正则语言。
内容的提问来源于stack exchange,提问作者Antithesis
相关产品推荐
相关产品推荐

