文章简介

  1. 文章标题:Comparing stars: on approximating graph edit distance
  2. 文章链接
  3. 作者单位:
    清华大学:
    曾志平clipse.zeng@gmail.com,
    王建勇ianyong@tsinghua.edu.cn
    冯建华fengjh@tsinghua.edu.cn
    周立柱dcszlz@tsinghua.edu.cn
    新加坡国立大学:
    安东尼·H·H ungatung@comp.nus.edu.sg
  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 、\gammaLm​、λ、γ表示对应的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}G1​=[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}Pπ​=⎣⎢⎢⎢⎢⎡​10000​00100​00001​01000​00010​⎦⎥⎥⎥⎥⎤​,如果要将矩阵的23行、45行相互调换,则可以左边相乘置换矩阵。即Pπ∗G1=[g1,g3,g2,g5,g4]TP_{\pi} *G_{1} =[g1,g3,g2,g5,g4]^{T}Pπ​∗G1​=[g1,g3,g2,g5,g4]T。如果G1不是转置矩阵,而是G1=[1,2,3,4,5]G_{1}=[1 ,2 ,3 ,4, 5]G1​=[1,2,3,4,5],如果想要调换列的位置,则需要右乘转置矩阵PπP_{\pi}Pπ​.即G1∗Pπ=[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]G1​∗Pπ​=[1,2,3,4,5]∗⎣⎢⎢⎢⎢⎡​10000​00100​00001​01000​00010​⎦⎥⎥⎥⎥⎤​=[1,3,5,2,4].
问题:
文章中提到,将GED问题转变为二元线性规划问题链接。建立俩个图的邻居矩阵(都是方阵,若不是方阵,插入空节点ϵ\epsilonϵ)Ag1,Ag2A^{g_{1}} ,A^{g_{2}}Ag1​,Ag2​,生成标签矩阵C(也是方阵,矩阵元素为0或者1,0表示矩阵的行对应的顶点标签和列对应的标签不相等)。寻找一个置换矩阵P(上边所述,和单位矩阵E类似,每行每列只有一个0元素),俩个图之间的编辑距离等价于:

其中算式的含义是什么?

Comparing stars: on approximating graph edit distance 2009相关推荐

  1. New binary linear programming formulation to compute the graph edit distance 2015

    文章简介: 文章标题: New binary linear programming formulation to compute the graph edit distance 论文初稿链接 文章来源 ...

  2. Speeding up Graph Edit Distance Computation with a Bipartite Heuristic 使用二部图匹配寻找顶点的最佳映射

    文章简介 文章标题:Speeding up Graph Edit Distance Computation with a Bipartite Heuristic 文章链接 作者单位:Kaspar Ri ...

  3. 字符串编辑距离(Edit Distance)

    一.问题描述 定义 字符串编辑距离(Edit Distance),是俄罗斯科学家 Vladimir Levenshtein 在 1965 年提出的概念,又称 Levenshtein 距离,是指两个字符 ...

  4. leetcode Edit Distance

    作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4051082.html 题目链接:leetcode Edit Distance 最短编辑距离, ...

  5. 详解编辑距离(Edit Distance)及其代码实现

    概述 编辑距离(Minimum Edit Distance,MED),由俄罗斯科学家 Vladimir Levenshtein 在1965年提出,也因此而得名 Levenshtein Distance ...

  6. Edit Distance编辑距离(NM tag)- sam/bam格式解读进阶

    sam格式很精炼,几乎包含了比对的所有信息,我们平常用到的信息很少,但特殊情况下,我们会用到一些较为生僻的信息,关于这些信息sam官方文档的介绍比较精简,直接看估计很难看懂. 今天要介绍的是如何通过b ...

  7. Edit Distance Python源码及支持包的实现

    Edit Distance Python源码及支持包的实现 编辑距离 编辑距离 又称Levenshtein距离(莱文斯坦距离也叫做Edit Distance)指两个字串之间,由一个转成另一个所需的最少 ...

  8. [leetcode]Edit Distance

    先给一个例子,两个字符串eeba和abca相似度是多少呢,edit distance是一个很好的度量,定义从字符串a变到字符串b,所需要的最少的操作步骤(插入,删除,更改)为两个字符串之间的编辑距离. ...

  9. 中石油训练赛 - Edit Distance(思维+构造)

    题目描述 A binary string is a non-empty sequence of 0's and 1's, e.g., 010110, 1, 11101, etc. The edit d ...

最新文章

  1. 打开逗游服务器显示无法连接,轮回诀无法连接服务器 进不去解决方法
  2. python更新到什么版本_Linux更新Python版本及修改python默认版本的方法
  3. SQL -- 多表查询
  4. 【牛客 - 370F】Rinne Loves Edges(树,统计dp)
  5. excel表格不够怎么添加_excel怎么添加筛选
  6. ax3000 梅林_梅林甘蔗下种忙 古法红糖“熬”成致富新产业
  7. IIS7.0通过FastCGI方式运行PHP遇到的一些问题及解决方法
  8. 将多个集合合并成没有交集的集合
  9. linux进程创建截图,命令行程序创建网站截图(在Linux上)
  10. html获取元素的rgb值,使用javascript提取支持的HTML或X11颜色名称及其RGB值的列表
  11. PHP批量插入多条数据到Mysql报错:Mysql Prepared statement contains too many placeholders
  12. SpringApplication#run⽅法的第6步,创建ApplicationContext(五)
  13. Mysql里有2000w数据,redis中只存20w数据,如何保证redis中的数据都是热点数据
  14. Synonyms——中文近义词工具【含源码解析与改进】
  15. groovy使用场景
  16. android 怎么绘制圆形,Android编程绘制圆形图片的方法
  17. 21年秋招面试题(个人面试小记一)
  18. 如何在电脑上下载python中文版_Python下载-Python中文版官方下载
  19. 淘淘商城---8.8
  20. [附源码]java毕业设计社区生鲜电商平台

热门文章

  1. 5h是什么意思_鱼竿5h是什么意思
  2. 为什么越来越多的企业使用106短信平台?
  3. YolactEdge: Real-time Instance Segmentation on the Edge (Jetson AGX Xavier: 30 FPS, RTX 2080 Ti: 170
  4. MII,RMII,SMII,GMII,RGMII,SGMII
  5. SAP FICO系统中资产的分类规则
  6. 闲聊go开源微服务框架pitaya(1)
  7. 简道云-第1章-简介
  8. (一百二十九)Association and Authentication
  9. 阿里架构之dubbo
  10. JdbcTemplate造成数据库连接数过多