我想知道所有无限语言都是不可判定的吗?
他们必须是正确的,因为TM试图决定一种无限的语言会永远循环,这使得它成为一个整合者,而不是决策者。
谢谢你们。
答案 0 :(得分:4)
不,有许多可判定的无限语言。一个简单的例子是语言{n € N | a^n}
,即仅包含字母“a”的单词的语言。该语言可以与正则表达式a*
匹配。因此它是一种常规语言,因此可以判定。
答案 1 :(得分:2)
正如sepp2k指出的那样,a*
是一种常规语言,因此可以判定。
所有有限语言都是常规语言。一些无限的语言是常规的。只有无限的语言才是不可判断的。
为了不可判定,语言中必须有单独的字符串才会导致TM失败。实际上,必须存在无限多个这样的字符串(否则,表现不佳的字符串可以由特殊情况逻辑处理)。
因此,语言无限是必要的,但不足以造成不可判断性。