综合课程设计报告81922.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
综合课程设计报告81922.doc

目录 基于Vicsek模型的多智能个体的仿真算法与实现 1 1 引言 1 2 Vicsek模型的描述 1 3 软件开发平台介绍 3 4 软件设计思路 3 4.1 智能体类的结构 3 4.2 智能体控制方法的具体实现 4 4.2.1 智能体位置初始化 4 4.2.2 智能体方向初始化 4 4.2.3 判断智能体周围是否存在其他伙伴 5 4.2.4 智能体下一步坐标 6 4.2.5 画出智能体的运动轨迹 6 4.2.6 画线的边界处理 7 4.2.7 用画点法来构建模型 9 5 算法流程图 10 6 模拟仿真结果 11 6.1 智能体收敛方向的仿真结果 11 6.2 Vicsek模型的仿真结果 12 6.2.1 群落状收敛仿真结果 12 6.2.2 部分有序收敛仿真结果 13 6.2.3 完全有序收敛仿真结果 14 7 总结 15 参 考 文 献 16 基于Vicsek模型的多智能个体的仿真算法与实现 1 引言 多个体系统的群体行为的研究近几年来频频受到人们的关注,例如自然界中的鸟群、兽群、鱼群等等。通过对它们飞行、迁徙、游动的机制进行研究发现,在群体之中,个体更倾向于和自己的邻居保持一致。观察发现,这类系统尽管没有中心控制和全局的交流办法,仅仅是靠单局部个体之间的运动,但系统总能自发的产生一些宏观的群体行为,如向一个方向走、小堆聚集、或者是环状漩涡等,这个系统的控制十分简单,但又能得到很好的效果,因此吸引了众多不同学术领域的专家针对不同方面对系统进行不断的探索与研究,Vicsek[1]等人提出的用于描述该系统的模型为今后的许多研究工作奠定了基础,他们引入Vicsek模型的目的则是研究非平衡系统中的聚类、运送,与变相行为[2]。 2 Vicsek模型的描述 Vicsek模型是建立在一个边长为L的区域上。区域中的智能体移动是连续的,智能体相互之间进行交流的半径为(一般情况下),智能体更新的时间间隔始终为1()。模型的初始条件:,个智能体在平面上随机分布,所有智能体的速度大小均相同,速度方向随机给定。其中第个个体的坐标更新参考以下公式: (1) 式(1)中,代表智能体在时刻的坐标,代表智能体在时刻的坐标,其速度由步长与方向两部分构成,其中步长为定值,方向由角度确定,更新公式如下: (2) 式(2)中,代表以智能体为圆心,半径为的圆周上以及圆周内的智能体方向的平均值。这个平均值由公式计算得出。在式(2)中,代表一个介于之间的随机干扰。因此系统的三个可调变量分别为:、、,其中是智能体两次更新之间走过的距离。 通过对这三个变量的调节,可以得到以下的几组仿真结果,见图1所示。 图1 Vicsek模型模拟结果 以上的模拟结果是在不同的系统参数下得出的,包含种群密度的不同以及随机噪声强弱的差异,其共同的实验参数为:智能体个数,并且仿真过程进行了20步。图(a)中,,可以看到在初始时刻,所有智能体的位置和方向是随机分布的。图(b)中,,可以看到在种群密度比较小、干扰也比较小的情况下,智能体呈群落分布,并且在群落内部具有一定的方向性。图(c)中,,可以看到在种群密度比较大、干扰也比较大的情况下,智能体的移动方向虽然呈现一定的不规则性,但其中有部分方向呈现某些相关性。图(d)中,,这是最有意思的一种收敛结果。可以看到在种群密度比较大、干扰比较小的情况下,尽管没有中央集中控制,尽管当系统演变时个体周围的邻居会发生变化,但模拟结果显示最终所有的个体均会朝同一方向移动。 3 软件开发平台介绍 因为使用到对图形的简单操作以及面向对象的编程,所以选用了Turbo C++进行编程。Turbo C++[3]是美国Borland 公司的产品,Borland公司是一家专门从事软件开发、研制的大公司。该公司相继推出了一套 Turbo系列软件, 如Turbo BASIC, Turbo Pascal, Turbo Prolog, 这些软件很受用户欢迎。该公司在1987年首次推出Turbo C 1.0 产品, 其中使用了全然一新的集成开发环境, 即使用了一系列下拉式菜单,将文本编辑、程序编译、连接以及程序运行一体化, 大大方便了程序的开发。1988年, Borland 公司又推出Turbo C1.5版本, 增加了图形库和文本窗口函数库等, 而Turbo C 2.0 则是该公司1989年出版的。Turbo C2.0在原来集成开发环境的基础上增加了查错功能, 并可以在Tiny模式下直接生成.COM (数据、代码、堆栈处在同一64K内存中) 文件。还可对数学协处理器 (支持8087/80287/80387等)

文档评论(0)

dzzj200808 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档