研究文章 开放存取
K.R.西嘉市 , ...混合启发查找汉密顿周期.. 优化杂志, 第五卷 2018 , 文章标识 9328103 , 10 页码 , 2018 . https://doi.org/10.1155/2018/9328103
混合启发查找汉密顿周期
抽象性
汉密顿循环问题是最探索组合问题NP完全问题,启发式方法比指数时间精度算法强本文展示高效混合套取法,置复杂可靠方法与简单快捷方法之分算法由贪心旋转变换和不可达顶点策略组合组成 分三个阶段工作第一阶段使用贪心深度优先搜索创建初始路径初始路径再扩展至汉密顿路径第二阶段使用旋转变换和贪婪深度优先搜索第三阶段使用旋转变换法将汉密顿路径转换为汉密顿周期提议方法从从文献收集的硬图中查找汉密顿周期,TSPLIB提供汉密顿实例(1000至5000顶点)和FHCP挑战集实例再者算法有O3最坏案例复杂度算法性能与最先进算法比较发现混合HAM运行时间优于他人
开工导 言
汉密顿循环问题用非定向图识别循环连接图中所有顶点问题归结为最受欢迎NP完全问题TSP子题,即TSP问题,问题在于查找最小加权汉密顿周期汉密顿周期有许多应用像重构基因组序列,解决像Icosian游戏这样的游戏,在棋盘上寻找骑士游览,并查找循环嵌入正则图等问题前没有单一高效算法最先进算法主要归为二类:指数时间穷穷穷搜索算法和多元时启发算法第一类保证提供解决办法,后一类则不提供解决办法后一法比前一法少得足够多时间求解第一类算法通常会发现一些高效裁剪规则来减少搜索空间并从而改善运行时间,而第二类算法则则则会发现一些泛泛规则来在尽可能多的问题实例中求解,少时求解研究的目的是设计启发学比成熟复杂启发学快,但比快速技术可靠
文献中可以找到多定理,提供必要和充分条件一号-4汉密顿周期使用这些条件检验图是否汉密顿好学习5Vandegriend & Basil提供这些定理和算法解决HCPRubin & Frank6提议穷尽查找法 查找汉密顿所有路径或循环克里斯托菲德7提议多路算法 重智能搜索算法 指数复杂性Christophides算法由Kocay & William改进8推荐两个运算搜索空间马特洛九九反向搜索算法使用低度先休克选择下一顶点Ejov等10HCP解析方程取自图相邻矩阵即使在非Hamilton图形中可以发现长周期,但无法减少指数时间复杂性osa算法11被视为HCP启发式算法的基础算法宝沙轮变思想 和变异构成基础 几乎所有启发式算法安格林和维拉提12提议对定向图作复杂得多的变换,因为旋转变换不适合定向图Bollobas等[13汉密顿循环算法使用旋转变换和循环扩展HAM算法各种版本如SpraseHam14和HideHam15并提议各种图表布鲁那契16提议两种算法DB2和DB2A,视HCP为TSP版本,非前沿为高度加权边缘DB2A算法修改方向图的DBA算法,将方向图转换成非方向图多位TSP推理学像著名的Lin-Kernighan推理法17,18号使用技术称k-opt变换19号,20码k边框交换巴尼亚萨迪等[21号i-opt变换启发解决HCP少数已出版HCP启发论位居复杂可靠启发论和非常简单化方法(通常是线性或二次时间法)之间的中间区
启发式组合贪心深度优先搜索、不可达顶点和旋转变换启发贪心深度优先搜索大大缩短运行时间搜索贪心,因为它总选择非访问低度顶点扩展路径不可达顶点偏移减少了达死端的可能性,旋转变换帮助走出死端条件推理法比复杂精度算法快 比推理法快
二叉材料方法
2.1.汉密顿循环问题
汉密顿周期只连接给定图中所有顶点一次内含至少一汉密顿循环图称汉密顿图优化问题可正式定义如下:
groupG=(E,V)中E为图边缘,V为图顶和图顶 .
问题在于查找循环 HC=(v)一号.v2... )中所有 )和(b) )元素E
难点问题吸引数学家和计算机科学家NP完全问题强势代表
2.2.贪心深度优先搜索
HCP大搜索空间可广度智慧或深度智能探索深度优先搜索时,以深入智能方式执行搜索,从给定顶点开始到无法继续搜索或死端达标点启发式使用贪心深度优先搜索 创建汉密顿路径路径构造从最高度顶点开始,因为它增加返回起始顶点的概率度顶点数连接顶点数路径上的其他顶点选择贪婪,选择最小度邻接最小度顶点先加到路径中,因为选择近邻后可能达不到顶点。举例说,如果顶点为2,则顶点边缘必须存在于汉密顿路径/循环中,这些边缘先加到路径中始建路径中的顶点被视为“访问 ” 。 自汉密顿循环中顶点只显示一次, 只需考虑当前顶点的未访问邻点 。引导贪婪深度先寻长路建议不可达顶点启发性依此推理,在路径添加顶点前,对每个邻里都检查不可达条件启发式解析解析2.3.
2.3不可触动Vertex启发式
研究建议一种新的启发式即不可达顶点推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理式推理
定义一P偏向路径和x偏向端端选择下一个顶点y∈Adj(x)路径中所有Adj(y)顶点未访问相邻顶点数大于一
顶点据说无法通达,如果所有邻里都已经是迄今构筑路径的一部分无法达到顶端 无法达到假设选择顶点令未访问邻里无法访问 则顶点不添加路径
例举图显示图一号.
偏向路径迄今确定为ANCQD中给定图 .允许下一个顶点选择E .未访问相邻B区、G区和F区数目分别为1、2和2不可访问顶点偏移法显示E不选为路径中下一顶点,因为B未访问近邻数为一
2.4.旋转变换
旋转变换11和变异发现强推理 寻找汉密顿循环用于修改路径获取图中显示的新端顶2.图中e表示旋转变换以获取新端顶点
旋转变换过程概述如下:(1)查找e输入图中的顶点,路径P让它为顶点b(2)创建新路径P(a)通过连接b-e(b)通过逆向路径从c到e
算法中旋转变换有两个目的(1)走出死路 建设汉密顿路径(2)汉密顿路径转换汉密顿周期
首例高度端选择旋转变换,因为它增加获取新端的概率相似地将路径转换为循环时,选择路径最小端顶点旋转变换,因为它提高返回更高端概率实现循环
3级混合启发式
3.1.混合HAM算法
混合HAM算法拟分三步工作(1)创建初始路径(2)初始路径转换汉密顿路径3级汉密顿路径转换汉密顿周期
3.1.1初始路径创建
路径创建从最高度顶点开始,然后贪婪地添加最小度顶点,以便尽可能长地构造初始路径最高度初始顶点选择和最小度顶点选择意指构建更长初始路径,表内提供一号.算法检查不可达条件后再添加顶点以降低路径构造中通向死路的概率高度顶点多时,重复创建初始路径程序,选择其中每一个为起始顶点并选择最大顶点路径为初始路径照此程序,我们可能先找到汉密顿或汉密顿附近路径
|
3.1.2初始路径转换汉密顿路径
如果初始路径创建非汉密顿式(小于顶点总数),则选择初始路径最高度端旋转增加获取新端顶点的可能性 拓展路径创建汉密顿路径扩展新端顶点路径3.1.1.旋转变换和贪心路径扩展持续到我们找到汉密顿路径旋转变换无法应用意味着图没有汉密顿路径或算法无法识别汉密顿路径
3.1.3汉密顿路径转换汉密顿周期
万一有边缘连接汉密顿路径图两端时 向路径添加边际获取汉密顿周期转最小度顶点多次应用直到获取新端顶点,可连接到另一端顶点组成汉密顿周期过程期间任何时候轮换都无法应用,这意味着图中要么没有汉密顿周期,要么算法无法识别汉密顿周期
顶点选择标准在不同步骤中使用汇总表一号.
3.2实例
图中考虑非定向图3.
3.2.1初始路径识别步骤1
0 1 2 3 4 5 6 7 8 12 13 14 22 21 20 19 18 15
初始路径长度为 18, 小于图中顶点总数确定路径不是汉密顿二步
3.2.2.2汉密顿路径二
0 7 8 12 14 13 15 17 16 9 1 2 3 4 5 6 11 23 22 21 20 18 19 10
长度24度 汉密顿路径自图中无边3连接路径端顶点(即边缘连接顶点1和顶点11)转步3并应用旋转变换查找图图中连接的新端顶点3
3.2.3汉密顿周期分步3
0 7 8 12 14 13 15 16 17 18 19 20 21 22 23 11 6 5 4 10 3 2 9 1
端端顶点1和2连接图显示的初步图3并组成汉密顿周期图中显示4.
3cm3伪编码
输入算法即邻接矩阵表示图,输出为与汉密顿周期对应的一组顶点等一等 表示图中顶点数算法建议分三个阶段并概述如下:
混合HAM ()
从输入邻接矩阵创建二组数组 并 顶点依度增减排序
//阶段1
//创建初始路径(1)从最高度顶点之一启动数组的第一个顶点 )任它 .(2)添加到初始路径 .3级重复(a)选择下一最小度邻接 从数组 )任它 .(b)if选择 并不会令它的任何未访问邻里无法联系i)添加到初始路径 二)建材 原封
直达 变成死路
//End阶段1(4)if 并转到阶段3易斯语重复阶段1对图中最高度顶点并选择最长P一原创路径结束if
//阶段2
/转入汉密顿路径的初始路径(5)重复(a)选择路径最高度端 旋转变换(b)逆向转转 if first顶点 位高比上端顶点高,使顶点最高为路径尾端顶点任它 .(c)应用旋转变换 使用 取新路d)如果旋转变换无法应用,图中要么没有汉密顿路径,要么算法无法识别汉密顿路径并退出e)新路径扩展方式使用贪心深度优先搜索直达 .(6)立即 汉密顿路径 .分配 .
//End阶段2(7)如果有边缘连接 头顶和最后顶 进图中 汉密顿循环返回 其余转到阶段3结束if
//阶段3
/反汉密顿路径 汉密顿周期(8)重复(a)选择路径最小度端 旋转变换(b)逆向转转 if first顶点 感知度比上一个顶点高,使最小度顶点成为路径尾端顶点任它 .(c)应用旋转变换 使用 取新路d)如果旋转变换无法应用,图中要么没有汉密顿循环法,要么算法无法识别汉密顿路径并退出直至有边缘连接路径前端和末端 .(9)立即 汉密顿循环返回 .
//End阶段3
/结束混合HAM算法
3.4.最坏案例复杂度
(1)创建排序数组T(n)=O(n)2)(2)阶段1贪心深度优先搜索一次邻接矩阵最差案例,因此复杂性为O(n)2)遍历最高度顶点最坏情况就是所有 顶点相同程度因此,T(n)=O(n)3)3级阶段2复杂旋转最多为O(n)复杂贪心深度优先搜索为O2)总计2=O(n)2)这两种运算最多重复 时间间隔因此,T(n)=O(n)3)(4)阶段3复杂旋转最多为O(n)最多重复此操作 时间间隔因此,T(n)=O(n)2)
全部最坏案例复杂性混合Ham,T(n)=O(n)2+O(n)3+O(n)3+O(n)2) =O(O) )
4级实验
性能评价实验建议算法使用系统4GBRAM和Intel核心i5处理器算法在MATLAB 13R实现实验用从文献和TSPLIB收集的图集进行
4.1.汉密顿循环图样本
汉密顿周期由收集样本图集的拟议算法返回5.
算法运行时间解决这些样本实例2.
|
4.2TSPLIB实例
TSPLIB库22号汉密顿循环七例提议算法几秒内可解决所有问题实例运行时间建议算法比较HCP解答器23号万事通,协和TSP解答器24码万事通并更新蛇与梯度启发式21号万事通.表23提供算法所花时间解决HCP实例
|
4.3FHCP挑战集
FHCP挑战集25码集合汉密顿循环问题实例数据集专为抵制启发式方法设计复合HAM测试250例FHCP挑战集中250例中 启发式可发现75汉密顿路径 和6汉密顿周期完全结果显示于表4.图太稀疏,旋转变换无法将汉密顿路径转换为算法第三阶段汉密顿周期阶段一和阶段二算法表现相对良好 挑战集极难实例 并因此汉密尔顿路径并发现拟议最高度和最小度顶点选择标准对多图有不同度的顶点算法可以在极短时间从中稀疏图中发现汉密顿循环(例如图72、79、84、90等)。表内4)连胜者26无法解决全套问题,使用不同的算法处理不同类型的图,因为他们的目标是寻找解决办法而不是开发算法
|
值得指出的是,FHCP挑战数据集的困难实例非常稀有和难构建,更不用说自然发现了 。 连发现汉密顿路径也是困难(NP完全化)问题,而拟议的启发式成功实现对FHCP挑战集多例
5级结论
论文建议混合启发从非定向图中查找汉密顿周期3级算法使用三种启发式组合:贪心深度优先搜索、不可达顶点和旋转变换从对变量大小复杂度不同图进行的各种实验中发现,选择初始顶点用于创建最长初始路径以及汉密顿路径和最小偏点用于汉密顿路径转换汉密顿周期是单运行求解的理由实验评价还显示,拟议的启发性速度快得多,在大多数案例中都成功取得良好结果。值得指出的是,速度提高并不牺牲启发式可靠性各种大小实例(包括相当大TSPLIB实例),在比较困难实例中它仍然表现得相当好。
数据可用性
支持此项研究的数据取自先前报告的研究和数据集,并引证处理数据备有22号,25码..
利益冲突
作者声明不存在利益冲突
感知感知
本手稿中显示的研究得到大学赠款委员会大项目Grant F.No.4.2-136/2013(SR)支持
引用
- G.A.Dirac,“抽象图上的一些定理”,伦敦数学协会记录第三串,vol.2页69-81,1952Viewat:发布者网站|谷歌学者|MathSciNet
- O.ORE注汉密顿电路美国数学月,vol.6755页 1960Viewat:发布者网站|谷歌学者|MathSciNet
- G.范新条件循环图组合论杂志B辑,vol.37号3页221-227,1984年Viewat:发布者网站|谷歌学者|MathSciNet
- R.J.古尔德,"提高汉密顿问题-图和组合,vol.19号公元前1页7-52 2003Viewat:发布者网站|谷歌学者|MathSciNet
- 范德格里安Basil(1998年),查找汉密顿循环法:算法图和性能论文类研究生研究学院,艾伯塔大学,1998年
- F.Rubin,“汉密顿路径和电路搜索程序”,ACM杂志,vol.21页576-580,1974年Viewat:发布者网站|谷歌学者|MathSciNet
- N.赫里斯托菲德图论:算法方法、计算机科学应用数学美国纽约学术出版社,1975年Viewat:MathSciNet
- W.科赛多路算法扩展查找汉密顿周期离散数学,vol.101号1至3页171-188,1992年Viewat:发布者网站|谷歌学者|MathSciNet
- S.Martello,“Agorithm595:数字算法查找汉密顿电路导图”,ACM数学软件事务,vol.9号公元前1页131-138,1983Viewat:发布者网站|谷歌学者
- V级Ejov J.A.Filar公司K.Lucas和JL.纳尔逊使用符号性决定因素解决汉密顿循环问题台语数学杂志,vol.10号2页327-338,2006年Viewat:发布者网站|谷歌学者
- L.Pósa随机图中 Himelton电路离散数学,vol.14号4页359-364,1976Viewat:发布者网站|谷歌学者|MathSciNet
- 公元前安格林和LG.维拉特,“汉密顿电路匹配快速概率算法”,第九次ACM计算论年度专题讨论会记录pp.30-41ACM1977Viewat:谷歌学者
- .b.博洛巴斯I.芬纳和AM.Frieze 算法随机图查找Hamilton路径和循环组合概率计算,vol.7号4页327-341,1987Viewat:发布者网站|谷歌学者
- A.M.Frieze使用随机指令图查找汉密顿周期算法算法杂志,vol.9号2页181-204,1988年Viewat:发布者网站|谷歌学者|MathSciNet
- A.Z级布罗德AM.Frieze和EShamir发现隐藏哈密尔顿周期随机结构算法,vol.5号3页395-410,1994年Viewat:发布者网站|谷歌学者
- F.A.Brunacci,DB2和DB2A:搭建汉密顿电路的两个实用工具欧洲运维研究杂志,vol.34号2页231-236,1988年Viewat:发布者网站|谷歌学者|MathSciNet
- S.Lin和BW.克尼汉,“旅行销售商问题有效启发算法”,运维研究,vol.21页498-5161973Viewat:发布者网站|谷歌学者|MathSciNet
- K.Helsgaun,“有效实现Lin-Kernighan旅游推销员启发论”,欧洲运维研究杂志,vol.126号公元前1页106-130,2000Viewat:发布者网站|谷歌学者|MathSciNet
- S.Lin,“计算推送员问题解决方案,”(译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译者译贝尔实验室技术杂志,vol.44页2245-2269 1965Viewat:发布者网站|谷歌学者|MathSciNet
- M.M.洪流传问题运维研究,vol.4页61-75,1956Viewat:发布者网站|谷歌学者|MathSciNet
- P.巴尼亚萨迪Ejov J.A.菲拉尔市Haythorpe和SRossomakhine,“定型螺旋带和斜带”启发汉密顿周期问题数学编程计算,vol.6号公元前1页55-75,2014年Viewat:发布者网站|谷歌学者
- TSPLIB-Himeltoni周期问题2013年6月访问http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95.
- PCGRATE,2014年9月访问http://www.pcgrate.com/about/npcomprb/hcp.
- CONCORDE,2014年9月访问http://www3.cs.stonybrook.edu/~algorith/implement/concorde/implement.shtml.
- M.Haythorpe,FHCP挑战集:第一组结构难例组合学院公告,vol.83页98-1072018Viewat:谷歌学者|MathSciNet
- A.Schneider,“当研究者玩解决1001例汉密顿循环问题时”,2016年https://www.inria.fr/en/centre/sophia/news/when-researchers-play-to-solve-1001-instances-of-the-hamiltonian-cycle-problem.Viewat:谷歌学者
版权
版权++2018KR.西嘉开放访问文章分发创用CC授权允许在任何介质上不受限制使用、分发和复制,只要原创作品正确引用