查看原文
其他

生成式艺术和算法创作11-Boids, Flocks, Swarms

kidult00 设计极客 00 2022-11-03

生成式艺术和算法创作01-概述

生成式艺术和算法创作02-随机和噪声

生成式艺术和算法创作03-混沌和分形

生成式艺术和算法创作04-规则系统

生成式艺术和算法创作05-Tessellation

生成式艺术和算法创作06-形状语法

生成式艺术和算法创作07-向自然致敬的 L-system

生成式艺术和算法创作08-马尔可夫模型

生成式艺术和算法创作09-人工智能体

生成式艺术和算法创作10-响应式智能体


复杂系统(Complex systems,自组织系统)由许多部分组成,虽然每个单元的行为很简单,但整个系统的行为很复杂,并且在没有通用控制算法的情况下,从单元的集体行为中浮现出来——称为涌现(Emergence)现象。

例如在蚁群中,每只蚂蚁都以化学气味对来自幼虫、其他蚂蚁、入侵者、食物和废物堆积的刺激作出反应,并留下化学痕迹,这反过来又为其他蚂蚁提供刺激。每只蚂蚁都是一个自主单位,它的反应仅取决于其当地环境和遗传编码的规则。尽管缺乏集中决策,但蚁群表现出复杂的行为。

Boids

Boids 是由 Craig Reynolds 于1986 年开发的人工生命项目,模拟鸟类的群聚行为。

与大多数人工生命模拟一样,Boids 是涌现(emergent)行为的一个例子;也就是说,Boids 的复杂性源于各个智能体,它们遵循一系列简单规则的交互。最简单的 Boids 世界中的基础规则如下:

  • 避免(Avoidance):移开以免距离太近

  • 模仿(Imitate):以附近其他单元的平均方向/速度飞行

  • 中心(Center):朝向群体中心,最大限度地减少对外部的暴露

还可以添加更复杂的规则,例如避障和追求目标。

一个 Boid 单元的当前速度计算公式为:

其中,Vnew 和 Vold 是前后运动的速度向量;wa, wi, wc 是权重因子,分离权重大于仿效和凝聚权重;u 是动量因子。

Boids 是复杂系统的典型例子,由简单的智能体之间的响应式互动,通过局部空间配置或响应环境,产生了连贯的集体行为。每个代理的行为都由行为规则之间的相互作用产生,多智能体系统的行为来自许多智能体与环境的交互。

第一部使用 Boids 制作的动画是 1987 年的 Breaking the Ice。随后在 Tim Burton 的电影「蝙蝠侠归来」(1992 年)中首次亮相大屏幕,用计算机生成的蝙蝠群和企鹅军队在高谭市街头游行。

Flocks

Flocking 是指一群鸟类在觅食或飞行时表现出来的行为。与鱼的浅滩(shoaling)行为,昆虫的蜂群(swarming)行为和陆地动物的群体(herd)行为有相似之处。用于模拟鸟类 flocking 行为的计算机模拟和数学模型,通常也可以应用于其他物种。

Flock 是大量自驱动智能体的集体运动,类似许多生物如鸟类、鱼类、细菌和昆虫的集体动物行为。它是由个体遵循的简单规则引起的涌现行为,不涉及任何中心式的调控。

Flocks 的规则跟 Boids 本质上其实是一样的:

  • 分离(Separation):在移动中避免距离其他 flock 单元太近

  • 对齐(Alignment):以附近其他 flock 单元的平均方向/速度飞行

  • 内聚(Cohesion):朝向群体平均位置(质心),最大限度地减少离群可能

Flocks 和 Boids 类似,因为可以模拟大量个体的群体行为,所以在很多领域都有应用,例如表示大量个体关系的数据可视化:

Moere A V (2004)

Swarms

群行行为(Swarm behaviour)、群行(Swarming)是一种集体动物行为,一群实体聚集在一起兜圈或朝特定方向行动。这是一个高度跨学科的主题,昆虫、鸟类、鱼类、水生动物、人与细菌都会出现 Swarms 行为。广义上来看,机器等无生命实体的集群行动也可以用 Swarms 描述。

Swarm 行为最初是 1986 年模拟 Boids 的仿真程序。无论是 Boids、Flocks 还是 Swarms,基础的规则都是:

  • 朝着与邻居相同的方向前进(对齐区)

  • 保持与邻居的关系(吸引区)

  • 避免与邻居发生碰撞(排斥区)

为了深入了解动物为什么会进化出 Swarms 行为,科学家们已经转向模拟进化动物种群的进化模型。通常这些研究使用遗传算法来模拟许多代的进化。

Swarm 算法遵循拉格朗日方法或欧拉方法。欧拉方法将群体视为一个场,使用群体的密度并导出平均场属性。它是一种流体动力学方法,可用于模拟大型群体的整体动态。不过大多数模型使用拉格朗日方法,这是一种基于智能体的模型,遵循构成群体的各个智能体(点或粒子)。

在现代娱乐产业中,电影和游戏的人群、战争、动物集群等大场景越来越都借助于 Swarm computing 的方式来生成。

Swarm Art

Swarm Art 探讨与自组织、非消息驱动的交互和涌现等问题。 在 Swarm Art 中,群体或响应式智能体共同完成创造性任务。

Photogrowth 是Penousal Machado等人创作的一个进化系统,可以生成非真实的图像渲染。灵感来自蚁群方法的绘画算法,通过模拟在画布上行进的人工蚂蚁来产生新的渲染。蚂蚁的踪迹用连续的线条表示,就像画笔一样。所有痕迹的叠加和交织,以及它们在方向,宽度和颜色上的变化,都会从给定的图像中产生富有表现力的渲染。

Artificial Ants 一书的作者 Nicolas Monmarche 探讨了蚁群算法的进展和群体智能的新趋势,并用算法创作了一系列作品。

SwarmPainter是一个 3D swarm 绘画程序,由 Christian Jacob 和 Gerald Hushlak 在 2004 年完成。

Casey Reas 是算法艺术的推动者,也是 Processing 社区早期的主要贡献者之一。

他阐述了用简单图形生成复杂作品的想法和实现方法:

An Element is a simple machine that is comprised of a Form and one or more Behaviors. A Process defines an environment for Elements and determines how the relationships between the Elements are visualized.


Antoine Schmitt 是法国艺术家,在他 2015 年的作品「战争」系列中,使用了算法模拟蚁群般的像素军队之间的战争。

伏击


死亡之吻


Ref

- [Boids - Wikiwand](https://www.wikiwand.com/en/Boids)

- [Boids (Flocks, Herds, and Schools: a Distributed Behavioral Model)](http://www.red3d.com/cwr/boids/)

- [Flocking (behavior) - Wikiwand](https://www.wikiwand.com/en/Flocking_(behavior))

- [Swarm behaviour - Wikiwand](https://www.wikiwand.com/en/Swarm_behaviour)

- [Music boids – C L A I R E L O W](https://oss.adm.ntu.edu.sg/clow024/tag/boids/)

- Moere A V (2004). ["Time-Varying Data Visualization Using Information Flocking Boids"](http://vis.computer.org/vis2004/DVD/infovis/papers/moere.pdf) (PDF). *Proceedings of the IEEE Symposium on Information Visualization*. pp. 97–104. [doi](https://www.wikiwand.com/en/Digital_object_identifier):[10.1109/INFVIS.2004.65](https://doi.org/10.1109/INFVIS.2004.65).

- [Photogrowth: Ant Painting « CDV Lab](https://cdv.dei.uc.pt/photogrowth-ant-painting/)

- [Artificial Ants: Nicolas Monmarché, Frédéric Guinand, Patrick Siarry: 9781848211940: Amazon.com: Books](https://www.amazon.com/Artificial-Ants-ISTE-Nicolas-Monmarch%C3%A9/dp/1848211945)

- [Home of SwarmArt](http://swarmart.com/SwarmArtNew/SwarmArt.com/Home%20of%20SwarmArt.html)

- [SwarmPainter](http://swarmart.com/SwarmArtNew/SwarmArt.com/SwarmPainter.html)






HackYourself 为您精选

GEB —— 一次关于有序与无序的探寻之旅
兴趣多动症的自救指南 | 00 的 TEDx 演讲全文

用多重草稿谱写有趣人生

把一个人活成一个公司,你可能就不会那么迷茫了
拖延这件小事,讨论一次就够了




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存