我的天哪!这竟然是用规则 30 的图案制作的!

█ 本文译自2017年6月1日的 Stephen Wolfram 博文:Oh My Gosh, It's Covered in Rule 30s!

英国火车站

一个星期前,一个名为“剑桥北”的新火车站在英国剑桥建成通车。通常这样的事件根本与我无关。(我上次坐火车到剑桥是在1975年。)但是上周,人们开始向我发送新火车站的照片,想知道我能否识别出其中显示的图案:

是的,看起来确实像我花了好多年研究的图案模式——来自于计算世界的简单程序。我的第一个(也是最喜欢的)简单程序的例子就是下面所示的一维元胞自动机:

系统从顶部逐行演变,根据下面的规则确定每个方格的颜色。我把这个特定的元胞自动机称为“规则 182”,因为规则中的位模式对应于二进制数 182。共有 256 种可能的元胞自动机,这里是它们的演变模式:

其中许多自动机的行为模式相当简单。然而,当我在 20 世纪 80 年代早期首次运行这些元胞自动机时,令我感到震惊的是所有规则说起来都很简单,但其中一些规则产生了非常复杂的行为。其中第一个显示出这种行为的就是规则 30(依然是我最喜欢的例子):

如果我们按规则运行上 400 步,会得到下面的图案模式:

从顶部的一个黑色方格开始,只是重复执行一个简单的规则,就有可能得到这么复杂的结果,这简直是太不可思议了。我认为这实际上是一个非常重要的现象的例子,是理解自然界的复杂性是怎么来的,以及我们怎样才能在技术水平上更上层楼的关键。事实上,我觉得这太重要了,于是花了十多年的时间,基于这些理念写了一本 1200 页的书(刚刚过了 15 周年-http://blog.stephenwolfram.com/2017/05/a-new-kind-of-science-a-15-year-view/)。

许多年以来,我都把规则 30 印在我的名片上:

再回到剑桥北火车站,很明显,这些图案不是完全随机的。如果是根据一定的规则产生的,那么是什么样的规则?有可能是元胞自动机吗?

我把照片中的图案放大:

一些非常熟悉的东西突然出现了:三角形、条纹、L 形的图案。等一下……该不会是我一直最喜爱的规则 30 吧?

显然,与我通常展示的元胞自动机图案模式相比,这里,图案模式被倾斜了 45 度。照片中出现的是黑色的三角形,不像规则 30 一样,是白色的三角形。如果把规则中的黑白色颠倒一下(变成规则 135),就会得到以下图案模式:

和照片中的模式完全一样!如果是规则 30(或者是规则 135),初始条件是什么?规则 30 实际上可以用作密码系统,因为很难(甚至是 NP 完备的)重建其初始条件。

如果是我最喜爱的规则,那也有可能是我最喜爱的初始条件:一个黑色的方格。没错,就是这样的!火车站的图案模式就来自我最喜爱的规则(黑白色颠倒的) 30 图案模式的右侧边。

这里是 Wolfram 语言代码。先运行元胞自动机,再旋转图案模式:

精确地把所使用的图案提取出来确实有点棘手。下面是所用的代码(PlotRange 决定了显示出来的图案):

那么,到底火车站的哪些地方用到了这些图案?到处都是!

它由穿孔铝制成,是部分通透的,让人想起老式的格子窗户。从里面看,图案模式是左右颠倒的,所以从外面看是规则 135,从里面看则是规则 149。而在晚上,图案的黑白是颠倒的,因为有光从里面照出来,所以从外面来看,“白天是规则 135,晚上是规则 30”。

规则 30 模式有哪些性质呢?关于这一点很难给出严谨的证明(这本身就很有趣,而且与计算不可约性的根本现象密切相关)。但是,有个例子,比如 π 的各位数字看起来就是随机的。有一点,黑色和白色方格出现的频率是相同的,这意味着在火车站,墙板会让大约 50% 的外部光线进入。

如果查看一下 n 个方格的序列,好像平均起来所有 2n个排列出现的频率是一样的。但并不是所有的东西都是随机的。比如,查看一下大小为 3×2的格子区块,所有 32 种可能的组合中只出现了 24 种。(也许等火车的人们会搞明白哪些区块从来没有出现过……)

在凝视这些图案时,我们的视觉系统会特地挑出黑色的三角形。似乎任何大小的三角形最终都会出现,尽管频率随着大小而呈指数下降。

如果仔细观察规则 30 图案的右侧边,可以看到它在重复。然而,从边往里走重复周期似乎呈指数级增长。

在火车站,有很多相同的墙板。但是,规则 30 实际上含有无穷无尽的新图案模式。那么,如果一个模式继续演变,并出现在相邻的墙板上会发生什么呢?下面是结果。右侧边的周期性迹象令人遗憾,第 5 块板子上有一个很大的三角形(这可能会给火车站带来安全隐患)。

从边往里再走 15 步,周期性不再出现:

其他的初始条件呢?如果初始条件重复,模式也会重复。但是,迄今为止,我们可以看出模式基本上和一个方格的初始条件一样。

我们还可以尝试其他规则。下面是和规则 30 一样来自最简单的 256 个规则集合的几个例子:

从边往里面走得多一些,结果看起来有些不同(规则 89 是从规则 45 变换而来,规则182 是从规则 90 变换而来,规则 193 是从规则 110 变换而来):

从随机初始条件开始,而不是一个黑色方格,图案模式看起来又有所不同:

更多的几种规则,从随机初始条件开始:

这里是一个网站(https://www.wolframcloud.com/objects/sw-blog/capanels-用很短的 Wolfram 语言代码在几分钟内写成),大家可以进行各种尝试(包括了基于较大偏移范围的、编号较大的规则)。(如果想进行更系统性的探索,可以尝试这个 Wolfram 笔记本- https://develop.open.wolframcloud.com/objects/sw-blog/CAExplorer.nb。)

合理程序的计算型世界真是无比精彩,可能出现的图案模式无穷无尽。但是很高兴剑桥北火车站使用了我在计算型世界中一直最喜爱的发现——规则30!而且看起来真的很棒!

更大的图景

由算法生成的图案形式有一些令人好奇的永恒特质。来自古埃及的十二面体今天看起来依然清爽现代,几个世纪以前的周期性密铺或嵌套也是如此:

但是,算法可以生成更丰富的图案形式吗?在发现规则 30 之前,我总是认为,用简单规则生成的任何图案形式总是以简单方式结束。但是规则 30对我的直觉来说是一个很大的冲击, 从这一点我意识到,在所有可能的规则造就的计算型世界里,很容易得到丰富和复杂的行为,即便是从简单的基本规则出发。

而且,生成的图案在视觉上往往具有非凡的吸引力。以下是元胞自动机产生的几种图案(现在每个方格可以使用 3 种可能的颜色,而不是 2 种):

形式的多样性令人吃惊。而且,它们往往很复杂。但是,因为基于简单的基本规则,它们总是遵循一定的逻辑:在某种意义上,每个图案都讲述了一个确定的“算法故事”。

对于在计算世界里看到的形式有一点值得注意,它们通常与我们在自然界中看到的形式很相似。我不认为这是巧合,相反,我认为计算世界的规则抓住了掌管自然界各个系统规律的精髓,无论是物理学、生物学还是其他学科。也许我们对计算世界中与自然界相似的形式感到比较熟悉或舒服。

但我们从计算世界中得到的是艺术吗?当我们为特定的目的选择像规则 30 这样的东西时,在概念上这样的做法有点像摄影:我们没有创造什么基本形式,只是选择我们要使用的。

在计算世界中,我们可以以更系统化的方式来完成。给定一些美学标准,自动对数百万或数十亿可能的规则进行搜索来找到最佳的规则:在某种意义上,是在计算世界中自动“发现艺术”。

在 2007 年我们对音乐做了一个这样的实验:WolframTones。令人惊奇的是,即便只是抽取相当少量的规则(用的是元胞自动机),我们也可以生成各种有趣的音乐片段,而且通常都非常有“创意”和“创造性”。

从实践的角度来看,计算世界中的自动发现非常重要,因为它允许大规模的自定义。它使得“原创”(和“有创造性”)变得容易,并且每次都能发现不同的东西,或者满足以前从未见过的限制条件(比如,在复杂的几何区域中的图案)。

剑桥北火车站使用了计算世界中一条特殊的规则来制作装饰性的图案。我们也可以使用计算世界的规则来制作建筑中的其他东西。人们甚至可以想象一个建筑,其中的一切,从整体到线脚的细节,完全由与单个规则相近的东西决定。

人们可能会认为,这样的建筑物是简约乏味的。但出人意料的是,这不一定是事实,相反,可以从计算世界“发掘”出许多复杂、“鲜活”的形式。

自从 20 世纪 80 年代初,我开始撰写一维元胞自动机之后,就有各种与之相关的有趣的艺术作品诞生。有许多不同的规则被使用过,有时使用的是我所说的具有有机外观的“第 4 类”规则,但大多数是其他的规则,规则 30 大量出现 ,无论是在地板、衬衫、茶几、动力装置上,还是最近大量定制的围巾(针织机实际上是在运行元胞自动机)上 :

但今天,我们在庆祝规则 30 新的不同表现形式。用永久铝板制成,在古老的大学城里,来自计算世界的奇珍装饰着最实用的建筑之一:一个小火车站。我向建筑师们致敬,他们使几代铁路旅客窥见了计算世界的奇迹。也许有人会回想电影《2001 太空漫游》(A Space Odyssey)中旅行者的最后一句话:“哦,我的天哪,这竟然是用规则 30 的图案制作的!(oh my gosh, it’s covered in rule 30s!)”

点击“阅读原文”去官网原文底部可以下载该英文博客的源代码。

原文发布于微信公众号 - WOLFRAM(WolframChina)

原文发表时间:2017-06-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张俊红

如何高效学习

本篇的主题是《如何高效学习》,所谓高效就是花最少的时间达到最好的效果。高效率是我们在做任何事都希望达到的,包括工作、生活、学习。本篇文章重点介绍一种可以提高学习...

3496
来自专栏ATYUN订阅号

机器学习可以通过风格确定代码背后的程序员

自动化工具现在可以准确地识别论坛帖子的作者,只要他们有足够的训练数据可供使用。但是较新的研究表明,这也可以应用于人工语言样本,如代码。事实证明,软件开发人员也留...

1402
来自专栏新智元

【独家揭秘】机器学习分析 47 万微信群,发现 9 大规律

【新智元导读】微信群已经进入到我们的日常生活中,成为社交关系的主要纽带。但微信群有自己的规律,长期群能存活很长的时间,临时群则转瞬即逝。来自清华大学、康奈尔大学...

4096
来自专栏张俊红

如何高效学习

如何高效学习? 搜索 本篇的主题是《如何高效学习》,所谓高效就是花最少的时间达到最好的效果。高效率是我们在做任何事都希望达到的,包括工作、生活、学习。本篇文章重...

2553
来自专栏大数据文摘

通过西部世界来盘点近来人工智能研究的发展

2267
来自专栏AI科技评论

业界|英特尔买下了 Nervana,然而 DPU 的魔力何在?

导读:在过去的一个月中,Intel收购了深度学习芯片公司 Nervana Systems ,以及移动和嵌入式机器学习公司 Movidius,给未来的深度学习下了...

3228
来自专栏数据科学与人工智能

【机器学习】机器学习的11个开源项目

机器学习是目前数据分析领域的一个热点内容,在平时的学习和生活中经常会用到各种各样的机器学习算法。实际上,基于Python、Java等的很多机器学习算法基本都被前...

3259
来自专栏Crossin的编程教室

从小白到年薪10万+,优秀的数据分析能力如何速成?

广泛被应用的数据分析 谷歌的数据分析可以预测一个地区即将爆发的流感,从而进行针对性的预防;淘宝可以根据你浏览和消费的数据进行分析,为你精准推荐商品;口碑极好的网...

3406
来自专栏iOSDevLog

人工智能,我来了

3718
来自专栏量子位

PyTorch发布一周年:盘点社区和工程大事件,后来者居上态势已显?

安妮 编译自 PyTorch官网 今天,PyTorch公开发布一周年了。 这个自诞生之日起就火热的深度学习框架,这一年是怎样的成长轨迹?刚刚,PyTorch团...

25110

扫码关注云+社区

领取腾讯云代金券