我知道如果L是可判定的,我们可以通过构造图灵机来证明L *也是可判定的但是 我无法解决这个问题: 如果L是不可判定的,那么L *也是不可判定的。 这句话是真还是假?
答案 0 :(得分:3)
这是错误的。让L成为任何不可判定的语言。将R定义为L,并将所有长度为1的字符串添加到其中(如果不是L的一部分)。根据定义,R包含字母表中长度为1的所有字符串。此外,由于L是不可判定的,因此必须是R(不可判断的语言和有限语言的联合也是不可判定的;请参阅注释及以下内容)。但是R *包含字母表上的所有字符串,一种可判定的语言(事实上,它是常规的)。为了清楚起见,我们只是展示了如何从任何不可判断的语言构建另一个语言,这是该声明的反例。
要看到不可判断的语言和有限语言的联合必须是不可判定的,假设L union R是可判定的,其中L是不可判定的并且R是有限的。也就是说,有一个TM决定了L union R中的隶属度。我们知道有一个TM决定L与R相交,因为如果R是有限的,那么它与其他任何东西的交集也是如此。但是L =((L union R)setminus R)union(L与R相交):
由于可设定的语言在集合差异和联合下被关闭,这意味着L必须是可判定的,这是一个矛盾。因此,对于不可判定的L和有限R,L union R无法判定。