鱼群仿真
鱼群仿真

演示地址

http://fish.ccpe.top

前言

一滴水只有流入大海才永不干涸

引论

海洋中的鱼群<sup>[1]</sup>
海洋中的鱼群[1]

看过深海纪录片的人们可能会被多彩的水底世界吸引,也可能被庞大的鱼群震撼。
但我们也许不知道的是,深海中也存在着种种危机,鱼群为了生存也要懂得合作与共享。

疑问

看着旋涡似鱼群涌动,我们不禁产生这样的疑问:

  1. 为什么自然界中的鱼常常呈现出一种“结群”状态呢?
  2. 是什么促使鱼结群?
  3. 通过鱼的结群,我们能获得怎样的启发?

[1] 美国北卡罗来纳州海域,49岁的摄影师Michael Gerken在海底拍摄到一只虎鲨游曳在庞大的鱼群形成的旋涡中,场面震撼。图片来源:http://news.66wz.com/system/2016/09/22/104914707.shtml

初步了解

有问题怎么办,肯定要查资料啊,我们简单在网上搜索了一下。

部分搜索结果
部分搜索结果

简单整理了一下搜索到的结果,做个统计:

  1. 类似于孔雀开屏,在海洋中形成怪异的花纹,恐吓捕食者。
  2. 类似于大雁飞行,后面的鱼借助前面鱼游动产生的水流,游起来更省力。
  3. 结群行为有利于避免遭受捕食。
  4. 鱼具有一定社会属性,很害怕孤独,一旦落单意味着死亡。
  5. 于月球引力有关,外星人干涉,其他神秘学理论……
结果统计
结果统计

虽然结果五花八门,但是大部分文章,都提到了“结群行为与躲避捕食之间的联系”。
这就更让人好奇了,难道不是,结群行为会导致目标增大,更易被捕食吗?
这一点指的我们去深入研究思考。

建模分析

在生态系统中,动物个体的行为相对简单,而集群后却能表现出复杂的群体行为。
个体行为是构成群体行为的基础,个体之间的组织结构、个体行为之间的关系和群体行为的涌现机制是研究群体行为的关键要素。
目前主要研究有仿生的群体优 化算法.群体组织内部的通信机制及其应用方面, 如微粒群算法、蚁群算法、群体机器人等。[2,3]

[2] 李建会.数字创世纪:人工生命的新科学[IM].北京:科学出版社.2006
[3] 王晓红.基于多Agent的人工鱼群自组织行为研究[D].北京:北京科技大学. 2006

分类鱼群行为

鱼群行为分类
鱼群行为分类

本模型中认为鱼在躲避捕食者时,拥有四种行为。

随机行为

鱼会随机的朝着某一方向游动。

中心集群行为

鱼会朝着视野内同伴的中心移动。

方向集群行为

鱼会朝着视野内同伴的平均移动方向移动。

挤度约束

鱼总会和视野内最近的同伴保持一定距离,以免过度拥挤。

逃避行为

一旦鱼发现了捕食者,则不顾一切的向远离捕食者方向移动。

模型假设

模型假设
模型假设

在空间坐标系𝑋𝑂𝑌𝑂𝑍中存在鱼群𝐹,其中𝑃是其中的一条鱼,其视野范围为𝑟,在𝑡时刻下,运动方向为𝐷。

分解运动趋势

变量名称
变量名称
运动分解
运动分解

其中鱼𝑃的整体运动趋势方向,为各个行为产生的运动趋势求和并归一化。

其中:

趋势分析
趋势分析

计算机仿真

拥有一定数学支撑后,我们将使用计算机程序算法实现上述过程。

面向对象设计

根据鱼群行为进行设计。

程序设计
程序设计

仿真器实现

仿真器
仿真器

初始时将 200 条鱼,和一条鲨鱼,放入 1x1x1 的试验场地。
小鱼和鲨鱼都有视野范围,且鲨鱼的视野范围大于小鱼的视野范围。
同时鲨鱼的最大加速度和速度,均大于小鱼。

也就是说,如果鲨鱼愿意,那么他可以吃掉任何一条鱼。

仿真结果

仿真进行了 3 分钟,其中左侧鱼群随机游走,右侧鱼群拥有集群行为。

仿真开始
仿真开始
仿真结束
仿真结束

最后可以看到拥有集群行为的鱼群,存活 141 条,随机游走的鱼群存活 119 条,
经过多次实验取平均值,可以估测,结群行为让鱼群的整体存活率提高大概 10.27%。

结论

在一定程度上可以证明:

海洋中一类自然鱼的结群行为在一定程度上有利于在遭遇捕食者捕食时提高群体存活率

海洋给人们的启示

研究这个有什么用吗?
其实鱼群的行为帮助了人类规划电力系统、自动驾驶避障、物流运输、污染源排查等各种领域。
比起人类,海洋如同一位智慧的老人,孜孜不倦的指导人类科技进步。

生命源自海洋,请热爱我们的故乡。

后记

一条鱼只有融入团体才永不消亡