zoukankan      html  css  js  c++  java
  • 生物群体运动模型笔记

    生物群体运动模型笔记

    1.概述


      生物集群在自然界中广泛存在,如鸟群、鱼群和细菌群落。由于集群展现出自组织特性与多变的行为模式,作为一个跨学科的研究课题,对集群现象的研究很早就在如生物、物理和计算机等多个学科内展开。

      对多个体系统的模型研究进展进行梳理,如右图所示。可以看出,Reynolds (Boid)和 Vicsek 模型是多个体系统模型研究的基础,以后学者多是基于 Vicsek 模型进行研究,其改进也是根据不同目的而开展工作的。

    TIM截图20191103152413.png

    2. Boid模型


      在 1987 年,Reynolds 构造了一个计算机仿真模型,其程序能够模拟在三维空间中鸟群的飞翔和鱼群的游动,后来他将这种仿真命名为 Boid 模型。

    微信截图_20191031213522.png

      Biod 模型的三个规则

        (a) 个体为了避免碰撞而相互分离;

        (b) 调整个体的方向为最近邻个体的方向的平均值;

        © 个体移动到最近邻个体的中心位置。

      每个个体能够在整个3D空间中运动,但是每个个体能感知到的区域是有限的。如图所示,个体能感知到的是一个扇形区域,该扇形区域是由角度和半径两个因素决定的。

    image-20191101110145003.png

    20190905105725881.png

      由美国普林斯顿大学副教授 Couzin 等人于 2002 年将 Boid 模型用数学模型进行了精确的描述。

      设系统有 N 个个体组成,他们的位置和速度矢量分别为Xi,Vi ,每个个体在三维空间中按照恒定的速度v 运动,为个体在时刻的预期方向。在每一时步t ,每个个体可以感知到三个不重叠的区域中其他个体的位置和角度,这些信息用于计算,这三个区域分别为:排斥区域(zone of repulsion),一致区域(zone of orientation),吸引区域(zone of attraction),也叫Three-Circle模型。其模型的三个区域如下图所示:

    TIM截图20191101112539.png

    小结

      Boid模型所体现的类似生物运动的特性是该模型最重要的特点,虽然模型中个体的运动速度大小恒定且也不考虑运动个体的视野角度问题。生物群体中个体对于整体的依赖及对自身生存所必要的自主空间的要求在模型中都有很好的体现。

      而Couzin建立的三层Boid模型通过改变排斥区、适应区和吸引区的大小,可以很好的模拟不同生物群体的运动及相同生物群体在不同条件下的运动规则。模型模拟所涌现的各种集群运动现象可在实际生物运动中尤其是鱼群得到很好的印证。

      Boid 模型的意义及存在的问题;Boid 模型是在研究鱼群的运动中提出的,它直接来源于对自然界生物的观察与实际结合的非常紧密。可以解释生物群体的群聚、同步以及形成圆环的现象,并揭示了这些现象背后的本质联系具有重大的意义。但模型中个体间的作用机制较复杂,而且不能解释其它更复杂的群体行为(如避障)。

    3.Vicsek模型


    ​ 在Boid模型的基础上,Vicsek等人于1995年对其进行简化,从统计力学的角度研究了集群中个体运动方向达成一致的条件,提出了来模拟和解释非平衡系统中的聚类、输运和相变的模型Vicsek模型。

    ​ 在 Vicsek 模型中每个参与群集运动的个体可看作独立的自驱动的个体,每个个体以恒定的速率在二维平面内运动,下一时刻个体速度的方向设定为自己及周围其他个体的平均速度方向。这样经过有限次的调整后所有的个体会最终达到共同的速度,即所有个体的飞行方向趋于一致。

    TIM截图20191103154504.png

    20190911190630177.png

      为了研究该自治系统的演化行为,Vicsek等人考虑了噪音、密度对演化结果的影响,得出了一些有意义的结果:

        (1) 当密度和噪音较小的时候,系统中的个体呈现成群的随机运动;

        (2) 当密度和噪音较大的时候,系统中的个体呈现出混乱的随机运动;

        (3) 当密度较大,而噪音很小的时候,系统中的个体呈现出方向一致的现象

    意义及不足:

      在Vicsek模型中,个体只能了解到自己周围视野半径内邻居的信息,而这个信息是一个局域的信息。在通过有限次调整之后,系统可达到整体的同步。这种通过局域的相互作用而实现整体的功能涌现是集群运动模型给我们最为深刻的启发,

      Vicsek模型存在的局限性主要体现在它忽视了生物本身个体的差异性和局限性,同时也忽略了集群运动整体的结构性差异。

    4.Vicsek模型的改进


    基于随机视线方向的Vicsek模型

      VM 设定系统中所有个体都具有全局视野(Global Visual Field,GVF),但是,现实中大多数生物并不具有全局视野,例如,人眼的视野大小约为 180度。考虑到大多数生物的有限视野(Restricted Visual Field,RVF)这一实际因素,2009年田宝美等人研究了二维情形下有限视场角模型(有限视场边界对称分布于个体运动方向两侧)、2011 年李玉剑等人研究了三维情形下有限视野的自驱动个体群集运动系统,分别建立有限视野角度的自驱动个体群集动力学模型,来研究自然界中的群集运动现象。

      Calvao等人提出有限视场范围和凝视方向(Gazing Direction)的概念,用来对群体的有序聚集行为进行建模。但该模型中个体的视线方向并不能随意改变,而是总朝向视场范围内距离自己最近 的邻居并向此方向移动。其主要解释群体如何形成有序的聚集结构。

      后来的改进模型在Vicsek模型以及前两者的基础上引入了有限视场限制和随机视场方向策略,称之为随机视线方向模型(Random LOS Vicsek Model,RLosVM)。

    TIM截图20191103150140.png

    基于改进拓扑规则的Vicsek模型

      在Vicsek模型中,个体之间的通信存在一定的多余信息,个体使用少量的邻居信息也可以获得良好的同步收敛性能。而在生物实证方面的研究也显示,生物群体内部交互邻居的数量并非越多越好,比如椋(liang)鸟在运动过程中仅与周围6-7个邻居存在交互关系,且与邻居的距离不相关。这种交互方式称为拓扑距离交互(Topological Distance Interaction),区别于传统的尺度距离交互(Metric Distance Interaction)。

      尺度距离交互:固定邻居范围(Fixed Neighborhood Region,FNR)

      拓扑距离交互:固定邻居数目(Fixed Number of NeighborhoodFNN

    在FNN模型中,个体邻居数目要远远小于个体感知范围内存在的邻居数目。

      对于拓扑交互方式的产生机理以及个体如何确定固定邻居数目,目前还存在争议。下面是一种利用角度方位确定邻居的方式:

    TIM截图20191103152138.png

      FNN模型的一大弊病在于个体无法在空间上兼顾邻居的分散分布,比如一旦距离焦点个体较近的邻居们密集的在于一定区域内,焦点个体在邻居信息的时候视线难免会受到遮蔽。视线遮蔽缩小了个体有效获取信息的范围,造成可用信息的减少;另外,个体在运动过程中往往会同时留意周围各个方向上的邻居信息,而基本FNN模型在邻居选择上没有引入邻居在空间上的分布情况。

      因此,有改进的FNN模型(MFNN):个体只能获得各方向上距离最近邻居个体的运动信息。在该模型中,隐含了对环境信息的过滤和提炼,各个方向上距离最近的邻居个体显然在短期内最有可能对自身运动产生直接的影响。

      MFNN大大提升了FNN模型的同步收敛效率以及抗干扰的能力。群体系统在同等条件下实现相同的同步收敛速率时,MFNN模型中个体需要的邻居交互信息更少,从而具有更加高效的信息利用率。

    基于分数阶微积分的Vicsek模型

      基本的Vicsek模型在进行更新时仅考虑前一个时刻的信息,而在现实中进行群体运动的个体,往往具有 “记忆”功能,进行决策时也会利用到一些历史信息。

      因此考虑将分数阶微积分(Fractional Calculus)思想引入到Vicsek模型的更新方程中,即有分数阶Vicsek模型(Fractional Order Vicsek Model,FOVM):个体能利用分数阶微分项记忆功能,在状态更新时引入邻居历史信息,进而提高群体系统的同步性能。

    参考文献


    论文笔记-Optimized flocking of autonomous drones in confined environments

    论文笔记-vicsek模型讲解与仿真-Novel Type of Phase Transition in a System of Self-Driven Particles

    段海滨, 邱华鑫. 基于群体智能的无人机集群自主控制[M]. 北京: 科学出版社, 2018.1

    以及下面的一些文献:

    TIM截图20191103150932.png

  • 相关阅读:
    一步步学习SPD2010--第三章节--处理列表和库
    《python深度学习》笔记---2.4、神经网络的“引擎”:基于梯度的优化
    《python深度学习》笔记---2.1-2.3、神经网络的数学基础
    【tensorflow2.0】模型层layers
    《python深度学*》笔记---1.3、为什么是深度学*,为什么是现在
    XGBoost是什么
    梯度提升决策树 算法过程
    集成方法中的梯度提升回归树(梯度提升机)模型
    《python深度学习》笔记---1.2、深度学习之前:机器学习简史
    《python深度学习》笔记---1.1、人工智能、机器学习与深度学习
  • 原文地址:https://www.cnblogs.com/sc340/p/11870803.html
Copyright © 2011-2022 走看看