粒子群优化算法实现鸟群觅食

来源:互联网 发布:电脑桌面直播软件 编辑:程序博客网 时间:2024/04/20 00:19

假如你因为睇到个题目感到本文貌似很强大而入来啤下,甘对唔住啦,本文可能令你失望了。虽然本文的确是研究粒子群优化算法的,但系离人工智能追踪目标还有一段距离。无办法,睇完D毕业答辩后学会了鼓吹~~

     讲翻正题,本文将实现的效果只是模仿鸟群觅食的效果,而且出来的效果也不像你们想像中那么的漂亮,因为在点与点之间的移动过程我采用的是瞬间移动,即出现跳动式(也可理解为闪动式吧)的呈现方式,时间唔允许我再进行改进了。同时这次实验的算法其实很简单,并没有进行过具体优化。

      先看看那个效果,红点表示粒子,为了体现效果,本次实验采用了30个粒子,蓝色大圆点表示目标,可以随时用鼠标点击画布改变目标的位置:

     讲讲算法流程吧:

     实现过程就不多说了,对那么多的粒子进行操作,本次实验使用的是事件机制,而非循环操作。前台一声开工后,每个粒子便自动响应事件,进行运算操作。本来想设计多线程来异步更新全局最优解,这样的话每个粒子都可以得到某个时刻的全局最优解,并非等所有粒子计算完毕才能得出最优解,但由于粒子较少而且能力有限,所以这次只是另外一条线程来进行同步运算。

      就说到这里,详细的话看日后有没有时间去继续完善,这四天搞这东西还挺郁闷的,明天还得考编译原理。

      想要看源码的话可以到这里下载:http://download.csdn.net/source/3367788