在上一课里 我们了解了自动机模型的一种:生命游戏
我们从中观察到了神奇的现象
(我们看到)简单的规则是如何叠加起来并产生出十分复杂、新奇的结果
在这节课中 我们将会学习
更简单的一类细胞自动机模型实际上也是最初的细胞自动机模型
并试图找出让模型产生出
不同结果的必要条件我们的第一个核心问题是
这个系统能够产生出什么样的结果它会不会趋于平衡?
它会不会产生一些模式?它会不会变得复杂?它会不会陷入混沌?
我们要做的就是试图理解这其中
哪些会发生 我们不会得到确定答案
但是通过一个模拟的模型我们能够对导致复杂结果的条件有所了解
那么首先讲一讲历史细胞自动机
是由一个聪明绝顶的 叫约翰·冯·诺依曼的人发明的 冯·诺依曼制造了
早期计算机之一,名为JOHNNIAC,也叫ENIAC
他也是博弈论和经济增长理论的奠基人之一
他有一个非常非常聪明的数学头脑
他与一个名为斯坦尼斯·乌拉姆(Stanislaw Ulam)的数学家合作
提出了他所能想到的计算的最简单形式
后来被称为细胞自动机模型他的想法
细胞自动机 被后人反复仔细研究其中包括一本最近出版的书
《新型科学》 (New Kind of Science)作者是Mathamatica的开发者 斯蒂芬·沃尔夫勒姆(Stephen Wolfram)
在这本书中 沃尔夫勒姆的探索达到了不可思议的深度
这是一本上千页的书其中包含了不计其数的示例
这些细胞自动机模型是如何工作的?沃尔夫勒姆称它为新一类的科学
因为他试图通过计算归纳的方法来理解这个世界
那么这些模型是什么呢?什么是细胞自动机模型呢?
它们其实和我们在生命游戏中看到的几乎一样不同的是
这里它们是一维直线 而不是二维网格
所以 和上次一样 你可以想象我们有一群细胞
它们要么是关闭状态要么是开启状态 那么我们能做的就是想一想
这些(细胞)是怎样随着时间演化的呢?
这与我们之前所做不一样的是如果我有一个细胞在这里
在正中间 我们会假设它只有两个邻居
而在之前的网格世界里 每个细胞有八个邻居现在它只有两个
只有两个邻居的好处是它不仅使事情简单多了
而且可以让我们得以穷尽地研究问题这也是为什么
沃尔夫拉姆的书如此之厚我们可以仔细研究每一个规则
所以我们可以写下每一个规则 然后思考不同的规则是怎样运作的
它们会产生什么行为 以及类似的问题另外一大优势是
显示这个世界(的结果)比其他世界容易多了
因为我们可以让时间沿着这个轴移动所以我可以这样做
这是这个细胞在当前的状态也许它是被填充的 然后我可以说
在下一个周期它会发生什么也许它会被关闭 接下来我可以再说
它在再下一个周期会发生什么 也许它会被开启这样 我就可以用
从页面向下移动的方法来代表时间的推进这就是我们的模型 现在 我们要想
规则应该是什么样子的?那么这有一个例子,让我们来想一想
规则必须是什么样的呢?如果如果我考虑这个细胞 X
这个就是细胞 X它有两个邻居 那么 第一个邻居
第二个邻居 或者也可以叫它们“左邻”和“右舍” 我们可以想一想
它们有多少种可能的状态?当然 它们可能全部是关闭的
它们也可能全部是开启的还有可能
只有右边的这个是开启的 或者只有这个细胞自己是开启的 经过仔细思考
我们得出 基本上一共有八种不同可能性 那么
规则应该是什么呢?规则就是在每一种状态下我需要做什么 所以它可以是说
如果我在一个所有细胞都关闭的状态下
我会保持关闭状态 而如果我们在一个所有细胞都开启的状态下 那我就会继续保持开启
如果这两个都处于开启状态的话那么我也会开启
接下来我们所思考的是我们从一些初始设置开始
我们有一堆细胞 一些被染了颜色
一些则没有 接下来它们要做的是每个细胞查看自己的状态是什么?
譬如我是这个细胞的话
我注意到我的邻居都处于开启状态然后我去查阅表格
查到如果所有邻居都是开启状态的话那么我在下一时刻也会开启·
每个细胞都如此 譬如说这个细胞
它自己开着但它的两个邻居是关闭状态接着我去查阅表格
找到我们当前所对应的设置 其规则为
下个周期里保持关闭状态随着时间的推进
我们有这些规则
沃尔夫勒姆在他的书中指出如果遍历所有的规则
可以发现有四种行为
我们之前讨论过 有不动点(fixed points)
有交替态(alternation) 有随机态(randomness)也有复杂态(complexity)
我们想要了解这背后的原因为什么会得到这些结果?
得到这些不同结果的规则是什么样的?
在我们进一步深入之前我们该怎么理解各种各样的规则
我们怎样来记录这些规则沃尔夫勒姆有一种绝妙的方法
来为这些规则编号 让我们来看看是如何做的假设我处在“全闭”状态,
那么有两种可能:一种是闭
一种是开 假设我保持状态不变仍然有两种可能
或者闭 或者开 每一个状态都是如此:
两种可能,两种可能,两种可能……每一个状态都可以对应两个结果
也就是说 共有 2 的 8 次方种可能
有 256 种不同的规则 所以现在由这些规则构成的世界其规模为 256
(在这个世界里)我们需要探索 256 件事情
这也是这本书为什么有 1000 页的原因每个规则用 4 页的话
1000 页一下子就用光了沃尔夫勒姆用了一个绝妙的办法
来为这些规则编号 他的做法是:
让我们习惯用(二进制的) 1、2、4、8、16、32、64、128 (来编号)
他的做法是 如果结果为“开”
让我用另一种方式来表示
假定这是我们的规则 其中三个状态的结果为“开”那么我们把 2、8、128 三个数加起来
得到 138(作为这个规则的编号)
我们把第一个标为 1 第二个标为 2
再下面的标为 4 再下面的标为 8 依此类推
这使得他可以为每个规则赋予一个 0 到 255之间的唯一编号
全闭的规则编号为 0 全开的规则编号为 255
这让我们有了一个为规则编号的系统
接下来让我们看看一些能产生有趣现象的规则
这是第 30 号规则2 + 4 + 8 + 16 等于 30
这条规则是说 如果三个格子都为“闭”那么保持“闭”的状态
如果右边的格子为“开” 或者左边的格子为“开”这两种情况下 结果为“开”
如果只有你(即中间的格子)是“开”的那么保持“开”状态 好 这里出现了不对称情况
如果你和右边的格子为“开” 则保持“开”状态但如果你和你左边的格子为”开“ 则你关闭
让我们来看看会发生什么
这个 这个 还有这个 这三个格子都处于这种状态三个都是”闭“状态
所以它们保持”闭“状态 这个格子的右边一格是”开“状态 所以它会变为”开“
而这个格子 当前是”开“状态而两个相邻的格子则为”闭“
所以它也会保持”开“状态而这个格子的左边一格为”开“
就跟这个状态一样 所以它会为”开“
其他的格子都将为”闭“ 我们得到了什么呢?这三个格子的状态为”开“
那下一步的结果又会是什么样子?让我们再来一遍
最左边的几个格子将保持“闭”状态但这个格子因为
它右边相邻的格子为“开”所以它也为“开”
这个格子因为它和右边的格子为“开”所以也会为“开” 但这个格子
在正中间的那个格子 因为三个紧邻的格子都为“开” 所以它的状态将为“闭”
我们得到这样的一个结果 (重复下去)我们得到一个向外扩散的模式
这里我们是手动计算的
下面让我们用一个更先进的工具 NetLogo我们从一个初始设置开始
也就是中间一格为“开”的状态 让我们运行下去
我们会看到三格为“开”的状态现在 随着继续运行
我们会看到一个非常有趣的模式注意这个模式产生的过程
我们看到各种不同的(几何)结构:小三角,大三角,……
关于这个规则 有一个有趣的结果是被证明了的
如果我沿着正中划一条线
那么在这条线上的格子的“开”“关”状态
是一个随机序列
你无法预测下一个状态是“开”还是“闭”即使你知道前一个状态
这是第 30 号规则的例子这个例子产生了
完美的随机性 好 让我们再看下一个例子
第 110 号规则 还记得(编号的计算)吧
2 + 4 + 8 + 32 + 64 等于 110
我们再来一遍 左边的这三个格子和
右边的这三个格子 没有邻格为“开”所以它们保持“闭”状态
而这个格子右边的邻格为“开” 所以它将为“开”
这里这个格子 现在为“开” 而邻格都为“闭”所以它将保持“开”
而这里的这个格子 其左边邻格为“开”
与之前的例子不同 它将为“闭”让我们继续做下去
这个格子将为“闭” 这个格子将为“闭”但这个格子
因为右边的邻格为“开” 它的状态将为“开”
这个格子为“开” 其右侧邻格也为“开”
对应这个设置 它的状态也将为“开”
但这个格子 原本为“开” 对应这个设置
它和它右边的格子为“开” 所以它也将为“开”
最后 这个格子的左边邻格为“开”按照这个设置 它将为“闭”
由此 我们得到了
一个不断增大的三角形
那第 110 号规则的结果到底如何?我们来运行一下(程序)
得到沃尔夫勒姆书中的一幅图这是个非常有趣的样式
呈现出某种程度的复杂性看到这些蜿蜒穿过图面的小块块吗?
第 110 号规则被归类为复杂规则
这里 如果我们从一个随机的初始状态出发运用第 110 号规则 得到了一幅更有趣的图像
同样 我们看到这种有趣的小块块穿过画面
有的是一条线 有的交织在一起
还有的聚成更大块的东西我们看到种种这些有趣的现象
这是一种复杂情况是吧 很难去解释
我们看到 简单的一维的自动机模型能产生非常有趣的结果
我们很容易构造出所有格子都僵死住的规则也可以轻易地构造出循环交替的规则
有些规则导致了随机性
你确实能够证明这种随机性 像第 30 号规则而有些规则 像第 110 号规则 创造出了复杂性
那么我们接下来要做的 是问一个很有趣的问题
“为什么?” 为什么有些规则进入稳定状态
有些规则产生交替变化 有些规则产生随机性有些规则则产生复杂性
在回答这个问题之前 也即什么创造了复杂性什么创造了混沌
又是什么创造了秩序?让我们停下来想想这些规则具有多么深远的意义
这些都是非常简单的模型 比生命游戏简单得多
但它们能产生所有可能的结果这使得一些物理学家和数学家们提出:
也许世界在某种意义上就是这样运转的
所有的东西都从简单规则中来我们在现实世界中所接触的复杂事物
都来自于非常简单的二值的相互作用
物理学家约翰·惠勒(John Wheeler)写道:“万物源于比特”(It from bit)
这里我引用一下惠勒的原话 因为它意义深远他说道 万物源于比特 换言之 每一个“它”——
每个粒子 每种力场 乃至时空的连续性本身——
在衍化出其功能 其含义 乃至其存在时
甚至间接地在某些场合下 都要归结为回答“是”或“否”的问题
归结到二元选择 归结到比特“万物源于比特”象征着物理世界中的所有物体
在绝大多数情况下 其最本质的东西
都来自于非物质的解释 也即我们所说的现实是从最刨根问底的“是”或“不是”的问题中
以及最机械的回答中浮现出来的
简言之 所有物理存在在本源上都是信息论的
这是一个参与的宇宙(participatory universe)
这是惠勒在 1990 年所说的话惠勒”万物源于比特“的意思是说
你可以通过”是“或”不是“的问题 来解释任何事物的本质
现实世界的最底层可以仅由开关来构成
它 我们 宇宙 任何事物 可以不夸张地说都源于比特
要知道 这可是在简单的一维细胞自动机模型基础上迈进了一大步
而我们知道 细胞自动机模型足以产生出几乎任何结果
这多么有趣 让我们回到
它是如何产生出任何结果的问题上究竟是怎么一回事儿?克里斯·朗顿(Chris Langton)
是圣达菲(Santa Fe)研究院的研究员在密西根大学获得博士学位
他研究了细胞自动机并得出了他命名为朗顿 Lambda 的参数
朗顿 Lambda 可以在某种意义上告诉我们结果会是什么样子的
让我解释一下我所说的意思还记得沃尔夫勒姆的编号是从 1 到 256 吗?
朗顿用了一个简单得多的办法他只要看有多少个结果是“开”
在这个例子里 是 3 用朗顿 Lambda 来标注的话就是 3 或 3/8
也即“开”所占的比例
所以 这条规则是 0 或 0 除以 8
这条规则是 1 除以 8 朗顿 Lambda 表示的
是转为“开”的状态所占的比例而这条规则 还记得它是第 30 号规则吗?
它的朗顿 Lambda 为 4 除以 8让我们再回过头来看看这条规则
它的 Lambda 为 0/8 会发生什么呢?
什么都不会发生 所有的格子都会“死掉”没什么有趣的事情
而这条只有一个状态为“开”的规则会产生什么呢?它的 lambda 为 1/8
一开始大部分格子都会死掉但一旦所有的格子都为“闭“
所有的格子又都会打开 而所有的格子打开后又会转为闭
所以这是一个交替的结果那第 30 号规则又如何呢?
它的 Lambda 为 4/8记得其结果是混沌的吗?
完全随机的结果 第 110 号规则又如何呢?
它的 lambda 值是 5/8 而结果是复杂的
现在 你可能认为lambda 越大
我们就越可能得到有趣的东西这并不全对
让我们来看看 lambda 为 8 的情形当 lambda 为 8 时
所有格子都自动为“开”这没什么有趣的
有意思的是 看起来似乎 lambda 落在这个区域时
即有两个、或三个、或四个、或五个、或六个状态为“开”时
让我们看看对于一维的(每个格子)有两个邻格的细胞自动机来说
共有多少条规则 如果我把这些都算上的话
应该有 256 条 如果我想知道第三类
也即混沌或随机的情况有多少的话一共有 32 种
其中 20 种情况下的 lambda 为 4
而它们全部集中在 2 和 6 之间第四类是复杂规则
只有 6 条属于复杂规则 这些的 lambda 值全部落在 3 和 5 之间
下面是非常有趣的部分 如果我问
是什么导致了混沌或复杂lambda的区间在这里 这个区间里的相互依赖关系
处于中等水平 像这条规则 其 lambda 值为 7/8
或者说 7 那么不会有什么有趣的事情发生
它基本上会使所有格子都为“开”而当所有格子都为“开”时
它会保持“开”的状态 所以 这是一种稳定状态是这些处于中间水平的规则
让我们看到了复杂性 让我们来看看日经指数(Nikkei Index)
你可以看到令人难以置信的复杂模式那么你可以预计的是
这些规则一定具备彼此依存关系
这个中等水平意味着我的“开”或“闭”取决于许多其他人的动作
如果规则中有大量的相互依存关系
那么你就可以看到像这些东西一样的复杂模式那么在市场上又发生了什么呢?
人们的规则在很大程度上取决于其他人做什么
因而存在大量的相互依存关系 因此你会得到这些复杂模式
如果没有相互依存关系的话那么你要么一直处于开 要么一直处于关
不会有什么有趣的事情发生我们从这个非常非常简单的模型里学到了什么?
首先 简单规则——超级简单的规则——合起来运用的话 可以产生任何结果
其次 我们得到了这个意义重大的想法
“万物源于比特” 第三 为了产生复杂性和随机性
需要某种程度的相互依存性
你不会想要一个总是处于开或总是处于“闭”的结果为了产生复杂性
你需要行动中的相互依存这就是细胞机
一维的细胞自动机 它只是个模型但它给了我们以真知灼见
这个真知灼见就是如果我们在真实世界中看到了复杂性
那么它很可能与人的行为有关或者是由于事物所遵循的规则是相互依存的
谢谢
网友评论