欧拉图和哈密尔顿图.ppt

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
欧拉图和哈密尔顿图

实例 实例 已知有关人员a, b, c, d, e, f, g 的有关信息 a:说英语; ???b:说英语或西班牙语; c;说英语,意大利语和俄语; d:说日语和西班牙语 e:说德语和意大利语; f:说法语、日语和俄语; g:说法语和德语. 试问:上述7人中是否任意两人都能交谈? (可借助其余5人中组成的译员链帮助) 解一 解二 欧拉图和哈密尔顿图 一.欧拉回路:一般不限于简单图,一般指无向图 原问题:“右边的图中是否存在包含每条边一次且恰好一次的回路?” 原问题等价于:欧拉图 C D A B A C B D Eg. 哥尼斯堡七桥问题 定义欧拉回路,欧拉通路 定义  给定无孤立结点图G ,若存在一条路,经过图中的每边一次且仅一次,该路为欧拉路;若存在一条回路,经过图中的每边一次且仅一次,该回路为欧拉回路。 具有欧拉回路的图,称为欧拉图。 例 “一笔划”问题——G中有欧拉通路 ? 上图中,(1) ,(4) 为欧拉图 中国邮递员问题-模型 数学模型: 构造无向权图G,以道路为边,路长为权 问题的解——G中包含所有边的回路权最小,称为最优回路(未必是简单回路)。 当G是欧拉图,则最优回路即欧拉回路。 周游世界的游戏 1859 哈密尔顿 “周游世界”游戏: 20个城市,每个城市恰游一次,回到出发地 用一个正12面体的20个 顶点代表20个城市, 哈密尔顿图 定义  给定图G,若存在一条路经过图中所有结点一次且仅一次,这条路称为汉密尔顿路。若存在一条回路,经过图中每个结点恰好一次,这条回路称为汉密尔顿回路。 具有哈密尔顿回路的图,称为汉密尔顿图。 解 设7个人为7个结点, 将两个懂同一语言的人之间连一条边(即他们能直接交谈), 这样就得到一个简单图G, 问题就转化为G是否连通. 如图所示, 因为G的任意两个结点是连通的, 所以G是连通图. 因此, 上述7个人中任意两个人能交谈. a:说英语; b:说英语或西班牙语; C: 说英语,意大利语和俄语; d:说日语和西班牙语 e:说德语和意大利语; f:说法语、日语和俄语; g:说法语和德语. a b c d e f g a b c d e f g 英 英 西 日 法 德 意 如果题目改为:试问这7个人应如何安排座位, 才能使每个人都能与他身边的人交谈? 解:用结点表示人,用边表示连接的两个人能说讲一种语言,够造出哈密顿图如右上图所示。 a:说英语; b:说英语或西班牙语; c;说英语,意大利 语和俄语; d:说日语和西班牙语 e:说德语和意大利语; f:说法语、日语和俄语; g:说法语和德语. 货郎担/旅行推销员(TSP)问题: 在一个赋权的完全图中,找出一个具有最小权的H_回路,也即回路边的权之和最小 对该赋权图上的边,满足三角不等式(距离不等式) W(a,b) ? W(a,c) + W(c,b) 数学模型 构造无向带权图G, VG中的元素对应于每个城市, EG中每个元素对应于城市之间的道路,道路长度用相应边的权表示。 则问题的解对应于G中包含所有边的权最小的哈密尔顿回路。 G是带权完全图,总共有n!/2条哈密尔顿回路。因此,问题是如何从这n!/2条中找出最短的一条 eg:含20个顶点的完全图中不同的哈密尔顿回路有约6000万亿条-(1.21645?1017)/2,若机械地检查,每秒处理10万条,需2万年 货郎担问题的近似算法 1)由任一点v0开始,找一条与之相关联的权最小的边(V0 ,V1 ),形成初始回路v0 v1 2)设v0 v1 ??? vi 已选定,从V— {v0 v1 ???vi}中找一点 vi+1 与 vi 距离最近 3)重复2)直到所有节点都在通路中 4)连接始点与终点 不一定是最佳解 例 8 c d e a b e 14 12 9 5 6 7 13 11 10 从a出发的“较好的”回路, 14 8 a d c e b a 7 6 5 长度:40 算法精度下限 设算法所得的回路长度为d, d0 是最小H_回路的长度,G有n点,则 d / d0 ? ? [ln(n)+1]+ ? 改进: 如果在已有回路中,W(vi,vj)+ W(vi+1,vj+1) W(vi,vi+1)+ W(vj,vj+1), 则分别用边 vivi+1 和 vjvj+1 替代 vivj 和 vi+1vj+1。 从a出发的“较好的”回路长度:40 14 8 a a d c e b 7 6 5 9 10

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档