外行的递归和递归可枚举语言定义


Answers:


17

并不是的。你应该读几本书。也许我们可以推荐一些。

也就是说,如果存在图灵机,则该语言是递归的;如果给定字符串是该语言的一部分,则该语言总是可以回答“是”或“否”。如果我们仅对语言字符串说“是”(如果不是的话,它可以永远运行),那么我们就有一种递归可枚举的语言。不难发现,递归语言可以由Turing机器决定,而递归可枚举的语言可以列出其字符串(例如,通过并行运行无限数量的Turing机器-是的,这是可能的,请参见燕尾式-在字母表的所有字符串上,如果相应的TM接受,则输出一个字符串)。有许多等效的定义。


18

如果机器可以计算答案,则问题是递归的或可判定的。

如果可以使机器确信答案是肯定的,则问题是递归枚举的或不确定的


3

一个语言只是一组字符串。可能具有无限基数。

如果存在一个TM,该TM会保持输出属于该语言的字符串(并且只有这样的字符串),那么该语言是递归可枚举的,从而最终该语言中的每个字符串都将出现在输出中。

如果上述TM不仅输出该语言的所有字符串,而且还按顺序进行输出,则该语言是递归的!(例如,按字典顺序)。

我相信您可以轻松想到递归语言(并构建一个按顺序输出它们的TM)。除非您阅读了有关不确定性和对角化的更多知识,否则很难提出递归的可枚举语言(不是递归的)。但是这种语言确实存在。


1
对我来说,您的定义是最详细的,最详细的是:顺序必须是可计算的顺序:必须可以将任何两个字符串与终止TM进行比较。其他许多定义混淆了可枚举性和可判定性。这是不同的概念,但他们可以证明等价于有限集的字符串(例如参见:?可种语言无限串是递归可枚举的
babou

2

递归语言可由某些Turing Machine决定,例如,有一个TM可以给定任何输入字符串(在适当的字母上)正确回答是(如果该字符串是该语言的话),否则回答否。

递归可枚举的语言只能被识别,也就是说,存在图灵机可以接受字符串在该语言中时的接受,但是如果字符串不在该语言中,它可能会永远循环。


0

我觉得递归和递归可枚举语言之间的主要区别在于,如果递归图灵机不接受字符串,它将以非最终状态暂停

可递归枚举的Turing机器如果不接受字符串,则可能永远处于非最终状态或循环,这对于递归语言而言并非如此


0

==>如果存在一个图灵机,该图灵机接受该语言中的每个字符串,如果不使用该语言,则拒绝它。例如,让我们使用图灵机M和字符串w:如果字符串w是图灵机M的成员,则M停止其最终状态,否则将拒绝计算。==> ==>如果存在一个图灵机,该语言可以接受该语言中的每个字符串,如果不接受该语言中的每个字符串,则该语言是递归可枚举的,这可能会永远循环。例如,以图灵机M和字符串w为例:如果字符串w是语言,则M停止其最终状态。否则它将拒绝计算或可能永远运行。

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.