蚁群算法模拟系统的设计与实现毕业论文.doc_第1页
蚁群算法模拟系统的设计与实现毕业论文.doc_第2页
蚁群算法模拟系统的设计与实现毕业论文.doc_第3页
蚁群算法模拟系统的设计与实现毕业论文.doc_第4页
蚁群算法模拟系统的设计与实现毕业论文.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 学生姓名 汤琪 指导教师 蔡涛 职称 副教授 摘要 摘要 人工免疫算法具有快速随机的全局搜索能力 但对于系统中的反馈信息利用 不 足 往往做大量无为的冗余迭代 求解效率低 蚁群算法具有分布式并行全局搜索能 力 但初始解随机 易早熟且求解速度慢 本文提出免疫算法和蚁群算法的混合算 法免疫蚁群算法 通过信息素更新获得全局最佳解 通过匹配检测仿真实验 结果证 明 该算法是计算精度较好的一种算法 本设计是在 Linux 环境下 用 C 语言编写的 Linux 是一类 Unix 计算机操作系统的统称 Linux 操作系统的内核的名字也是 Linux Linux 操作系统也是自由软件和开放源代码发展中最著 名的例子 严格来讲 Linux 这个词本身只表示 Linux 内核 但在实际上人们已经习惯了用 Linux 来形容整个基于 Linux 内核 并且使用 GNU 工程各种工具和数据库的操作系统 Linux 得名于计 算机业余爱好者 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 efficiency 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 solution 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 kernel s name is Linux Linux operating system is free software 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 the computer amateur Linus Torvalds Key WordsArtificial immune algorithm ant colony algorithm matching test Linux 江苏大学 2010 届本科毕业论文 1 目目 录录 中文摘要中文摘要 I ABSTRACT II 目目 录录 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 基础知识要点 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 江苏大学 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 organization 行为引起了人们的广泛关注 许多 学者对这种行为进行数学建模并用于计算机对其进行仿真 这就产生了所谓的 群体 智能 Swarm Intelligence 简称 SI 社会性动物的妙处在于 个体的行为都很简 单 但当他们一起协同工作时 却能够 突现 出非常复杂 智能 的行为特征 例如 单只蚂蚁的能力极其有限 但当这些简单的蚂蚁组成蚁群时 却能完成像筑巢 觅食 迁徙 清扫蚁巢等复杂行为 一群行为显得盲目的蜂群能造出精美的蜂窝 鸟群在没有 集中控制的情况下能够同步飞行等 这些自组织行为中 又以蚁群在觅食过程中总能 找到一条从蚁巢到食物源的最短路径最为引人注目 受其启发 意大利学者 M Dorigo V Maniezzo and A colorni 于 20 世纪 90 年代初提出的一种新型的智能优 化算法蚁群优化 Ant Colony Optimization 简称 ACO 它通过信息素的积累和更新 来寻求最优解 主要特点是模拟自然界中蚂蚁的群体行为 目前国内外研究者用蚁群 算法研究了旅行商问题 指派问题 调度问题等 取得了一系列较好的实验结果 蚁 群算法具有分布式并行搜索能力 较强的鲁棒性和易于与其他算法结合等优点 但同 时也存在着一些不足之处 1 与其他算法相比该算法需要较长的搜索时间 2 该算法 容易早熟 即搜索进行一定程度后 所有个体所发现的解完全一致 不能对解空间进 行进一步搜索 3 初始解和初始信息素随机 近几年 人们提出了多种方法来解决蚁群算法的这三个缺点 其中蚁群算法与其 他算法混合产生新的混合算法是一个研究方向 例如禁忌算法与蚁群算法混合 遗传 算法与蚁群算法混合 粒子群算法与蚁群算法混合等 这些算法应用于 TSP 问题或函 数优化问题的求解取得了较好效果 人工免疫系统 Artificial Immune System 简称 AIS 是模仿生物免疫系统的免 疫应答 免疫调节等机理 构造出的一类高性能 自组织 鲁棒性好的人工智能系统 目 江苏大学 2010 届本科毕业论文 4 前 人工免疫系统的研究己经受到学者们越来越广泛的关注 人工免疫算法也在实际 工程应用中得到了推广 人工免疫成为继神经网络 模糊逻辑和进化计算后人工智能 领域又一研究热点 免疫系统是一种复杂的分布式信息处理学习系统 这种系统具有 免疫防护 免疫耐受 免疫记忆 免疫监视功能 这些功能和特点给予研究人员较多 的灵感 促成许多学者建立了基于免疫机理的智能方法 解决大量的非线性科学问题 本文将人工免疫算法与蚁群算法混合产生新的算法免疫蚁群算法 Artificial Immune Ant Colony Algorithm 简称 AIACA 并将该算法应用于匹配检测 计算机仿真结果 证明该算法是计算精度都较好的一种算法 1 2 1 2 本课题的开发意义本课题的开发意义 本课题通过蚁群优化算法改进人工免疫算法 主要改进人工免疫算法中通过抗体与 抗原之间的亲和力以及抗体与抗体之间的排斥力来选择抗体的方法 采用人工免疫算 法生成信息素分布 利用蚁群算法求优化解 优势互补 在收敛速度和寻优能力两方 面较原有算法都有明显改善 江苏大学 2010 届本科毕业论文 5 第二章第二章 关键技术关键技术 2 1 2 1 LinuxLinux 基本知识基本知识 2 1 12 1 1 LinuxLinux 的发展历史的发展历史 Linux 的历史可以追溯到 1990 年 Linus Torvalds 还是芬兰赫尔辛基大学的一 名学生 最初用汇编语言写了一个在 80386 保护模式下处理多任务切换的程序 后来 从 Linux 用于操作系统教学 很小的 Unix 中得到灵感 发誓要写一个比 Linux 更好 的 Linux 于是开始写了一些硬件的设备驱动程序 一个小的文件系统 这样 0 0 1 版本的 Linux 就出来了 但是它必须在有 Linux 的机器上编译以后才能玩 这时 候的 Linus 已经完全 走火入魔 了 决定踢开 Linux 闹革命 于是在 1991 年 10 月 5 号发布了 Linux 0 0 2 版本 这个版本已经可以运行 bash 一种用户与操作系统内 核通讯的软件 和 gcc GNU C 编译器 了 Linux 从一开始 就决定自由扩散 Linux 包括源代码 他把源代码发布在网上 随即就引起爱好者的注意 他们通过互连网也加入了 Linux 的内核开发工作 一大批 高水平程序员的加入 使得 Linux 达到迅猛发展 到 1993 年底 Linux 1 0 终于诞生 Linux 1 0 已经是一个功能完备的操作系统了 其内核写得紧凑高效 可以充分发挥硬 件的性能 在 4M 内存的 80386 机器上也表现得非常好 很多人对 Linux 的认识有个误区 即总把 Linux 与低档硬件平台联系到一起 其 实从 2 1 xx 系列内核开始 Linux 就开始走高端的路子了 大约在 1 3 版本之后 开 始向其他硬件平台上移植 包括号称最快的 CPU Digital Alpha 目前主频是最高的 目前 Linux 能将硬件的性能充分发挥出来 可以囊括低端到高端的所有应用 Linux 加入 GNU 并遵循公共版权许可证 GPL 由于不排斥商家对自由软件进一步 开发 不排斥在 Linux 上开发商业软件 故而使 Linux 又开始了一次飞跃 出现了很 多的 Linux 发行版 如 Slackware Redhat Suse Turbo Linux Open Linux 等十多 种 而且还在增加 还有一些公司在 Linux 上开发商业软件或把其他 Unix 平台的软件 移植到 Linux 上来 如今很多 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 不一样 在命令后面应该打一个空格 然 后打 最后再跟一个或多个参数 另外 Linux 下大小写是有区别的 下面介绍几个 Linux 下最常用的命令 每个命令都与对应的 dos 命令作比较 并 列出一些常用的参数 命令参数 意 义 Ls a 列出系统中的隐含文件 linux 下的隐含文件是靠文件名的格式来表示的 不同于 dos 是靠文件属性来表示 即只要该文件以 开头 那么它就是隐含文件 l 以长式列出 就是把该文件或目录的所有信息都列出来 一个文件占一行 相当于 dos 下的 dir 命令 是列文件列表的命令 cd 和 dos 下的 cd 一样 转换目录的命令 注意 linux 下转到上级目录要打 cd 而不是 dos 下的 cd 即 cd 后面要有个空格 pwd 列出当前目录命令 相当于 dos 下没有参数的 cd 命令 例如 root ttqq bin pwd usr bin root ttqq bin 这表示目前在 usr bin 目录 下 Mkdir m mode 表示建立目录时默认的目录模式 这个是 dos 和 Windows 所没有的功能 主 要是关于权限的问题 建立新目录 相当于 dos 的 md 命令 一般就用 mkdir dirname rmdir 删除目录 相当于 dos 的 rd 命令 用法 rmdir dirname cat 在文件后面追加文件 或在屏幕上打印文件内容 追加功能相当于 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 1 32 1 3 GCCGCC 基础知识要点基础知识要点 基本规则基本规则 gcc 所遵循的部分约定规则 c 为后缀的文件 C 语言源代码文件 a 为后缀的文件 是由目标文件构成的档案库文件 C cc 或 cxx 为后缀的文件 是 C 源代码文件 h 为后缀的文件 是程序所包含的头文件 i 为后缀的文件 是已经预处理过的 C 源代码文件 ii 为后缀的文件 是已经预处理过的 C 源代码文件 m 为后缀的文件 是 Objective C 源代码文件 o 为后缀的文件 是编译后的目标文件 s 为后缀的文件 是汇编语言源代码文件 S 为后缀的文件 是经过预编译的汇编语言源代码文件 执行过程执行过程 虽然我们称 Gcc 是 C 语言的编译器 但使用 gcc 由 C 语言源代码文件生成可执 行文件的过程不仅仅是编译的过程 而是要经历四个相互关联的步骤 预处理 也称预 编译 Preprocessing 编译 Compilation 汇编 Assembly 和链接 Linking 命令 gcc 首先调用 cpp 进行预处理 在预处理过程中 对源代码文件中的文件包 含 include 预编译语句 如宏定义 define 等 进行分析 接着调用 cc1进行编译 这 个阶段根据输入文件生成以 o 为后缀的目标文件 汇编过程是针对汇编语言的步骤 调用 as 进行工作 一般来讲 S 为后缀的汇编语言源代码文件和汇编 s 为后缀的 汇编语言文件经过预编译和汇编之后都生成以 o 为后缀的目标文件 当所有的目标文 件都生成之后 gcc 就调用 ld 来完成最后的关键性工作 这个阶段就是连接 在连接 江苏大学 2010 届本科毕业论文 8 阶段 所有的目标文件被安排在可执行程序中的恰当的位置 同时 该程序所调用到 的库函数也从各自所在的档案库中连到合适的地方 基本用法基本用法 在使用 Gcc 编译器的时候 我们必须给出一系列必要的调用参数和文件名称 Gcc 编译器的调用参数大约有100多个 其中多数参数我们可能根本就用不到 这里只 介绍其中最基本 最常用的参数 Gcc 最基本的用法是 gcc options filenames 其中 options 就是编译器所需要的参数 filenames 给出相关的文件名称 c 只编译 不连接成为可执行文件 编译器只是由输入的 c 等源代码文件生成 o 为后缀的目标文件 通常用于编译不包含主程序的子程序文件 o output filename 确定输出文件的名称为 output filename 同时这个名称不 能和源文件同名 如果不给出这个选项 gcc 就给出预设的可执行文件 a out g 产生符号调试工具 GNU 的 gdb 所必要的符号资讯 要想对源代码进行调试 我们就必须加入这个选项 O 对程序进行优化编译 连接 采用这个选项 整个源代码会在编译 连接过 程中进行优化处理 这样产生的可执行文件的执行效率可以提高 但是 编译 连接 的速度就相应地要慢一些 O2 比 O 更好的优化编译 连接 当然整个编译 连接过程会更慢 Idirname 将 dirname 所指出的目录加入到程序头文件目录列表中 是在预编译 过程中使用的参数 C 程序中的头文件包含两种情况 A include B include myinc h 其中 A 类使用尖括号 B 类使用双引号 对于 A 类 预处理程序 cpp 在系统预设包含文件目录 如 usr include 中搜寻相应的文件 而 B 类 预处理程 序在目标文件的文件夹内搜索相应文件 江苏大学 2010 届本科毕业论文 9 2 2 2 2 基本蚁群算法基本蚁群算法 2 2 12 2 1 基本蚁群算法基本蚁群算法 蚁群优化算法是一种受自然界生物行为启发而产生 自然 算法 产生于对蚁群 行为的研究 蚁群中的蚂蚁以 信息素 pheromone 为媒介 间接异步的相互联系 这是蚁群优化算法的最大特点 蚂蚁在行动过程中 寻找食物或寻找回巢的路径 中 会在他们经过的地方留下一些化学物资 称之为 信息素 这些物资能被同一蚁群中 后来的蚂蚁感受到并作为一种信号影响后者的行动 具体表现在后到的蚂蚁选择有这 些物资的路径的可能性比选择没有这些物资的路径的可能性大得多 后到者留下的信 息素会对原有的信息素进行加强 并循环下去 这样 经过蚂蚁越多的路径会被越多 的蚂蚁访问 因而积累的信息素也就越多 在下一个时间内被其他蚂蚁选中的可能性 也就越大 这个过程会一直持续到所有的蚂蚁都走最短的那一条路为止 通过图 2 1 简单的了解蚂蚁的运动过程 假设一个蚂蚁外出寻找食物 蚂蚁从 nest 点出发 行走速度相同 食品在 food 点 蚂蚁可能行走的路线如图 2 1 由于无 法预知道路中间的情况 蚂蚁出发时会随机选择 nest B food 或 nest C food 中的一 条 假设初始每条路线上分别分配一只蚂蚁 每单位时间走一步 当行走 7 个单位时间 后 为图 2 1 中上半部分的情形 已经有一个蚂蚁到达 food 点 当行走 14 个单位时 间 后 走 nest B food 的蚂蚁己经回到 A 点 而行走 nest C food 的蚂蚁到达 food 点 如果蚂蚁每经过一点都留下大小为 1 的信息素 这时 nest B food 路线的第一点聚集 2 点 而 nest C food 路线的第一点聚集 1 点 在行走 28 个单位时间后 这两点的信 息素变化分别为 4 和 2 比值为 2 1 nest C food 路线的蚂蚁返回 nest 点 如果按比值的比例 一群决定 nest B food 路线派两个蚂蚁 而 nest C food 路 线上派一个蚂蚁 在每个蚂蚁再各行走 28 个单位时间后 nest B food 和 nest C food 路线的第一个点各累计 12 和 4 比值为 3 1 如果再按比值分配蚂蚁数量 则 nest B food 路线分配三只蚂蚁 而 nest C food 路线分配一只蚂蚁 按原有的模式重 复 28 个单位时间 nest B food 和 nest C food 路线的第一点信息素各积累 24 和 6 江苏大学 2010 届本科毕业论文 10 比值为 4 1 如此重复下去 可以发现 nest B food 和 nest C food 路线的第一点信息 素的比值会越来越大 最后的极限是所有的蚂蚁只选择 nest B food 路线 图 2 1 蚂蚁寻物过程的简化图 为了更好的描述蚁群算法 下面所有的符号和算法设计以 TSP 为基础 其它应用可以 据此进行改进 令为 n 为搜索空间中第 i 只蚂蚁的位置 假设 1inidii xxxx 表示第 i 只蚂蚁可以去的所有位置的集合 等式 2 1 给出了第 i 1sj ji xxx i s 只蚂蚁向第 j 个位置移动的概率函数 并且位置 i x 与位置 j x 之间的信息素的值越大 ij 先验值的值越大选择路径 i j 的概率越大 其中为 这里是由位置 ij ij ji xx J 1 ji xx J 1 i x 移动到位置 j x 的耗费 通常由目标函数决定 它可以是两点间的距离或花费的费用 等式中的 是两个系数 分别为残留信息素和转移耗费的相对重要程度 江苏大学 2010 届本科毕业论文 11 2 1 s l ilil ijij xx tt tt tP ji 1 下一个位置可以根据 tP ji xx 的最大值来选择或是用轮盘赌来随机的选择下一个位置 当一个蚂蚁走完了所选的路径 则按式 2 2 更新信息素值 在每一次循环结束后 每 条路径上的信息数值都按 2 3 式进行更新 其中是 g 全局信息素挥发系数 10 g 10 1 1 ttt ijijij 2 2 1 1 tt g 2 3 2 2 22 2 2 蚁群算法基本步骤蚁群算法基本步骤 以 TSP 为例 基本蚁群算法的具体实现步骤如下 1 参数初始化 令时间 t 0 和循环次数 Nc 0 设置最大循环次数 Ncmax 将 m 个 蚂蚁置于 n 个元素 城市 上 令有向图上每条边 i j 的初始化信息量 ij t const 其中 const 表示常数 且初始时刻 ij 0 0 2 循环次数 Nc Nc 1 3 蚂蚁的禁忌表索引号 k 1 4 蚂蚁数目 k k 1 5 蚂蚁个体根据状态转移概率公式 1 计算的概率选择元素 城市 j 并前进 j C tabuk 6 修改禁忌表指针 即选择好之后将蚂蚁移动到新的元素 城市 并把该元素 城市 移动到该蚂蚁个体的禁忌表中 7 若集合 C 中元素 城市 未遍历完 即 k antileng n antileng 1 n n 1 结束 江苏大学 2010 届本科毕业论文 21 3 23 2 蚁群算法设计蚁群算法设计 3 2 13 2 1 蚁群算法实现步骤蚁群算法实现步骤 步骤1 计算人工免疫算法中整体检测中每个检测器检测出非法的信息素 步骤2 根据每个检测器检测出非法的信息素对检测器排序 步骤3 选出信息素较高的500个检测器 步骤4 用选出的检测器检测 检测的同时更新检测器的信息素 步骤5 每检测30请求 统计合法请求和非法请求的次数 计算最大 最小和平均时 间 并输出 然后跳到步骤2继续 直到检测完所有请求 步骤6 输出检测结果 其中根据信息素总数对信息素排序的主要代码 if infor n 6 infor m 6 for t 0 t 8 t s t infor n t infor n t infor m t infor m t s t 选出信息素较高的500个检测器的主要代码 for d 0 d 500 d c infor d 7 for t 0 t 48 t h d t antibody c t 江苏大学 2010 届本科毕业论文 22 3 2 23 2 2 蚁群算法流程图蚁群算法流程图 Y N N Y 图 3 4 蚁群算法流程图 3 33 3 随机检测设计随机检测设计 从人工免疫算法生成的检测器中随机挑选500个检测器来检测请求 同样在检 测之后 同时更新检测器的信息素 信息素计算 选出信息素较高的前 500 个检测器 检测请求 统计请求数 请求数是 否达到 30 所有请求是否都 已检测 输出检测结果 输出检测结果 江苏大学 2010 届本科毕业论文 23 Y N N Y 图 3 5 随机算法流程图 随机选择的主要代码 define random x rand x srand int time 0 for x 0 x 500 x z random 4096 for m 0 m 48 m a x m antibody z m 随机选出 500 个检测器 检测请求 统计请求数 请求数是 否达到 30 所有请求是否都 已检测 输出检测结果 输出检测结果 江苏大学 2010 届本科毕业论文 24 第四章第四章 运行运行 本实验中 字体保存在 self txt 文件中 访问请求保存在 access txt 中 通过 C 语言 中 fopen 指令读取 self txt 和 access txt 中的内容 fopen self txt r 和 fopen access txt r 4 14 1各运行命令各运行命令 gcc o test ant test ant c 编译命令 编译 test ant c 生成 test ant 程序的调试可以通过 gdb 的相关指令进行 test ant 1 c r 7 执行命令 其中 1 使用自己的算法程序 程序中 mtype 的值 2 rcb 匹配算法 9 数值法 c r 固定 a 设置检测器数 l 设置检测器长度 n 插入新的自体 d 删除自体 r 设置最小 r 的值 s 设置最小 rs 的值 t 设置最小 rt 的值 7 r 的值 r 为最长有效位长度 江苏大学 2010 届本科毕业论文 25 4 24 2 检测器的添加检测器的添加 图 4 1 检测器添加 二维数组 antibody 用于保存递归生成的检测器 在本实验中 用二维数组 a 保存随 机选出的 500 个检测器 用二维数组 h 保存信息素较高的 500 个检测器 用二维数组 infor 保存每个检测器的信息素 数组 infor 的第 7 个单元保存前六个单元的信息素总和 数组 infor 的第 8 个单元保存二维数组 antibody 中检测器的下标 4 34 3 整体检测整体检测 图 4 2 整体检测 整体检测是用递归生成的所有检测器对访问请求进行检测 并为后面的蚁群算法计 算每个检测器的信息素 检测器每检测出一个非法访问请求 其信息素的值加 1 4 44 4 随机选取检测器检测随机选取检测器检测 随机选取检测器检测是检测每个访问请求时 从所有检测器中随机选取一定数量的 检测器来检测 本实验是随机选取 500 个检测器 本实验中 每检测 30 个访问请求 重新选择 500 个检测器 江苏大学 2010 届本科毕业论文 26 4 54 5 蚁群算法选取检测器检测蚁群算法选取检测器检测 蚁群算法检测 根据信息素对检测器进行调整 挑选出信息素较高的检测器进行检 测 本实验中 每检测 30 个访问请求 更新一次信息素并且相应减少检测器的数目 a b 图 4 3 随机选取检测器检测和蚁群算法检测 一 图 4 3 a 为随机选择 500 个检测器来检测 30 个访问请求的检测结果 图 4 3 b 为蚁 群算法选取信息素较高前 500 个检测器来检测 30 个访问请求的检测结果 a b 图 4 4 随机选取检测器检测和蚁群算法检测 二 图 4 4 a 为随机选择 500 个检测器来检测 30 个访问请求的检测结果 图 4 4 b 为蚁 群算法选取信息素较高前 450 个检测器来检测 30 个访问请求的检测结果 a b 图 4 5 随机选取检测器检测和蚁群算法检测 三 图 4 5 a 为随机选择 500 个检测器来检测 30 个访问请求的检测结果 图 4 5 b 为蚁 群算法选取信息素较高前 400 个检测器来检测 30 个访问请求的检测结果 a b 图 4 6 随机选取检测器检测和蚁群算法检测 四 图 4 6 a 为随机选择 500 个检测器来检测 30 个访问请求的检测结果 图 4 6 b 为蚁 群算法选取信息素较高前 350 个检测器来检测 30 个访问请求的检测结果 江苏大学 2010 届本科毕业论文 27 a b 图 4 7 随机选取检测器检测和蚁群算法检测 一 图 4 7 a 为随机选择 500 个检测器来检测 30 个访问请求的检测结果 图 4 7 b 为蚁 群算法选取信息素较高前 300 个检测器来检测 30 个访问请求的检测结果 a b 图 4 8 随机选取检测器检测和蚁群算法检测 一 图 4 8 a 为随机选择 500 个检测器来检测 30 个访问请求的检测结果 图 4 8 b 为蚁 群算法选取信息素较高前 250 个检测器来检测 30 个访问请求的检测结果 由以上几图可以清晰的看出 蚁群算法检测相对于 随机选取检测器检测来说计算 速度要快 计算精度要高 江苏大学 2010

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论