弦图与区间图.pptx

上传人:李司机 文档编号:4617477 上传时间:2023-05-01 格式:PPTX 页数:109 大小:844.79KB
返回 下载 相关 举报
弦图与区间图.pptx_第1页
第1页 / 共109页
弦图与区间图.pptx_第2页
第2页 / 共109页
弦图与区间图.pptx_第3页
第3页 / 共109页
弦图与区间图.pptx_第4页
第4页 / 共109页
弦图与区间图.pptx_第5页
第5页 / 共109页
点击查看更多>>
资源描述

《弦图与区间图.pptx》由会员分享,可在线阅读,更多相关《弦图与区间图.pptx(109页珍藏版)》请在三一办公上搜索。

1、,Chordal Graph and Interval Graph,弦图与区间图,图的基本概念,子图(subgraph)图 为图G的子图,图的基本概念,诱导子图(induced subgraph)图 称为图G的诱导子图,图的基本概念,团(clique)图G的一个子图,为关于 的完全图。,图的基本概念,团(clique)图G的一个子图,为关于 的完全图。,极大团(maximal clique)一个团是极大团当它不是其它团的子集。,图的基本概念,团(clique)图G的一个子图,为关于 的完全图。,极大团(maximal clique)一个团是极大团当它不是其它团的子集。,最大团(maximum

2、clique)点数最多的团。,团数,图的基本概念,最小染色(minimum coloring)用最少的颜色给点染色使相邻点颜色不同。,色数,图的基本概念,最大独立集(maximum independent set)最大的一个点的子集使任何两个点不相邻。,图的基本概念,最小团覆盖(minimum clique cover)用最少个数的团覆盖所有的点。,图的基本概念,团数 色数,图的基本概念,团数 色数,最大独立集数 最小团覆盖数,弦图的概念,弦(chord):连接环中不相邻的两个点的边。,Chord,弦图的概念,弦(chord):连接环中不相邻的两个点的边。,弦图(chordal graph):

3、一个无向图称为弦图当图中任意长度大于3的环都至少有一个弦。,弦图的概念,弦(chord):连接环中不相邻的两个点的边。,弦图(chordal graph):一个无向图称为弦图当图中任意长度大于3的环都至少有一个弦。,弦图的每一个诱导子图一定是弦图。弦图的任一个诱导子图不同构于Cn(n 3),弦图的判定,例题 Zju1015 Fishing net 给定一个无向图,判定它是否为弦图。,单纯点(simplicial vertex):设N(v)表示与点v相邻的点集。一个点称为单纯点当v+N(v)的诱导子图为一个团。,弦图的判定,例题 Zju1015 Fishing net 给定一个无向图,判定它是否

4、为弦图。,单纯点(simplicial vertex):设N(v)表示与点v相邻的点集。一个点称为单纯点当v+N(v)的诱导子图为一个团。,弦图的判定,例题 Zju1015 Fishing net 给定一个无向图,判定它是否为弦图。,单纯点(simplicial vertex):设N(v)表示与点v相邻的点集。一个点称为单纯点当v+N(v)的诱导子图为一个团。,引理:任何一个弦图都至少有一个单纯点,不是完全图的弦图至少有两个不相邻的单纯点。,弦图的判定,完美消除序列(perfect elimination ordering)定义:一个点的序列(每个点出现且恰好出现一次)v1,v2,vn满足vi

5、在vi,vi+1,vn的诱导子图中为一个单纯点。,v6,v5,v4,v3,v2,v1,弦图的判定,完美消除序列(perfect elimination ordering)定义:一个点的序列(每个点出现且恰好出现一次)v1,v2,vn满足vi在vi,vi+1,vn的诱导子图中为一个单纯点。,v6,v5,v4,v3,v2,v1,弦图的判定,定理:一个无向图是弦图当且仅当它有一个完美消除序列。,弦图的判定,定理:一个无向图是弦图当且仅当它有一个完美消除序列。证明:充分性 由引理知任何一个弦图都至少有一个单纯点以及弦图的诱导子图都是弦图。可以使用数学归纳法假设当点数n的弦图一定有完美消除序列,那么点数

6、为n的弦图的完美消除序列可以由一个单纯点加上剩余点的诱导子图的完美消除序列得到。,弦图的判定,定理:一个无向图是弦图当且仅当它有一个完美消除序列。证明:必要性 反证若无向图存在一个长度 3的无弦环,不妨设环中在完美消除序列中出现在最前面的点为v,设环中v与v1,v2相连,根据完美消除序列的性质知v1,v2相连,与环无弦矛盾。所以无向图为弦图。,求完美消除序列,最朴素的算法:每次找一个单纯点v,加入到完美消除序列中。将v以及相关的边从图中删掉。重复以上过程直到所有点都被删除(图为弦图,得到了完美序列)或不存在单纯点v(图不是弦图)。,求完美消除序列,最朴素的算法:每次找一个单纯点v,加入到完美消

7、除序列中。将v以及相关的边从图中删掉。重复以上过程直到所有点都被删除(图为弦图,得到了完美序列)或不存在单纯点v(图不是弦图)。,时间复杂度?O(n4),求完美消除序列,最朴素的算法:每次找一个单纯点v,加入到完美消除序列中。将v以及相关的边从图中删掉。重复以上过程直到所有点都被删除(图为弦图,得到了完美序列)或不存在单纯点v(图不是弦图)。,时间复杂度?O(n4),下面介绍两个求完美消除序列O(m+n)的算法。,LexBFS算法,字典序广度优先搜索(Lexicographic BFS)从n到1的顺序依次给点标号。每个点维护一个list记录与它相邻的已标号点的标号,list中的标号按照按从大到

8、小排序。每次选择list字典序最大的未标号点标号。,LexBFS算法,LexBFS与BFS不同在于每次扩展的节点加了特殊的顺序。,LexBFS算法,vn,LexBFS与BFS不同在于每次扩展的节点加了特殊的顺序。,LexBFS算法,vn,LexBFS与BFS不同在于每次扩展的节点加了特殊的顺序。,LexBFS算法,vn,vn-1,vn,LexBFS与BFS不同在于每次扩展的节点加了特殊的顺序。,LexBFS算法,vn,vn-1,vn,LexBFS与BFS不同在于每次扩展的节点加了特殊的顺序。,LexBFS算法,算法实现,?,LexBFS算法,算法实现,更新一个点的list最多新建一个桶。任何时

9、候桶的数目不超过n。,LexBFS算法,算法实现,O(m+n)!,更新一个点的list最多新建一个桶。任何时候桶的数目不超过n。,MCS算法,最大势算法 Maximum Cardinality Search 从n到1的顺序依次给点标号(标号为i的点出现在完美消除序列的第i个)。设labeli表示第i个点与多少个已标号的点相 邻,每次选择labeli最大的未标号的点进行标号。,MCS算法,最大势算法 Maximum Cardinality Search 从n到1的顺序依次给点标号(标号为i的点出现在完美消除序列的第i个)。设labeli表示第i个点与多少个已标号的点相 邻,每次选择labeli最

10、大的未标号的点进行标号。,i=7,0 0 1 0,0 0 1,MCS算法,最大势算法 Maximum Cardinality Search 从n到1的顺序依次给点标号(标号为i的点出现在完美消除序列的第i个)。设labeli表示第i个点与多少个已标号的点相 邻,每次选择labeli最大的未标号的点进行标号。,i=6,0 0 2 0,0 1 1,MCS算法,最大势算法 Maximum Cardinality Search 从n到1的顺序依次给点标号(标号为i的点出现在完美消除序列的第i个)。设labeli表示第i个点与多少个已标号的点相 邻,每次选择labeli最大的未标号的点进行标号。,i=5

11、,0 1 2 0,0 2 1,MCS算法,最大势算法 Maximum Cardinality Search 从n到1的顺序依次给点标号(标号为i的点出现在完美消除序列的第i个)。设labeli表示第i个点与多少个已标号的点相 邻,每次选择labeli最大的未标号的点进行标号。,i=4,0 2 2 0,1 2 1,MCS算法,最大势算法 Maximum Cardinality Search 从n到1的顺序依次给点标号(标号为i的点出现在完美消除序列的第i个)。设labeli表示第i个点与多少个已标号的点相 邻,每次选择labeli最大的未标号的点进行标号。,i=3,1 2 2 0,2 2 1,M

12、CS算法,最大势算法 Maximum Cardinality Search 从n到1的顺序依次给点标号(标号为i的点出现在完美消除序列的第i个)。设labeli表示第i个点与多少个已标号的点相 邻,每次选择labeli最大的未标号的点进行标号。,i=2,2 2 2 0,2 2 1,MCS算法,最大势算法 Maximum Cardinality Search 从n到1的顺序依次给点标号(标号为i的点出现在完美消除序列的第i个)。设labeli表示第i个点与多少个已标号的点相 邻,每次选择labeli最大的未标号的点进行标号。,i=1,2 2 2 0,2 2 1,MCS算法,memset(labe

13、l,0)for(i=n;i.=1;i-),MCS算法,算法实现,?,MCS算法,算法实现,0,1,2,MCS算法,算法实现,0,1,2,O(m+n)!,弦图的判定,判断一个序列是否为完美消除序列,弦图的判定,判断一个序列是否为完美消除序列朴素的算法依次判断 vi+1,vn中所有与vi相邻的点是否构成了一个团。时间复杂度:,弦图的判定,判断一个序列是否为完美消除序列优化后的算法设vi+1,vn中所有与vi相邻的点依次为vj1,vjk。只需判断vj1是否与vj2,vjk相邻即可。时间复杂度:O(m+n),弦图的判定,判断一个序列是否为完美消除序列优化后的算法设vi+1,vn中所有与vi相邻的点依次

14、为vj1,vjk。只需判断vj1是否与vj2,vjk相邻即可。时间复杂度:O(m+n),弦图判定问题可以在O(m+n)的时间内解决。,设第i个点在弦图的完美消除序列第p(i)个。令N(v)=w|w与v相邻且p(w)p(v)弦图的极大团一定是 的形式。证明:设点集V的诱导子图为弦图的极大团,设v为V中p(i)值最小的点即出现在完美消除序列中最前面的点。由于 为一个团,V为极大团所以。,弦图的极大团,设第i个点在弦图的完美消除序列第p(i)个。令N(v)=w|w与v相邻且p(w)p(v)弦图的极大团一定是 的形式。推论:弦图最多有n个极大团。如何找到弦图的所有极大团呢?即判断每个 是否为极大团,弦

15、图的极大团,判断 是否为极大团,弦图的极大团,设A=,若存在B=使得 则A不是极大团。,判断 是否为极大团,弦图的极大团,设A=,若存在B=使得 则A不是极大团。,p(w)p(v),判断 是否为极大团,弦图的极大团,设A=,若存在B=使得 则A不是极大团。,p(w)p(v),设next(v)表示N(v)中最前的点。令w*表示所有满足 的w中最后的一个点。,判断 是否为极大团,弦图的极大团,设A=,若存在B=使得 则A不是极大团。,p(w)p(v),设next(v)表示N(v)中最前的点。令w*表示所有满足 的w中最后的一个点。,next(w*)=v(否则next(w*)也是满足条件的w),Ne

16、xt(w)=v 当且仅当|N(v)|+1|N(w)|,弦图的极大团,Next(w)=v 当且仅当|N(v)|+1|N(w)|,弦图的极大团,只需判断是否存在一个w,满足Next(w)=v 且|N(v)|+1|N(w)|即可。时间复杂度:O(m+n),弦图的点染色问题,用最少的颜色给每个点染色使得相邻的点染的颜色不同。例题 HNOI2008神奇的国度,弦图的点染色问题,用最少的颜色给每个点染色使得相邻的点染的颜色不同。例题 HNOI2008神奇的国度,完美消除序列从后往前依次给每个点染色,给每个点染上可以染的最小的颜色。,弦图的点染色问题,用最少的颜色给每个点染色使得相邻的点染的颜色不同。例题

17、HNOI2008神奇的国度,v6,v5,v4,v3,v2,v1,弦图的点染色问题,用最少的颜色给每个点染色使得相邻的点染的颜色不同。例题 HNOI2008神奇的国度,v6,v5,v4,v3,v2,v1,弦图的点染色问题,用最少的颜色给每个点染色使得相邻的点染的颜色不同。例题 HNOI2008神奇的国度,v6,v5,v4,v3,v2,v1,弦图的点染色问题,用最少的颜色给每个点染色使得相邻的点染的颜色不同。例题 HNOI2008神奇的国度,v6,v5,v4,v3,v2,v1,弦图的点染色问题,用最少的颜色给每个点染色使得相邻的点染的颜色不同。例题 HNOI2008神奇的国度,v6,v5,v4,v

18、3,v2,v1,弦图的点染色问题,用最少的颜色给每个点染色使得相邻的点染的颜色不同。例题 HNOI2008神奇的国度,v6,v5,v4,v3,v2,v1,弦图的点染色问题,用最少的颜色给每个点染色使得相邻的点染的颜色不同。例题 HNOI2008神奇的国度,v6,v5,v4,v3,v2,v1,弦图的点染色问题,用最少的颜色给每个点染色使得相邻的点染的颜色不同。例题 HNOI2008神奇的国度,证明:设使用了T种颜色,则T 色数 T=团数 色数 团数=色数=T,时间复杂度:O(m+n),弦图的点染色问题,用最少的颜色给每个点染色使得相邻的点染的颜色不同。例题 HNOI2008神奇的国度,证明:设使

19、用了T种颜色,则T 色数 T=团数 色数 团数=色数=T,时间复杂度:O(m+n),团数=色数!,弦图的最大独立集和最小团覆盖,最大独立集 选择最多的点使得任意两个点不相邻。,弦图的最大独立集和最小团覆盖,最大独立集 选择最多的点使得任意两个点不相邻。,Sol 完美消除序列从前往后能选就选。,v6,v5,v4,v3,v2,v1,弦图的最大独立集和最小团覆盖,最小团覆盖 用最少个数的团覆盖所有的点。,弦图的最大独立集和最小团覆盖,最小团覆盖 用最少个数的团覆盖所有的点。,Sol 设最大独立集为p1,p2,pt,则p1N(p1),ptN(pt)为最小团覆盖。,v6,v5,v4,v3,v2,v1,弦

20、图的最大独立集和最小团覆盖,证明,p1,p2,pt为一个独立集。t,弦图的最大独立集和最小团覆盖,证明,p1,p2,pt为一个独立集。t,p1N(p1),ptN(pt)为一个团覆盖。t,弦图的最大独立集和最小团覆盖,证明,p1,p2,pt为一个独立集。t,p1N(p1),ptN(pt)为一个团覆盖。t,由 知,最大独立集数=最小团覆盖数!,完美图与伴完美图,完美图(Perfect Graph)的概念 一个图G称为完美图若它的每一个诱导子图都满足。,完美图与伴完美图,完美图(Perfect Graph)的概念 一个图G称为完美图若它的每一个诱导子图都满足。,伴完美图(Co-perfect Gra

21、ph)的概念 一个图G称为完美图若它的每一个诱导子图都满足。,完美图与伴完美图,完美图(Perfect Graph)的概念 一个图G称为完美图若它的每一个诱导子图都满足。,完美图=伴完美图弦图属于完美图。,伴完美图(Co-perfect Graph)的概念 一个图G称为完美图若它的每一个诱导子图都满足。,区间图,区间图(Interval Graph)定义 给定一些区间,定义一个相交图为每个顶点表示一个区间,两个点有边当且仅当两个区间的交集非空。一个图为区间图当它是若干个区间的相交图。,1,2,3,4,5,4,1,2,3,5,区间图,区间图一定是弦图。,证明:若区间图中存在一个长度 3的无弦环

22、v0,v1,vl-1,vl=v0,l 3,设第i个点对应的区间为Ii。由Ii与Ii+1相交,取,由于Ii与Ii+2不相交,则pi一定严格递增或严格递减。由 及 得到,与I0与I2不相交矛盾。所以区间图一定是弦图。,经典问题,例题1 给定n个区间,要求选择最多的区间使得区间不互相重叠。,经典问题,例题1 给定n个区间,要求选择最多的区间使得区间不互相重叠。,区间图的最大独立集,经典问题,例题2 Tetris 有n个积木,高度均为1,第i个积木的宽度范围为Li,Ri,选择一个积木的下落顺序使得最后积木总高度尽可能小。,经典问题,例题2 Tetris 有n个积木,高度均为1,第i个积木的宽度范围为L

23、i,Ri,选择一个积木的下落顺序使得最后积木总高度尽可能小。,区间图的最小染色,积木下落顺序:按照颜色标号从小到大落下。,区间图,给定n个区间,所对应的区间图为GG的一个完美消除序列:将所有的区间按照右端点从小到大排序。,区间图,给定n个区间,所对应的区间图为GG的一个完美消除序列:将所有的区间按照右端点从小到大排序。,例题1 将所有的区间按照右端点从小到大排序,依次处理每个区间,如果与已选区间没有重叠则选择该区间。时间复杂度:O(nlog2n),区间图,给定n个区间,所对应的区间图为GG的一个完美消除序列:将所有的区间按照右端点从小到大排序。,例题2 将所有的区间按照右端点从大到小排序,依次

24、处理每个区间,选择一个可以染的最小的颜色染色。线段树或堆维护时间复杂度:O(nlog2n),树的分解(Tree Decomposition),定义对于一个无向图G=(V,E),树的分解定义为(X,T),X=X1,X2,Xm其中Xi为V的一个子集,T是一棵树,点集为X。T满足以下几个性质:,树的分解(Tree Decomposition),定义对于一个无向图G=(V,E),树的分解定义为(X,T),X=X1,X2,Xm其中Xi为V的一个子集,T是一棵树,点集为X。T满足以下几个性质:,X1 X2 Xm=V,树的分解(Tree Decomposition),定义对于一个无向图G=(V,E),树的分

25、解定义为(X,T),X=X1,X2,Xm其中Xi为V的一个子集,T是一棵树,点集为X。T满足以下几个性质:,X1 X2 Xm=V,图G中任何一条边(u,v)存在一个Xi使得u,v Xi。,树的分解(Tree Decomposition),定义对于一个无向图G=(V,E),树的分解定义为(X,T),X=X1,X2,Xm其中Xi为V的一个子集,T是一棵树,点集为X。T满足以下几个性质:,X1 X2 Xm=V,图G中任何一条边(u,v)存在一个Xi使得u,v Xi。,对于每一个点v,P(v)=Xi|v Xi,则T中P(v)的诱导子图是连通的。,树的分解(Tree Decomposition),Cli

26、que Tree,一个无向图G的极大团树T(Clique Tree)定义为:T的顶点为图G的所有极大团 包含每个点的所有极大团为T的一个连通子图。,Clique Tree,Clique Tree是一种tree decomposition.,Clique Tree,一个无向图G为弦图当且仅当它存在一个Clique Tree.,Clique Tree是一种tree decomposition.,Clique Tree,一个无向图G为弦图当且仅当它存在一个Clique Tree.,构建弦图的一个Clique Tree 找出弦图的所有极大团。构图:极大团为点,两个点之间的边权为两个极大团的交集的点的个

27、数。求图 的一个最大生成树。,Clique Tree是一种tree decomposition.,Clique Tree,一个无向图G为弦图当且仅当它存在一个Clique Tree.,Clique Tree是一种tree decomposition.,Clique Tree,一个无向图G为区间图当且仅当它存在一个Clique Tree是一条链。,区间图的判定,判断是否是弦图 O(m+n)如果是弦图,找出所有的极大团 O(m+n)判断是否存在一个连续的极大团序列即包含每个点的极大团在序列中都是连续的。,区间图的判定,判断是否是弦图 O(m+n)如果是弦图,找出所有的极大团 O(m+n)判断是否存

28、在一个连续的极大团序列即包含每个点的极大团在序列中都是连续的。,区间图的判定,PQ树 给定一个0,1矩阵要求将矩阵的列重排使得每一行的1是连续的。,区间图的判定,PQ树 给定一个0,1矩阵要求将矩阵的列重排使得每一行的1是连续的。,Q节点原顺序或反序,区间图的判定,PQ树 给定一个0,1矩阵要求将矩阵的列重排使得每一行的1是连续的。,Q节点原顺序或反序,FABEDCHGIJ,区间图的判定,元素集合为X,初始元素顺序任意。有若干个限制,每一个限制集合I表示要将I内的元素变成连续的。利用PQ树每一个限制可以在O(|I|)内解决,总的时间复杂度为。,区间图的判定,元素集合为X,初始元素顺序任意。有若干个限制,每一个限制集合I表示要将I内的元素变成连续的。利用PQ树每一个限制可以在O(|I|)内解决,总的时间复杂度为。,区间图判定 最多有n个极大团,|X|n 每个点最多属于deg(v)个极大团,时间复杂度为O(n+m)。,例,X=A,B,C,D,例,X=A,B,C,DI1=A,B,C,例,X=A,B,C,DI1=A,B,CI2=A,D,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号