蚁群算法模没拟系统的设计与实现.doc
《蚁群算法模没拟系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《蚁群算法模没拟系统的设计与实现.doc(33页珍藏版)》请在三一文库上搜索。
1、J I A N G S U U N I V E R S I T Y 本本 科科 毕毕 业业 论论 文文 蚁群算法模拟系统的设计与实现 Ant Colony Simulation System Design and Implementation 江苏大学 2010 届毕业设计(论文) I 蚁群算法模拟系统的设计与实现蚁群算法模拟系统的设计与实现 专业班级:J 计算机 0601 学生姓名:汤琪 指导教师:蔡涛 职称:副教授 摘要:摘要: 人工免疫算法具有快速随机的全局搜索能力,但对于系统中的反馈信息利用 不 足,往往做大量无为的冗余迭代,求解效率低。蚁群算法具有分布式并行全局搜索能 力,但初始解随
2、机,易早熟且求解速度慢。本文提出免疫算法和蚁群算法的混合算 法免疫蚁群算法,通过信息素更新获得全局最佳解。通过匹配检测仿真实验,结果证 明 该算法是计算精度较好的一种算法。 本设计是在 Linux 环境下,用 C 语言编写的。Linux 是一类 Unix 计算机操作系统的统称。 Linux 操作系统的内核的名字也是“Linux”。Linux 操作系统也是自由软件和开放源代码发展中最著 名的例子。严格来讲,Linux 这个词本身只表示 Linux 内核,但在实际上人们已经习惯了用 Linux 来形容整个基于 Linux 内核,并且使用 GNU 工程各种工具和数据库的操作系统。Linux 得名于计
3、 算机业余爱好者 Linus Torvalds。 关键词关键词:人工免疫算法 蚁群算法 匹配检测 Linux 英文摘要 II Ant Colony Simulation System Design and Implementation AbstractArtificial immune algorithm is fast random global search capability, but the feedback system is underutilized, often do a lot of inactive redundant iteration, solve the low e
4、fficiency.Ant colony algorithm has the distributed parallel global search capability, but the initial solution randomly, prematurity and slow to solve.In this paper, the immune algorithm and ant colony hybrid immune algorithm ant colony algorithm, pheromone update access to the global optimal soluti
5、on.Detected by matching simulation results show that the algorithm is an algorithm for better accuracy. The design is in the Linux environment, using C language. Linux is a Unix-computer operating system collectively. Linux operating system kernels name is “Linux“. Linux operating system is free sof
6、tware and open source development in the most famous example. Strictly speaking, Linux is only the word that Linux kernel itself, but in fact people have used to describe the use of Linux based on Linux kernel and GNU project using various tools and database operating systems. Linux is named after t
7、he computer amateur Linus Torvalds. Key WordsArtificial immune algorithm ant colony algorithm matching test Linux 江苏大学 2010 届本科毕业论文 1 目目 录录 中文摘要中文摘要.I ABSTRACTII 目目 录录.1 第一章第一章 引言引言.3 1.1. 研究背景.3 1.2. 本课题的开发意义.4 第二章第二章 关键技术关键技术.5 2.1. LINUX 基本知识 .5 2.1.1 Linux 的发展历史.5 2.1.2 Linux 的常用命令.6 2.1.3 GCC 基
8、础知识要点 7 2.2. 基本蚁群算法.9 2.2.1 基本蚁群算法.9 2.2.2 蚁群算法基本步骤.11 2.2.3 蚁群算法流程图11 2.2.4 复杂度分析12 2.3. 基本人工免疫算法.13 2.3.1 一般免疫算法的理论思想.13 2.3.2 人工免疫算法.15 第三章第三章 系统的设计与实现系统的设计与实现.17 3.1 人工免疫算法设计17 3.1.1 人工免疫算法基本步骤.17 3.1.2 人工免疫算法流程图.17 3.1.3 人工免疫的相关设计18 3.2 蚁群算法设计20 3.2.1 蚁群算法实现步骤.20 3.2.2 蚁群算法流程图.21 3.3 随机检测设计21 江
9、苏大学 2010 届本科毕业论文 2 第四章第四章 运行运行.23 4.1各运行命令23 4.2检测器的添加24 4.3 整体检测24 4.4 随机选取检测器检测24 4.5 蚁群算法选取检测器检测25 第五章第五章 总结总结.27 致致 谢谢.28 参考文献参考文献.29 江苏大学 2010 届本科毕业论文 3 第一章第一章 引言引言 1.1.1.1.研究背景研究背景 人工智能经历了 20 世纪 80 年代整整 10 年的繁荣后,由于方法论上始终没有突破 经典计算思想的樊篱,再次面临着寒冬季节的考验。在这种背景下,社会性动物(如蚁 群、蜂群、鸟群等)的自组织(Self-organizatio
10、n)行为引起了人们的广泛关注,许多 学者对这种行为进行数学建模并用于计算机对其进行仿真,这就产生了所谓的“群体 智能” (Swarm Intelligence,简称 SI)。社会性动物的妙处在于:个体的行为都很简 单,但当他们一起协同工作时,却能够“突现”出非常复杂(智能)的行为特征。例如, 单只蚂蚁的能力极其有限,但当这些简单的蚂蚁组成蚁群时,却能完成像筑巢、觅食、 迁徙、清扫蚁巢等复杂行为;一群行为显得盲目的蜂群能造出精美的蜂窝;鸟群在没有 集中控制的情况下能够同步飞行等。这些自组织行为中,又以蚁群在觅食过程中总能 找到一条从蚁巢到食物源的最短路径最为引人注目。受其启发,意大利学者 M.D
11、origo,V.Maniezzo and A.colorni 于 20 世纪 90 年代初提出的一种新型的智能优 化算法蚁群优化 (Ant Colony Optimization,简称 ACO)。它通过信息素的积累和更新 来寻求最优解,主要特点是模拟自然界中蚂蚁的群体行为。目前国内外研究者用蚁群 算法研究了旅行商问题,指派问题,调度问题等,取得了一系列较好的实验结果。蚁 群算法具有分布式并行搜索能力,较强的鲁棒性和易于与其他算法结合等优点,但同 时也存在着一些不足之处:(1)与其他算法相比该算法需要较长的搜索时间;(2)该算法 容易早熟,即搜索进行一定程度后,所有个体所发现的解完全一致,不能对
12、解空间进 行进一步搜索;(3)初始解和初始信息素随机。 近几年,人们提出了多种方法来解决蚁群算法的这三个缺点,其中蚁群算法与其 他算法混合产生新的混合算法是一个研究方向,例如禁忌算法与蚁群算法混合,遗传 算法与蚁群算法混合,粒子群算法与蚁群算法混合等。这些算法应用于 TSP 问题或函 数优化问题的求解取得了较好效果。 人工免疫系统 (Artificial Immune System,简称 AIS)是模仿生物免疫系统的免 疫应答、免疫调节等机理,构造出的一类高性能、自组织、鲁棒性好的人工智能系统。 目 江苏大学 2010 届本科毕业论文 4 前,人工免疫系统的研究己经受到学者们越来越广泛的关注,
13、人工免疫算法也在实际 工程应用中得到了推广。人工免疫成为继神经网络、模糊逻辑和进化计算后人工智能 领域又一研究热点。免疫系统是一种复杂的分布式信息处理学习系统,这种系统具有 免疫防护、免疫耐受、免疫记忆、免疫监视功能,这些功能和特点给予研究人员较多 的灵感,促成许多学者建立了基于免疫机理的智能方法,解决大量的非线性科学问题。 本文将人工免疫算法与蚁群算法混合产生新的算法免疫蚁群算法(Artificial Immune Ant Colony Algorithm,简称 AIACA),并将该算法应用于匹配检测,计算机仿真结果 证明该算法是计算精度都较好的一种算法。 1.2.1.2. 本课题的开发意义
14、本课题的开发意义 本课题通过蚁群优化算法改进人工免疫算法,主要改进人工免疫算法中通过抗体与 抗原之间的亲和力以及抗体与抗体之间的排斥力来选择抗体的方法。采用人工免疫算 法生成信息素分布,利用蚁群算法求优化解,优势互补,在收敛速度和寻优能力两方 面较原有算法都有明显改善。 江苏大学 2010 届本科毕业论文 5 第二章第二章 关键技术关键技术 2.1.2.1. LinuxLinux 基本知识基本知识 2.1.12.1.1 LinuxLinux 的发展历史的发展历史 Linux 的历史可以追溯到 1990 年,Linus Torvalds 还是芬兰赫尔辛基大学的一 名学生,最初用汇编语言写了一个在
15、 80386 保护模式下处理多任务切换的程序,后来 从 Linux(用于操作系统教学、很小的 Unix)中得到灵感,发誓要写一个比 Linux 更好 的 Linux,于是开始写了一些硬件的设备驱动程序、一个小的文件系统,这样 0.0.1 版本的 Linux 就出来了,但是它必须在有 Linux 的机器上编译以后才能玩,这时 候的 Linus 已经完全“走火入魔”了,决定踢开 Linux “闹革命” ,于是在 1991 年 10 月 5 号发布了 Linux 0.0.2 版本,这个版本已经可以运行 bash(一种用户与操作系统内 核通讯的软件)和 gcc(GNU C 编译器)了。 Linux 从
16、一开始,就决定自由扩散 Linux、包括源代码,他把源代码发布在网上, 随即就引起爱好者的注意,他们通过互连网也加入了 Linux 的内核开发工作,一大批 高水平程序员的加入,使得 Linux 达到迅猛发展,到 1993 年底,Linux 1.0 终于诞生。 Linux 1.0 已经是一个功能完备的操作系统了,其内核写得紧凑高效,可以充分发挥硬 件的性能,在 4M 内存的 80386 机器上也表现得非常好 很多人对 Linux 的认识有个误区,即总把 Linux 与低档硬件平台联系到一起,其 实从 2.1.xx 系列内核开始,Linux 就开始走高端的路子了,大约在 1.3 版本之后,开 始向
17、其他硬件平台上移植,包括号称最快的 CPU-Digital Alpha(目前主频是最高的), 目前 Linux 能将硬件的性能充分发挥出来,可以囊括低端到高端的所有应用。 Linux 加入 GNU 并遵循公共版权许可证(GPL),由于不排斥商家对自由软件进一步 开发,不排斥在 Linux 上开发商业软件,故而使 Linux 又开始了一次飞跃,出现了很 多的 Linux 发行版,如 Slackware、Redhat、Suse、Turbo Linux、Open Linux 等十多 种,而且还在增加,还有一些公司在 Linux 上开发商业软件或把其他 Unix 平台的软件 移植到 Linux 上来,
18、如今很多 IT 界的大腕如 IBM、Intel、Oracle、Infomix、Sysbase、Corel、Netscape、CA、Novell 等都宣布支 持 Linux! 商家的加盟弥补了纯自由软件的不足和发展障碍,Linux 得以迅速普及。 江苏大学 2010 届本科毕业论文 6 2.1.22.1.2 LinuxLinux 的常用命令的常用命令 如果在 Linux 命令行模式下遇到不会用的命令,你可以打“man command“得到该命 令的帮助,如果想知道一个命令有哪些参数,可以打 command -help 来得到。 注意:Linux 中的参数输入形式和 dos 不一样,在命令后面应该
19、打一个空格,然 后打“-“,最后再跟一个或多个参数;另外 Linux 下大小写是有区别的! 下面介绍几个 Linux 下最常用的命令,每个命令都与对应的 dos 命令作比较,并 列出一些常用的参数。 命令参数 意 义 Ls -a 列出系统中的隐含文件,linux 下的隐含文件是靠文件名的格式来表示的,不同于 dos 是靠文件属性来表示,即只要该文件以“.”开头,那么它就是隐含文件。 -l 以长式列出。就是把该文件或目录的所有信息都列出来,一个文件占一行 相当于 dos 下的 dir 命令,是列文件列表的命令。 cd 和 dos 下的 cd 一样,转换目录的命令。 注意:linux 下转到上级目
20、录要打“cd “而不是 dos 下的“cd“,即“cd“后面要有个空格 pwd 列出当前目录命令,相当于 dos 下没有参数的 cd 命令。例如: rootttqq bin# pwd /usr/bin rootttqq bin# 这表示目前在“/usr/bin“目录 下。 Mkdir -m mode 表示建立目录时默认的目录模式。这个是 dos 和 Windows 所没有的功能,主 要是关于权限的问题。 建立新目录,相当于 dos 的 md 命令。一般就用 mkdir dirname rmdir 删除目录,相当于 dos 的 rd 命令。 用法:rmdir dirname cat 在文件后面追
21、加文件,或在屏幕上打印文件内容,追加功能相当于 dos 的 copy file1+file2,而在屏幕上打印文件内容可以和 dos 的 typeml 来类比。如果文件太大, 在一屏上无法完全显示,则可用 more 命令 more 分屏显示文件内容,和 dos 下的 more 命令大致相同,但它可以和别的命令搭配 江苏大学 2010 届本科毕业论文 7 使用。如:cat /home/eec/myfile | more。 cp -r 相当于 dos 的 xcopy/s。用于拷贝一个目录下的所有子目录和文件 拷贝文件,相 当于 dos 下的 copy,使用方法与 dos 下的 copy 一样。 2.
22、1.32.1.3 GCCGCC 基础知识要点基础知识要点 基本规则基本规则 gcc 所遵循的部分约定规则: .c 为后缀的文件,C 语言源代码文件; .a 为后缀的文件,是由目标文件构成的档案库文件; .C,.cc 或.cxx 为后缀的文件,是 C+源代码文件; .h 为后缀的文件,是程序所包含的头文件; .i 为后缀的文件,是已经预处理过的 C 源代码文件; .ii 为后缀的文件,是已经预处理过的 C+源代码文件; .m 为后缀的文件,是 Objective-C 源代码文件; .o 为后缀的文件,是编译后的目标文件; .s 为后缀的文件,是汇编语言源代码文件; .S 为后缀的文件,是经过预编
23、译的汇编语言源代码文件。 执行过程执行过程 虽然我们称 Gcc 是 C 语言的编译器,但使用 gcc 由 C 语言源代码文件生成可执 行文件的过程不仅仅是编译的过程,而是要经历四个相互关联的步骤预处理(也称预 编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和链接(Linking)。 命令 gcc 首先调用 cpp 进行预处理,在预处理过程中,对源代码文件中的文件包 含(include)、预编译语句(如宏定义 define 等)进行分析。接着调用 cc1进行编译,这 个阶段根据输入文件生成以.o 为后缀的目标文件。汇编过程是针对汇编语言的步骤, 调用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 模没拟 系统 设计 实现
链接地址:https://www.31doc.com/p-2111218.html