我想知道递归语言和可递归语言在停机和图灵机方面的区别。 我知道可递归语言是递归语言的子集,但除此之外我不确定区别。
我想知道递归语言和可递归语言在停机和图灵机方面的区别。 可递归语言可以由图灵机接受并产生回答结果,而递归语言可以通过算法计算并得到结果。递归语言是可递归语言的超集,这意味着递归语言包含所有可递归语言,并具有额外的性质。我想知道递归语言和可递归语言在停机和图灵机方面的区别。 我知道可递归语言是递归语言的子集,但除此之外我不确定区别。
我想知道递归语言和可递归语言在停机和图灵机方面的区别。 可递归语言可以由图灵机接受并产生回答结果,而递归语言可以通过算法计算并得到结果。递归语言是可递归语言的超集,这意味着递归语言包含所有可递归语言,并具有额外的性质。停机问题是一个可枚举但不可判定的问题的典型例子。
在尝试分割复杂度类时,最好有一个例子属于其中一个类但不属于另一个类。
在这种情况下,典型的例子是对应于 停机问题决策问题的语言:
HALT = 所有停机的图灵机/输入对
众所周知,停机问题不能被任何图灵机确定性地解决,因此语言HALT不属于R。
但显然,HALT属于RE。
我们回顾一下递归可枚举语言的定义:
一个可枚举语言是这样一个语言,即存在一个图灵机,在该图灵机上每个属于该语言的成员都会以yes输出停止,而非成员则可能永远运行下去。
因此,我们只需要使用模拟另一个图灵机(通用图灵机)的图灵机。那么该机器将在HALT的每个成员上停止,因此HALT属于RE。
仅凭这个事实就可以看出RE比R难得多:RE包含不可判定问题,对于这些问题设计算法是不可能的!而根据定义,R则没有这种问题。