程序数与可计算数:一个真子集的证明

2 下载量 170 浏览量 更新于2024-09-06 收藏 198KB PDF 举报
"举例证明可计算数集合是程序数集合的真子集" 这篇论文由陈必红撰写,探讨了可计算数集合与程序数集合的关系。作者首先定义了程序数集合,即那些可以用有限字长的描述来唯一定义的实数集合。在论文中,程序数被认为是可以被有限字符表示的实数,而这些字符可以是任何形式的编码,只要其数量有限。作者证明了程序数集合是可数的,并提出了一个悖论,即不存在非程序数,因为所有实数理论上都应该可以通过某种方式被有限描述。 然而,一些专家质疑程序数集合实际上等同于可计算数集合。可计算数是指那些可以用可停机的算法计算到任意精度的实数。为了回应这种质疑,论文的目的是提供一个具体的例子,展示一个既是程序数又不是可计算数的实数。这个数可以用有限字符描述,但它对应的计算过程无法停机,即存在一个无法预测何时结束的计算过程,这使得它不符合可计算数的定义。 作者引入了“半不停机”的概念,意味着虽然程序包含了该数的信息,但在实际计算过程中可能存在无法终止的风险。通过这个例子,作者证明了可计算数集合是程序数集合的真子集,因为并非所有的程序数都可以通过可停机的程序来计算。 论文的关键点在于强调了程序数与可计算数的区别。程序数关注的是一个实数是否可以被有限信息完全描述,而可计算数关注的是能否通过有限步骤的算法精确计算。由于存在既属于程序数集合又不属于可计算数集合的实数,这表明在现实世界中使用的实数(程序数)比可计算数更广泛,后者不能涵盖所有可能的程序数。 在论文的第二部分,作者讨论了实数的数字片断,采用十进制表示法,将实数的小数部分视为一系列的数字。这部分内容可能是为了进一步阐述如何通过有限字符序列来定义实数,以及如何区分可计算性和程序性描述的差异。 这篇论文通过实例展示了可计算数集合与程序数集合的差异,证明了可计算数集合是程序数集合的真子集,从而深化了对这两个概念的理解,并引发了对于计算理论和实数描述的新思考。