Comparing stars: on approximating graph edit distance 2009

文章简介

  1. 文章标题:Comparing stars: on approximating graph edit distance
  2. 文章链接
  3. 作者单位:
    清华大学:
    曾志平[email protected]
    王建勇[email protected]
    冯建华[email protected]
    周立柱[email protected]
    新加坡国立大学:
    安东尼·H·H [email protected]
  4. 文章来源:VLDB 2009

文章正文

摘要:

  图形数据已经无处不在,并且基于相似性对其进行操作对于许多应用程序而言至关重要。图形编辑距离是确定图形之间相似性的最广泛接受的措施之一,在模式识别,计算机视觉等领域具有广泛的应用。不幸的是,图形编辑距离计算的问题通常是NP-Hard。
  因此,在本文中,我们介绍了三种新颖的方法来计算多项式时间内两个图之间的编辑距离的上限和下限。应用这些方法,引入了两种算法AppFull和AppSub来对图形数据库执行不同种类的图形搜索。
  在真实数据集和合成数据集上都进行了全面的实验研究,以检验边界图编辑距离方法的各个方面。结果表明,这些方法在图的数量和图的大小方面都实现了良好的可扩展性。这些算法的有效性也证实了在过滤和搜索图形时使用边界的有用性。

分析下界

  文章假设俩个图之间的编辑距离为k,其中k由边的增加或删除的数量k1,顶点的增加或删除的数量k2,顶点的relabel数量k3构成。分析如下:

  1. 在增加一条边的时候,过程如下:在俩个顶点之间增加一条边,将会影响这俩个顶点的star结构。所以俩个图之间的映射距离小于4
    在这里插入图片描述
  2. 删除顶点或者增加顶点。增加顶点相当于把原来的虚拟顶点的标签改成增加顶点的标签,所以俩个图之间的映射距离等于一,删除顶点同理
  3. relabel顶点。relabel一个顶点,将会最多影响此顶点和邻居顶点的星结构,所以俩个图之间的映射距离最多为此顶点的度加1
      综上述,得到如下的不等式,并且经过变形,得到编辑距离的下届。注意编辑距离小于等于k值。

在这里插入图片描述

文章比较重要的地方

在这里插入图片描述
请注意,由于二分图中的映射仅考虑每个节点及其邻居,因此与确定两个图形之间的最佳映射相比,确定二分图中的最佳映射时,实际上对输出的约束较少。因此匈牙利算法得出的映射关系,带入到计算俩个图之间的编辑距离的计算,并不是最优的情况。
在这里插入图片描述
2019.12.20
在这里插入图片描述

疑难点

  文章在分析二部图匹配的时候,有句话没有明白==“Note that since the mapping in the bipartite graph takes only each node and their neighbors into consideration, there are in fact less constraints on the output when determining the optimal mapping in the bipartite graphs compared to determining the optimal mapping between the two graphs.”==
  我的理解:把star结构之间的距离当成是俩个图之间的距离,仅仅考虑了单个节点和他的邻居,没有考虑到图的全局信息,因此在输出时候约束少,比真实的GED要大,因此可以导出GED下界。

近似的子图搜索:

这部分没看懂

总结:

  本文介绍了三种图编辑距离的bound,其中俩个是upper bound,一个是lower bound。LmλγL_m、\lambda 、\gamma表示对应的lower bound ,俩个uppper bound。它们和exact不同的是,exact_GED不能在多项式时间内计算,但是这三种bound可以。它们之间的关系可以用不等式
在这里插入图片描述
来表示,其计算复杂度如表3所示。
在这里插入图片描述
与图形编辑距离的精确计算相比,这三种边界算法效率更高且具有良好的效果。通过实验比较,在图的数量和图的大小方面的可伸缩性很好。对于有向图,也可以把这些特点利用起来。有向图的star结构用下面的符号表示:
在这里插入图片描述
第一个元素表示根节点集合,第二个元素表示和根节点入度相关的点,第三个元素表示和根节点出度相关的节点集合,第四个元素表示标签函数。 因此,可以将星编辑距离重新定义为

在这里插入图片描述

文章提出的bound可以有效地应用在有向图的领域中。最后文章把着些bound应用在俩种搜索中——相似图搜索和子图搜索,用算法AppFull和AppSub。(App:Approxiamte)

参考文献

35 Feature-based similarity search in graph structures
缺点:未能考虑节点的不匹配
在这里插入图片描述

文章总结

1.解决问题

  计算图编辑距离如果使用A* 算法是NP-Hard(多项式时间内难以计算)问题,计算复杂,为了能在多项式时间内计算编辑距离,作者在证明了NP-H编辑距离的理论之后,提出了三种bound,这三种bound可以在搜索阈值内的图时,起到缩小搜索范围的作用。第一种bound的效率最高效,表示为:
在这里插入图片描述
通过分析图的度和计算俩个图之间的映射距离,可以计算出这个lower bound,这种lower bound的效率最高。

2.使用方法

  提出上界和下界,缩小图的搜索范围。

3.文章不足

  在文章Graph Similarity Search with Edit Distance Constraint in Large Graph Databases中,举了一个例子,说明了下界的提出仍然是loose的。因为如果俩个图中最大顶点度过大,那么下界就会变得loose,从而导致下界效果不明显。例子如下:
在这里插入图片描述

2020.4.20:
如何计算星结构中叶子节点的交集?
算法:
输入:俩个集合A,B
输出:A B中共同的元素

i=0 , j=0
创建一个空集合C
while i<|A| 且j<|B|,
	if(A[i]== B[J])
		C = C U A[j];
		i++,j++;
	else if (A[i]> B[J])
		j++;
	else if (A[i]< B[J])
		i++;
end while
return C;

在这里插入图片描述
其中L1范数表示一个矩阵每列元素取绝对值,然后把每列元素相加,在相加得到的和中取最大值。
引文23中:
什么是置换矩阵(permutation matrix)?
参考资料,置换矩阵是一种将矩阵A的行或者列相互调换的矩阵,置换矩阵是一种方阵。与单位矩阵的外形类似,它的每一行有一个0,每一列有一个0。比如一个矩阵G1=[g1,g2,g3,g4,g5]TG_{1}=[g1,g2,g3,g4,g5]^{T},一个置换矩阵Pπ=[1000000010010000000100100]P_{\pi}=\begin{bmatrix}1 &0 &0 &0 &0 \\0 &0 &0 &1 &0 \\0 &1 &0 &0 &0 \\ 0 &0 &0 &0 &1 \\ 0 &0 &1 &0 &0 \end{bmatrix},如果要将矩阵的23行、45行相互调换,则可以左边相乘置换矩阵。即PπG1=[g1,g3,g2,g5,g4]TP_{\pi} *G_{1} =[g1,g3,g2,g5,g4]^{T}。如果G1不是转置矩阵,而是G1=[1,2,3,4,5]G_{1}=[1 ,2 ,3 ,4, 5],如果想要调换列的位置,则需要右乘转置矩阵PπP_{\pi}.即G1Pπ=[1,2,3,4,5][1000000010010000000100100]=[1,3,5,2,4]G_{1} * P_{\pi}= [1 ,2 ,3 ,4, 5] *\begin{bmatrix}1 &0 &0 &0 &0 \\0 &0 &0 &1 &0 \\0 &1 &0 &0 &0 \\ 0 &0 &0 &0 &1 \\ 0 &0 &1 &0 &0 \end{bmatrix}=[1,3,5,2,4].
问题:
文章中提到,将GED问题转变为二元线性规划问题链接。建立俩个图的邻居矩阵(都是方阵,若不是方阵,插入空节点ϵ\epsilonAg1,Ag2A^{g_{1}} ,A^{g_{2}},生成标签矩阵C(也是方阵,矩阵元素为0或者1,0表示矩阵的行对应的顶点标签和列对应的标签不相等)。寻找一个置换矩阵P(上边所述,和单位矩阵E类似,每行每列只有一个0元素),俩个图之间的编辑距离等价于:
在这里插入图片描述
其中算式的含义是什么?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章