RAM可以计算自己的哥德尔编号吗?


12

您可以将RAM的Gödel编号设为命令列表,然后将此列表设为整数。

因此,我想到的是这样的情况:“要返回自己的Gödel编号(例如)的RAM 必须在其中包含信息,因此整数将大于,因此它不会返回自己的Gödel数。”xxx

但是后来我注意到,对于特定的数字,您可以进行压缩,例如计算而不是在RAM代码中写入100000 ... 000。尽管哥德尔数可能不是,但至少可以是。109999109999

问题:是否有一个RAM可以计算自己的哥德尔数?可以这样吗?


2
顺便说一句,亲爱的,这是关于用户图标的很酷的Numberphile视频。:-)
David Richerby

1
@DavidRicherb这些不仅是像素,而且是Ulam螺旋。我前一段时间为我的数学老师编程。紫色像素是双胞胎,红色像素是其他双胞胎,中间的橙色像素是1。:-)
palsch

1
真好!因此,这是一个Numberphile视频,其内容与您的用户图标有关!:-D
David Richerby,2016年

Answers:


17

考虑由给出的可计算函数。根据Kleene的第二个递归定理,存在一些 ,使得具有哥德尔数的程序  计算出函数,即该程序为每个输入输出 。这正是您要寻找的程序:对于任何输入,它都会输出自己的Gödel编号。Q:N×NNQ(x,y)=xppf(y)=Q(p,y)=pp

这样的程序被称为quine,它们存在于任何具有Turing功能的计算模型中。


您可以确定在ram的有限内存中运行该程序吗?我想这里的RAM意味着随机存取存储器……
Per Alexandersson

6
@PerAlexandersson不,它指的是Random-Access Machine,这是一种图灵强大的计算模型。
David Richerby
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.