内容简介:21世纪的人类,还没有实现不过,如果单从来自香港的
21世纪的人类,还没有实现 人造生命 的理想。
不过,如果单从 视觉 上看,我们离这个目标可能没那么远。
来自香港的 程序 猿Wang-Chak Chan (简称陈先生) ,孕育了一个 人造生命模型 (a Model of Artificial Life) 。
这个名叫 Lenia 的模型,可以演化出丰盛的生命形态。这里有不同形状的“生物”,运动姿势也千差万别,但都自然流畅,某一瞬间竟以为是显微镜下真实的景色。
陈先生说,目前已经在Lenia里发现了18个“科”的400个“物种”了。并且,自然界还能找到它们的“亲戚”。
他希望,Lenia可以帮助人类了解生物的行为,以及进化规律。说不定有一天,还能为AI研究带来什么启发。
不过在那之前,这个模型已经有 Demo 可以玩耍了,代码也 开源 了。
生命如此多娇
这个人造生命模型,是基于 细胞自动机 (Cellular Automaton) 搭建起来的。
细胞自动机,就是一个网格:网格上每一个位点的状态,都在不停地变化,根据 周围 位点 (术语叫邻域) 的状态而变化。
本文出现的动图,都是变化中的样子。
那么,变化规则是什么呢?
举一个简单的栗子, 康威生命游戏 (Conway’s Game of Life) 。
这是一片正方形网格,每个位点有两种生存状态,一是 存活 ,二是 死亡 。
每个位点 (即“细胞”) 的存亡,是周围8个位点决定的:
一个存活的细胞,周围存活细胞数少于两个, 就会死亡 。这是在模拟孤独寂寞而死。
一个存活的细胞,周围存活细胞数在2-3个, 状态不变 。
一个存活的细胞,周围存活细胞数多于三个, 也会死亡 。这是在模拟资源匮乏而死。
一个死亡的细胞,周围存活细胞有3个, 就会活过来 。这是在模拟生物繁殖。
如此一来,周而复始,生生不息。
“生命”的延续不算惊人。奇妙的是,就算开始的时候 杂乱无章 ,也终究会生成 有规律的图案 (通常还很 对称 ) 。
可简单如宇宙飞船:
可复杂如电子时钟:
玩家自由设定规则(前文举的栗子只是最简单的一种) ,便可以创造出世间万物;也可以锁定某个位点的状态,暗中观察其他位点的变化。
而Lenia便是以 康威生命游戏 为起点,走向更加复杂的远方:比如,这里的状态远不只生存、死亡这两种,看这丰富的 色彩 便知:
陈先生说,除了不能自我复制 (繁殖) 之外, 生命体拥有的各种功能 ,Lenia几乎都可以实现:比如稳态、代谢,以及对刺激做出反应等等。
而且,这里的”生物“还能在大自然里,找到自己失散的”家人“:
所以,陈先生借来了生物学里的 分类学 (Taxonomy) ,把自己在Lenia里面发现的“生物”分门别类。Demo里面就可以看到一些:
Demo不止可以 按物种查看 ,也可以 按形态选择 :
另外,生成方式 (Preset) 可以改变,许多参数可以调整,还能生成 3D图像 ,凹凸有致:
有兴趣的同学,一定要去试试啊 (传送门在文底) 。
有什么用呢?
不只是生物学,陈先生还从物理学、有机化学里借来许多概念,试图解释Lenia生成的作品。
他希望能借Lenia的力量,探索生命的规律,不论是行为规律还是进化规律;还希望,有朝一日能为AI研究带来帮助。
这条路听上去很远很缥缈,不知道能走多久。可机器学习领域的科学家们,也一直在生物智能和人工智能之间寻找联系:
神经网络的灵感,是从动物的中枢神经系统那里借来的;
Hinton说要抛弃 反向传播 ,也是因为没发现人脑有类似的工作机制。
谁也不知道,自己走的路是不是对的。不过,Lenia至少是一条赏心悦目的路吧。
在线Demo传送门:
https://chakazul.github.io/Lenia/JavaScript/Lenia.html
Lenia开源代码传送门:
https://github.com/Chakazul/Lenia
Lenia论文传送门:
https://arxiv.org/pdf/1812.05433.pdf
以上所述就是小编给大家介绍的《算法描绘的“人造生命”,运动流畅自然,如同显微镜下的实景 | Demo·代码》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。