更改
跳到导航
跳到搜索
第309行:
第309行:
− +
第323行:
第323行:
− '''2、进化'''+
第333行:
第333行:
− '''3、无穷上升的虚拟层'''+
→未开采的金矿
就来简单挖掘一下这个金矿。
就来简单挖掘一下这个金矿。
=====1、自我反省的程序(Self-introspective program)=====
=====自我反省的程序(Self-introspective program)=====
我们人类拥有的自由意识最可贵之处就在于意识可以反作用于自己,并时刻知道自己正在干什么。我们说意识具有自我反省的能力。那么,计算机程序能不能具有自我反省的能力呢?对于常见的程序来说,答案是否定的。然而,如果利用递归定理,我们便能创造出知道“自己正在干什么”的程序(具体关于自反省的程序,可以参看《[https://book.douban.com/subject/1437118/ Computability: an introductionto recursive function theory]》一书)。
我们人类拥有的自由意识最可贵之处就在于意识可以反作用于自己,并时刻知道自己正在干什么。我们说意识具有自我反省的能力。那么,计算机程序能不能具有自我反省的能力呢?对于常见的程序来说,答案是否定的。然而,如果利用递归定理,我们便能创造出知道“自己正在干什么”的程序(具体关于自反省的程序,可以参看《[https://book.douban.com/subject/1437118/ Computability: an introductionto recursive function theory]》一书)。
既然这个程序C已经清楚地了解到它自己在经过t步运算后的所有结果和中间状态了,那么我们不能说这个程序是自省的吗?所以程序也能做到知道自己正在做什么。
既然这个程序C已经清楚地了解到它自己在经过t步运算后的所有结果和中间状态了,那么我们不能说这个程序是自省的吗?所以程序也能做到知道自己正在做什么。
=====进化=====
冯诺依曼也许是最早地看到递归定理与自然进化之间存在着深刻联系的人。在他的著作《自复制自动机理论([https://book.douban.com/subject/2982694/ Theory of Self-reproducing Automata])》之中,他专门探讨了由递归定理引起的自复制,以及由小的热力学涨落而作用到自复制过程中,从而可能引起的进化。
冯诺依曼也许是最早地看到递归定理与自然进化之间存在着深刻联系的人。在他的著作《自复制自动机理论([https://book.douban.com/subject/2982694/ Theory of Self-reproducing Automata])》之中,他专门探讨了由递归定理引起的自复制,以及由小的热力学涨落而作用到自复制过程中,从而可能引起的进化。
如果这个随机变异发生在(Copy<sub>о</sub> Construct<sub>о</sub> Control)上面,那么新生成的机器就不再会有生产的功能了,因为我们已经破坏了复制的逻辑。如果变异发生在数据λ(Copy<sub>о</sub> Construct<sub>о</sub> Control)上,那么得到的新机器还具有复制的功能,但是复制的不再是它自己,而是某种变异的机器了。进一步,我们可以假设变异的可能性是在λ(Copy<sub>о</sub> Construct<sub>о</sub> Control)上面增加了一些无害的数据,例如λ(Copy<sub>о</sub> Construct<sub>о</sub> Control),那么这段数据会被(Copy<sub>о</sub> Construct<sub>о</sub> Control)执行,而形成新的机器:λ(Copy<sub>о</sub> Construct<sub>о</sub> Control<sub>о</sub> Mutation)<sub>о</sub> (Copy<sub>о</sub> Construct<sub>о</sub> Control<sub>о</sub> Mutation)。我们看到,这个新机器不仅没有丧失自我复制的能力,还在原来机器的基础上增加了新的功能:Mutation。如果继续运行这个变异的机器,它不仅能够自复制,而且还能将变异出来的新功能Mutation一直保持下去,直到新的变异产生。这不正是大自然的进化吗?
如果这个随机变异发生在(Copy<sub>о</sub> Construct<sub>о</sub> Control)上面,那么新生成的机器就不再会有生产的功能了,因为我们已经破坏了复制的逻辑。如果变异发生在数据λ(Copy<sub>о</sub> Construct<sub>о</sub> Control)上,那么得到的新机器还具有复制的功能,但是复制的不再是它自己,而是某种变异的机器了。进一步,我们可以假设变异的可能性是在λ(Copy<sub>о</sub> Construct<sub>о</sub> Control)上面增加了一些无害的数据,例如λ(Copy<sub>о</sub> Construct<sub>о</sub> Control),那么这段数据会被(Copy<sub>о</sub> Construct<sub>о</sub> Control)执行,而形成新的机器:λ(Copy<sub>о</sub> Construct<sub>о</sub> Control<sub>о</sub> Mutation)<sub>о</sub> (Copy<sub>о</sub> Construct<sub>о</sub> Control<sub>о</sub> Mutation)。我们看到,这个新机器不仅没有丧失自我复制的能力,还在原来机器的基础上增加了新的功能:Mutation。如果继续运行这个变异的机器,它不仅能够自复制,而且还能将变异出来的新功能Mutation一直保持下去,直到新的变异产生。这不正是大自然的进化吗?
=====无穷上升的虚拟层=====
在上一章中我们讨论了一种可能性,就是一个计算机程序在接收外界输入的同时能够不停地构建越来越深的虚拟层次,并将自己的拷贝在这些虚拟层中不断地改造、变异。这种改造和变异可能具有非常大的任意性,从而让玩家完全不能分辨出与自己交互的究竟是原来的程序还是一个完全不同的新程序了。所以,他也就不能再分辨自己究竟是玩家还是程序员了。
在上一章中我们讨论了一种可能性,就是一个计算机程序在接收外界输入的同时能够不停地构建越来越深的虚拟层次,并将自己的拷贝在这些虚拟层中不断地改造、变异。这种改造和变异可能具有非常大的任意性,从而让玩家完全不能分辨出与自己交互的究竟是原来的程序还是一个完全不同的新程序了。所以,他也就不能再分辨自己究竟是玩家还是程序员了。