What is REAL ?
你是说《盗梦空间》?哦。不完全是。我是说,What is REAL?
到底是庄子梦见自己变成了蝴蝶,还是他本是个蝴蝶梦见自己变成了庄子呢?
你该怎么证实自己在虚拟世界还是在现实世界?什么是“现实”?
我们假设你进入了一个空间,而你不知道这个空间的属性,换句话说,你不知道自己所在的空间是虚拟的还是现实的。
那么试着想像这么一个场景。你因为战伤(哦。还是现实一点,你因为你的妹子去和社会哥干了一架),成了“植物人”。医生在取得你的家属同意之后,把你的器官捐助给了需要它们的人们。而你的大脑则被放进了一个培养皿里。一台精妙无比的超级计算机控制着你的大脑的所有的输入和输出,而培养皿里的营养物质则保证了所有的脑细胞都处于正常工作状态。
是的,你又看到了主管叉着腰指着鼻子骂你。你又听到了女友在你怀里嘤呜。你也像往常一样做出回应。可惜这些只是从计算机传来的信号。研究人员正在把你的输出信号接在屏幕上,他们并不关心主管扣了你多少工资,也对你和女友昨晚发生了多么精彩的事情不感兴趣,他们只是一边看着培养皿里的“你”,一边记录着各种各样的电信号波形和大脑感觉之间的一对一关系。
可怜的“你”,知道你自己是生活在现实中,还是生活在靠超级计算机给你输入的信号的虚幻世界中吗?
想一下我们自己。你用你的左手,打自己右手一下。你感到痛。你说,这是真的,这不是梦。
可是,为什么不是这样呢?
你用你的左手,打了你的右手一下。超级计算机计算并模拟出来了你的左手的每个瞬间的位置和加速度。告诉你的右手神经末梢传回一个痛感信息,并且让你的耳朵听到来自右手处的一处清脆的响声。而这一切,“缸中之脑”都可以完成。
只要系统给出的任何信号符合系统本身的规则,那么你无法分辨自己是否身在现实。
让我们把这个问题扩展一下。
想像更深的虚拟世界。我们的大脑不是真实的,它是计算机模拟的。我们脚下的大地,我们头顶的蓝天,我们所感知到的一切,都是计算机模拟的。宇宙这台计算机计算着每一个极其细微的过程,给出误差精度最高的计算结果,以至于整个空间都是一个程序。一个无比巨大的程序。一个高效的程序。而组成这个空间的substance本身,则是最高效的硬件。
你只是一行源代码,妄想知道源程序都include了什么?都define了什么?
我们把创造这个源程序的程序员叫做GODn。和各位程序员一样,他也只是一个程序员,每天要受上司的责骂,而且晚上很有可能还没有人暖床。在他那个空间,他也在想“What is REAL”。然后他也敲下了这么一串乱码,他把编写他的宇宙的程序员叫做GODn-1。
……
我们把这个思想叫做“递归宇宙”。
在这样的空间中,我们考虑每一个程序(或者叫空间),我们每个人,每一件事情,都可以视为一个内部输入。对于每一个输入,程序都会在经过有限的计算后退出。那么我们写这么一个函数。
Test(a,b):boolean;//对于指定的源码a和数据b,程序是否能退出
begin
get(code);
if test(code,code) then repeat until false
else exit;
end
那么运行这个程序,并且将程序本身作为b输入,如果test判定结果程序会最终退出,那么程序就进入死循环,如果test判定程序无法在有限步后退出,那么程序会立即退出。
矛盾了。
那么,这到底证明了什么。。
证明了,我们真的无法判定自己空间的属性,还是证明了这种空间在逻辑上是不完备的呢。。
我觉得我的脑子烧了。我闻到了烧糊的味道。就像计算机里传过来的信号那样真实。
What is REAL?