二部图应用
9.1 二部图 9.2 欧拉图 9.3 哈密顿图 9.4 平面图
1
9.1 二部图
▪ 二部图,完全二部图 ▪ 匹配,极大匹配,最大匹配,匹配数 ▪ 完备匹配,完美匹配 ▪ 交替路径,可增广的交替路径 ▪ Hall定理(相异性条件)
2
二部图
定义 设无向图 G = < V, E >, 若能将V 分成V1 和 V2 (V1V2=V, V1V2=), 使得G中的每条边的两个端 点都一个属于V1, 另一个属于V2, 则称G为二部图, 记 为<V1, V2, E>, 称V1和V2为互补顶点子集. 又若G是 简单图, 且V1中每个顶点均与V2中每个顶点都相邻, 则称G为完全二部图, 记为Kr, s , 其中r = |V1|, s = |V2|.
10
例9.5 M1 {e3, e5}, M2 {e1, e3, e6}, M2 {e2, e4}
是匹配.
e2e3e4e5e6 是关于M1的一条交替路径,而且是增广的. e3e2e1e5e6 是关于M2的一条交替路径,不是增广的.
11
Hall定理
定理(Hall定理) 设二部图G = <V1, V2, E>中, |V1| |V2|. G中存在从V1到V2的完备匹配当且仅 当V1中任意k 个顶点至少与V2中的k个顶点相邻 ( k = 1, 2, …, |V1| ).
20
作业: P202 8
21
17
例9.7 图中, (1), (4)为欧拉图; (2), (5)为半欧拉图; (3), (6)既不是欧拉图, 也不是半欧拉图.
在(3), (6)中各至少加几条边才能成为欧拉图?
18
欧拉图的判别法
定理 无向图G为欧拉图当且仅当G连通且无奇度顶点. 无向图G是半欧拉图当且仅当G连通且恰有两个奇度 顶点.
定理 有向图D是欧拉图当且仅当D连通且每个顶点的 入度都等于出度. 有向图D具有欧拉通路当且仅当D连通且恰有两个奇 度顶点, 其中一个入度比出度大1, 另一个出度比入度 大1, 其余顶点的入度等于出度.
19
例9.8 哥尼斯堡七桥问题 例9.9 下面两个图都是欧拉图. 从A点出发, 如何一次成功地走出一条欧拉回路来?
注意: 1、 Kr, s 中,n = r + s, m = r·s ;
2、n 阶零图为二部图.
3
二部图的判别法
定理 无向图G = <V, E>是二部图当且仅当G中无奇圈 . 例9.1 下述各图哪些是二部图?
全都是二部图
4
匹配
设G = < V, E >, 匹配(边独立集): 任2条边均不相邻的边子集; 极大匹配: 添加任一条边后都不再是匹配的匹
其中s, g, x分别表示上海、广州和香港. G如图所示.
G 满足相异性条件,因而可给 出派遣方案,共有9种派遣方案 (请给出这9种方案).
14
9.2 欧拉图
▪ 欧拉通路 ▪ 欧拉回路 ▪ 欧拉图 ▪ 半欧拉图
15
哥尼斯堡七桥问题
欧拉图是能一笔画出的边不重复的回路.
16
欧拉图
欧拉通路: 图中经过所有边一次且恰好一次的通路; 欧拉回路: 图中经过所有边一次且恰好一次的回路; 欧拉图: 有欧拉回路的图; 半欧拉图: 有欧拉通路而无欧拉回路的图. 几点说明: 1、上述定义对无向图和有向图都适用; 2、规定平凡图为欧拉图; 3、欧拉通路是简单通路, 欧拉回路是简单回路; 4、环不影响图的欧拉性.
7
例9.3 下列图中,
M1
M2
关于M1, a, M2是完美匹配
8
例9.4 图中红边组成各图的一个匹配, (1)为完备的, 但不是完美的; (2)不是完备的, 其实(2)中无完备匹配; (3) 是完美的.
(1)
(2)
(3)
9
设M为G中一个匹配, P为G中一条路径,若P是 由M中的与E(G) −M中的边交替组成的,则称P 为G中关于M的交替路径,简称交替路径。若 的两个端点都是M非饱和点,则称P为可增广 的交替路径。
13
例9.6 某课题组要从a, b, c, d, e 5人中派3人分别到上海、 广州、香港去开会. 已知a只想去上海,b只想去广州, c, d, e都表示想去广州或香港. 问该课题组在满足个人 要求的条件下,共有几种派遣方案?
解 令G = <V1, V2, E >, 其中V1={s, g, x}, V2={a, b, c, d, e}, E={(u, v) | uV1, vV2, v想去u},
由Hall定理不难证明, 例9.4 中(2)没有完备匹 配.
12
定理 设二部图G = <V1, V2, E>中, 如果存在t 1, 使得V1中每个顶点至少关联 t 条边, 而V2中每个 顶点至多关联 t 条边,则G中存在V1到V2的完备 匹配.
Hall定理中的条件称为“相异性条件”, 第二个 定
理中的条件称为 t 条件. 满足 t 条件的二部图一 定满足相异性条件.
配; 最大匹配: 边数最多的匹配;
匹配数: 最大匹配中的边数, 记为1 .
5
例9.2 求下列图的匹配数:
3
3
4
6
设M为G中一个匹配, vi 与vj 被M匹配: (vi , vj)M; v为M 饱和点: M中有边与v关联; v为M 非饱和点: M中没有边与v关联; M 为完美匹配: G 的每个顶点都是M 饱和点. 定义 设G =<V1, V2, E>为二部图, |V1||V2|, M是G中最 大匹配, 若V1中顶点全是 M 饱和点, 则称M为G中V1到 V2的完备匹配. 当|V1|=|V2|时, 完备匹配成为完美匹配.
二部图与完全二部图精讲
哈密尔顿图
与欧拉回路类似的是哈密尔顿回路问题。 它是1859年哈密尔顿首先提出的一个关于 12面体的数学游戏: 能否在下页图中找到 一个回路,使它含有图中所有结点一次且 仅一次? 若把每个结点看成一座城市,连 接两个结点的边看成是交通线,那么这个 问题就变成能否找到一条旅行路线,使得 沿着该旅行路线经过每座城市恰好一次, 再回到原来的出发地呢?为此,这个问题 也被称作周游世界问题。
(1) G中无圈, 则G必有一个度数为1的顶点v, 删除v及它关 联的边, 记作G . G 连通, 有n-1个顶点, k条边和r个面. 由归 纳假设, (n-1)-k+r=2, 即n-(k+1)+r=2, 得证m=k+1时结论成立.
(2) 否则,删除一个圈上的一条边,记作G . G 连通, 有n个顶 点,k条边和r-1个面. 由归纳假设, n-k+(r-1)=2, 即n-(k+1)+r=2, 得证m=k+1时结论也成立. 证毕.
但我们继续考察(b)图可以发现, 该图中有一条路 v2v3v4v5v2v1v5, 它经过(b)图中的每条边一次且仅
一次, 我们把这样的路称为欧拉路。
7
定义2 通过图G的每条边一次且仅一次的 路称为图G的欧拉路。 对于欧拉路有下面
的判定方法。
定理2 连通图G具有一条连接结点vi和vj的 欧拉路当且仅当vi和vj是G中仅有的两个奇
s=|V2|.
注意: n 阶零图为二部图.
2
二部图的判别法
定理 无向图G=<V,E>是二部图当且仅当G中无奇圈 例 下述各图都是二部图
3
欧拉图
历史上的哥尼斯堡七桥问题是著名的图论问题。 问题是这样的: 18世纪的东普鲁士有个哥尼斯堡
什么是二分图
(4)当(2),(3)步骤中断于情况(I),则将增广 路中非匹配边改为匹配边,原匹配边改为 非匹配边(从而得到一个比原匹配多一条边 的新匹配),回到步骤(1),同时消除一切 现有标记。 (5)对一切可能,(2)和(3)步骤均中断于情况 (II),或步骤(1)无可标记结点,算法终止(算法 找不到交替链).
A
B
什么是二分图?
二分图的一个等价定义:不含有(含奇数条边
的环)的图。图1是一个二分图。为了清晰,我们都 把它画成图2的形式。 无向图G为二分图的充分必要条件是,G至少有 两个顶点,且其所有回路的长度均为偶数
匹配
在图论中一个匹配是一个边的集合,其中任意 两条边都没有公共顶点。例如,图3中红色的边。
二分图及其应用
(Bipartite Graph & Applications)
主要内容:
什么是二分图? 二分图的各种匹配的定义?
如何利用匈牙利算法求最大匹配?
二分图的最小顶点覆盖 DAG图的最小路径覆盖 二分图的最大独立集
什么是二分图?
二分图又称作二部图,是图论中的一种特殊模型。 设 G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的 子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i 和j分别属于这两个不同的顶点集(i in A,j in B),则称图G 为一个二分图。
样例1二分图
样例2二分图
n1 n2 n3
p1 p2 p3
n1
p1 p2 p3
n2
n3
画图详细ห้องสมุดไป่ตู้详解过程
实现代码
#include<stdio.h> #include<string.h> int m,n; int G[110][310],link[310]; bool vis[310];
二部图匹配
一、人员安排问题 --完备匹配
设M和M’是E(G)的两个不交的非空真子集.G中 (M,M’)交错路是指其边在M和M‘中交错出现 的路. (M, M )交错路简称为M交错路,其中 M =E(G)\M. 设M是G的匹配,两端点不同且都是非M饱和 的M交错路称为M增广路.
(a)匹配M(粗边)
(b)增广路
3 2 w 2 0 1 5 2 4 1 2 5 0 4 1 1 4 2 1 0 3 1 2 0 0 3
二、最优安排问题 --最大权完备匹配
定理1 设l是G的可行顶点标号.若l等于子图 G l 有完备匹配M*,则M*是G最大权完备匹 配。 证明
二、最优安排问题 --最大权完备匹配
例2 继例1 完全2部图K5,5, X={x1,x2,…,x5}, Y={y1,y2,…,y5}. 边权矩阵为
3 2 w 2 0 1 5 2 4 1 2 5 0 4 1 1 4 2 1 0 3 1 2 0 0 3
D是完全图的定向图—竞赛图 竞赛图一定含Hamilton有向路.则任何一个加工排序一定是D中一条 Hamilton有向路. 反之,D中任何一条Hamilton有向路对应一个加工排序.
例 (J2,J3,J4,J5,J1,J6)是D中一条Hamilton有向路(图中粗边 所示).按这条Hamilton有向路的顺序安排加工的总耗时为5分钟.
一、人员安排问题 --完备匹配 匈牙利算法 1.任取G的匹配M.若M饱和X,则停止.若M不能饱 和X,则取X的非M饱和点x. 令S={x},T=N(S)\T 2.若N(S)=T,则停止,此时G中无完备匹配. 若N(S) ≠T,则取y∈N (S)\T. 3.若y是M饱和的,则存在z ∈X\S 使yz ∈ M.用S∪ {z}替代S, T ∪{y} 替代T,并转入第2步.若y是非 M饱和的,则G中存在以x为起点且以y为终点的M 增广路P.然后用M’ △E(P)替代M并转入第1步.
二分图理论
*7.5 二部图及匹配7.5.1二部图在许多实际问题中常用到二部图,本节先介绍二部图的基本概念和主要结论,然后介绍它的一个重要应用—匹配。
定义7.5.1 若无向图,G V E =的顶点集V 能分成两个子集1V 和2V ,满足(1)12V V V =,12V V φ=;(2)(,)e u v E ∀=∈,均有1u V ∈,2v V ∈。
则称G 为二部图或偶图(Bipartite Graph 或Bigraph),1V 和2V 称为互补顶点子集,常记为12,,G V V E =。
如果1V 中每个顶点都与2V 中所有顶点邻接,则称G 为完全二部图或完全偶图(Complete Bipartite Graph),并记为,r s K ,其中12,r V s V ==。
由定义可知,二部图是无自回路的图。
图7-55中,(),(),(),(),()a b c d e 都是二部图,其中(),(),(),()b c d e 是完全二部图1,32,32,43,3,,,K K K K 。
图7-55二部图示例显然,在完全二部图中,r s K 中,顶点数n r s =+,边数m rs =。
一个无向图如果能画成上面的样式,很容易判定它是二部图。
有些图虽然表面上不是上面的样式,但经过改画就能成为上面的样式,仍可判定它是一个二部图,如图7-56中()a 可改画成图()b ,图()c 可改画成图()d 。
可以看出,它们仍是二部图。
图7-56二部图示例定理7.5.1 无向图,G E =为二部图的充分必要条件为G 中所有回路的长度均为偶数。
证明 先证必要性。
设G 是具有互补节点子集1V 和2V 的二部图。
121(,,,,)k v v v v 是G 中任一长度为k 的回路,不妨设11v V ∈,则211m v V +∈,22m v V ∈,所以k 必为偶数,不然,不存在边1(,)k v v 。
再证充分性。
设G 是连通图,否则对G 的每个连通分支进行证明。
二部图在组合问题中的应用
那些 直线 B i即那 些直 线有偶 数条. A,
回到原 题.
以 s中 的点 为顶 点 作 一 个 图 G, 于 图 对
中的两点 、 , Y 当且 仅 当 中穿过 的直 线 条数 为偶数 时 , y是 图 G中的一 条边. 接下 来证 明 : G是 一 个 二 部 图 , G 图 即 中没 有奇 圈. 否则 , ‰ … 是 一 奇圈 , 考虑 一 设 , 个 则 个 二部 图 C+L 其 中 , , C是 由 k条线 段 XX , O
这 是 因为图 中的每一 条边都恰 有一 个顶 点在 中 , 也恰有 一个顶 点在 l中. , 例 1 在 12 … , , , n的 某个 排 列 o , .Ⅱ ,
…
结合 近年来 的 一些 国 内外竞 赛 题 , 明 二部 说
图的 一 常用方 法. 些
定义 1 设 是 一 个有 限 集 , ) ・ E( 是
4。
i 20 3j 0 8我爱数 学初 中生夏令 营数学 竞赛 『 ] 中等数 J.
学 ,(9 1 2g ( ) )
4l 第 3 4届 俄罗斯 数学 奥林 匹克 J . 中等数 学 .0 8 J 20
(1 ) 1.
} 姚 建慧. 8 一道 F 主招生趔的探究 i J 中等数学 ,09 1 . J 20
颜色, 使得 对 于 s中任意 两点 P、, q 当且仅 当 P q颜 色相 同时 , 、 £中穿 过 线段 p g的直 线 条
则称该 顶 点序 列构 成 一 个 长 为 k的通 路 ; 进 步, 若对任 意 0≤ <k都 有 ≠口, 称 < 则
一
因此 , 图中含有长度为奇数 的圈 ( 简称 为奇 圈 ) . 设 。 … 是 其 中长 度 最 小 的 奇 圈 ,
离散数学图论作业7-二部图匹配
离散数学图论作业7-二部图匹配Problem1证明:一个无回路的简单连通图最多只有一个完美匹配。
(完美匹配指能饱和所有顶点的匹配)Problem2从下图G=(A,B,E)中,找出相对于匹配M(粗边的集合)的任意三条交错路径(alternating path)和至少两条增广路径(augmenting path),然后利用增广路径扩大M来找到最大匹配。
a0 a1 a2 a3 a4 a5b0 b1 b2 b3 b4 b5Problem3对于哪些n值来说,下列图是存在完美匹配的二部图?a)K nb)C nc)Q n对于每一个二部图G=(A,B,E),判断G是否有饱和A的匹配。
如果没有,请说明理由。
(1)(2)(3)(4)Problem5令k为一整数。
对于任意有限集合,证明对它的任意两个k划分都存在一个相同的代表集。
•集合的k划分指划分为大小相同的互不想交的k个子集,为简便起见,设集合的大小为k的整数倍从而每个子集均有相同个元素。
•一个划分的代表集指从每个子集中取出一个元素而构成的集合。
举例:集合{1,2,3,4}的一个2划分为A:{1,2}{3,4}。
此划分的代表集有{1,3},{2,3},{1,4},{2,4},但{1,2}不是其代表集。
集合的另外一个划分为B:{2,3}{1,4}。
易见,A与B存在相同的代表集{1,3}。
Problem6假设某校计算机系学生选导师时出现了这样的情况:对于每一位学生,至少对k名导师感兴趣;对于每一位导师,至多有k名学生对他感兴趣。
假设每位导师只能指导1名学生,且每位学生也只能选择1名导师。
试证明:存在这样的匹配,使得每位学生都能选到自己感兴趣的导师。
证明一个6×6的方格纸板挖去左上角和右下角后不能用剪刀裁剪成若干1×2的小矩形。
二部图的两个判定方法及性质
完 , 图 G是二 部 图 , 在标 注 过 程 中出 现 了两 个 则 若 都标 注为 或 曰的点 相邻 , 图 G不是二 部 图 。 则
V ={ E V( ) J G ^d( , ) V 。 口 为偶 数 } V , =
{ 』 ∈ V( Ad , 为奇数 }易知 。 , G) ( 。 ) , ≠
o h ri t s h e ie h o e t e ie T e c n r e f t ma c i g a d t e c lrn fb p ri rp e d s t e o u e t e d cd d t e r m o d cd . h e ta p re th n n h oo g o ia tt g a h a — s l c i e r i c s e i l n t ep o e t so ia t eg a h.I p h d e a l h i a t e g a h. u sd ma ny i h r p ri fbp ri rp e t ta p e x mpe i t e bp r i r p n t
1 二 部 图 的两个 判 定
11 标 注法 .
在 图 1b 中标 注到 C点处 时 , () 既不 能标 注 为 A
又不 能标注 为 B 故 图 1b不 是二部 图。 , ()
1 2 定理 判定 .
由二 部图 的定 义 , G中 的所 有点 可 以分 为两 图 部分 、 、 ( =12 中的点互不相邻, : i ,) 因此可 以用 标注法来 判定 一个 图是否 为二 部 图。 不妨设 图 G是 连通 的 , 不 连通 , 对 G 的各 若 可 个连通 分 支 分 别 讨 论 。在 G 中任 找 一 点 , 注 为 标 A, 与 A 相 邻 的 点 全 部 标 注 为 B, 把 与 标 注 然后 再 为 B 的点 相邻 的没有 标注 的点全 部标 注 为 A, 照此 步 步标 注下 去 , 能 把 图 G 的所 有 点 这 么 标 注 若
二部图理论
基于二部图(Bipartite Network)的推荐算法不必考虑用户和项目的内容信息,它是一种结合物质扩散(Massive Diffusion)理论的推荐算法。
周涛[1]等人研究了一些物理学的知识,比如热传导理论以及物质扩散理论等,并将它们应用在推荐算法中,提出了这种基于二部图的推荐算法。
二部图是一种特殊的网络,它包含有两类不同类型节点,并且仅允许不同类型的节点之间可以有连线。
自然界许多问题可以利用二部图进行解决,比如性别关系、边着色问题等。
在二部图的应用中,同一类型节点之间的合作相互关系成为了研究领域的热点。
比如,可以利用由演员节点和演出剧目节点组成的二部图来研究演员之间在演出中的合作关系。
在一个具体的推荐系统中,可以把用户看作是一类节点,把项目看作是另一类节点。
通过由用户节点和项目节点组成的二部图,我们可以利用相邻的用户为目标用户推荐可能感兴趣的项目。
物质扩散类似于在复杂网络中的随机游走的概念。
它假设在一个系统中有着固定数量的“物质”在传递,并且在传递的过程中这些“物质”的总量始终保持守恒。
最后系统稳定状态的结果与节点的度数成正比。
在推荐系统中,我们认为目标用户所选择过的项目能够提供一定的推荐能力信息。
在操作过程中,首先为每个项目赋予初始资源1。
根据物质扩散的理论,物质的传递过程分两步走。
第一步,每个项目将自己的资源通过二部图的边均匀地分配给选择过该项目的每个用户,这样资源就从项目节点传递到了用户节点。
第二步,每个用户再将自己分配到的资源通过二部图的边平均分配给他选择过的项目,这样资源又传回到了项目节点。
虽然资源的总量在传递过程中是守恒的,但通过两次传递,每个项目所具有资源的分配状态发生了改变。
系统最后可以根据项目所拥有的资源的分布状态来计算它们之间的相似度,并确定最近邻集。
(引入具体的公式,并将改进的论文附上)文献[2]将物质扩散理论运用到了Item-based协同过滤推荐算法。
算法将选选项目的资源初始值都设为1,用稳定状态时两个项目的资源传递总量来表示它们之间的相似程度,最后利用这个相似度来计算目标用户的预测评分,并把评分较高的项目推荐给他。
二分图匹配
匈牙利算法和KM算法简介
二分图的概念
二分图又称作二部图,是图论中的一种特殊 模型。 设G=(V,{R})是一个无向图。如顶点集V可分 割为两个互不相交的子集,并且图中每条边 依附的两个顶点都分属两个不同的子集。则 1 2 3 4 5 称图G为二分图。
1
2
3
4
最大匹配
给定一个二分图G,在G的一个子图M中,M 的边集{E}中的任意两条边都不依附于同一个 顶点,则称M是一个匹配。 选择这样的边数最大的子集称为图的最大匹 最大匹 配问题(maximal matching problem) 配问题 如果一个匹配中,图中的每个顶点都和图中 某条边相关联,则称此匹配为完全匹配 完全匹配,也 完全匹配 称作完备匹配。 完备匹配。 完备匹配
例题1 Place the Robots(ZOJ1654) 问题描述
有一个N*M(N,M<=50)的棋盘, 棋盘的每一格是三种类型之一: 空地、草地、墙。机器人只能放 在空地上。在同一行或同一列的 两个机器人,若它们之间没有墙, 则它们可以互相攻击。问给定的 棋盘,最多可以放置多少个机器 人,使它们不能互相攻击。
匈牙利算法
在主程序中调用下面的程序即可得出最大匹 配数。 Bmatch := 0; For I:=1 to n do Bmatch := Bmatch + find(i); Writeln(Bmatch); 一个关于二分图的性质: 最大匹配数+最大独立集=X+Y
最佳匹配
如果边上带权的话,找出权和最大的匹配叫 做求最佳匹配。 实际模型:某公司有职员x1,x2,…,xn,他们去 做工作y1,y2,…,yn,每个职员做各项工作的效 益未必一致,需要制定一个分工方案,使得 人尽其才,让公司获得的总效益最大。 数学模型:G是加权完全二分图,求总权值 最大的完备匹配。
第7章 图论 -5二部图、平面图
第9章 图论
2)在G中求最大匹配 把边 (a2,b2) 从 M 中去掉,而把 (a1,b2) 和 (a2,b4) 添加到 M 中, 得到新的匹配M′=(a1,b2),(a2,b4),(a3,b3), (a5,b5),如下图所示。 对于匹配M′= (a1,b2),(a2,b4),(a3,b3), (a5,b5)重复上述过程, 已找不到M′可扩路。所以M′就是最大匹配。
第9章 图论
在子图H中,任一结点至多与M中的一条边关联且与M1中 一条边关联。因而任一结点的度数是1或2。故H的连通分支是 一条路,或者是一个回路。 如果 H的连通分支是一条路 P,则它是 M 交替路,也是 M1 交替路。如果P的两个端点均与M中的边关联,则P是M1可扩路。 由假设知, M1 是最大匹配,所以,不存在 M1 可扩路,得到矛 盾。如果P的两个端点均与M1的边关联,那么P是一条M可扩路 与题设矛盾。故 P 只能是一个端点与 M 中的边关联,另一个端 点与M1中的边关联,这样P中属于M的边数与属于M1的边数相 等。 如果 H的连通分支是一个回路,回路中的边交替地属于 M 和M1,因而属于M的边数与属于M1的边数相等。 从上面可以看到,H中属于M的边与属于M1的边的数目相 等。再加上既属于M又属于M1的边,可以得出:M中的边数与 M1中的边数相等。所以,M是最大匹配。
第9章 图论
由上述讨论可见:利用可扩路可以增加匹配所含的边数。 不断地寻求G的可扩路,直到再也找不到新的可扩路,就可得 到一个最大匹配。将这个结论写成下列的定理。 定理 7.5.2 设 G=V1,V2,E是二部图, M为G的最大匹配的充分 必要条件是G中不存在M可扩路。 证明:设M为G的最大匹配,下证G中不存在M可扩路。 如果G中存在一条M可扩路,则可以得到比M的边数多1的 匹配,所以M 不是最大匹配,矛盾。所以G 中不存在M 可扩路。 设G中不存在M可扩路,下证M为G的最大匹配。 设M1是最大匹配,证明|M|=|M1|。 考察属于M而不属于M1和属于M1而不属于M中的边,由这 些边连同它们的端点一起构成G的子图H。
