另类科学的核心技术是细胞自动机。php
乌尔姆(Stanislaw M. Ulam)和冯·诺伊曼(John von Neumann)为了研究机器人自我复制的可能性,在上个世纪50年代提出一种叫作细胞自动机(Cellular Automaton)的离散型动力系统(Discrete Dynamical Systems)。细胞自动机是研究复杂系统行为的理论框架之一,也是人工智能在这个领域的雏形之一。数组
在一个平面上(这里以平面为例,但不限于二维平面)纵横相交的多条直线构成了许多网格,每个网格被看做一个细胞。这些细胞能够具备一些特征状态,譬如被染成不一样颜色。在每一个特定的时刻每一个细胞只能处于一种特征状态。随着计算机迭代计算过程的进行,全体细胞各自根据周围细胞的状态,按照相同的规则同时自动改变它自己的状态,这就构成了一台细胞自动机。框架
决定一台细胞自动机的先决条件有四个:一、决定细胞活动的空间维度,譬如一维的、二维的或三维的,等等;二、定义细胞可能具备的状态;三、定义细胞改变状态的规则;四、设定细胞自动机中各细胞的初始状态。ide
1982年Wolfram发表了第一篇关于细胞自动机的学术论文,由此开始了对细胞自动机的研究。Wolfram着重研究空间维度为二维的细胞自动机。细胞可能具备的状态只有两种,用颜色表示成黑色或白色。全体细胞中的每个只根据上一迭代过程当中与该细胞紧相邻的三个细胞的状态来决定本身下一步的状态,全部细胞在根据上一步结果肯定本身在这一步中将有的状态后,全体细胞同时改变本身的状态到新状态。其结果和细胞自动机的初始条件颇有关系。被这样设定的细胞自动机叫作一维细胞自动机。学习
科学的道路来不得半点虚伪和骄傲。这没错。可是,若是你的切入点选对了,也许你在一条新的路上能够成为先行者,而并不必定要先把本身的知识的背囊装的满满的以后才去开始攀登科学高峰的步伐。Wolfram就是一个好例子。虽然他确是很聪明,但按照他如今发表的成果看来,他15岁就能发表论文,不彻底由于他那时候有多么渊博的学问,更有多是由于他选了一个很好的切入点。ui
下面为你设计实现了一台最简单的细胞自动机,请你亲手来作一下。这是学习的最好方式,同时也能够体验到,有时候进入研究最前沿也不是那么遥不可及的事情。我这里说的是“进入”。跨出这一步后,到你作出成果来,就会有无数的书本等着你去翻开,有无数的实验等着你去完成,有一段很长的距离要走。可是你已经入门了。你享受门外汉不可能体验的乐趣,你在科学的某一条小路上攀登着并沿途拿本身的幼稚和汗水去交换路边的小石、头顶的野花。不知不觉间,你就登上了一座小山包,背上的背包已经有点重了。俯视走过的路,自豪与快乐溢于心间。而前面总有更美的景色在召唤你前行……编码
下面的例子不须要使用计算机,咱们用手画图来完成这个简单的细胞自动机。请你亲手来画一下:人工智能
想象有一根无限长的线,线上布满能够变色的点,每一个点的颜色或黑或白。初始条件能够简单设为除一个黑点外其他的点全白,或者设为黑白相间。咱们按照黑、白相间的简单起始规则,画出下图中的‘起始图’部分。spa
起始 ○ ● ○ ● ○ ● ○ ● ○ ● 设计
而后对全部的点施行应用某种规则,好比最近邻规则:对线上任意一点,若是在该点最右侧及最左侧的点均为黑色,而该点自己为白色,则把该点变成黑点。不然该点就保留或改变成白点。
按照上述规定反复迭代,就获得了下面的迭代图的全体。
咱们从‘起始图’开始来推导出‘第一步迭代图’,请拿一张纸一支笔本身动手画一画:‘起始图’中的第一个点是白点,按照迭代规定,这个点在‘第一步迭代图’中保留原来的白色;‘起始图’中的第二个点是黑点,根据规定它将在‘第一步迭代图’中改变成白色;‘起始图’中的第三个点的最右侧及最左侧的点均为黑色,而该点自己为白色,故把该点变成黑点画在‘第一步迭代图’中……,依此把‘起始图’中全部的点检查一遍,并记住全部点在‘第一步迭代图’中的新颜色,而后就按照获得的全体点的结果,画出‘第一步迭代图’。
起始 ○ ● ○ ● ○ ● ○ ● ○ ●
第一步迭代 ○ ○ ● ○ ● ○ ● ○ ● ○
如今针对‘第一步迭代图’,按照一样的方法画出‘第二步迭代图’,‘第三步迭代图’,……,等等,以下图所示:
起始 ○ ● ○ ● ○ ● ○ ● ○ ●
第一步迭代 ○ ○ ● ○ ● ○ ● ○ ● ○
第二步迭代 ○ ○ ○ ● ○ ● ○ ● ○ ●
第三步迭代 ○ ○ ○ ○ ● ○ ● ○ ● ○
由图中能够看到,每迭代一次,白点就向右側移动一位。这样就获得了一个点的动态移动的模式。
怎么样?简单吧?你刚刚作了一台细胞自动机哪!
请你在这里暂停阅读并想想在计算机上实现这个简单的一维细胞自动机的情景。能替它找到一些相关的应用吗?
我找了几个以下:
若是在计算机上实现上述的简单一维细胞自动机,并在一根直线上画出每次的迭代过程,就能够看到一个白点向右侧运动的动态过程。若是把直线画成螺旋状,这个点就会沿螺旋运动。若是画成环状,点就沿着环跑个不停。
若是只把图中改变颜色的点画出来,而且把点画成宇宙飞船的形状而不是圆点的形状,直线画成某种空间轨迹。那么在程序运行时,就获得了一艘宇宙飞船沿轨迹飞行的动态画面。若是画两艘敌对的宇宙飞船并设计它们的相撞的轨迹,就能够获得一个简单的星球大战的游戏。
怎么样?挺好玩的吧?您再想点别的花样?
下面是一个从《另类科学》中取来的、更具体的、也更复杂一点的例子。若是您有耐心又有兴趣的话,经过它能够更深刻了解Wolfram的工做的基本原理。若是没有兴趣,就跳过去不读它便可。做者的饶舌是本身兴之所至的塗鸦,读者大可没必要跟着给弄得晕头转向。固然若是个人做品有这么大的魔力让你跟着个人思想转悠,我会颇有成就感的。谢谢了。
考虑并排的三个格子,它们分别被赋予黑白两种状态。考虑各类可能的排列方式,咱们不可贵到共有8种组合状态。这8种组合状态的每一种都各自决定下一个细胞是黑色或白色,这样算下来的排列总共有256种可能性。所以在Wolfram考虑的细胞自动机种类中,细胞改变状态的规则有256种。Wolfram把这256种规则一一编号。譬以下面的图就表明110号规则:
图9-4 Wolfram的细胞自动机110号规则
用文字来叙述就是:当某细胞的上一行相邻三个细胞为全黑、全白或者左侧一个细胞为黑时,该细胞为白色,不然为黑色。设定一个简单的细胞初始状态,譬如在第一行只有一个黑色细胞,根据规则110,细胞自动机就能够自动把其他的细胞变成黑色或保留白色。下图就是根据规则110运行了前20步的状况,在这里彷佛看不出什么有趣的东西。但运行到几百步后,就出现了一些有趣的特征,一些结构开始既不是周期性地也不是彻底随机地出如今画面上。下图是按规则110运行到700步的状况。
图9-5 110号规则运行了前20步的状况 图9-6 110号规则运行了前700步的状况
从上面的两个例子中咱们能够看到,在这样的模式中,确实没有用到经典的数学公式。
Wolfram用相似的方法,获得了除量子力学外经典物理学中的全部公式。
也就是说,不用数学公式也能够借助计算机来描述天然界。不用数学公式也能够借助计算机来研究宇宙。
1984年Wolfram把256种规则分红了四类:第一类只生成简单重复的图案,好比全黑、全白、或黑白相间如国际象棋棋盘等等;第二类规则产生一些自类似的分形图案,造成稳定的嵌套结构;第三类规则产生的图案具备明显的随机性;第四类规则产生复杂的图案,但不简单重复。
这些图案既不是规则的也不是彻底随机的。它们呈现出某种有序性,但却不能被预言。
Wolfram关注较多的是第四类规则。第110号规则及30号规则是第四类规则中的精粹。经过它们能够从简单的初始条件产生出复杂的图形。这是Wolfram对细胞自动机理论所作出的巨大贡献。
Wolfram所用的软件计算自己并不复杂,复杂的是怎样处理输出结果。有了适当的软件后,就能够开展对细胞自动机的研究。
Cited from:http://blog.china.com.cn/home.php?mod=space&uid=1235952&do=blog&id=232854
Note:cellular automaton 经过对问题进行编码使其更加直观,能够表示传统方法难以表达的特征。 好比展现同源 nucleotide sequence 之间的差异,能够将一维的序列转化为二维的数组,而后将数组以图像的形式反映出来,因而将序列的特征反映到二维图像上,能够用直观的方式发现其特征。