Boids
Boids是模拟鸟群和其他生物群行行為的一种人工生命算法,由克雷格·雷诺兹(Craig Reynolds)于1986年开发,他介绍该算法的论文最初发表于1987年计算机协会(ACM)的SIGGRAPH会议上[1]。Boids算法中个体行为遵循“分离、对齐、聚集”三条原则,其中“boids”一词为“bird-oid objects”(类鸟群对象)的缩写。该算法在面世后出现多种变体,并启发了之后的一系列群体智能算法,被广泛应用于计算机图形领域和电影特效等的制作中[2][3]。
原理
[编辑]和其他群行行為模拟一样,Boids算法也体现了涌现现象和去中心化,即群体的复杂性是单个个体简单相互作用的结果[4][5]。克雷格·雷诺兹认为通过给单个个体不断施加条件,就能用个体的运动模拟出鸟群的整体运动,并针对个体的行为总结出三条原则:
- 分离(Separation):个体会避开群体拥挤处,以免与其他个体发生碰撞。
- 对齐(Alignment):个体会朝着周围个体的平均速度矢量方向前进。
- 聚集(Cohesion):个体会尽量相互靠近,朝着周围个体的中心位置移动。[1][6][7]
雷诺兹还指出,真实的群行行为依赖于个体局部的世界观,所以在模拟中应当仅给个体提供有限而非全面的信息[1][2]。
变体
[编辑]Boids算法在以上三条原则的基础上还可以补充更为复杂的规则,进而产生不同的变体模型,比如使个体自动避开障碍物[1],引入使个体产生恐惧的天敌对象[8]或使个体跟随的领导者对象等[9]。作为群体智能领域的开创性研究,Boids算法也启发了后续一系列算法研究,包括粒子群优化(PSO)[10]、蚁群算法(ACO)[11]等。
需要注意的是,Boids并非最早的群行行为模拟算法,日本研究者青木一郎于1982年对鱼群行为进行了模拟研究,并提出类似模型[12]。
应用
[编辑]克雷格·雷诺兹于1986年使用自己和同事在Symbolics开发的一款图形软件工具编写了Boids算法的初代版本,之后该算法被广泛应用于计算机图形领域和电影特效等的制作中[3][13]。1987年Symbolics制作的动画《Stanley and Stella in: Breaking the Ice》中首次使用了该算法,这部动画旨在宣传公司的产品和Boids算法。首次应用该算法的商业电影是蒂姆·伯顿的《蝙蝠侠归来》(1992年),电影中蝙蝠群和企鹅群场景是使用雷诺兹开发的Boids软件的修改版本制作的[3][14]。类似Boids的算法也被用于《狮子王》(1994年)、《星際大戰》系列、《指环王》三部曲、《泰坦尼克号》(1997年)等电影中[15]。1998年,雷诺兹因“对电影制作中三维计算机动画的发展作出的开创性贡献”获得奥斯卡科技成果奖[3][16]。
除电影制作外,类似Boids的算法也被应用于电子游戏制作[17]、人群模拟[18]、集群机器人[19]和无人机(UAV)[20]等领域。
参见
[编辑]参考资料
[编辑]- ^ 1.0 1.1 1.2 1.3 Reynolds, Craig. Flocks, Herds, and Schools: A Distributed Behavioral Model. Proceedings of the 14th annual conference on Computer graphics and interactive techniques. 1987, 21 (4): 25-34 [2025-09-13]. CiteSeerX 10.1.1.103.7187
. ISBN 978-0-89791-227-3. S2CID 546350. doi:10.1145/37401.37406.
- ^ 2.0 2.1 Banks, Alec; Vincent, Jonathan; Anyakoha, Chukwudi. A review of particle swarm optimization. Part I: background and development (PDF). Natural Computing. 2007, 6 (4): 467-484 [2025-09-23]. CiteSeerX 10.1.1.605.5879
. S2CID 2344624. doi:10.1007/s11047-007-9049-5.
- ^ 3.0 3.1 3.2 3.3 Failes, Ian. A history of CG bird flocking. befores & afters. 2022-04-07 [2025-09-23].
- ^ Ikegami, Takashi; Mototake, Yoh-ichi; Kobori, Shintaro; Oka, Mizuki; Hashimoto, Yasuhiro. Life as an emergent phenomenon: Studies from a large-scale boid simulation and web data. Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences. 2017, 375 (2019). PMC 5686407
. PMID 29133449. doi:10.1098/rsta.2016.0351.
- ^ Goerz, Johannes. Flocking behaviour. Media Arts and Technology. 2005-10-26 [2025-09-23].
- ^ C O, Erneholm. Simulation of the flocking behavior of birds with the boids algorithm (PDF). Royal Institute of Technology. 2011.
- ^ 杨盼盼; 唐晔; 宋家成. 基于预测智能的群集自组织分裂/融合方法. 控制与决策. 2018, 33 (12): 2270-2276 [2025-09-26]. doi:10.13195/j.kzyjc.2017.0911.
- ^ Delgado-Mata, Carlos; Martinez, Jesus Ibanez; Bee, Simon; Ruiz-Rodarte, Rocio; Aylett, Ruth. On the use of Virtual Animals with Artificial Fear in Virtual Environments. New Generation Computing. 2007, 25 (2): 145–169. S2CID 26078361. doi:10.1007/s00354-007-0009-5.
- ^ Hartman, Christopher; Beneš, Bedřich. Autonomous boids (PDF). Computer Animation and Virtual Worlds. 2006, 17 (3-4): 199–206 [2025-09-24]. S2CID 15720643. doi:10.1002/cav.123.
- ^ Kennedy, J.; Eberhart, R. Particle swarm optimization. Proceedings of International Conference on Neural Networks (ICNN). 1995, 4: 1942–1948. ISBN 0-7803-2768-3. doi:10.1109/ICNN.1995.488968.
- ^ Dorigo, M.; Maniezzo, V.; Colorni, A. Ant system: optimization by a colony of cooperating agents. IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics). 1996, 26 (1): 29-41. doi:10.1109/3477.484436.
- ^ Aoki, Ichiro. A Simulation Study on the Schooling Mechanism in Fish. Nippon Suisan Gakkaishi (Bulletin of the Japanese Society of Scientific Fisheries). 1982, 48 (8): 1081-1088. doi:10.2331/suisan.48.1081.
- ^ Reynolds, Craig. Boids - Background and Update. red3d.com. 2001-09-06 [2025-09-24].
- ^ Bajec, Iztok Lebar; Heppner, Frank H. Organized flight in birds (PDF). Animal Behaviour. 2009, 78 (4): 777–789 [2025-09-24]. S2CID 53180059. doi:10.1016/j.anbehav.2009.07.007.
- ^ Carlson, Wayne E. Chapter 19.2. Computer Graphics and Computer Animation: A Retrospective Overview. The Ohio State University. 2017.
- ^ Awards Databases - Results. 奥斯卡金像奖. [2025-09-24].
- ^ Bourg, David M; Seemann, Glenn. Chapter 4. AI for Game Developers. O'Reilly Media. 2004. ISBN 9780596005559.
- ^ Martin, Brett M.; Winz, Ryan D.; McFadden, Luke J.; Langehaug, Tor J. Distributed Boids Simulation: Performance Analysis and Implementation Challenges. Congress in Computer Science, Computer Engineering, & Applied Computing (CSCE). 2023: 780-785. doi:10.1109/CSCE60160.2023.00133.
- ^ Min, Hongkyu; Wang, Zhidong. Design and analysis of Group Escape Behavior for distributed autonomous mobile robots. IEEE International Conference on Robotics and Automation (ICRA). 2011. doi:10.1109/ICRA.2011.5980123.
- ^ Saska, Martin; Vakula, Jan; Přeućil, Libor. Swarms of micro aerial vehicles stabilized under a visual relative localization. IEEE International Conference on Robotics and Automation (ICRA). 2014. doi:10.1109/ICRA.2014.6907374.