- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模拟退火与同最小steiner树.ppt
模拟退火与最小steiner生成树 王茂芝 目录 图的着色问题及其应用:交通信号灯问题 模拟退火算法及其注意点 最小steiner生成树问题及其求解 1 交通信号灯问题 问题描述与背景介绍 13种不同线路 目标 不冲突 时间尽可能少 a b c d e 问题分析与转化 四色问题 转化:类似于地图着色问题,交通信号灯问题也可以归结为图的顶点着色问题。把路口的所有线路表示为无向图的顶点,两个顶点之间有一边连接当且仅当对应的两条路线在路口相交,而把各个路线划分为尽可能少的互不相交的k组,恰恰等价于求相应的无向图的最小色数k。得到13个顶点20条边的图,而且ba、dc、ed孤立(拐小弯)。 问题求解(算法设计讨论) 把交通信号灯问题归结为更一般的无向图顶点着色问题。 穷举法:令色数k从2开始,用k种颜色分别对13个顶点着色,共有k13种情形,对每一种情形进行检查,直到找到一种着色方案使得20条边的两顶点全为异色。若k=5,则最坏情况需要进行20( 213 + 313 + 413 + 513 )次比较 算法设计讨论 剪枝法 假设顶点ab着色为c1,则点ab的所有邻点ea、da、bc、bd都不必着色c1 第一点,例如ab,可以只有一种颜色,由颜色的对称性,ab取其它(k-1)种颜色的情形可不必再检查。使用此剪枝法一项可把计算量缩小到原来的1/k 算法设计讨论 启发式算法(Heuristic):为了用最小色数为所有顶点着色,也就是每一种颜色在不出现冲突的条件下为尽量多的顶点着色。 用k=1,2,3,…来表示颜色,如color[i]=3表示对i顶点着3色,color[i]=0表示顶点没有着色。 启发式算法 贪心法(greedy)是一种有效的设计快速算法的策略,不过,它不一定总能得到最优解。 2 模拟退火算法 物理背景 算法描述 注意事项 应用实例 物理背景 在物理学中,对固体物质进行退火处理时,通常先将它加温溶化,使其中的粒子可自由运动,然后随着物质温度的下降,粒子也形成了低能态的晶格.若在凝结点附近的温度下降速度足够慢,则固体物质一定会形成最低能量的基态. 对于组合优化问题来说,它也又类似的过程,也就是说物体中固体物质的退火过程与组合优化问题具有相似性.组合优化问题也是在解空间寻求花费函数最小(或最大)的解. 能量(温度):E(T) 时间:t E(T0) E(T1) 高值 低值 算法描述 我们将物理学中的退火过程引入神经网络计算中,相应的算法称之为模拟退火算法(simulated annealing:sa). 考察能量函数曲线. 一个比较好的办法是:先让系统剧烈振动,使小球脱离A,然后轻轻摇,使小球逐步到达B,这样就寻找到了能量函数的全局极小值. 模拟退火算法描述 在神经网络系统中,设系统所有可能状态为V={v1,v2,…,vN},与系统相对应有一能量E,它是系统状态的函数,即E(V).设控制参数为温度T,我们的目标是找到某一个系统状态v*,使E(v*)=min(vi,vi∈V).模拟退火思想是:让T从一个足够高的值慢慢下降,对每个T,用Metropolis抽样法在计算机上模拟该系统在此T下的热平衡状态,即对当前状态vi经过随机扰动产生一个新状态vj,计算系统的能量增加⊿E=E(vj)-E(vi),并以概率 e(-⊿E/kT)接受vj作为当前状态. 续 初始化.任给一初始状态v0,vi=v0,计算E(v0),将参数T置一初始温度值. 产生一随机扰动⊿v,按下式计算⊿E: ⊿E=E(vi+⊿v)-E(vi). 若⊿E0,则转(5),否则在(0,1)区间上产生一个均匀分布的随机数§ 若e(-⊿E/kT) ≤ §,则转(2) 用vi+⊿v来取代原来的vi,并令E=E+ ⊿E 在该T下,检验系统是否稳定,若不稳定则转(2) 以某一方式取T’T 退火过程是否结束,否则转(2) 初始化:v0,E(v0),T=T0 扰动⊿v, ⊿E=E(vi+⊿v)-E(vi) ⊿E0 迭代Vi=Vi+⊿v, E=E + ⊿E § ∈ (0,1) e(-⊿E/kT) ≤ § T是否稳定 降温 退火结束 算法结束 Y N Y Y Y N N N 注意事项 在上述过程中,模拟退火过程是否达到能量E的最小值,取决于T0是否足够高和T下降得是否充分慢,以及对每个T时系统是否稳定. T0初始选取 均匀地随机抽样v,取E(v)的方差为T0 在所有可能状态中,选取两个状态vi和vj,使差| ⊿vE|=|E(vi)-E(vj)|最大,T0为该值的某一倍数 由经验给出 续 检验系统是否稳定的方法 检验E的均值是否稳定 检查是否连续若干步中E的变化都比较小. 按一固定步长抽样 T减小方式 令T=aT,a∈[0.8,0.99] 算法终止方式 取T小于某一阈值 检验系统的熵
文档评论(0)