图同构问题综述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图同构问题综述
数据科学与计算机学院
黄**1******3
2016.05.26
1概述
芝加哥大学计算机科学教授LászlóBabai在2015年11月宣布了一个能在拟多项式时间内解决图同构问题的新算法,该算法还有待进一步审查以确定其正确性.如果最终被证明是正确的,那么这将是计算机理论领域的一项非常重要的成果.
图的同构问题可以分为四类:精确图同构问题、精确子图同构问题、不精确图同构问题和不精确子图同构问题.其中后三个问题已经被证明是NP完全问题,而对于精确图同构问题的复杂性问题,目前还没有明确的结果,即尚不清楚它是P问题还是NP完全问题,但至少知道它是NP问题.
本文是图同构问题的一个综述,首先给出图同构问题的定义,接着介绍了图同构问题判定算法的研究现状和应用,最后介绍一些具体的判定算法.
2图同构的概念
一个图可以存在多种不同的形式,这些不同形式的图都具有相同数目的顶点、边,而且边还具有相同的连接性.这些不同形式的图就是同构.
直观上地说,如果两个图G1和G2有相同数目的顶点和边,并且边的连接性也相同,那么就说这两个图是同构的.我们可以把一个图看做是另一个图经过扭曲得到的.下面给出图同构的严格定义.
给定两个无向简单图G和H,如果存在一个双射f:V(G)→V(H),使得对于任意的u,v∈V(G),有⟨u,v⟩∈E(G)当且仅当⟨f(u),f(v)⟩∈E(V),则称图G和H是同构的,记为G≃H.
如果G1≃G2,那么:
(1)|V(G1)|=|V(G2)|.
(2)|E(G1)|=|E(G2)|.
(3)G1和G2的度序列相同.
(4)如果{v1,v2,...,v k}是G1的长度为k的圈,那么{f(v1),f(v2),...,f(v k)}是G2长
度为k的圈.
上述的条件是两个图G1和G2同构的必要条件,下面给出几个充分条件:
(1)G1≃G2当且仅当G1≃G2,其中G1和G2都是简单图.
(2)G1≃G2如果它们有相同的邻接矩阵.
(3)G1≃G2当且仅当它们相应的子图也同构.
图1:图同构的例子
图2:G1、G2的补图
例如,如图1所示,图G3的顶点的度为3,而图G1和G2的所有顶点的度都为2,因此G3均不同构于G1和G2.
考虑图G1和G2的补图,如图2所示,我们有G1≃G2,所以G1≃G2.
在这里我们还要介绍一下平面图的概念.如果图G可以画在平面内并且任意两条边不交叉,则称G为平面图.K4似乎不是平面图,但实际上只要把K4的一条对角线移出去就可以了,如图3.
图3:平面图
完全图K5和完全二分图K3,3是最小的非平面图,如图4.
任何一个平面图都将平面分成若干个区域.对于区域r,我们将包围r的边的数目称为r的度,记为deg(r).如图5,我们有
deg(1)=3,deg(2)=4,deg(3)=4
deg(4)=3,deg(5)=8
平面图具有以下性质:
图4:非平面图
图5:区域
(1)如果一个平面图有n个顶点,那么所有顶点的度的和为
∑
n
deg(v i)=2|E|
i=1
(2)如果一个平面图有n个区域,那么所有区域的度的和为
∑
n
deg(r i)=2|E|
i=1
(3)欧拉公式.设G是一个连通的平面图,那么
|V|+|R|−|E|=2
(4)如果G是一个连通图,并且每个区域的度至少为k,那么
|E|≤k
(|V|−2)
k−2
在抽象代数中,以同构相对应的一个概念是同态.类似的,图与图之间的关系也有同态.在这一节的最后,我们给出图同态的概念.
图G1和G2被称为是同态的,如果它们都可以从同一个图G中删除一些同样的边并加入一些的顶点而得到.如图6所示,图G1和G2都是通过图G去掉边⟨b,d⟩并加入顶点e而得到,因此它们是同态的.
很显然,如果图G1和G2同构,那么它们是同态的.但反过来则不成立.
最后,我们还给出一个结论:图G是非平面图当且仅当G有一个子与K5或K3,3同态.
图6:图同态
3图同构判定算法的研究进展
经典的判定算法有:对邻接矩阵的进行初等变换法[2],以拓扑图的图论特性为依据的关联度序列法[3],基于邻接矩阵的特征向量法[4],将图同构问题进行等效转换的电路模拟法[6],遗传算法[7],基于Hopfield网络的图同构判定算法[1],并行算法[5],等等.这些方法的一个共同特征是利用顶点的邻接矩阵关系进行直接判断,因此,存在着边选择的全排列组合.只不过,遗传算法,基于Hopfield网络的图同构判定算法,并行算法,都属于计算智能算法,在搜索空间中进行寻优时采取了某种剪枝策略,从而避免了边选择的全排列组合.
针对一些特殊的图(树,平面图,区间图),存在多项式时间算法.究其原因,在特殊图中可以刻画直接寻找到同构的顶点对的特征.从而不需要进行边选择的全排列组合.
国际上著名的一些算法有:随机图的规范标记法及其改进算法.根据生成树筛选顶点,从而提高效率的Ullman算法.根据顶点间的最短路径距离矩阵筛选顶点,从而提高效率的Schmidt算法.将图匹配问题简化为图检测问题的Falkenhainer算法.根据策略筛选顶点,从而提高效率的Messmer算法.这些方法的特征要么是使用某种规则对顶点进行规范标记,要么使用必要条件对顶点集合的划分进行不断细分.Cordella提出的VF2算法属于另类算法,采用状态空间表示法,利用顶点间的邻接关系进行快速搜索剪枝,以期缩小状态空间的范围.Jose提出的Conatuo-v2算法属于顶点规范标记算法,但是使用顶点划分不断递归细分的技术,用于缩小候选匹配点的范围.
总结这些算法的处理方式,可以划分为三类:基于顶点规范标记的判定算法,基于顶点集合划分的递归细分的判定算法,利用顶点的邻接关系直接判断的判定算法.
除此之外,对于一些全新的计算模式,比如DNA计算、量子计算,也对图同构问题进行了很多的研究,文献[9,8]给出了同构问题的DNA计算模型,通过DNA分子链编码、非解的去除、解的产生和读取等操作解决了图的同构问题.关于图的同构问题,各种文献都给出了有益的求解方法和思路,但是还有很多需要改进的地方.
在第一节概述里边一开始我们提到,图同构算法的最新研究成果是芝加哥的一位教授Babai的提出的一个算法,他宣称这个算法的时间复杂度为O(n log n2k),但这个结果还有待检验其正确性.