1、本科生毕业论文设计题目 二分图的判断、算法及应用 作者姓名 纪晔 指导教师 田子红 所在学院 汇华学院 专 业 数学与应用数学 班级(届) 2012 届 2 班 完成日期 2012 年 05 月 01 日目录中文摘要、关键词II引言11、图及二分图的概念 12、二分图的性质 43、二分图的判断 63.1 定义法 63.2 着色法 73.3 回路判别法 84、二分图匹配算法简介 104.1 二分图的最大匹配 114.2 HK 算法 124.3 二分图最优匹配 124.4 极小覆盖的求法 134.5 最短路算法 145、用二分图巧解实际问题 156、结论 20参考文献 21英文摘要、关键词 III
2、二分图的算法、判别及应用摘要 在日常生活、生产活动及科学研究中,人们常用点表示事物比如人群、城市、网络等等,用点与点之间是否有连线表示事物之间是否有某种关系,这样构成的图形称为图。本文通过对图、二分图等概念的诠释,归纳出二分图的性质,得到了匈牙利、HK 等各种算法,最后总结出二分图的判断方法以及其在实际问题中的应用。 关键词 图,二分图,匹配,HK 算法 1二分图的算法、判别及应用引言图论是近年来发展迅速而又应用广泛的一门新兴学科。它最早起源于一些数学游戏的难题研究,如 1736 年欧拉所解决的哥尼斯堡七桥问题,以及在民间广泛流传的一些游戏难题,如迷宫问题,匿门博奕问题,棋盘上马的行走路线问题
3、等。这些古老的难题,当时吸引了很多学者的注意,在这些问题研究的基础上又继续提出了著名的四色猜想,汉密尔顿数学难题。1847 年,克希霍夫 (Kirchhoff) 用图论分析电路网络,这是图论最早应用于工程科学,以后随着科学的发展,图论在解决运筹学,网络理论,信息论,控制论,博奕论以及计算机科学等各个领域的问题时,显示出越来越大的效果。图论在各种物理学科,工程领域,社会科学和经济问题的广泛应用,使它受到数学和工程界的特别重视。对于这样一门应用广泛的学科,在实际生活中的应用也是屡见不鲜。如今孩子们的婚姻成了家长们最关心的话题,随着近几年离婚率的提升,如何选择一个稳定的适合自己的伴侣呢?也许您会问道
4、,这是用了我们数学中的哪部分知识来解决的?这就是组合数学二分图匹配中著名的婚姻稳定问题,它与我们的生活息息相关。那么什么是二分图,二分图又具有哪些性质,如何判断二分图,二分图匹配有哪些具体的算法,以及在生活中有什么应用呢?下面就让我们一起走入二分图的多彩世界!1.图的基本概念图:一个图 是指一个有序三元组 ,其中 是非空的顶点G,GVEV集, 是不与 相交的边集,而 是关联函数,它使 的每条边对应EV于 的无序顶点对。若 是一条边,而 和 是使得 的顶点,则称euvGeuv连接 和 ;顶点 和 称为 的端点。一条边的端点称为与这条边关联。euvuv2环:端点重合为一点的边称为环。连杆:端点不相
5、同的边称为连杆。例 1: ,GGVE这里, uvwxy,abcdefgh而 定义为G,GGGauvbcwdxexfghy例 2:给出 的一个图形,31e23e45e671vvv其中 就是一个环, 的其余边都是连杆。3eG简单图:如果一个图既没有环也没有两条连杆连接同一对顶点,我们就说这样的图是简单图。例 3:给出 的一个图形G1v2v3v4v5abcdefgh图中没有任何环且无任意两条连杆连接同一顶点对,该图就为一个简单图。图的同构:一般来说,两个图 和 称为同构,如果存在两个一一映射 :GH和 : ,使得 当且仅当VGHEGeuv;这样一个映射对 称为 和 之间的一个同构。两euv,H个图
6、和 是恒等的,如果 , , 。显然两VEGH3个恒等的图可用同一个图形来表示,差别在于它们的顶点和边有不同的标号。4完全图:每一对不同的顶点都有一条边相连的简单图称为完全图。在同构意义下, 个顶点的完全图只有一个,记为 。nnK二分图:指一个图的顶点集可以分解为两个(非空)子集 和 ,使得每条边XY都有一个端点在 中,另一个端点在 中;这样一种分类 称为图的一个XY,二分类。完全二分图:是指具有二分类 的简单二分图,其中 的每个顶点都与, X的每个顶点相连;若 而 ,则这样的图记为 ,YXmYn,mnK。,mnEK例 4:由立方体的顶点和边所确定的图1v2v3v4v5v6v7v8vab图 是二
7、分图,图 为完全二分图。b关于二分图和完全二分图的判断,在下面的判别方法中会做详细阐述。2.二分图的性质为了介绍图的基本性质,我们先引入一些术语和符号。4点覆盖:是指从图中找出一个点集 ,使得图中任意边与点集中某点相关联。V5最小点覆盖:设 , ,若对于 , ,使得 与 相关,GVEMeEvMve联,则称 覆盖 ,并称 为 的点覆盖集或者点覆盖;顶点个数最少的点覆ve盖称为最小点覆盖。 匹配:给定简单无向图 ,若 且 中任意两条边都不邻接的,,VE则子集 称为 的一个匹配(或者称之为对集) 。MG完美匹配和最大匹配:如果 是 的一个匹配,若 中的边与结点 关联,则MGMv称 是 一饱和的;若
8、中的每个结点 都是 一饱和的,则称 是完全匹配。v v如果 中没有匹配 ,使 ,则称 是最大匹配。11独立集:是指图的顶点集的一个子集,该子集的导出子图不含边。最大独立集:一个图中包含顶点数目最多的独立集称为最大独立集。最大独立数:从 个顶点中选出 个顶点,使得这 个顶点互不相临。那么最Vkk大的 就是这个图的最大独立数。k极大独立集:设 是 的一个独立集,并且对于 中的任一顶点 , 都KGVKvK不是 的独立集,则称 是 的一个极大独立集。性质:1) 二分图的最小点覆盖数等于该二分图的最大匹配数。2) 二分图的顶点数减去其最大匹配数等于该二分图的最大独立集。3) 对于任何无向图,最大独立数加
9、上最大匹配数等于图的顶点数。4) 设二部图 中, , 中存在 到 的完备匹Hal定 理 12,GVE12VG12V配当且仅当 中任意 个顶点与 中 个顶点相邻。1Vkk5) 设二部图 中, 中每个顶点至少关联 条边,而 中每12,1 t2个顶点至多关联 条边,则 中存在 到 的完备匹配。tGV266) 设 为二部图,则 。12,GVE2xG对 加以证明,Hal定 理定理的必然性是显然的,下面证明充分性,即证只要满足相异性条件,中最大匹配一定是完备匹配。设 为 的一个最大匹配,若 不是完备匹GMGM配,必存在 为 的非饱和点,且必存在 与 关联,否则1xvV1eExv将是孤立点,这与相异性条件矛
10、盾,并且 与 相邻的顶点都是 饱和点。xv 2Vxv-若存在 为饱和点,则 也是匹配,这显然与 为最大匹2y ,xy配矛盾。于是令 ,1SvVv且 在 从 出 发 的 交 错 路 径 上,由于各条交错路径的两个端点都在2 xTvV且 在 从 出 发 的 交 错 路 径 上中,所以 。这说明 中 个顶点只与 中 个顶点相邻,这与ST1T2VT相异性条件矛盾,因而 中不可能存在 非饱和点。故 是完备匹配。-M3.二分图的判断3.1 定义法根据二分图定义,把握定义要点。可以分解为两个(非空)子集 和 ,XY使得每条边都有一个端点在 中,另一个端点在 中。XY例 1:判断下图是否为二分图?7a bcd
11、efg解:根据二分图定义,我们可以尝试着把顶点分为a,b,d和c,e,f ,g 两个非空集合。我们可以发现每条边都连接这两个非空集合里的顶点,根据定义可以判定这个图为二分图。3.2“着”色法首先将任意一个顶点赋以红色,然后将其相邻接的顶点赋以蓝色,按照这样的着色方法能否将全部顶点附上颜色,并且相邻接的顶点颜色不同。如果可以我们就可以判定该图为二分图。 (只假设红、蓝两种颜色)方法证明:如果假设 为二分图,那么它是由 和 两个互不相交且不为GUV空集的顶点构成的。每一条边都连接着 和 中的顶点。我们如果对于 U 中的每个顶点赋以红色,而 中的顶点赋以蓝色,那么相邻接的顶点就不会被赋以V相同的颜色
12、,从而该方法可以判别。例 2:判断下图是否为二分图?8a cdef解:为了不失一般性,我们假设 a 赋以红色,那么必须对 b 和 f 赋以蓝色,因为他们每个都与 a 邻接。同理,我们再赋以 c、 d 和 e 红色,由于分别与 f 和d 邻接。但是 c 和 d,d 和 e 相邻接并且还赋以了相同的颜色,与我们着色法不相符,所以判定该图不为二分图。问题延伸:那么对于例 1 中的图,我们也用着色法进行一下判断,是否可行呢?我们假设 a 点赋以红色,那么与 a 相邻接的 c、e、 f 和 g 点我们赋以蓝色;再把与 c、e、f、 g 点相邻接的顶点赋以红色,得出 a、b、d 为红色。我们可以发现图中所
13、有点都被赋以了颜色,并且相邻接的点的颜色都不相同。所以我们可以判断例 1 中的图为二分图。3.3 回路判别法圈(回路):称一条途径是闭的,如果它有正的长且起点和终点相同。若一条闭迹的起点和内部顶点互不相同,则它称为圈。奇圈:如果长为 的圈且 为奇数,称 圈为奇圈。kk定理:一个图 是二分图当且仅当 中不含奇圈。GGb9a bcde我们就可以说 a、b、c 、d 、a 就是长度为 4 的回路。例 3 判断下图是否为二分图?a b cef dgh解:根据我们回路判别法,能否找出图中任何一个回路是由奇数条不同的边构成的。比如 a、h、c 、 d、a 是长度为 4 的回路;a 、g、c 、d、a 也是
14、长度为4 的回路;a、 f、c 、d、a 是长度为 4 的回路;a、 e、c、d、a 也是长度为 4 的回路 我们会发现所有回路长度均不会为奇数,所以可以判断该图是二分图。问题延伸:如果遇到顶点和边数比较多的图,过程就会过于繁杂,而带来不必要的麻烦,对于例 3 有没有更简便的解决办法呢?我们再重新看下例 3 中的图910a b cef dgha、b、c 三点互不相交;d 、e、f、g、h 也互不相交,并且 a、b、c 分别与d、e、f 、g、h 各由一条边连接。具有一定的规律和对称性,跟例 1 和例 2 中的图对比起来,优越性要强很多。那么我们就把a 、b、c 和 d、e、f、g、h分别看成是
15、由顶点构成的子集。当且仅当一个顶点属于a、b、c ,而另一个顶点属于d、e、f 、g、h ,从而形成顶点之间的边,那么我们就规定这样的二分图为完全二分图。一个顶点集数为 2,一个顶点集数为 5,我们就把例 3 中的完全二分图,记作 。3,5K以后我们在预见类似例 3 中的图,就可以直接运用完全二分图的概念来解决问题,从而省去了不必要的麻烦。小结:我们在探讨完二分图判定的三种方法之后,做一简单比较。定义法可以用在各种二分图的判定之中,但是考虑到顶点个数较多,从而可操作性就显得差了一些。 “着”色法,利用了我们数学中的反证的思想,只要存在一组不满足相邻顶点着色不同的条件,就可以判断该图不是二分图,
16、从而省去了大量的繁杂的过程,比较简便。而对于回路判别法,它为二分图的判定开辟了一条新的思路,与路径的知识结合在一起,为二分图的判定方法锦上添花,但是考虑的回路条数过多,容易出错,所以此方法也用在顶点数目较少的情况下。4.二分图算法简介二分图匹配算法是二分图的一个重要组成部分,也是我们解决实际问题方10面的基础和工具。114.1 二分图的最大匹配增广路:令 是图 中的一个匹配。若存在一个链,它是分别由M,GVE和 中的边交替构成,则称该链是 中的 一交错链;若 一交错链EGM的始节点和终结点都是 一不饱和的,则称该链为 一增广链(路) 。二分图最大匹配的匈牙利算法是由 Edmonds 提出的,该
17、算法主要中心就是由一个初始匹配不断的寻找增广路,一直到找不到增广路为止。#define N 202 int useifN; /记录 y 中节点是否使用 int linkN; /记录当前与 y 节点相连的 x 的节点 int matNN; /记录连接 x 和 y 的边,如果 i 和 j 之间有边则为 1,否则为0 int gn,gm; /二分图中 x 和 y 中点的数目 int can(int t) int i; for(i=1;i=gm;i+) if(useifi=0 if(linki=-1 | can(linki) linki=t; return 1; return 0; int MaxMa
18、tch() int i,num; num=0; memset(link,0xff,sizeof(link); for(i=1;i=gn;i+) memset(useif,0,sizeof(useif); if(can(i) num+; return num; 算法点拔:该算法的中心就是不停的寻找增广路,匹配的个数同时也得到了增加。增广路也就是说这条由图的边组成的路径,它的第一条边并没有参与匹配的,而第二条边参与了匹配,第三条没有直到最后一条边没有参与匹配,且初始点和终点并没有被选择过。以这样的规律进行下去,显然边的数目为奇数。那么对于这个路径,我们反过思路来考虑,把第一条变改为参与匹配,而第二
19、条没11有,以此类推。很容易的就发现这样变动后,匹配仍然成立,但是却增加了一对匹配。这就12是匈牙利算法的思路。要点分析:1每个 节点都最多只能成为增广路的一个起点X2若一个 节点已经被匹配了,那么增广路此时的路径只能是走到该 YY节点的匹配4.2 HK-算法算法点拨:HK 算法的核心不同于匈牙利算法的是同时寻找多条不相交的最短增广路,且沿着这些最小增广路同时进行,而不是像匈牙利算法只进行一条增广路进行增广。算法:在 0(e)的时间复杂度内找到极大最短增广路集,首先从所有 X 的未盖点进行 BFS,BFS 之后对每个 X 节点和 Y 节点维护距离标号,如果 Y 节点是未盖点那么就找到了一条最短
20、增广路,BFS 完之后就找到了最短增广路集,随后可以直接用 DFS 对所有允许弧( disty=distx+1)进行类似于匈牙利中寻找增广路的操作,这样就可以做到 0(m)的复杂度。4.3 二分图最优匹配算法二分图最优分配的经典算法是由 Kuhn 和 Munkres 独立提出的。算法点拨:KM 算法中关键是可行顶点标号,也就是节点的是函数并且对于任意弧(x,y)满足 l(x)+l(y)w(x,y)。如果只包含满足 l(xi)+l(yj)=w(xi,yj)的所有弧(xi,yj),我们就可以说 G 是一个生成子图,也就是相等的子图。定理:设 是 的可行顶点标号,若 包含完美对集 ,则 是 的最优对
21、l l *M*G集。13算法:1从任一可行顶点标号 开始,然后绝对 ,并且在 中选取任一对集llGl。若 是饱和的,则 是完美对集,并且 是最优对集;在这种情形下,MXMM算法可以终止。否则,令 是 非饱和顶点,置 , 。uSuT2若 ,则可以直接跳转到第 3 步,否则 。计算()lGNST()lGN且由 若 ,若,minlxSyTaywxllvavlva; 其他情况。给出可行顶点标号 。以 代替 ,以 代替 。v ll3在 中选择一个顶点 。若 是 饱和的,并且 ,则用lGNyMyzM代替 ,用 代替 ,再转到第二步否则,设 是 中的 可扩SzTy plG路,并转到第一步。,uyKM 的算法
22、主要为了达到完美匹配,而去如何控制可行顶标的一个算法。首先,我们假设一个可行顶标,然后在相等子图中寻找增广路,如果寻找到增广路就继续进行下去,如果没有找到增广路那么就在匈牙利树中的 节点,所X有现在在匈牙利树中的 节点,考察所有一段在 S 集合,一段在 not T 集合中Y的弧,取 delta = min l(xi)+l(yj)-w(xi,yj),xi S, yj not T。如果所有集合中 l(xi)减少 delta 之后,肯定会出现至少一条属于 (S,not T)的边进入相等子图,然后我们就继续扩展匈牙利树,从而使得属于(S,T)的边不退出相等子图,并且把所有在 集合中的点的可行顶标增加
23、delta。T随着上述算法的进行,若新加入的 节点是未覆盖点,可以找到增广路,Y如果不可以,我们就把该节点对应的 匹配加入其中,看能否找到增广路。X4.4 极小覆盖的求法算法点拨:对于每个顶点 ,选择 或者选择 的所有顶点。为了有效的执行程序,我vv们利用了代数方法。14算法:指令“选择 与 ,或者 与 ”记为 。根据法则简化逻辑表达式得uvwuv最后化简得到的uvwxxx从而得到 , 是 的极小覆盖,取其补、 x、 、 G集就可以得到 的所有极大独立集。G极小覆盖的求法在图着色问题中经常用到,后 Christofides 给出了关于这个程序算法的一些改进。4.5 最短路 Dijkstra 算
24、法算法点拨:该算法是 Dijkstra 以及 Whiting 和 Hillier 各自独立发现的。这个算法不仅找到了最短的 路,而且给出了从 到 的所有其他顶点的最短路。0,uv0uG算法:1置 ,对 , , 且 。0lu0vul0Su0i2对每个 ,用 代替 。计算 ,iSmin,iilwvlminvl并把打到这个最小值的一个顶点记为 ,置 。1iu11iiiSu3若 ,则停止。若 ,则用 代替 ,并转入第二步。当算1ivv法结束时,从 到 的距离由标号 的终值给出。0ul算法总结:虽然最短路的一些问题可以用该算法予以解决,但是在图论中还有许多较为复杂的问题不可以用该算法予以解决。155.二
25、分图的应用通过对二分图定义、判断、算法的介绍,对二分图有了一定的了解,下面介绍二分图在实际生活中的应用。情景一:在我市就业市场双选会上,有 个毕业本科生从 个工作岗位上选择自己nm的职业。已经知道每个毕业生至少愿意去 (1 )个单位工作,并且每r个单位至多看中了其中 个毕业生,可以从其中选择一个。问最多可以有几1r个单位可以选择到自己满意的毕业生?试试写出判断过程。情景分析:可以看出这是一个关于二分图运用在招聘用人方面上的实际应用问题。 名本科毕业生作为一个子集,用人单位 作为另一个子集,运用二分图n m匹配中著名的“ 条件”定理可以解决此问题。t定理:设二分图 中, 中每个顶点至少关联 (
26、1)条边,而12,GVE1 t中每个顶点至多关联 条边,则 中存在 到 的完全匹配,在性质中已经2Vt 1V2提到。解:我们首先设 为毕业生的集合, 为用人单位的集合,集合 表示毕VUE业生愿意到单位工作,那么我们就可以把 就是为一个二分图。根,GVE据我们刚才分析可以知道,对于任何一个毕业生都至少愿意去 个单位我们就r表示为 ,并且每个用人单位都至多看中其中的 个毕业生,所以我们dvr 1表示成 。我们可以发现该条件正好满足 条件定理,所以存在1ut到 的的完美匹配,该完美分配 。得到最多有 个单位找到自己满意VUMnn的毕业生,所有学生都可以找到自己愿意去的单位。总结:该类计算的要点,是通
27、过题意找到题目中两个集合的度,并且计算是否满足 条件定理,找个一个合理的分配方案即可。t15情景二:16某杂志社发表了 7 个征求答案的题目,当从读者寄来的解答中挑选出每道题的两个答案准备发表时,编辑发现所有 14 个挑选出来的解答恰好是 7 个读者提出的,而且他们每人正好提供了不同题目的两个答案。请说明:编辑可以这样发表每道题的一个答案,使得发表的解答中,这 7 个读者中每人都有一个解答。情景分析:该问题就是 条件定理的一个典型应用问题。t解:设 , , ,1Vu为 读 者 2Vv为 题 目 , Euv提 供 了 的 答 案则 为一个二分图。满足 条件且 ,故有完美匹配,从而编辑可2,GEt
28、2t以这样发表每道题的答案,使得在发表的解答中这 7 个读者中每人都有一个解答。情景三:有四名老师张、王、李、赵,学校准备分别派他们教四门课程,但是这四名老师提交的简历中,让教务处主任头疼了。张老师可以教外语和数学,王老师可以教语文和政治,李老师可以教语文、数学和外语,赵老师只会教外语。教务处主任应该如何去分配,才能使每个老师都有课程可教,也不会让任何老师去教自己不会的课程?情景分析:这是一个关于解决人员任务的派遣和官职任务的实际问题。可以利用二分图的完全匹配来解决该类问题,把教师看成为一个集合分别用表示张、王、李、赵;把所教课程看作另外一个集合分别用abcd、 、 、表示语文、数学、英语、政
29、治。mepC、 、 、定理:若 是二部图,并且对于任意 或 有 ,则12,GVE 1vV20dvk有一个完全匹配。解:令 , ,并且 可以得Uabcd、 、 、 VCmep、 、 、 xUyVx到 。于是我们现在的问题就变成了寻找 中的一个完全匹配 。,xyEGM作图如下:1617a b c dC m e p赵老师只会教英语,那么我们表示成 ;由于英语已经让张老师教了,所以,d张老师只能去教数学,表示成 ;因为语文剩下的王老师和李老师都会教,,am但是政治只有的王老师会教,所以分配王老师教政治,李老师教语文表示为和 。,bp,cC那么就得到了一个完全匹配 = , , , 即可作为教M,de,a
30、,bp,cC师任课的分配方案。情景四:在新中国刚成立的时候,敌我双方都展开了间谍大战,我方一举抓获了台湾 6 名间谍 a、b、c 、d、 e 和 f,每个间谍都精通多国语言,a 会汉语、法语和韩语;b 会德语、韩语和俄语;c 会英语和法语; d 会汉语和西班牙语;e 会英语和德语;f 会俄语和西班牙语。现在有 2 间牢房,如何将这 6 名间谍监禁并且还不让他们互相交流?情景分析:这个是一个二分图在我国侦破间谍上的应用。这一类问题,只要运用二分图的概念就可以解决,题目中要求分别关在 2 间牢房,并且还不能让间谍间互相交流,我们就尝试着把 a、b、c 、d、e、f 分成 2 个集合,并且 2 个集
31、合中的元素不能有邻接,若两人至少会同一中语言则相应的两节点邻接。解:由于 a 分别与 b、c 、 d 邻接,同时 f 和 e 都不与 b、c、d 都不邻接,得到 , 分别监禁在不同的房间里,可以使得在同一Ufe、 、 V、 、房间里的间谍不能互相交流18作图如下a f ed b c问题延伸:我们已经利用二分图的概念解决了该问题,同样还可以利用“着”色法来解决此问题。为了不失一般性,假设 赋以红色,同时 、 、 都赋以abcd蓝色;再将与 相邻接的点 、 、 赋以红色,与 相邻接的 、 赋以红色。bafecae检查上述过程,我们发现 、 、 被赋以了红色, 、 、 赋以了蓝色,从而解决了该问题。
32、可以发现一个二分图的实际应用问题还可以多个方法来解决。情景五:在一个美丽的村庄里各有 5 位年轻的男子和女子,每位女孩都喜欢村庄里的某些男子,而每个男子都愿意娶任何一位喜欢他的女子。假如 愿意嫁给 、AJ、 ; 愿意嫁给 、 ; 愿意嫁给 、 、 ; 愿意嫁给 、LMBLKCJNKD、 ; 愿意嫁给 、 。NEJM问:找出一个匹配方案,使得每个女子都嫁给了一个她喜欢的人并且要求男孩女孩都有配偶?情景分析:这个就是婚姻稳定问题,在引言中已经提到,类似于刚才提到的教师就职问题,但是不同的是人的感情不稳定,可能在选择之中会有所偏向。解:我们先找出一个匹配,使得每个男女孩都有配偶,在上述情景中已给出解
33、法,直接给出结果 , , , , 这样的一个组BKCNDLAJEM合。18问题延伸:虽然我们已经解决了题目中的问题,但是考虑到男孩可能会有选择性,从而重新产生选择,这就涉及到了稳定组合,现在来一起讨论下这个问题。19EJ MALB C DK N第一轮: 向 求婚, 同意了。AJ第二轮: 向 求婚, 同意了。B第三轮: 也向 求婚, 更喜欢 ,选择 。CJC第四轮: 再向 求婚, 更喜欢 ,选择LA第五轮: 再向 求婚, 同意了。K第六轮: 向 求婚被拒绝,向 求婚被拒绝,向 求婚同意了。DJLN第七轮: 向 求婚被拒绝,向 求婚同意。EM截至到第七轮,我们已经找到了一个稳定组合 , , , ,
34、LCJBKDN。我们只是得到了其中的一个稳定组合,这样的组合还有很多种,由于M人与人之间有偏好喜感,这里只做一个组合举例。情景六:一家化工用品厂制造了 种化学制剂 ,其中一些制剂是互不相n12.nC、容的,如果接触就会发生爆炸。为了预防危险情况的发生,该工厂希望把仓库分成不用的隔间,可以让互不相容的化学制剂储藏在不同的隔间里。问这个仓库至少应该分成几个隔间?情景分析:该类问题是图着色的问题,由于一个图的色数是它的顶点集所能分成的独立集的最小数目,又因为每个独立集都是极大独立集的子集,所以我们只要找出所有极大独立集就可以解决该问题了。解:首先构建一个图 ,其顶点集为 ,两个顶点 和 相连当且G12,.nvivj仅当化学制剂 和 互不相容,从而得到仓库的最小间隔数等于 的色数。iCj G假设一共有 7 种化学制剂且互不相容如下图