自复制自动机理论
- 书名:自复制自动机理论(Theory of Self-reproducing Automata)
- 作者:约翰·冯·诺依曼 (John von Neuman)
- 编者:阿瑟.伯克斯(Arthur W. Burks)
- 译者:东方和尚
Jake注记
von Neumann的这部经典的最重要的部分(5篇讲座的讲稿)终于被东方和尚翻译完了。毫不夸张地说,这五篇文章不仅仅预测了复杂性科学未来100年的发展方向(事实上很多领域已经验证了von Neumann的预言),而且还指出了生命逻辑最核心的奥秘:热力学、信息论与自指之间的深刻联系。
此书原版的下载:https://swarmagents.cn/thesis/program/self-reproducing.rar
在这里,我会陆续将东方和尚的翻译,加上一些自己的评论放到网上。希望更多的人能够读到它,并能够真正从这位不朽大师的遗产中获益。
在翻译过程中,我们做了以下的添加和修改:
1、为了方便阅读,我们为原文进行了分段,并加上了段标题;
2、为了让读者感觉更亲切,我们加上了若干副插图。
3、为原文添加了大量的评论,东方和尚的评论插入到了正文的注脚中,我的评论则插入到了每篇正文的后面。另外,因为这本书是von Neumann的助手Arthur Burks(遗传算法之父John Holland的博士生导师),所以在“【】”之中的文字是编者加的注解。大家要注意分辨。
全文下载:
http://swarmagents.cn/thesis/detail.asp?id=359
下面是正文目录:
书名:《自复制自动机理论》(Theory of Self-reproducing Automata)
作者:约翰·冯·诺依曼 (John von Neuman)
编者:阿瑟.伯克斯(Arthur W. Burks)
前言与编者介绍 自复制自动机前言
冯纽曼在计算机方面的工作
冯纽曼的自动机理论
第一部分:复杂自动机的组织与理论
第一堂课:一般意义的计算机
第二堂课:控制与信息理论
第三堂课:信息的统计理论
第四堂课:大数之道
第五堂课:复杂自动机的一些考量——关于层次与进化的问题
正文部分
第一堂课——一般意义上的计算机
摘要:
• 数学中的抽象方法和计算方法,后者在应用数学和数学物理上的作用。纯数学中两者的作用。分析的状况。计算模拟作为一种启发性的工具。
• 不同的计算方法:模拟和数字。
• 模拟方法:利用物理实验来代替计算。模拟计算机。
• 数字方法:人工计算,简单的计算机,全自动的计算。
• 现在计算机的状况,数字和模拟计算机的不同功能,计算速度,编写程序和精度的问题。
• 计算机中基本操作的概念,在数字和模拟计算机中间基本操作的作用。关于数字和模拟组件的一些见解。
• 继电器元件。主要的形式:机电继电器,真空管以及其他可能的继电器。
• 数字计算所需时间或者计算复杂度的测量,逻辑和算术运算,线性和非线性的算术计算,乘法次数的作用。不同计算的统计性质的稳定性,分析的特殊功用。
• 计算长度或者复杂度的不同性质。对于自动数字计算机器的问题特征长度。
• 精度需求。
• 内存需求:内存容量的测量。内存的关键参数,读写时间和内存容量。建立不同级别内存的原因,数字计算机器的实际内存需要量。
• 输入输出:主要的媒介。
• 平衡的概念:不同零件的速度平衡。不同级别内存容量和速度的平衡。速度和精度的平衡。速度、内存容量和编程能力的平衡。
• 从热力学角度看待平衡。热力学上的内存容量。在传统的经验方式之上建立定量理论。可靠性和错误的一些初步看法。
内容:
女士们、先生们,我将会为大家讲五次课,对大家的热情欢迎我预表谢意,希望我的课能够满足各位的兴趣。本课程的内容是有关自动机的,我们将要研究高度复杂的自动机会表现的行为,以及巨大的复杂度所带来的具体困难。我们会简单地对比人工自动机和生命,因为很容易想到,生命在其能力的限制范围内,可以看作自然的自动机。因此,我们必得考虑两者之间的类似和区别,还要考虑到是不是我们的技巧太过笨拙,不能够深入地洞察生命和自动机的关系(这也是很正常的),要考虑生命和机器之间的区别,究竟有多大程度上是本质的。
今天我主要谈谈人工自动机,具体来说,我们只谈一类——计算机器。我会说一说计算机在不久以前、现在以及将来所起到的作用[1]。
……
全部内容,请点击下载:一般意义的计算机
第二堂课——控制与信息理论
摘要:
• 信息理论:严格的部分。信息的概念,集合和区分所对应的数理逻辑概念。
• 同形式逻辑的紧密联系。利用自动机模型做不同的分析。这两种做法的共同特点:具备或不具备的特征。把两种分析联系在一起的工作。
• 两种描述自动机的方法:零件组合或者整体处理。
• 零件组合的方法:基本单元的性质,同神经元的类似之处。McCulloch & Pitts理论:形式神经网络,他们主要的结论。
• 整体处理的方法:图灵机理论。图灵机和数学问题的联系,何种数学问题能够用图灵机解决。通用自动机的概念。图灵的主要结论。
• McCulloch & Pitts的神经网络以及图灵自动机的局限。输入和输出元件。一般意义上的计算。利用传感器和运动元件的分析方法。
一、概述
【冯纽曼说信息理论包括两大块:严格的信息论和概率的信息论。以概率统计为基础的信息理论大概对于现代计算机设计更加重要。但是在此之前,我们必须先弄清楚严格的信息论那部分,它其实就是形式逻辑的另一种处理方式。】
【他接下来解释了一些形式逻辑的基本概念,简要地说明了真值函数的连接词,比如“与”“非”“如果…那么”“与非”以及它们之间的相互定义性。他还解释了变量和量词,包括“全称”量词和“存在”量词。他的结论是“如果你有这样的一台计算机,就可以表达一切数学计算,或者能够纯粹地用数学计算表达出的任何主题。”】
对于计算机,我不打算深谈。因为存在另外一种不一样的机器,同信息理论也很有关系,就是McCulloch & Pitts提出的神经网络理论,你可以说图灵机和McCulloch & Pitts的神经网络分别处于信息理论的两个极端。这两套理论都力图建立一个公理化的体系,用某种假设的理想机器来建立形式逻辑系统,但并不实际去制作这样的机器。他们都成功地说明了形式逻辑同他们设想的机器是完美兼容的,也就是说,机器能做到的一切工作,都能够被形式逻辑所刻画;反过来,任何能够用形式逻辑描述的事物,也都能够用这类机器来运行。【冯纽曼这里假设了McCulloch & Pitts的神经网络有着一条无限长的纸带,结果表明了它同图灵机的等价性。这个结果也就是图灵可计算性、函数的λ可定义性、以及一般递归的概念。请参见图灵的论文“可计算性和λ可定义性(Computability and λ-Definability)”】
我会简单地介绍McCulloch & Pitts的神经网络以及图灵的工作。因为它们各自代表了一种重要的研究方式:组合方法和整体方法。McCulloch & Pitts描述了一套方法,由非常简单的零件组成复杂结构。因此只需要对底层的零件作公理化定义就可以得到非常复杂的组合;图灵则是对于整个自动机进行了公理化的定义,他仅仅定义了自动机的功能,并没有涉及到具体的零件。
……
全部内容,请点击下载:控制与信息理论
第三堂课——信息的统计理
摘要:
• 信息理论:概率论部分。严格逻辑和概率论逻辑的关系。凯恩斯对于概率论的理解。举例说明逻辑与严格的经典力学以及统计力学之间的关系。量子力学中的相应情况。
• 从数学角度看待严格逻辑向统计逻辑的转变。分析和组合论。
• 热力学的角度:信息和熵。
• 西拉德(Szilard)的理论。
• 香农的信息论。
• 叙述计算机的内部平衡的热力学性质。
一、自动机的鲁棒性
到此,关于信息的严格问题讨论已经告一段落,我们将继续从统计角度来讨论信息的本质。至少有两个原因可以说明统计和概率问题对于自动机和其功能实现是十分重要的:第一个原因可能显得有些任意且离题,虽然我并不这样认为。第二个原因则更加重要,下面我分别加以说明。
第一个原因是:实际上我们无法设想一台绝对可靠的自动机。假如你设计了一台自动机,并且严格地定义了它在任何情景下的全部行为。那么你一定忽略了问题的某些重要方面。如果你是一个新手,那么设计一台可以运行在完全确定环境下的自动机是一种很好的练习。但是只要稍具实际经验,我们就会知道这一步还仅是问题的最初阶段。
我们必须考虑统计因素的第二个原因是:如果你观察一台人造的,或者存在于自然界中的自动机,你会发现那些被严格程序所控制的仅仅是一些细节结构。大部分的控制是以一种允许错误,并且在错误发生时候采取补救措施(多少有效)的方式来实现的。而且,说它们能够预防失误还有些夸大,因为这种机制其实根本就不可能消除所有错误,而是实现了一种发生个别的失误根本无关紧要的容错状态。在这种机制下,无论是错误还是失误带来的后果,都不能被彻底消除。我们可以努力去做到的事情,就是设计一台自动机,让它在遇到通常错误后仍然可以照常工作。这种设计的目的是减小错误的影响,而不是去消除错误。实际上,大多数常见自动机的构造和设计思想,都是属于这类容错型的。
为了允许错误作为一种独立的逻辑对象存在,我们不应该再以严格的方式表述公理,也就是说,公理不应该写成:“如果A和B发生,C就会发生”这样的形式;而是“如果A和B发生,一定的概率下C会发生,也有一定的概率D会发生,等等”的形式。换句话说,每种给定情况下,都会有不同的结果,各自以不同的概率发生。从数学上说,我们可以简单地写出一个概率矩阵,说明各种状态之间发生转换的对应概率为何。你可以把问题写成这样“如果A和B已经发生,接下去发生C的概率有多大?”。这个概率矩阵就给出了一套以概率表示的逻辑系统。无论人工还是自然自动机,只要牵涉概率,都应该放到这个框架下研究【原可参见冯纽曼的论文:《概然逻辑:用不可靠的元件组装可靠的系统(Probabilistic Logics and the Synthesis of Reliable Organs from Unreliable Components)》】。我接下来会谈到为何遇到复杂系统时候,我们就必须放弃严格逻辑而改用概然逻辑系统的原因【假如单个元件出故障的概率固定,那么自动机越是复杂系统崩溃的可能性也越大】
……
全部内容,请点击下载:信息的统计理论
第四堂课——大数之道
摘要:
• 计算机器和神经系统之间的比较,对于计算机器尺度发展的预计。
• 对人类中枢神经系统的尺度进行估计。并说明了生命的“数模混合”性质。模拟和数字元件。人工和生物的各种部件都具有这种混合性质,对此所持的立场。
• 对于人工和生物自动机的尺度差别的评价,用物理原因来解释这种差别。材料的生物性质。
• 存在其他智能因素的可能,复杂度起到的作用和所需要的理论深度。
• 重新考虑可靠性和错误的问题,独立错误的发生概率和程序长度之间的联系。计算机器和生物的典型程序长度。可接受的独立运算错误概率上限。通过校验和自纠正来加以补偿。
• 人工自动机和生物自动机处理错误上的原则差别。人工自动机的“单个错误”原则,因缺乏理论支撑,我们的处理方法的粗糙之处,以及生物自动机的先进之处:元件的自主性。这种自主性和进化之间的联系。
一、人脑与电脑的比较
上两堂课讨论了一般原理之后,我想回到我们所知道的具体自动机的例子上面来。并把以计算机器为例的人工自动机,和以人类神经系统为例的生物自动机进行对比。出于这个目的,请让我先介绍一些单元部件的知识,并把它们的尺度进行比较。
正如我之前提到的,对人的神经系统,科学家还没有足够的研究,但大脑神经元的数量级大致可以确定为1010的级别。而身体其他部分的神经元数量大概要比这个数字小很多,并且它们也源自大脑。最大的大脑周围神经集合是视网膜,从视网膜连到大脑的视觉神经被认为是大脑的一部分[1]。
相比大脑的神经元数量,计算机器用到的电子管个数要小一百万倍。现有最大的计算机器,ENIAC只有2×104个电子管。另一台属于IBM公司的大型计算机器,SSEC包括了各1万个电子管和继电器。正在建造中的最快的计算机器,其设计包括了3千个电子管。电子管数量的减小是由于对内存的处理手法有所不同,之后我会提到。
因此,大致地说,人脑要比大型计算机器复杂1百万倍。大脑和这些机器相比,复杂度增加的程度要比这些机器比单个电子管更巨大。即使用更加宽松的对数坐标表示,计算机器也还达不到大脑的一半复杂度。我认为,无论怎么样定义复杂度,这个比例都应该是比一半小得多的[2]。
……
- ↑ "译者注:现代研究发现,人脑约含15-33×109个神经元。其余部分如小肠的确也有控制消化吸收的神经中枢,被称为"第二大脑",但其神经元数量仅为大脑的千分之一。".
{{cite journal}}
: Cite journal requires|journal=
(help) - ↑ "译者注:由于集成电路技术的高速发展,现代多核处理器在小指甲大小的面积中间集成了10亿个以上的晶体管。而那些挑战人类智能的大型机是由大量这样的并行计算核心芯片和海量内存所组成的。如IBM公司刚刚在智力问答比赛中战胜人类的Watson超级电脑,其硬件包括10个机柜总共90台Power 750服务器,而每台服务器又包括4颗Power 7处理器芯片和16TB内存,合计其晶体管数量为90×4×12×108=5×1011,另有数量级约为1×1016 Bit的内存位元;这两个天文数字已经大大超过了人脑的神经元数量,但电脑同人脑的能力相比,仍然是天地悬隔。因此,我们就有必要认真思考上述的问题。生物的大脑,哪怕是已知的最简单的,秀丽杆虫由302个神经元组成的大脑,和超级电脑的海量计算单元相比,虽然数量上仅仅是沧海一粟,但究竟是谁的复杂度更高?复杂度又究竟应该如何定义?毕竟,是前者不断地进化,才最后导致了后者的出现。".
{{cite journal}}
: Cite journal requires|journal=
(help)
全部内容,请点击下载:大数之道
第五堂课:复杂自动机的一些考量——层次和进化问题
摘要:
• 自动机可以作为一个整体来研究,也可以对各个零件分别研究。当然,有了对于各个零件的知识以后,我们还需要懂得如何把零散的知识组成统一的理论,但是目前我们还不知道怎样做。
• 问题一:我们这里先不谈细节问题,而是仅仅针对中继组件(relay organs)的性质进行讨论。
• 问题二:如何与自动机和信息理论保持一致,我们将重新考虑在第二堂课结尾的地方已经触及到的将程序看作一种自动机模型的理论探讨。
• 如何合成一个自动机,并且它自己就能实现这一合成过程。
• 有关“复杂度”的直观理解。我们猜测这个复杂度具有一种衰退的特征,这种特征是与该自动机过程的描述以及由它完成的自动机合成有关的。
• 有关复杂度衰退这个概念的性质和难点。
• 严格的讨论:自动机和其“基础”零件。有关这些基础零件的定义和列表。由自动机合成的自动机。自我复制的问题。
• 与此有关的构造性自动机的主要类型:通用指令的概念。能够执行指令的通用构造自动机。通用拷贝自动机。组合自动机来实现自复制。
• 自复制和其他类型的自动机合成过程:例如催化过程,同已知的主要遗传和变异机制的比较。
一、自我创生的自动机
在前几堂课中,我们讨论的自动机都不是直接对自身进行操作的,因此它们产生的输出与自动机自身具有完全不同的性质。在我提到的三个例子中,这点都很明显。
例如,图灵自动机就可以看作一个包含有限状态的盒子,这个盒子的输出是储存在另外一种实体上,可以简单称为打孔纸带。这条纸带本身并不像图灵机一样具备不同的状态,并能够在状态之间来回切换;此外,与有限状态的盒子不同的是,我们假定纸带是无限长的,因此可以包含的状态也是无限多的。所以,这条纸带从性质上说,同在纸带上打孔的自动机是完全不同的,也就是说,自动机是在完全不同性质的介质上运行的。
对于McCulloch-Pitts的自动机模型来说,情况也一样。这里的自动机是由神经元组成的,并且能够向外界产生脉冲信号。这意味着,自动机的输入输出不是神经元本身,而是神经脉冲。当然,这些神经脉冲可以进入周边的组件,并导致完全不同性质的反应。虽然是神经脉冲可以输入到运动系统(motor organ)或者内分泌器官(secretory organs)中,但输入和输出的脉冲仍然同自动机本身,也就是神经元完全不同。
……
全部内容,请点击下载:复杂自动机的一些考量