混沌的边缘
- 程序名称:混沌的边缘
- 程序作者:Chirstopher Langton
程序解说
运行上面的程序,观察λ的不同,细胞自动机产生的动态行为如何变化。拖动中间的滑块可以更改λ的数值。右边New按钮可以在当前的λ下随机产生新的规则,底下的几个选择框分别更改状态个数、邻居模板个数(注意这个数字包括该细胞自己,比如N=5,那么左边两个细胞,右边两个细胞,再加上中间的细胞,所以邻居半径是2),Isotropic表示规则是不区分左右对称的方格状态的,Anisotropic则是区分的,因此Anisotropic产生的编码比较长,下面的Random Start表示从一个随机的状态开始,Random Clump表示从一个随机的小块开始演化。One Dot Start表示从一个点的初始状态开始演化。下面的文本框里面显示的是当前规则的编码。下面将具体说明其中的原理。
为了更好的看清楚细胞自动机的动态行为,我们选用4个状态{0,1,2,3},邻居半径为2(一共4个邻居)的一维细胞自动机来讨论,因为这种细胞自动机包含了所有的四种类别。
我们知道,在给定了状态集{0,1,2,3},邻居半径2的一维情况下,细胞自动机的规则集决定了它们的不同。每一个细胞自动机的规则集都可以看成是一张大的转换表,形如:
其中每个输入的5位数字串中,中间的一个表示当前细胞的t时刻的状态,两边的数字都是它的邻居状态,而输出则对应当前细胞在t+1时刻的状态。表中一共有45=1024项,这其中有些输出项为0状态,有些不为0,我们把所有输出项为0的个数记为nq。那么我们可以定义参数:
输入 | 01203 | 03120 | 12231 | ...... |
输出 | 0 | 1 | 2 | ...... |
其中每个输入的5位数字串中,中间的一个表示当前细胞的t时刻的状态,两边的数字都是它的邻居状态,而输出则对应当前细胞在t+1时刻的状态。表中一共有[math]\displaystyle{ 4^5=1024 }[/math]项,这其中有些输出项为0状态,有些不为0,我们把所有输出项为0的个数记为[math]\displaystyle{ n_q }[/math]。那么我们可以定义参数:
这个参数反映了一组规则中转换成非0状态的比例。显然,根据给定的λ我们可以得到很多的规则表,因此我们可以随机的在这些规则表中选择一个。比如令λ=0.5,那么我们可以随机的生成一个规则组转换表,表的输出部分0状态占据了一半的比例,其他的位置由1,2,3这几个数随机的填充。
下面看看根据参数λ的取值不同,细胞自动机的动态行为如何变化。请运行上面的程序,让λ在0到1之间变化。
- 当λ=0~0.1,所有的细胞被吸引到一种固定的状态,这相当于我们上一节叙述的第一类细胞自动机;
- λ=0.2附近,系统在一些固定的状态之间周期的循环,这相当于第二类细胞自动机,λ=0.3的细胞自动机比λ=0.2的在开始的时候具有更复杂的结构;
- λ介于大约0.3到0.6之间的时候,会出现相当复杂的结构。这些结构既不属于固定的周期或者固定值,也不属于完全的随机,因此这些细胞自动机属于第四类即“复杂型”。并且,随着λ的增长,复杂结构的维持时间也会变得越来越大;
- λ>=0.6的时候,复杂的结构消失,系统将被吸引于一种完全随机的混沌状态。
由于在实验中,规则是根据λ随机产生的,因此我们在这里说明的动态行为随λ的变化性质仅仅是一种大致的分类。
根据这些试验,我们不难得出,随着λ的增大,细胞自动机展现出来的结构将逐渐变得复杂,当λ介于一个中间值的时候动态行为会达到最大的复杂性,然后随着λ的进一步增大复杂结构就逐渐被随机结构所取代。
根据λ的连续变化能够得到四种细胞自动机之间的过渡转化图景
因此我们说,复杂的结构诞生于混沌的边缘。混沌的边缘是什么东西?它是一种处于凝固的周期状态与活跃的混沌之间的一种过渡过程,或者我们称其为“相变过程”。所谓的“相变”就是指系统从量变到质变的飞跃。就像煮开水,当温度达到100度左右的时候,水会突然沸腾,这种状态就是相变,因为从此水由液态变成了气态。
细胞自动机系统的连续变化过程就好像水的固、液以及固态到液态之间的的变化过程。如下:
I&II->IV->III
固体->相变->液体
I和II两种状态可以被看作是固态,就像冰一样凝固在一起非常有秩序但同时也没有活性。细胞自动机的第III类型就象是液态的水:完全的流动、随机,没有一个时刻能停留下来,然而由于这类系统过于松散,它也不可能产生有价值的结构。第IV类细胞自动机就刚好存在于从固态的冰到液态的水转变的瞬息之间这么一个狭小的空间里。在这里,复杂的结构形成了神奇的王国,你会不断地看到若干水分子结合成有趣的结构与秩序,但同时这些结构和秩序永远不会被冻结,它们会偶尔被破坏,但新的结构马上又会生成。这样的状态被“人工生命”之父郎顿称为混沌与秩序的边缘。科学家们已经对固体、液体的性质研究的比较清楚了,然而对于固体到液体转变这样一种相变的过程则仍然没有认识足够清楚,原因就在于这样的状态具有太多复杂的结构,我们很难预言它的具体性质。第IV类细胞自动机也是这样,下一时刻细胞自动机会是怎样的情况?我们除了按照它的“物理规律”运行它外别无它法,因为复杂的细胞自动机的行为不能预言。
我们可以把混沌边缘的概念推广,也就是把秩序、周期这些动态的情况看作是一种凝固的吸引力,它保证了系统能够固定于某一种结构;而另一方面,随机、混沌则形成了另一种张力,它使得系统趋于不稳定,但同时为系统提供了创新的动力。那么仅仅当这两种力处于一种恰到好处的平衡态的时候,也就是系统处于混沌的边缘条件下,该系统才会更加有活力,并且演变得越来越复杂。
生命从何处来?智能如何产生?人们为什么会创造有组织的同时又具有创新性的社会结构?答案是这些复杂的系统、复杂的结构来自于混沌的边缘。只有当生命所处的环境既不太“热”,即没有太大的动荡产生完全随机的混沌状态,同时又不能太“冷”,以至于所有活动都过于死板,这样才能孕育真正的生命。因此地球上的生命正是诞生于混沌的边缘这条狭窄的夹缝中。再考虑一个人的发展。如果一个人每天都在做同样的事情,从不尝试新鲜的生活,那么这个人所处的环境就过于死板最后将陷于一种机械循环的状态(第I、II类细胞自动机)。反过来,如果这个人过于涣散,总在尝试不同的新鲜事情,从来不会停下来静静的思考和沉淀,那么这个人就会过于灵活而也会一事无成。一个人只有处在“混沌边缘”的状态才能既产生学习、进化的动力,又会静下心来让所学的东西凝固成有价值的知识,从而创造辉煌的成果。再考虑一个国家,闭关锁国肯定不能发展,系统将会变成一潭死水,反过来过于开放则根本不会形成这个国家这个民族的凝聚力也就失去了它们的个性,所以社会也要不停地把自己推向混沌边缘的状态才能不断的发展下去。
系统为什么总要处于“混沌边缘”的状态呢?比如生命吧,静止于某种固定的状态不是挺好的么?为了适应多变的环境,生命必须不断的进化而变得复杂,而要想变得复杂就必须让自己处于混沌边缘的状态。按照达尔文进化论的观点,不适应环境的生命体就会被大自然淘汰了,并不是每个生命体都有意识的要让自己越来越复杂,而是因为过于简单的生命不能适应环境了,于是它们被淘汰掉了,所以剩下来的仅有那些相对复杂的生命体。科学家曾用一批细胞自动机当作生命体在一个虚拟的自然环境中不断的进化,结果发现,仅有那些不断的趋于混沌边缘的细胞自动机留下来,而其他的细胞自动机逐渐被淘汰出局了。
对于细胞自动机的分类以及混沌边缘的概念不仅仅适用于一维细胞自动机,对于二维甚至多维的细胞自动机仍然适用。显然我们熟悉的“生命游戏”也正是处于一种“混沌边缘”的状态。经计算,“生命游戏”对应的λ=0.25。