蚁群算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
酶操作
对DNA序列可进行的操作是由许多商用上称之 为酶来完成的,主要的酶操作有以下几种: ★限制内切酶,它识别链中特定的短序列,并 在该部位上将其切割。 ★接合酶,它把刚切过的DNA的黏端与其它链 搭在一起或连接在一起,称之为接合反应。 ★此外还有转移酶,外切核酸酶和修饰酶等
Aldeman实验
Aldeman于1994年用DNA序列和对DNA 进行简单的生物操作解决了有向 Hamilton路径问题,他用的是7个节点. 如图:
蚁群算法的仿真模拟结果
仿真分析
从图,可看出随着蚂蚁数N的增长,群体 的突现聚集效应逐步显现出来。当N=5和 10时,两条路径上的蚂蚁分布明显地呈现 出随机性。在N=15时,蚂蚁的分布开始 趋向较短路径 l1,但并不稳定。当N=20 和25时,选择路径 l1,的蚂蚁数开始呈 现出一种稳定的优势。当N=100时,觅食 的蚂蚁接近于无例外地选路径 l1
蚁群算法的举例
设a点是食物,而e点是蚂蚁的巢穴
人工蚁群与自然蚁群的相似
两者优先选择的都是含“外激素”浓度
较大的路径; 这在两种情况下,较短的路径上都能聚 集比较多的外激素; 两者的工作单元(蚂蚁)都是通过在其 所经过的路径上留下一定信息的方法进 行间接的信息传递。
人工蚁群与自然蚁群的区别
蚂蚁的特点
蚁群是母系社会,以雌性为中心。 家族成员有:雌蚁、雄蚁、大工蚁、小 工蚁和兵蚁。 严密的社会组织(组织、分工合作、相 互通讯联系和信息传递)
–合作 –品级分化 –个体利他
蚂蚁的通讯手段——化学语言
信息激素(外激素)——蚂蚁平时行走 时腹部挺起,当进入新地带或食物源时, 腹部垂下,通过排泄口挤出直肠腺,沿 着植物枝条或地面的路线放出信息激素, 形成气味踪迹,同巢的蚂蚁就会闻讯赶 到。 信息激素(外激素)的强度随时间延长 而挥发。
c
c
Vn V1
Vi
Cij
V2
V4
V3
2 蚁群算法的描述
给定一个有n个城市的TSP问题。人工蚂蚁的数 量为m。每个人工蚂蚁的行为符合下列规律: 根据路径上的激素浓度,以相应的概率来选取 下一步路径。 不再选取自己本次循环已经走过的路径为下一 步路径。用一个数据结构(tabu list)来控制 这一点。 当完成了一次循环后,根据整个路径长度来释 放相应浓度的信息素,并更新走过的路径上的 信息素浓度。
开始 NC=0,初始信息C, 将m只蚂蚁放到n个节点上
对所有蚂蚁置初始城市到tabu
NC=MAX?
Y
得到最佳路径打印
对所有蚂蚁计算概率,选择下一城市, 将蚂蚁移到下一个城市j,并将j加入到tabu里
结束
Tabu(k)满吗?
N
Y
更新最佳路径,清空tabu(k)NC=!1
蚁群算法的仿真实例
对于参数 =1.0, =2.0,k=0.75, = 0.3, l =3.0,l =4.5,p0=0.85,给出了部 1 2 分模拟结果
Aldeman实验的算法步骤(1)
Aldeman实验的第一步,先将图中每一 个节点编码成一个随机的DNA的20个核 苷酸链(20字母链)。然后对每一有向 的边缘线建立DNA序列,它由源节点编 码序列的后一半和目标节点编码序列的 头一半组成。
节点和边缘线的编码方法
Aldeman实验的算法步骤(2)
JSP问题
JSP问题可以用一个加权图描述。每条边 的权值用参数{ k1 } 表示。信息 和可见 k1 k1 k1 度 是通过最长进程时间或者最短完成时 间等要求决定。蚂蚁遍历节点的顺序就 是相应的解决答案。在解10×10和 10×15的JSP问题中,蚂蚁算法的解与最 优解的误差在10%之内。这是一个相当 不错的结果。
SA,GA,CA的性能比较
算法的性能 接受劣解的方 式 全局搜索能力 局部搜索能力 收敛速度 主要存在问题 搜索方式 SA 按概率接受 较强 较强 慢 最优性与时间 矛盾 单点 GA 交叉、变 异 较强 较强 较快 超级个体 封闭竞争 群体 CA 不接受 较差 强 快 易陷入局部 极小 单点
综合优化算法
分子计算的编程
假定一个试管定义为字母表{A,C,G,T}中 字母的一个多重集合(直觉上试管是 DNA单链的一个集合,单链在试管中出 现有多重性即同一个单链在试管中含有 多个拷贝)对试管即DNA单链的多重集 合适当地修改也可用于DNA双链可定义 下页的基本操作
DNA双链的基本操作
★合并(merge)。给定试管N1和N2组成它们的
DNA的预备知识
DNA(Deoxyribonucleric)-脱氧核糖核酸存 在于每个生物体,它是遗传信息存储的媒介.又 称之为核苷酸的单元组成。核苷酸按从属于它 们的化学基团或碱基分成四种: ★腺嘌呤,简写成A (Adenine) ★鸟嘌呤,简写成G (Guanine) ★胞嘧啶,简写成C (Cytosine) ★胸腺嘧啶,简写成T (Thymine)
蚁群算法目前的应用
QAP问题(Quadratic Assignment Problem) JSP问题(Job shop Problem) 大规模集成电路综合布线 电信网络路由
QAP问题
QAP问题的目标函数可以用一个nxn的 对称矩阵来描述。蚁群算法基于它和 TSP问题这方面的相似性来解决问题的
DNA 计算
DNA计算的生物背景
1994 年,美国加利福尼大学的Adleman 博士提出了用分子生物技术进行计算的 新方法--DNA计算,提出了一种基于生 化反应的新型的计算机--DNA计算机的 模型,这一研究成果很快受到了科学家 们的极大兴趣。
DNA计算的原理
DNA计算基于大量DNA分子自然的并行 操作及生化处理技术,通过产生类似某种 数学过程的一种组合结果并对其进行抽 取和检测来完成. DNA分子模型大体划分为非限制性模型和 限制性模型两类.前者针对DNA串操作,后 者针对多重DNA串集. DNA算法通常包括 反应和提取两个阶段.
大规模集成电路综合布线
大规模集成电路中的综合布线可以采用 蚁群算法的思想来进行。在布线过程中, 各个引脚对蚂蚁的引力可根据引力函数 来计算。各个线网Agent根据启发策略, 象蚁群一样在开关盒网格上爬行,所经 之处便布上一条金属线,历经一个线网 的所有引脚之后,线网便布通了。蚁群 算法本身的并行法,使之比较适合于解 决布线问题。
并(理解为多重集合) ★扩充(amplify)。给定试管N产生它的拷贝(该 操作只对多重集合有效) ★检测(detect)。给定试管N,如果至少含有一个 DNA单链,返回真;否则,返回假。 ★抽取(separate) ★按长度分离(length-separate) ★按位置分离(position-separate)
蚁群算法的产生
20 世 纪 90 年 代 , 意 大 利 学 者 M. Dorigo 等人从生物进化的机理中受 启发,模拟自然界蚂蚁寻径的行为, 提出的一种全新的模拟进化算法 — —蚁群算法
蚁群算法原理
蚂蚁在行动中,会在经过的地方留下一 种化学物质(外激素) 。这些物质能被后 来的蚂蚁感受到,并作为一种信号影响 到后者的行动。由于在一定的时间内, 越短的路径会被越多的蚂蚁访问,因而 积累的外激素也就越多,在下一个时间 内被其他的蚂蚁选中的可能性也就越大。 此过程会一直持续到所有的蚂蚁都走最 短的那一条路径为止。
DNA的结构图
单核苷酸端对端连接一起组成DNA链,作 为碱基对,核苷酸A和T,C和G称为互补.在 退火进程两个互补单链DNA序列将会连接 在一起,组成双链螺旋,如图所示:
DNA结构简介
一个DNA单链可以看作是由四个不同的符 号A,G,C,T连成的一个串。数学上这意味 着我们有四个字母的字母表将信息编码。 DNA的四个元素能形成数学上的一种称 为“域”的代数结构,考虑到数字计算 机只有0,1两个数字,这种编码字母表 远远超过NP问题计算的需要。
什么是Hamilton路径 一个具有指定节点vin 和 vout的有向图,当且 仅当存在一个始于vin 终于 vout 可相容的U
单向边缘线序列(即一条路径),且经入 每一个其它节点只有一次,则有一条 Hamilton路径。
解Hamilton路径的常规算法
Step1,产生经历有向图节点的随机路 vout 的那些路径 Step2,只保留始于vin 终于 Step3,只保留有n个节点的那些路径 Step4,只保留那些进入有向图中所有节点 至少一次的路径 Step5,如果有任何路径保留下来,则存在 Hamilton路径,否则不存在
蚁群算法的优点
正反馈,从而能迅速找到好的解决方法; 分布式计算可以避免过早地收敛; 强启发能在早期的寻优中迅速找到合适 的解决方案。 AS算法被成功地运用于许多能被表达为 在图表上寻找最佳路径的问题 易于和其他的方法结合
蚁群算法目前存在的问题
蚁群算法还不像其它的启发式算法那样 已形成系统的分析方法和具有坚实的数 学基础,参数的选择更多的是依靠实验 和经验。没有定理来确定,而且它的计 算时间偏长。这些都表明其在理论和实 践方面尚有许多问题需要更深入的研究 与解决。
趋化性算法
Chemotaxis Algorithm
趋化性算法(CA)
趋化性算法(Chemotaxis Algorithm, CA)是模拟细菌生长过程中的趋光性原 理而提出的一种随机优化方法,它与模 拟退火算法有相似之处,但结构更加简 单。
CA算法步骤
Step 1 算法初始化 随机产生一初始解 i 作为当前解,计算其性能 指标c(i); Step 2 生成高斯分布的随机变量,用此随机变 量对当前解进行扰动产生一个新解j IF c(j)<=c(i) THEN 接受 j 为当前解 ELSE 不接受 j 如果满足算法的终止条件则终止算法,以当前 解作为最优解输出,否则返回Step 2.
接合反应是Aldeman实验的重要阶段,它 形成了整个图中随机路径编码的DNA分 子为了完成第2步通过聚合酶链式反应 将step1产生的结果繁衍扩充,而且通过适 当的酶操作,使得只有那些始于vin 终于 v out 编码的路径获得扩充。
Aldeman实验的算法步骤(3)
★要完成第3步则利用称之为凝胶电泳的 技术,它使得DNA链按长度分离。 ★第4步是由重复使用亲和净化过程来实 现这个过程允许将包含一个给定子序 v对图中一条路径的编码,从一个其 它链的异种池中过滤出来。 ★第5步的完成就是检查编码成Hamilton路径的 DNA分子是否存在。
启发式—GA算法 启发式—SA算法 综合SA,GA,CA,SAGAQCIA算法
蚁群算法
Ant Colony Algorithm
蚂蚁群体的进化
–蚂蚁是最古老的社会昆虫,它的起源可追 溯到1亿年前,大约与恐龙同一时代 。 –从化石蚁巢得的证据显示,高级的社会性 组织给予昆虫社会进化的稳定性
人工蚁群具有一定的记忆能力。它能够
记忆已经访问过的节点; 人工蚁群在选择下一条路径的时候并不 是完全盲目的,而是按一定的算法规律 有意识地寻找最短路径
蚁群算法的实现
以TSP问题来说明蚁群算法模 型的建立和流程
1 TSP问题的描述
给定n个城市的集合{1,2,…,n}及城市之间 环游的花费 ij 。TSP问题是指找到一条 经过每个城市一次且回到起点的最小花 费的环游。若将每个顶点看成是图上的 节点,花费j i 为连接顶点 vi , v j 边上的 权,则TSP问题就是在一个具有n个节点的 完全图上找到一条花费最小Hamilton回路。
电信网络路由
电信网络中的路由是通过路由表进行的。 首先对路由表中的信息素强度进行初始 化。然后周期性地释放蚂蚁来进行路由 并修改相应的信息素的值。仿真结果表 明,无论呼叫是均匀分布还是集中分布, 利用蚁群算法所得呼叫拒绝率和平均路 径长度均小于最小负载法结果。在呼叫 符合集中分布时,蚁群算法所得呼叫拒 绝率低于最短路径法。
蚁群社会的组成
蚂蚁属膜翅目,蚁总科,已知360属,约 9000种,估计应有12000—15000种。其 中大多数种类(80%)在热带,亚热带。 百万亿的蚂蚁悄悄地布满了我们的星球, 象人Hale Waihona Puke Baidu一样,蚁占据了几乎每一片适于 居住的土地,只有永远雪封的冰山的南 北两级未曾被其涉足。蚁虽然有成千累 万种,但无一种是独居的,都是群体生 活,建立了自己独特的蚂蚁社会。