图灵有什么不可判定的语言吗?


17

图灵可决定的语言有很多(我的意思是很多)。图灵可以判定任何无法数数的语言吗?


2
如果所有可能单词的语言都是不可数的(这需要不可数的字母),那么它将立即提供一个(平凡的)图灵可判定不可数语言的示例。如果不是(即它是可数的),那么子语言也不是不可数的。
马克·范·吕文

Answers:


25

有限(甚至可数)字母上的每种语言都是可数的。假设您的图灵机字母是有限的,那么它可以接受的任何语言都是可数的。


那么在无穷无穷的字母上有限数量的所有字符串的所有语言的集合呢?是可数的还是不可数的?我也无法想到“无数无数字母的语言是可数的”证明。
anir

您的设置也是可数的。
Yuval Filmus

证明“有限字母上的语言集是可数的”。我觉得我们可以通过有限字母的相同证明方法证明“在有限字母上包含无限字符串的语言集是可数的”。但是我无法想象这种方法如何适用于数量众多的无限字母。
anir

您不能证明它是错误的。无限二进制序列的数量已经无法计数。
Yuval Filmus

12

仅当我们允许无限长的单词时,我们才能使用无数种语言,例如,参见Omega-regular语言。这些语言称为语言。另一个例子是实数子集的语言,其中包含所有实数的十进制扩展。ω

在某些模型中,对图灵机进行了修改以接受语言。其中一些模型使用Buchi条件进行验收。由于您无法在有限的时间内看到全部输入,因此我们说,如果图灵机无限次进入接受状态,则输入被接受。如果我们可以通过分析输入(而不是通过运行)来证明这一点,则表示输入被接受。ω


1
为什么字母需要计数?
leftaboutabout

2
每个正在研究的模型都有有限的字母。如果字母也变为无限(可数或不可数),则很难建立一个合理的模型。
Shreesh '16

@Shreesh好吧,如果字母是不可数的,那么FSM的幼稚映射(在有限数量的状态之间具有不可数的转换)可能会很强大?
Yakk

1
的确,这些都是扩展类,可能具有某些语言类,这些语言类可能是RE或递归语言的超类。但是,如果对它们进行全面研究,就不能很好地对其进行研究。在我看来,最大的问题是如何对机器进行有限表示。然后,您必须在磁带单元中写入该符号。即使是不起眼的单元也可能需要无限的内存来存储对正在写入的磁带符号的描述。
Shreesh '16

这是一个很好的解释。我要补充一点,即使使用了通常的接受/拒绝标准,您也可以说图灵机仍然可以决定某些语言,并且从技术上讲,它会有无数的字符串,但这只是因为绝大多数字符是“没用”。
欧文

5

古典可计算性讨论了来自有限字母的有限字符串的功能。结果,所有语言,无论是可判定的还是不可判定的,都是可数的。

要考虑不可数的语言, 我们必须查看无限字符串而不是有限字符串。(AFAIK拥有一个无限的字母并不是很有趣,它本身并不对应于现实的计算模型。)

在一些计算模型中,我们可以处理无限字符串,这些字符串使我们能够表示来自不可数域(例如实数)的对象。这些通常表示为更高类型的计算。使用图灵机的一种模型是TTE模型。在此模型中,输入可以是无限字符串,并且机器可以访问所需字符串中的任何项目。机器不需要终止,但是有条件可以确保机器的输出收敛。

让我们假设我们的机器的输入来自,即无限串从字母表Σ,如Σ = { 0 1 }。再就是Σ Ñ = 2个Ñ字符串。因此,有2 2 N种可能的语言。TTE图灵机的数量仍然是可数的。因此,大多数这些语言都是不确定的。ΣωΣΣ={0,1}ΣN=2N22N

但是这里还有一些更有趣的事情:如果您希望机器始终停止运行,它将只能读取输入的有限初始部分。结果,我们得到以下结果:令为始终(在有限时间内)停止的TTE机器。然后有一个无前缀语言大号∈ Σ *和图灵机Ñ使得对于任何X ∈ Σ ω中号接受X IFF Ñ接受的初始部分X这是在大号MLΣNxΣωMxNxL

简而言之, 始终停止的TTE图灵机的计算是通过对有限弦上的图灵机进行计算来确定的。


让我举一个无限字符串的可判定和不可判定语言的示例:

  1. 对于任何无限字符串其的语言ķ个位置为0的判定的。第k个位置为1 的情况相同。可以确定任意两种可确定语言的交集,例如,第3个位置为0且第6个位置为1的字符串。kNkk36

  2. 任何两种可确定语言的结合是可确定的。例如,以10开头的字符串。010

  3. 是可决定的语言的可枚举的列表。然后大号= 大号是半可判定,即,存在机器暂停,并在接受每当串大号并且当字符串未处于不接受大号。如果它不在L中,则机器可能不会停止运转。可以通过合并上面第1项中给出的形式的可枚举语言列表来获得任何半定语言。LiL=iLiLLL

  4. 语言是可确定的,因为该语言及其补语都是半确定的。

  5. 包含无限字符串0s的语言是不确定的。这可能看起来很奇怪,但是却是这样看的:在读取字符串时何时可以暂停并说输入由全0组成?如果在读取 0 后停止,则您的机器还将接受以k 0s 开头并以全1 开头的语言。请注意,在此模型中,我们对字符串的唯一访问是要求一点并得到它。kk


这可能使您认为TTE不是一个有趣的模型。但是事实证明,使用TTE模型对无限字符串进行计算实际上非常有趣。根据直觉,要获得输出的任何有限部分,您只能读取输入的有限部分。换句话说,关于输出的任何有限信息仅取决于关于输入的有限信息量。事实证明,我们对计算感兴趣的函数遵循此规则,否则我们将无法计算它们。例如,考虑编码为二进制字符串和函数读取数字。我们给机器一个数字x的有限近似,它返回数字lg x的一个有限近似。xlgxxlgx 给我们。


如果您了解一些拓扑,其中许多将变得更加直观。这里的基本思想是,我们可以在字符串上定义一个信息拓扑,并且关于该拓扑,任何可计算的功能都必须继续。其结果是,当我们有一个总可计算函数其值域是{ 0 1 }˚F - 11 必须是clopen。其他针对实数的逼真的计算模型(不仅是浮点,而且实际上是无限的实数)都具有此属性。如果您有兴趣阅读有关TTE的好地方,请参阅Klaus Weihrauch的书“ Computable Analysis”。f{0,1}f1(1)”也有很多的网站上的其他引用的可计算性与复杂性分析网络


1
因此所有语言都是有限的 ”-您是可数的吗?
安东·特鲁诺夫

我认为特鲁诺夫先生。
Jyotirmoy Pramanik '16

This is a nice post but I fail to see what its bulk has to do with the specific question asked here. Maybe you wanted to create a question-answer-pair?
Raphael
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.