图灵可决定的语言有很多(我的意思是很多)。图灵可以判定任何无法数数的语言吗?
图灵可决定的语言有很多(我的意思是很多)。图灵可以判定任何无法数数的语言吗?
Answers:
有限(甚至可数)字母上的每种语言都是可数的。假设您的图灵机字母是有限的,那么它可以接受的任何语言都是可数的。
仅当我们允许无限长的单词时,我们才能使用无数种语言,例如,参见Omega-regular语言。这些语言称为语言。另一个例子是实数子集的语言,其中包含所有实数的十进制扩展。
在某些模型中,对图灵机进行了修改以接受语言。其中一些模型使用Buchi条件进行验收。由于您无法在有限的时间内看到全部输入,因此我们说,如果图灵机无限次进入接受状态,则输入被接受。如果我们可以通过分析输入(而不是通过运行)来证明这一点,则表示输入被接受。
古典可计算性讨论了来自有限字母的有限字符串的功能。结果,所有语言,无论是可判定的还是不可判定的,都是可数的。
要考虑不可数的语言, 我们必须查看无限字符串而不是有限字符串。(AFAIK拥有一个无限的字母并不是很有趣,它本身并不对应于现实的计算模型。)
在一些计算模型中,我们可以处理无限字符串,这些字符串使我们能够表示来自不可数域(例如实数)的对象。这些通常表示为更高类型的计算。使用图灵机的一种模型是TTE模型。在此模型中,输入可以是无限字符串,并且机器可以访问所需字符串中的任何项目。机器不需要终止,但是有条件可以确保机器的输出收敛。
让我们假设我们的机器的输入来自,即无限串从字母表Σ,如Σ = { 0 ,1 }。再就是Σ Ñ = 2个Ñ字符串。因此,有2 2 N种可能的语言。TTE图灵机的数量仍然是可数的。因此,大多数这些语言都是不确定的。
但是这里还有一些更有趣的事情:如果您希望机器始终停止运行,它将只能读取输入的有限初始部分。结果,我们得到以下结果:令为始终(在有限时间内)停止的TTE机器。然后有一个无前缀语言大号∈ Σ *和图灵机Ñ使得对于任何X ∈ Σ ω, 中号接受X IFF Ñ接受的初始部分X这是在大号。
简而言之, 始终停止的TTE图灵机的计算是通过对有限弦上的图灵机进行计算来确定的。
让我举一个无限字符串的可判定和不可判定语言的示例:
对于任何无限字符串其的语言ķ个位置为0的判定的。第k个位置为1 的情况相同。可以确定任意两种可确定语言的交集,例如,第3个位置为0且第6个位置为1的字符串。
任何两种可确定语言的结合是可确定的。例如,以或10开头的字符串。
令是可决定的语言的可枚举的列表。然后大号= ∪ 我大号我是半可判定,即,存在机器暂停,并在接受每当串大号并且当字符串未处于不接受大号。如果它不在L中,则机器可能不会停止运转。可以通过合并上面第1项中给出的形式的可枚举语言列表来获得任何半定语言。
语言是可确定的,因为该语言及其补语都是半确定的。
包含无限字符串0s的语言是不确定的。这可能看起来很奇怪,但是却是这样看的:在读取字符串时何时可以暂停并说输入由全0组成?如果在读取 0 后停止,则您的机器还将接受以k 0s 开头并以全1 开头的语言。请注意,在此模型中,我们对字符串的唯一访问是要求一点并得到它。
这可能使您认为TTE不是一个有趣的模型。但是事实证明,使用TTE模型对无限字符串进行计算实际上非常有趣。根据直觉,要获得输出的任何有限部分,您只能读取输入的有限部分。换句话说,关于输出的任何有限信息仅取决于关于输入的有限信息量。事实证明,我们对计算感兴趣的函数遵循此规则,否则我们将无法计算它们。例如,考虑编码为二进制字符串和函数读取数字。我们给机器一个数字x的有限近似,它返回数字lg x的一个有限近似。 给我们。
如果您了解一些拓扑,其中许多将变得更加直观。这里的基本思想是,我们可以在字符串上定义一个信息拓扑,并且关于该拓扑,任何可计算的功能都必须继续。其结果是,当我们有一个总可计算函数其值域是{ 0 ,1 }的˚F - 1(1 )必须是clopen。其他针对实数的逼真的计算模型(不仅是浮点,而且实际上是无限的实数)都具有此属性。如果您有兴趣阅读有关TTE的好地方,请参阅Klaus Weihrauch的书“ Computable Analysis”。”也有很多的网站上的其他引用的可计算性与复杂性分析网络。