前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >天才女孩!12岁小学生写出冯·诺依曼提出的元胞自动机

天才女孩!12岁小学生写出冯·诺依曼提出的元胞自动机

作者头像
新智元
发布2018-09-25 15:39:22
1.1K0
发布2018-09-25 15:39:22
举报
文章被收录于专栏:新智元新智元

新智元报道

来源:Hackernews、bitbucket、知乎

作者:三石

【新智元导读】今日,Hackernews上一个12岁小女孩儿用Node.js实现了Wolframe的元胞自动化,引起了不少网友的惊叹。

毕竟,是别人家的孩子......

这名叫Liam Ilan的12岁小女孩在Hackernews上低调写了一句话,仅数小时,便惊呆了一路众人:

我12岁了,正在学习JS,用Node写了Wolfram的元胞自动机

网友们不禁唏嘘,真是长江后浪推前浪,把我们全都拍在沙滩上!

来自12岁小女孩的杰作

小女孩在bitbucket中将自己的项目整理了下来:

使用方法

首先,使用下面的命令克隆repo:

代码语言:javascript
复制
$ git clone https://liamilan@bitbucket.org/liamilan/wolfram-cellular-automata.git

要运行项目,请输入目录,然后使用:

代码语言:javascript
复制
$ node index.js 18

或者:

代码语言:javascript
复制
$ node index.js {rule number between 0 to 255}

Development:

使用下方命令在目录中初始化:

代码语言:javascript
复制
$ npm init

用这个命令运行eslint:

代码语言:javascript
复制
$ npm run lint

元胞自动机,了解一下?

元胞自动机(cellular automata,CA) 是一种时间、空间、状态都离散,空间相互作用和时间因果关系为局部的网格动力学模型,具有模拟复杂系统时空演化过程的能力。最早由冯诺依曼提出

包含800个时间步的90号规则演化图案

不同于一般的动力学模型,元胞自动机不是由严格定义的物理方程或函数确定,而是用一系列模型构造的规则构成。凡是满足这些规则的模型都可以算作是元胞自动机模型。因此,元胞自动机是一类模型的总称,或者说是一个方法框架。

就形式而言,细胞自动机有三个特征

平行计算(parallel computation):每一个细胞个体都同时同步的改变

局部的(local):细胞的状态变化只受周遭细胞的影响

一致性的(homogeneous):所有细胞均受同样的规则所支配

自元胞自动机产生以来,对于元胞自动机分类的研究就是元胞自动机的一个重要的研究课题和核心理论,在基于不同的出发点,元胞自动机可有多种分类。

其中,最具影响力的当属S. Wolfram在80年代初做的基于动力学行为的元胞自动机分类,而基于维数的元胞自动机分类也是最简单和最常用的划分。

Stephen Wolfram

而Wolfram创建的计算搜索引擎Wolfram|Alpha中,其在计算时候,显示的就是元胞自动机。

Wolfram|Alpha 的元胞自动机应该也是 Generations 一类,但肉眼不容易看出具体是什么规则。可通过 Mathematica,将其二值化,并拆分成一个个连通分支来看。

而后放进Golly里。下图所示是周期15的振荡子:

以及还有周期24的puffer:

热心网友评论

有网友将小女孩儿的成果给他12岁儿子看了一眼,结果那孩子快要惊掉下巴!

当然也有热心网友给这个小女孩提出改进建议的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【新智元导读】今日,Hackernews上一个12岁小女孩儿用Node.js实现了Wolframe的元胞自动化,引起了不少网友的惊叹。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档