- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序课程设计报告-正文参考模板
PAGE
PAGE 15
目 录 TOC \o 1-2 \h \z \u
HYPERLINK \l _Toc233978801 1 前言 PAGEREF _Toc233978801 \h 1
HYPERLINK \l _Toc233978802 2 需求分析 PAGEREF _Toc233978802 \h 1
HYPERLINK \l _Toc233978803 2.1要求 PAGEREF _Toc233978803 \h 1
HYPERLINK \l _Toc233978804 2.2任务 PAGEREF _Toc233978804 \h 1
HYPERLINK \l _Toc233978805 2.3运行环境 PAGEREF _Toc233978805 \h 1
HYPERLINK \l _Toc233978806 2.4开发工具 PAGEREF _Toc233978806 \h 1
HYPERLINK \l _Toc233978807 3 概要设计与详细设计 PAGEREF _Toc233978807 \h 1
HYPERLINK \l _Toc233978808 3.1系统流程图 2
HYPERLINK \l _Toc233978810 3.2访问流程图 3
HYPERLINK \l _Toc233978811 4 编码与实现 4
HYPERLINK \l _Toc233978812 4.1分析 4
HYPERLINK \l _Toc233978813 4.2具体代码实现 6
HYPERLINK \l _Toc233978814 5 课程设计总结 15
HYPERLINK \l _Toc233978815 参考文献 ...15
HYPERLINK \l _Toc233978816 致 谢 15
1 前言
使用C语言编程,设计一个有效的算法,模拟蚂蚁觅食的过程。
2 需求分析
2.1要求
(1)各个蚂蚁在没有事先告诉他们食物在什么地方的前提下开始寻找食物。
(2)当一只找到食物以后,它会向环境释放一种信息素,吸引其他的蚂蚁过来,这样越来越多的蚂蚁会找到食物。
(3)有些蚂蚁并没有象其它蚂蚁一样总重复同样的路,他们会另辟蹊径,如果令开辟的道路比原来的其他道路更短,那么,渐渐,更多的蚂蚁被吸引到这条较短的路上来。
(4)最后,经过一段时间运行,可能会出现一条最短的路径被大多数蚂蚁重复着。
2.2任务
(1)构建二维数组将每条路径的信息素量、相应路径的信息素增量和城市距离放入其中。
(2)输入两个城市间的坐标,并得到两个城市间的最近距离。
(3)画出所有模块的流程图;
(4)编写代码;
(5)程序分析与调试。
2.3运行环境
(1)WINDOWS2000/XP系统
(2)TurboC2.0编译环境
2.4开发工具
C语言
3 概要设计与详细设计
3.1系统流程图
如图3.1所示。
开始
初始化各参数,输入城市坐标
为各蚂蚁设置其固定的起始城市
每只蚂蚁开始访问,并记录其访问的路径及长度
和处在同一次迭代的其他蚂蚁路径相比,是否是最 优?
将其存为系统求解结果
Y
更新路径上的信息素
N
迭代是否结束?
N
Y
是否对结果进行检验?
用户进行测试检验
Y
结束
N
图3.1 系统流程图
3.2访问流程图
如图3.2所示。
蚂蚁访问过程
从起始城市出发,并将初始城市设为被访问
选择一个未访问的城市,开始判断
是否符合?
N
Y
计算其转移概率,用得出的概率赌轮盘方式选择候选路径
访问该城市,并设置其为被访问
Y
所有城市是否访问完?
出口
N
图3.2访问流程图
4 编码与实现
4.1分析
程序开始运行,蚂蚁们开始从窝里出动了,寻找食物;他们会顺着屏幕爬满整个画面,直到找到食物再返回窝。
其中,‘D’点表示食物,‘A’表示窝,白色块表示障碍物,‘+’就是蚂蚁了。
预期的结果:各个蚂蚁在没有事先告诉他们食物在什么地方的前提下开始寻找食物。当一只找到食物以后,它会向环境释放一种信息素,吸引其他的蚂蚁过来,这样越来越多的蚂蚁会找到食物!有些蚂蚁并没有象其它蚂蚁一样总重复同样的路,他们会另辟蹊径,如果令开辟的道路比原来的其他道路更短,那么,渐渐,更多的蚂蚁被吸引到这条较短的路上来。最后,经过一段时间运行,可能会出现一条最短的路径被大多数蚂蚁重复着。
1、范围:蚂蚁观察到的范围是一个方格世界,蚂蚁有一个参数为速度半径(一般是3),那么它能观察到的范围就是3*3个方格世界,并且能移动的距离也在这个范围之内。
2、环境:蚂蚁所
文档评论(0)