- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
哈密顿图NP问题pre
哈密顿回路与欧拉回路 By 何闽强 李文海 郭煜桁 欧拉回路:图G的一个回路,若它恰通过G中每条边一次,则称该回路为欧拉(Euler)回路。 哈密顿回路:从图中的任意一点出发,路途中经过图中每一个结点当且仅当一次,则成为哈密顿回路 欧拉回路问题是P问题 哈密顿回路问题是NP问题(NPC) ” 证明1:归约到精确覆盖问题(exact cover) 在一个全集X中若干子集的集合为S,精确覆盖(Exact cover)是指,S的子集S*,满足X中的每一个元素在S*中恰好出现一次。[1] 在计算机科学中,精确覆盖问题指找出这样的一种覆盖,或证明其不存在。 二分图表示 旅行商问题 假设有一个旅行商人要拜访m个城市,他必须选择所要走的路径,路经的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。 在有m个顶点的图中。不同的回路数以O(m!)的速度增长,对于任何常数c。 O(m!)最终大于2的c*m次方。 ——《自动机理论,语言和计算导论》 至今为止所有解答旅行商问题的算法都在本质上尝试了所有的回路并计算了回路的总权。所以,在确认有没有哈密顿回路之前,似乎一定要检查指数个回路个数。 ——《自动机理论,语言和计算导论》 欧拉回路的P类算法 Fleury算法:? ?任取v0∈V(G),令P0=v0; 设Pi=v0e1v1e2…ei vi已经行遍,按下面方法从中选取ei+1: (a)ei+1与vi相关联; (b)除非无别的边可供行遍,否则ei+1不应该为Gi=G-{e1,e2, …, ei}中的桥(所谓桥是一条删除后使连通图不再连通的边); (c)当(b)不能再进行时,算法停止。 可以证明,当算法停止时所得的简单回路Wm=v0e1v1e2….emvm(vm=v0)为G中的一条欧拉回路,复杂度为O(e*e)。 ? 应用举例: A城市的交通系统由若干个路口和街道组成,每条街道都连接着两个路口。所有街道都是双向通行的,且每条街道都有一个长度。一个邮递员在送信,要从邮局出发经过所有街道再返回邮局(每条街可以重复走),他怎么样安排可以使长度最短? 哈密顿回路的近似算法和应用 人们证明,找一条哈密顿路的近似比为常数的近似算法也是NPC问题。 寻找哈密顿路的确定算法虽然很难有多项式时间的,但是这并不意味着只能进行时间复杂度为O(n!*n)暴力搜索。利用状态压缩动态规划,可以将时间复杂度降低到O(2^n*n^3) 当前状态:起点、终点、经过的点的集合 –用位压缩的办法表示经过的点的集合,则每种状态都可以用三个整数表示,不妨记为a, b, st,其中st表示经过的点的集合 f(a, b, st) = min{ f(a, k,st - 2b ) + w(k,b) },k 属于集合st. 复杂度: –状态数O(n^2*2^n),状态转移O(n) –时间复杂度O(n^3*2^n),空间复杂度 O(n^2*2^n) 哈密顿回路的应用 ——格雷码 格雷码简介: 格雷码是在贝尔实验室中为了减少数字信号传递过程中错误的影响被发明的。 哈密顿回路在格雷码上的应用: 旋转的指针的位置可以表示成数字的形式。 一种方式是把圆周等分成2^n段的弧,并且用程度为n的位串给每段弧度赋值。如下图。 哈密顿回路的应用 ——格雷码 当指针靠近两段弧度的边界时,在读出指针位置时可能发生错误。这可能引起读出的位串里有一个大的错误。 比如上图中如果指针,若在确定指针的位置出错,则读出的位串是100而不是011。所以3位都是错的。 为了把这样的错误的影响降到最低,应当使相邻弧度所表示的位串只相差1位。 哈密顿回路的应用 ——格雷码 可以使用下述方法来求得符合上述要求的格雷码:1、将不同的位串看做不同的顶点,比如001,010。2、将位串只相差一位的顶点用边连接。比如000就要和001,010,100连接。3、在步骤1和步骤2生成的图G中寻找哈密顿回路。 这条哈密顿回路所产生的前后恰好相差一位的位串序列是:000,001,011,010,110,111,101,100。如下图。 包含关系也可以用一个二分图表示。 二分图左侧每个节点表示S的每个集合,右侧每个节点表示X的每个元素,而精确覆盖便是一种匹配,满足右侧的每个点恰好有一条边。 在旅行商问题中,这问题就相当于S是所有边的集合,X是所有点的集合。 有兴趣的同学可以去尝试一下。 * 特例: * 包含关系也可以用一个二分图表示。 二分图左侧每个节点表示S的每个集合,右侧每个节点表示X的每个元素,而精确覆盖便是一种匹配,满足右侧的每个点恰好有一条边。 在旅行商问题中,这问题就相当于S是所有边的集合,X
您可能关注的文档
- 吃遍全球粉色版.ppt
- 台风 (用).ppt
- 各种原材料进场验收记录(正规的)A3栋.doc
- 台湾问题的前世今生.ppt
- 各类报表编制报送要求一览表.docx
- 合伙应注意的问题.ppt
- 合同法律制度及相关实务(林涌).ppt
- 司马立强-碳酸盐岩储层测井评价方法2.ppt
- 合并同类项去括号课件.ppt
- 合成与制备.ppt
- 2025年电动观光船在跨境旅游航线中的基础设施建设报告.docx
- 2025年医疗影像AI伦理风险识别与防范策略.docx
- 2025年跨境电商物流标准化体系构建研究报告.docx
- 2025年共享汽车平台共享出行平台与公共交通融合发展现状与趋势报告.docx
- 2025年阿里巴巴电商生态跨境电商供应链金融创新案例报告.docx
- 2025年电动观光船旅游航线旅游目的地旅游产品组合策略与市场拓展研究报告.docx
- 新能源汽车潜在用户2025年购车决策市场细分与差异化竞争研究报告.docx
- 2025年电动观光船旅游航线旅游目的地旅游品牌建设研究报告.docx
- 2025年电动观光船旅游航线智慧旅游发展现状与趋势研究报告.docx
- 2025年电动观光船旅游航线经济效益与社会效益综合评价报告.docx
文档评论(0)