离散数学(7.4欧拉图与汉密尔顿图)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•
【例7.4.1】设一个旋转鼓的表面被分
成24个部分, 如图7 - 26所示。 其中每 一部分分别由导体或绝缘体构成, 图中 阴影部分表示导体, 空白部分表示绝缘 体, 绝缘体部分给出信号 0 ,导体部分 给出信号 1 。 根据鼓轮转动后所处的位 置, 4个触头a, b, c, d将获得一定 的信息。 图中所示的信息为 1101 , 若 将鼓轮沿顺时针方向旋转一格, 则 4 个 触头a, b, c, d获得1010 。试问鼓轮
7.4 欧拉图与汉密尔顿图
• •
•
7.4.1 欧拉图 7.4.2汉密尔顿图
7.4.1 欧拉图
• 历史上的哥尼斯堡七桥问题是著名 的图论问题。 • 问题是这样的: 18世纪的东普鲁士 有个哥尼斯堡城, 在横贯全城的普雷格 尔河两岸和两个岛之间架设了7座桥, 它 们把河的两岸和两个岛连接起来(如图 7.4.1)。
图 7.4.6
•
解: 问题的答案是肯定的。 下面 谈一下解决这个问题的思路。 • 设αi∈{ 0, 1 }(i∈N16)。 每旋转一格, 信号从α1α2α3α4转到 α2α3α4α5, 前者的右 3 位决定了后者的 左 3 位。 于是, 我们的想法是将这16个 二进制数字的环形α1α2…α16对应一个欧拉 有向路, 使其边依次为α1α2α3α4, α2α3α4α5, α3α4α5α6, …(图7 ― 27)。 我们把α2α3α4对应一个结点, 它是弧 α1α2α3α4的终点也是弧α2α3α4α5的始点。 这样我们的问题就转化为以3位二进制数
•
定理7.5.4 设图G=〈V ,E〉 是汉密尔顿图, 则对于 V 的每个非 空子集S, 均有 • W(G-S)≤|S| • 成立, 其中W(G-S)是图G -S的连通分支数。
•
证明 : 设 α 是 G 的汉密尔顿回 路, S是V的任一非空子集。 在G- S中, α最多被分为|S|段, 所以 • W(G-S) ≤|S| • 利用本定理可判别某些图不 为汉密尔顿图。 如在图 7.4.10 中, 若取S={v1, v4}, 则G-S有 3 个连通分支, 故该图不是汉密尔顿 图。
【例7.4.2】某地有5个风景点。 若每个
景点均有两条道路与其他景点相通, 问是 否可经过每个景点恰好一次而游完这5处?
• • •
解 将景点作为结点, 道路作为边, 则得到一个有5个结点的无向图。 由题意, 对每个结点vi, 有deg(vi) =2(i∈N5)。 则对任两点vi, vj(i, j∈N5)均有
图 7.4.4 图G
Baidu Nhomakorabea
•
充分性: 我们可以这样来作 一个闭迹β, 假设它从某结点A开始, 沿着一条边到另一结点, 接着再从这 个结点, 沿没有走过的边前进, 如此 继续下去。 因为我们总是沿着先前没 有走过的新边走, 又由于图G的边数 有限, 所以这个过程一定会停止。 但 是, 因为每一个结点都与偶数条边关 联, 而当沿β前进到达结点v 时, 若 v≠A, β走过了与v关联的奇数条边, 这样在v上总还有一条没有走过的边。
•
在图7.2.3中, (a)图的每个结点 的度数都为4, 所以它是欧拉图; (b) 图不是欧拉图。 但我们继续考察 (b) 图 可 以 发 现 , 该 图 中 有 一 条 路 v2v3v4v5v2v1v5, 它经过(b)图中的每条 边一次且仅一次, 我们把这样的路称为 欧拉路(非欧拉回路)。 • 定义7.5.2 通过图G的每条边一 次且仅一次的路称为图G的欧拉路。 对 于欧拉路有下面的判定方法。
•
例如(仅写出边的序列) e0e1e2e4e9e3e6e13e10e5e11e7e15e14e1 2e8。 根据邻接边的标号记法, 这 16个二进制数可写成对应的二进制 序列0000100110101111, 把这个 序列排成环状, 与所求的鼓轮相对 应, 如图7.4.6所示。 • 该例可推广到鼓轮有n个触 点的情况。
•
deg(vi)+deg(vj)=2+2=4=5-
• 我们再通过一个例子, 介绍一个判别汉 密尔顿路不存在的标号法。
• 【例7.4.3】证明图7 ― 31所示的图没
有汉密尔顿路。 • 证明: 任取一结点如 v1, 用A标记, 所有与它相邻的结点标 B 。 继续不断地 用A标记所有邻接于B的结点, 用B标记 所有邻接于 A 的结点, 直到图中所有结 点全部标记完毕。 • 如 果 图中 有 一条 汉 密尔 顿 路 , 则必交替通过结点A和B。 因此或者结点
•
如果β走遍了G的所有边, 那么我们就得到所希望的一条欧拉 回路。 如果不是这样, 那么在β上 将有某一结点 B , 与它关联的一些 边尚未被β走过(因G连通)。 但是, 实际上, 因为β走过了与B关联的偶 数条边, 因此不属于β的与B关联的 边也是偶数条。 对于其他有未走过 边所关联的所有结点来说, 上面的 讨论同样正确。 于是若设 G1是G- β的包含点B的一个连通分支, 则G1
图7.4.10
• •
• • •
•
定理 7.5.5 设G=〈V ,E〉是有n个 结点的简单图, 1) 如果任两结点u, v∈V, 均有 deg(u) + deg(v)≥ n - 1, 则在 G 中存在一条汉密尔顿路; 2) 如果对任两结点u, v∈V, 均有 deg(u)+deg(v)≥ n,
•
•
运用上面的讨论, 我们在G1中 得到一个从 B 点出发的一条闭迹 β1 。 这样我们就得到了一条更大的闭迹, 它是从A点出发沿β前进到达B, 然后 沿闭迹β1回到B, 最后再沿β由B走到 A 。 如果我们仍然没有走遍整个图, 那么我们再次把闭迹扩大, 以此类推, 直到最后得到一个欧拉回路。 • 由于在七桥问题的图 7.4.2 中, 有4个点是奇数度结点, 故不存在欧
•
•
研究这个问题是十分有趣且 有实用价值的。 但很可惜, 至今没 有找到一个很有效的算法。 • 当然我们可以用枚举法来解, 但是当完全图的结点较多时, 枚举 法的运算量在计算机上也很难实现。 下面介绍的“最邻近方法”给出了 问题的近似解。 最邻近方法的步骤 如下: • 1) 由任意选择的结点开始,
•
图 7.4.1哥尼斯堡七桥问题示图
图 7.4.2哥尼斯保七桥问题简化图
•
定义 7.5.1 给定无孤立结点的 图 G , 若存在一条经过 G 中每边一次 且仅一次的回路, 则该回路为欧拉回 路。 具有欧拉回路的图称为欧拉图。 • 例如, 给出如图 7.4.3 所示的 两个图, 容易看出, (a)是欧拉图, 而(b)不是欧拉图。 •
图 7.4.12
图 7.4.13
• •
小结:本节介绍了两种特殊的图 — 欧拉图与汉密尔顿图及其判别方法 。 • 重点: 掌握欧拉图及一笔画图的判 别方法 。 • 作业: P311 (1),(3) , •
•
• • • • • •
定理 7.5.2 连通图 G 具有一条连 接结点vi和vj的欧拉路当且仅当vi和vj是G 中仅有的奇数度结点。 证明 : 将边 (vi , vj) 加于图 G 上, 令其所得的图为G′(可能是多重图)。 由定理7.5 .1知: G有连接结点vi和vj的欧拉路, iff G′有一条欧拉回路, iff G′的所有结点均为偶度结点, iff G 的所有结点除 vi 和 vj 外均为 偶度结点,
图 7.4.7 欧拉有向路示图
•
构造一个有8个结点的有向图G (图7 ― 28)。 其结点分别记为3位 二进制数 000 、 001 、 010 、 011 、 100 、 101 、 110 、 111 。 从 结 点 α1α2α3出发可引出两条有向边, 其终 点分别是 α2α3 0和 α2α3 1, 记这两条 有向边为 α1α2α3 0和 α1α2α3 1。 这样 图G就有16条边。 由于G中每点的入度 等于出度都等于2, 故在图中可找到 一条欧拉回路。
•
每逢假日, 城中居民进行环城游玩, 人们对此提出了一个“遍游”问题, 即 能否有这样一种走法, 使得从某地出发 通过且只通过每座桥一次后又回到原地 呢? 我们将图 7.4.1 中的哥尼斯堡城 的4块陆地部分分别标以A, B, C, D, 将陆地设想为图的结点, 而把桥画成相 应的连接边, 这样图 7.4.1 可简化成图 7.4.2 。 于是七桥“遍游”问题等价于 在图 7.4.2 中, 从某一结点出发找到一
图7.4.11
•
而本题有3个结点标记 A , 5个结点标记 B , 它们相差2个, 所以该图不存在汉密尔顿路。 作为汉密尔顿回路的自然推 广是著名的货郎担问题。 问题是这 样叙述的: 设有一个货郎, 从他所 在的城镇出发去 n -1个城镇。 要 求经过每个城镇恰好一次, 然后返 回原地, 问他的旅行路线怎样安排
图 7.4.8 具有 8 个结点的有向图G
•
•
7.4.2 汉密尔顿图
与欧拉回路类似的是汉密尔 顿回路问题。 它是1859年汉密尔顿 首先提出的一个关于 12 面体的数学 游戏: 能否在图7.4.9中找到一个回 路, 使它含有图中所有结点一次且 仅一次? 若把每个结点看成一座城 市, 连接两个结点的边看成是交通 线, 那么这个问题就变成能否找到
2) 设x表示最新加到这条路 上的结点, 从不在路上的所有结点 中选一个与x最靠近的结点, 把连 接 x 与这一结点的边加到这条路上。 重复这一步, 直到 G 中所有结点包 含在路上。 • 3) 将连接起始点与最后加入 的结点之间的边加到这条路上, 就 得到一个圈, 即为问题的近似解。 •
•
【例 7.4.4】某流动售货员居住在 a城, 为推销货物他要访问b, c, d 城后返回 a 城。 若该4城间的距 离如图 7.4.12 所示, 试用最邻近方 法找出完成该旅行的最短路线? • 解 按最邻近方法一共有4步, 见图7.4.13。 得到的总距离为46。
•
我国民间很早就流传一种“一笔 画”游戏。 由定理 7.5 .1 和定理 7.5.2 知, 有两种情况可以一笔画。 • 1) 如果图中所有结点是偶数度结 点, 则可以任选一点作为始点一笔画完; • 2) 如果图中只有两个奇度结点, 则可以选择其中一个奇度结点作为始点 也可一笔画完。
•
【例 7.4.1】图 7.4.5(a) 是一幢房子 的平面图形, 前门进入一个客厅, 由客厅通向 4 个房间。 如果要求每 扇门只能进出一次, 现在你由前门 进去, 能否通过所有的门走遍所有 的房间和客厅, 然后从后门走出。
图 7.4.5
•
解: 将4个房间和一个客厅及前 门外和后门外作为结点, 若两结点有 边相连就表示该两结点所表示的位置 有一扇门相通。 由此得图 7.4.5(b) 。 由于图中有4个结点是奇度结点, 故由 定理7.5.2知本题无解。 • 类似于无向图的结论, 对有向 图有以下结果。
•
定理7.5.3 一个连通有向图具有 (有向)欧拉回路的充要条件是图中每 个结点的入度等于出度。 一个连通有向 图具有有向欧拉路的充要条件是最多除 两个结点外的每个结点的入度等于出度, 但在这两个结点中, 一个结点的入度比 出度大1, 另一个结点的入度比出度少1。 • 下面举一个有趣的例子是计算机 鼓轮的设计。
图 7.4.3
•
定理 7.5.1 连通图G是欧拉图 的充要条件是 G 的所有结点的度数都 是偶数。 • 证明: 必要性: 设G是一欧拉 图, α是G中的一条欧拉回路。 当α通 过G的任一结点时, 必通过关联于该 点的两条边。 又因为G中的每条边仅 出现一次, 所以 α所通过的每个结点 的度数必定是偶数。
图 7.4.9 12 面体游戏示图
•
对图7.4.9 , 图中粗线给出了这 样的回路。 • 定义 7.5.3 给定图G, 若有一条 路通过G中每个结点恰好一次, 则这样的 路称为汉密尔顿路;若有一个圈, 通过G 个每个结点恰好一次, 这样的圈称为汉密 尔顿回路(或汉密尔顿圈)。 具有汉密尔 顿回路的图称为汉密尔顿图。 • 尽管汉密尔顿回路与欧拉回路问题 在形式上极为相似, 但是到目前为止还不 知道一个图为汉密尔顿图的充要条件, 寻 找该充要条件仍是图论中尚未解决的主要