汕尾信息港

当前位置: 首页 >军事

用计算机算法织围巾

来源: 作者: 2019-03-06 19:39:16

By Evelyn Lamb

导语:想拥有图案的围巾吗?马上登陆Kickstarter吧!

关键词:元胞自动机 初始种子 围巾

如果你在Kickstarter上支持KnitYak项目,你将可能拥有这款元胞自动机(cellular automaton)围巾。(图片来源:Fabienne Serriere)

多年以来Fabienne Serriere一直在利用数学创作她的编织作品,现在她在Kickstarter上筹钱以扩大其规模。截止7月2号,筹款活动已进行了三分之一而KnitYak项目已经筹得了三分之一的钱,此次众筹在7月23日结束。我建议马上登陆Kickstarter向她捐助一些钱,因为KnitYak项目得到这些钱才能进行。

Serriere一直在寻找一种使得图案既显得漂亮但又不重复的方法,既不非常整齐又不完全混乱。在进行了一些试验之后,她决定采用元胞自动机算法。

元胞自动机是一种格,每个格的状态是有限种状态中的一种(例如,开/关或者黑/白)。在Serriere使用的基础元胞自动机中,一个元胞可能是黑色或白色,而且一个元胞的状态依赖于与其相邻的左边的三个元胞(其左边、上面和下面的元胞)。关于元胞自动机更好的解释见数学艺术博客Botanica Mathematica。

Fabienne Serriere制作的110规则基本元胞自动机的GIF动画

Serriere初想使用John Conway的生命游戏算法,这是一种二维元胞自动机,但是当它不动的时候看起来并不怎么吸引人。另一方面,基础元胞自动机基本是一维的,它们仅仅以一个方向移动,因此像围巾这种二维物体可以更有效地捕获系统的发展。

元胞自动机是产生混沌行为的简单的情形之一。混沌系统是确定的,也就是说系统的发展是由开始就设定好的,但初始状态(在这种情况下是起始排)很小的改变将导致结果中巨大的变化。并不是所有的元胞自动机在一切幅宽都是混沌的,其内部及其本身都很有趣。

基础元胞自动机在计算机科学中同样重要。Serriere这样写道:“大多数研究或喜欢计算机科学的人都见过基础元胞自动机的输出信息并且一眼就能认出我的围巾”。她的围巾使用的110规则尤其重要因为它是图灵完备的,也就是理论上可以将其编程进行计算。(更多细节见Matthew Cook写的论文)

如果你在Kickstarter上支持了KnitYak项目的围巾以及更多计划,

用计算机算法织围巾

在活动后期你将有机会为你的黑白色美利奴羊毛围巾选择喜欢的规则以及初始种子。每条围巾都是的:Serriere将持续记录规则以及初始种子,她将确保你的围巾与别人的都不一样。她也会将源代码与你的围巾一起寄给你,以防将来某天你需要源代码代替或补充你的元胞自动机服饰,使之显得协调。并不是只要随便给一个初始值所有的元胞自动机就会产生吸引人的设计,因此Serriere将剔除不正常的设计。她说:“我将收集可能的编织源代码,尽量使所有的编织都有趣”。

如果你想提前知道你的围巾是什么样的,你可以浏览一下维基百科中关于基础元胞自动机的内容,从中挑选你喜欢的规则。你也可以检验一下Serriere的110规则源码,看看不同的初始种子会产生什么图案。

作者简介:

Evelyn Lamb是犹他大学的一名博士后。她喜欢写一些数学和别的很棒的东西。她的微博是@evelynjlamb

本文观点仅代表作者,不代表《科学美国人》。

(翻译:张文泰;审校:朱佳莲)

原文链接[科学美国人博客]:

相关推荐