• 生成式藝術和演算法創作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 單元的當前速度計算公式為:

?

其中,? 和 ? 是前後運動的速度向量;?, ?, ? 是權重因子,分離權重大於仿效和凝聚權重;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

  • Boids - Wikiwand
  • Boids (Flocks, Herds, and Schools: a Distributed Behavioral Model)
  • Flocking (behavior) - Wikiwand
  • Swarm behaviour - Wikiwand
  • Music boids – C L A I R E L O W
  • Moere A V (2004). "Time-Varying Data Visualization Using Information Flocking Boids" (PDF). Proceedings of the IEEE Symposium on Information Visualization. pp. 97–104. doi:10.1109/INFVIS.2004.65.
  • Photogrowth: Ant Painting ? CDV Lab
  • Artificial Ants: Nicolas Monmarché, Frédéric Guinand, Patrick Siarry: 9781848211940: Amazon.com: Books
  • Home of SwarmArt
  • SwarmPainter

00 的其他專欄HackYourself?

zhuanlan.zhihu.com
圖標
FabAcademy 創客煉成記?

zhuanlan.zhihu.com
圖標
進擊!後界面時代的交互設計?

zhuanlan.zhihu.com
圖標
Make Noise?

zhuanlan.zhihu.com
圖標
你丫全棧?

zhuanlan.zhihu.com
圖標

推薦閱讀:

相关文章