更改

无编辑摘要
第320行: 第320行:     
2、进化
 
2、进化
 +
 
冯诺依曼也许是最早地看到递归定理与自然进化之间存在着深刻联系的人。在他的著作《自复制自动机理论(TheoryofSelf-reproducingAutomata)》之中,他专门探讨了由递归定理引起的自复制,以及由小的热力学涨落而作用到自复制过程中,从而可能引起的进化。
 
冯诺依曼也许是最早地看到递归定理与自然进化之间存在着深刻联系的人。在他的著作《自复制自动机理论(TheoryofSelf-reproducingAutomata)》之中,他专门探讨了由递归定理引起的自复制,以及由小的热力学涨落而作用到自复制过程中,从而可能引起的进化。
   第329行: 第330行:     
3、无穷上升的虚拟层
 
3、无穷上升的虚拟层
在上一章中我们讨论了一种可能性,就是一个计算机程序在接收外界输入的同时能够不停地构建越来越深的虚拟层次,并将自己的拷贝在这些虚拟层中不断地改造、变异。这种改
  −
造和变异可能具有非常大的任意性,从而让玩家完全不能分辨出与自己交互的究竟是原来的程序还是一个完全不同的新程序了。所以,他也就不能再分辨自己究竟是玩家还是程序员了。
     −
也许在读上一章的时候你还对此类怪异的程序将信将疑,但是有了递归定理,我们便会看到能够产生无穷多个虚拟层,并能在每个虚拟层保持自身,同时还能根据玩家的输入而变
+
在上一章中我们讨论了一种可能性,就是一个计算机程序在接收外界输入的同时能够不停地构建越来越深的虚拟层次,并将自己的拷贝在这些虚拟层中不断地改造、变异。这种改造和变异可能具有非常大的任意性,从而让玩家完全不能分辨出与自己交互的究竟是原来的程序还是一个完全不同的新程序了。所以,他也就不能再分辨自己究竟是玩家还是程序员了。
异的程序的确是可能的。
+
 
 +
也许在读上一章的时候你还对此类怪异的程序将信将疑,但是有了递归定理,我们便会看到能够产生无穷多个虚拟层,并能在每个虚拟层保持自身,同时还能根据玩家的输入而变异的程序的确是可能的。
    
我们可以这样来的定义递归定理中的F:
 
我们可以这样来的定义递归定理中的F:
 
F=(AcceptInputоMutationоUniversalComputationоControl)
 
F=(AcceptInputоMutationоUniversalComputationоControl)
   −
也就是说这个程序F由四个部分组成,第一个部分AcceptInput可以接受外界(玩家)的输入信息;第二个部分Mutation使它可以对源代码数据进行随机变异(仿照可变异的自
+
也就是说这个程序F由四个部分组成,第一个部分AcceptInput可以接受外界(玩家)的输入信息;第二个部分Mutation使它可以对源代码数据进行随机变异(仿照可变异的自复制程序);第三部分UniversalComputation为一个通用计算程序(通用图灵机);第四部分Control表示为了让计算能够按照指定方式顺利运行而进行的一些控制操作。
复制程序);第三部分UniversalComputation为一个通用计算程序(通用图灵机);第四部分Control表示为了让计算能够按照指定方式顺利运行而进行的一些控制操作。
      
我们看到,这个程序就能完成我们所要求的功能。首先,根据递归定理,存在着某个源程序c,使得程序C运行起来之后,它的效果等价于F这个函数作用到它自己的源代码c
 
我们看到,这个程序就能完成我们所要求的功能。首先,根据递归定理,存在着某个源程序c,使得程序C运行起来之后,它的效果等价于F这个函数作用到它自己的源代码c
第357行: 第356行:  
是否会停下来?我们可以形象地把这写程序之间的关系表达为图:
 
是否会停下来?我们可以形象地把这写程序之间的关系表达为图:
    +
[[File:2011131713151330.jpg |600px |thumb |center |图5-3图灵停机问题图示]]
   −
图5-3图灵停机问题图示
   
答案是,像H这样聪明的程序是不存在的,我们可以通过反证法来证明这个结论。首先,我们假设H这样的程序存在,不妨设这个程序可以写成一个二元函数:H(x,y),其中x
 
答案是,像H这样聪明的程序是不存在的,我们可以通过反证法来证明这个结论。首先,我们假设H这样的程序存在,不妨设这个程序可以写成一个二元函数:H(x,y),其中x
 
为程序X的源代码,y为给X输入的字符串数据,H将能判断当X作用到y上的时候是否停机。
 
为程序X的源代码,y为给X输入的字符串数据,H将能判断当X作用到y上的时候是否停机。
    
那么,我们就可以根据H构造一个破坏性的程序D,D的定义如下:
 
那么,我们就可以根据H构造一个破坏性的程序D,D的定义如下:
D(z){y=H(z,z);
+
 
Ify=yesthen
+
D(z){
Dowhiletrue
+
 
 +
y=H(z,z);
 +
 
 +
If y=yes then
 +
 
 +
Do while true
 +
 
 
Loop
 
Loop
Elsereturn
+
 
 +
Else
 +
 
 +
return
 +
 
 
Endif
 
Endif
 +
 
}
 
}
 +
 
源代码5:破坏停机程序H的程序D
 
源代码5:破坏停机程序H的程序D
   第488行: 第499行:     
(3)图灵停机问题与哥德尔定理之间的比较
 
(3)图灵停机问题与哥德尔定理之间的比较
 +
 
下面,我们就来比较一下图灵停机问题以及哥德尔定理证明过程中所用到的共同的自指技巧,请看下表1。
 
下面,我们就来比较一下图灵停机问题以及哥德尔定理证明过程中所用到的共同的自指技巧,请看下表1。
   第495行: 第507行:  
序还是命题语句,它们都是由一些基本的符号拼接而成的,同时这些符号串都能够充当动词——也就是它们可以对别的符号串进行运算操作。另外,至关重要的一点是,这两个系统都能够通过编码的手段而谈论其自身。
 
序还是命题语句,它们都是由一些基本的符号拼接而成的,同时这些符号串都能够充当动词——也就是它们可以对别的符号串进行运算操作。另外,至关重要的一点是,这两个系统都能够通过编码的手段而谈论其自身。
   −
接下来的蓝色单元格表示的是系统所具备的另外一种基本属性,即意义判断。在计算机程序的世界中,我们知道程序可以分为停机的程序和不停机的程序两种;而对于命题语句来
+
接下来的蓝色单元格表示的是系统所具备的另外一种基本属性,即意义判断。在计算机程序的世界中,我们知道程序可以分为停机的程序和不停机的程序两种;而对于命题语句来说,它们又可以分成真命题和假命题两种。这种意义判断是一个非常微妙的东西,因为,任意拿来一个程序或者是命题,我们观察者确信它们会存在着一种意义,或者是程序停机或者是命题正确。尽管在很多情况下,我们并不能马上给出这样的判断。例如,对于很复杂的程序来说,尽管我们已经等了100天,它没有停机,但是我们并不知道它会不会在第101天内停下来。但是,我们会倾向于认为任何的单元都具备某种意义或者价值,而且我们迫切地希望这种意义判断能够让系统自身告诉我们答案,也就是希望存在一个计算机程序H能够自动给出任意程序X作用到y上是否停机;或者是希望公理体系中的定理能够自动帮我们判断所有的命题是否为真,这就是语句“m:T(m,n)”的作用。尽管这个梦想最终必将破灭。我们看到,这种意义判断是破坏性自指系统特有的,而构建性自指系统不具备的重要属性之一。
说,它们又可以分成真命题和假命题两种。这种意义判断是一个非常微妙的东西,因为,任意拿来一个程序或者是命题,我们观察者确信它们会存在着一种意义,或者是程序停机或者是命题正确。尽管在很多情况下,我们并不能马上给出这样的判断。例如,对于很复杂的程序来说,尽管我们已经等了100天,它没有停机,但是我们并不知道它会不会在第101天内停下来。但是,我们会倾向于认为任何的单元都具备某种意义或者价值,而且我们迫切地希望这种意义判断能够让系统自身告诉我们答案,也就是希望存在一个计算机程序H能够自动给出任意程序X作用到y上是否停机;或者是希望公理体系中的定理能够自动帮我们判断所有的命题是否为真,这就是语句“m:T(m,n)”的作用。尽管这个梦想最终必将破灭。我们看到,这种意义判断是破坏性自指系统特有的,而构建性自指系统不具备的重要属性之一。
      
其次,让我们来看黄色部分的单元格。它们都是利用蒯恩技术来构建自指的核心部分。这个技术与我们前两节谈论的建构性自指部分并没有本质的区别。
 
其次,让我们来看黄色部分的单元格。它们都是利用蒯恩技术来构建自指的核心部分。这个技术与我们前两节谈论的建构性自指部分并没有本质的区别。
第502行: 第513行:  
然后是粉色单元格部分,它是破坏性自指系统的核心之处。无论是图灵停机问题还是哥德尔定理的证明,它们都用蒯恩函数加上一个否定的意义判断程序而构造了一个自指悖论出来。在图灵停机问题里面,程序D作用到自己的源代码d上面就会产生“我不会停机”的效果;而在哥德尔定理的证明中,哥德尔句子就在说“我不是一个定理”。所以D(d)和G才是整个证明中的核心。
 
然后是粉色单元格部分,它是破坏性自指系统的核心之处。无论是图灵停机问题还是哥德尔定理的证明,它们都用蒯恩函数加上一个否定的意义判断程序而构造了一个自指悖论出来。在图灵停机问题里面,程序D作用到自己的源代码d上面就会产生“我不会停机”的效果;而在哥德尔定理的证明中,哥德尔句子就在说“我不是一个定理”。所以D(d)和G才是整个证明中的核心。
   −
 
+
最后,让我们来看浅蓝色的结论部分。虽然都采用了自指悖论的技术,但是图灵停机问题的结论是否定自动意义判断程序H的存在性,而哥德尔定理则并不反对系统自身给出的意义判断语句“∃m:T(m,n)”的存在性,因为我们已经人为构造出了这样的语句,它必然是存在的,但是自指悖论引来的是这个判断语句的判断能力是受到局限的,要么它是不一致的,要么它是不完备的。看起来似乎哥德尔定理的证明与图灵停机问题的证明在这一点上很不一样,但其实如果我们仔细分析,它们仍然是相通的。假如在图灵停机问题的证明中,我们像哥德尔定理证明中一样强硬地写出来一个判断程序停机的函数H,那么同样的逻辑就会在最后一步导致这个函数H判断的局限性。也就是说对于程序D(d)来说,H是否应该判断它停机呢?如果H判断D(d)停机,那么通过分析D(d)我们知道它不会停机,也就是说H的判断会导致矛盾的结果,即不一致性。如果H判断D(d)不停机,而我们通过分析D(d)又知道它会停机,于是我们便知道H这个函数并不能将所有事实上停机的程序判断为停机,也就是说H的判断是不完备的。于是,我们便能得出与哥德尔定理类似的结论:任何判断停机问题的程序都不能同时具备一致性和完备性。
最后,让我们来看浅蓝色的结论部分。虽然都采用了自指悖论的技术,但是图灵停机问题的结论是否定自动意义判断程序H的存在性,而哥德尔定理则并不反对系统自身给出的意义判断语句“∃m:T(m,n)”的存在性,因为我们已经人为构造出了这样的语句,它必然是存在的,但是自指悖论引来的是这个判断语句的判断能力是受到局限的,要么它是不一致的,
  −
要么它是不完备的。看起来似乎哥德尔定理的证明与图灵停机问题的证明在这一点上很不一样,但其实如果我们仔细分析,它们仍然是相通的。假如在图灵停机问题的证明中,我们像哥德尔定理证明中一样强硬地写出来一个判断程序停机的函数H,那么同样的逻辑就会在最后一步导致这个函数H判断的局限性。也就是说对于程序D(d)来说,H是否应该判断它停机呢?如果H判断D(d)停机,那么通过分析D(d)我们知道它不会停机,也就是说H的判断会导致矛盾的结果,即不一致性。如果H判断D(d)不停机,而我们通过分析D(d)又知道它会停机,于是我们便知道H这个函数并不能将所有事实上停机的程序判断为停机,也就是说H的判断是不完备的。于是,我们便能得出与哥德尔定理类似的结论:任何判断停机问题的程序都不能同时具备一致性和完备性。
      
可以说,表1涵盖了所有破坏性自指中的精华。例如,我们可以用同样的方法来分析说谎者悖论:“这句话是假的”,或者等价的:
 
可以说,表1涵盖了所有破坏性自指中的精华。例如,我们可以用同样的方法来分析说谎者悖论:“这句话是假的”,或者等价的:
   −
把‚把中的第一个字放到左引号前面,其余的字放到右引号后面,并保持引号及其中的字不变得到的句子是假的‛中的第一个字放到左引号前面,其余的字放到右引号后面,并保持引号及其中的字不变得到的句子是假的
+
把‚把中的第一个字放到左引号前面,其余的字放到右引号后面,并保持引号及其中的字不变得到的句子是假的‛中的第一个字放到左引号前面,其余的字放到右引号后面,并保持引号及其中的字不变得到的句子是假的我们可以把所有的中文句子看作是讨论的基本单元,而根据句子的动词做出的句子变换看作是基本的运算。同样句子也具备对自身操作的能力。接下来,任何一个句子的真假就是我们所说的意义判断。我们将看到,这种真假的判断只能由人来做出,而不可能由句子本身来做。证明这个结论的方法自然是构造上面那个说谎者悖论句子。在第2节的讨论中,我们已经知道,语言中也存在着蒯恩方法,即Q(X),而且把蒯恩作用到它自己上:Q(Q)就能得到
 
  −
我们可以把所有的中文句子看作是讨论的基本单元,而根据句子的动词做出的句子变换看作是基本的运算。同样句子也具备对自身操作的能力。接下来,任何一个句子的真假就是
  −
我们所说的意义判断。我们将看到,这种真假的判断只能由人来做出,而不可能由句子本身来做。证明这个结论的方法自然是构造上面那个说谎者悖论句子。在第2节的讨论中,我们已经知道,语言中也存在着蒯恩方法,即Q(X),而且把蒯恩作用到它自己上:Q(Q)就能得到
   
完全相同的句子,即“我”:
 
完全相同的句子,即“我”:
   −
把‚把中的第一个字放到左引号前面,其余的字放到右引号后面,并保持引号及其中的字不变‛中的第一个字放到左引号前面,其余的字放到右引号后面,并保持引号及其中的字不变
+
把‚把中的第一个字放到左引号前面,其余的字放到右引号后面,并保持引号及其中的字不变‛中的第一个字放到左引号前面,其余的字放到右引号后面,并保持引号及其中的字不变之后,我们将蒯恩联合上一个意义判断,即F=“得到的句子是假的”,然后将“我”即Q,与F联合起来就构成了悖论函数,即QF(X),将悖论函数作用到它自己身上QF(QF)就得到了上面的那个说谎者悖论。
 
  −
之后,我们将蒯恩联合上一个意义判断,即F=“得到的句子是假的”,然后将“我”即Q,与F联合起来就构成了悖论函数,即QF(X),将悖论函数作用到它自己身上QF(QF)就得到了上面的那个说谎者悖论。
      
接下来,根据QF(QF),我们能得到什么结论呢?一个最简单直接的结论就是质疑:“任何句子都有对错”这个结论上,因为最后得到的悖论语句就既不真也不假。
 
接下来,根据QF(QF),我们能得到什么结论呢?一个最简单直接的结论就是质疑:“任何句子都有对错”这个结论上,因为最后得到的悖论语句就既不真也不假。
第698行: 第702行:     
===自指与观察者===
 
===自指与观察者===
本系列文章是关于观察者的,然而在这第五章中,我们一直在谈自指,却丝毫没有观察者什么事。笔者认为自指与观察者有着非常深刻的联系,而且也正是从自指的领悟中慢慢体
+
 
会到观察者的作用的。我们将会看到,如果要理解自指的深层含义,观察者是必须引入的一个因素。
+
本系列文章是关于观察者的,然而在这第五章中,我们一直在谈自指,却丝毫没有观察者什么事。笔者认为自指与观察者有着非常深刻的联系,而且也正是从自指的领悟中慢慢体会到观察者的作用的。我们将会看到,如果要理解自指的深层含义,观察者是必须引入的一个因素。
    
正如第1章所谈到的,目前的主流科学仿佛是黑色的前景,而观察者则是隐藏在白色的背景中。那么自指就位于前景与背景之间的交界处,通过自指才能从前景走到背景,也只有通过自指才能用科学的方法让观察者真正耦合到系统中。
 
正如第1章所谈到的,目前的主流科学仿佛是黑色的前景,而观察者则是隐藏在白色的背景中。那么自指就位于前景与背景之间的交界处,通过自指才能从前景走到背景,也只有通过自指才能用科学的方法让观察者真正耦合到系统中。
第707行: 第711行:     
(1)、观察者藏于何处?
 
(1)、观察者藏于何处?
 +
 
首先,在讨论自指语句,尤其是“把„„中的第一个字放在引号前面,其余的字放在引号后面„„”的时候,我曾经指出,这个句子中的动词可以使役读句子的观察者来对它进行
 
首先,在讨论自指语句,尤其是“把„„中的第一个字放在引号前面,其余的字放在引号后面„„”的时候,我曾经指出,这个句子中的动词可以使役读句子的观察者来对它进行
 
操作。但是,这里面的观察者引入实际上并不是必需的。因为,我们完全可以编写出一个计算机程序来操作句子,而不一定非要观察者来做。
 
操作。但是,这里面的观察者引入实际上并不是必需的。因为,我们完全可以编写出一个计算机程序来操作句子,而不一定非要观察者来做。
第717行: 第722行:  
你大概已经猜到了我将会干什么,我可以构造一个程序D(z)为:
 
你大概已经猜到了我将会干什么,我可以构造一个程序D(z)为:
   −
D(z){IfP(z,z)=0thenReturnSelf;ElseReturn‘ok’;Endif
+
D(z)
 +
{If
 +
P(z,z)=0
 +
 
 +
then
 +
 
 +
Return Self;
 +
 
 +
Else
 +
 
 +
Return‘ok’;
 +
 
 +
Endif
 +
 
 
}
 
}
   第751行: 第769行:     
===因果何时逆转?===
 
===因果何时逆转?===
 +
 
以上的讨论主要集中在破坏性的自指。而建构性的自指与观察者的结合也许能够发挥更大的作用。笔者在第2章中已经提到,生命的自主性体现为观察者观察生命的时候产生的
 
以上的讨论主要集中在破坏性的自指。而建构性的自指与观察者的结合也许能够发挥更大的作用。笔者在第2章中已经提到,生命的自主性体现为观察者观察生命的时候产生的
 
一种错觉:观察者会倾向于用目的因和形式因来解释被观察的生命系统,而不是用我们司空见惯的动力因和质料因。让我们把第2章的图再拷贝到这里:
 
一种错觉:观察者会倾向于用目的因和形式因来解释被观察的生命系统,而不是用我们司空见惯的动力因和质料因。让我们把第2章的图再拷贝到这里:
   −
图5-4(2-5)空间上的因果这张图说明了空间上的质料因和形式因的因果箭头的逆转。我们知道任何系统在空间上都是由低层更小的元素组合而成的,例如细胞组成生物体,人组成城市。我们通常的解释是,这些微观的个体决定了整体的性质。因此我们习惯于用亚里士多德所说的质料因来解释这种因果依赖性。然而,当我们考虑生命系统的诸如自我修复特征的时候,虽然我们也可以将系统的这种能力还原到底层的质料因,但是我们通常说:“细胞自己完成了修复”,而不是说:“XX分子作用到了YY通路上,导致了ZZ生成了新的化学物质WW„„”,因为后一种描述太过复杂了。所以,这时,我们用形式因代替了质料因(即右图中从上而下的虚箭头)。我们发现因果箭头从原来的自下而上转变为现在的自上而下。
+
[[File:2011131713152730.jpg |600px |thumb |center |图5-4(2-5)空间上的因果]]
   −
图5-5(2-6)时间上的因果
+
这张图说明了空间上的质料因和形式因的因果箭头的逆转。我们知道任何系统在空间上都是由低层更小的元素组合而成的,例如细胞组成生物体,人组成城市。我们通常的解释是,这些微观的个体决定了整体的性质。因此我们习惯于用亚里士多德所说的质料因来解释这种因果依赖性。然而,当我们考虑生命系统的诸如自我修复特征的时候,虽然我们也可以将系统的这种能力还原到底层的质料因,但是我们通常说:“细胞自己完成了修复”,而不是说:“XX分子作用到了YY通路上,导致了ZZ生成了新的化学物质WW„„”,因为后一种描述太过复杂了。所以,这时,我们用形式因代替了质料因(即右图中从上而下的虚箭头)。我们发现因果箭头从原来的自下而上转变为现在的自上而下。
 +
 
 +
[[File:2011131713152830.jpg |600px |thumb |center |图5-5(2-6)时间上的因果]]
    
同样的故事也会发生在时间上。对于通常的服从物理规律的物体来说,我们会用动力因解释它的运动,例如我们知道小球在t时刻滚到了A点是因为小球t0时刻在B点以初速度v0出发,并由于重力加速度g的作用而实现的。每时每刻,小球的过去决定了未来。但是,当我们看到一只觅食的小虫子朝向食物而去的时候,我们实际上放弃了这套熟悉的从动力因角度的解释。而是从目的因出发,也就是说小虫之所以运动到食物那里是因为小虫子“想”爬过去。或者说小虫子是有目的的前往食物那里的。所以从过去到现在的动力因因果箭头被逆转成为从未来到现在的“目的因”因果箭头。
 
同样的故事也会发生在时间上。对于通常的服从物理规律的物体来说,我们会用动力因解释它的运动,例如我们知道小球在t时刻滚到了A点是因为小球t0时刻在B点以初速度v0出发,并由于重力加速度g的作用而实现的。每时每刻,小球的过去决定了未来。但是,当我们看到一只觅食的小虫子朝向食物而去的时候,我们实际上放弃了这套熟悉的从动力因角度的解释。而是从目的因出发,也就是说小虫之所以运动到食物那里是因为小虫子“想”爬过去。或者说小虫子是有目的的前往食物那里的。所以从过去到现在的动力因因果箭头被逆转成为从未来到现在的“目的因”因果箭头。
第762行: 第783行:  
然而,读者一定与我一样好奇,这样的因果逆转究竟是怎么发生的呢?观察者凭什么就会调转这个因果箭头呢?这些东西究竟跟自指有什么联系呢?让我们先做这样一个简单而有趣的思想试验。
 
然而,读者一定与我一样好奇,这样的因果逆转究竟是怎么发生的呢?观察者凭什么就会调转这个因果箭头呢?这些东西究竟跟自指有什么联系呢?让我们先做这样一个简单而有趣的思想试验。
   −
 
+
[[File:2011131713152831.jpg |600px |thumb |center |图5-6混淆观察者的实与虚]]
图5-6混淆观察者的实与虚
      
假如我们能够创造这样一种完美的人类克隆体,它不仅外貌上与被克隆的人一模一样,而且能够非常完美地在瞬间模仿真人的一切动作(包括说话、运动等等)。我们假设,A和A的克隆体A’之间存在着信号传递,无论A做了什么动作,说了什么话,都可以用一个无线电装置在瞬间传递给A’,并让A’马上模仿出来。
 
假如我们能够创造这样一种完美的人类克隆体,它不仅外貌上与被克隆的人一模一样,而且能够非常完美地在瞬间模仿真人的一切动作(包括说话、运动等等)。我们假设,A和A的克隆体A’之间存在着信号传递,无论A做了什么动作,说了什么话,都可以用一个无线电装置在瞬间传递给A’,并让A’马上模仿出来。
第773行: 第793行:  
运行生成的“虚拟层”。而这个程序正在进行反省,也就是意味着该程序正在虚拟层模拟它自己在物理层上的动作,如图:
 
运行生成的“虚拟层”。而这个程序正在进行反省,也就是意味着该程序正在虚拟层模拟它自己在物理层上的动作,如图:
   −
图5-7自我反省程序中的两个层次
+
[[File:2011131713152930.jpg |600px |thumb |center |图5-7自我反省程序中的两个层次]]
    
由于程序将自己的源代码原封不动地拷贝到了虚拟层,并进行分析、模拟,所以我们观察者将会看到两个不同层次完美的重合。当程序不仅仅做出分析,而且还能够做出输入输出
 
由于程序将自己的源代码原封不动地拷贝到了虚拟层,并进行分析、模拟,所以我们观察者将会看到两个不同层次完美的重合。当程序不仅仅做出分析,而且还能够做出输入输出
第789行: 第809行:     
===小结===
 
===小结===
 +
 
本章将20世纪30年代人们通过数理逻辑、计算理论对自指问题的认识进行了比较详细的综述,并重点指出了人们不太熟悉的构建性自指问题。最后,我们又将自指问题在观察者
 
本章将20世纪30年代人们通过数理逻辑、计算理论对自指问题的认识进行了比较详细的综述,并重点指出了人们不太熟悉的构建性自指问题。最后,我们又将自指问题在观察者
 
理论中的重要性突出出来。可以说,自指问题恰恰是前景主流科学和背景观察者理论的交叉边界之处。所以,从科学的角度认识观察者的性质是与自指问题密不可分的。本章我们将观察者理论的不同应用融入到了各个章节之中,其中包括无穷上升的虚拟层次,图灵机-观察者模型解决停机问题,因果倒置与生命的本质等等。
 
理论中的重要性突出出来。可以说,自指问题恰恰是前景主流科学和背景观察者理论的交叉边界之处。所以,从科学的角度认识观察者的性质是与自指问题密不可分的。本章我们将观察者理论的不同应用融入到了各个章节之中,其中包括无穷上升的虚拟层次,图灵机-观察者模型解决停机问题,因果倒置与生命的本质等等。