这是这里另一个问题的跟进,我希望它不要太哲学。正如Raphael在对我的上一个问题的评论中指出的那样,我并没有真正理解“可计算”的定义,但是根据我读过的一些论文,当涉及到比图灵弱的计算模型时,该定义也不是很清楚。机器,因为输入和输出的编码。
图灵可计算的典型定义如下:
定义1:函数称为图灵可计算函数,前提是有一台图灵机M使用自然数的适当编码作为字符串来计算f。
定义的确切区别在于确切的编码是什么,但是大多数将二进制编码,一元编码或十进制编码称为固定和合适的编码。还可能显示出,为定义可计算性需要固定一种编码。但是,是什么使自然数的二进制编码如此特殊,以便我们可以将其公理化为一种合适的编码呢?可能是因为它符合可计算性巧合的直观概念。
现在,如果我们看比图灵机更弱的计算模型怎么办?例如,让我们考虑集合 “残废”图灵机与字母表{ 0 ,1 }这可能只向右移动,和的定义残废图灵可计算这与图灵可计算性是一致的:
定义2:一函数称为残废图灵可计算或可计算中号Ç当且仅当有一个残缺图灵机中号,其计算˚F使用自然数作为字符串的一个合适的编码。
如果我们定义“合适的编码”为“二进制编码”,则该函数是不可计算中号Ç。如果将“合适的编码”公理化为“一元编码”,则f可在M c中计算。考虑到每个人都可以随意修复无限多种直观编码之一的事实,这似乎很尴尬。应该清楚的是,计算模型是否可以计算f 还是不提及某些特定的编码-至少我从未见过有人提到“循环程序比图灵机弱”时使用什么编码。
引言之后,我终于可以提出我的问题:如何为与直观的可计算性概念不一致的任意计算模型定义“合适的编码”和“可计算性” ?在可计算性框架内是否有可能?
编辑:我简化了介绍,但没有增加问题。