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

作者: Kidult | 来源:发表于2018-12-23 20:33 被阅读78次

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

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

    Boids

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

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

    • 避免(Avoidance):移开以免距离太近
    • 模仿(Imitate):以附近其他单元的平均方向/速度飞行
    • 中心(Center):朝向群体中心,最大限度地减少对外部的暴露

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

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

    V_{new} = uV_{old}+(1-u)w_aV_{avoid}+w_iV_{imitate}+w_cV_{center}

    其中,V_{new}V_{old} 是前后运动的速度向量;w_a, w_i, w_c 是权重因子,分离权重大于仿效和凝聚权重;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 年的作品「战争」系列中,使用了算法模拟蚁群般的像素军队之间的战争。

    伏击 死亡之吻

    » War Antoine Schmitt

    Ref


    00 的文集

    相关文章

      网友评论

        本文标题:生成式艺术和算法创作11-Boids, Flocks, Swar

        本文链接:https://www.haomeiwen.com/subject/llqokqtx.html