Comparing stars: on approximating graph edit distance 2009

rdkit&networkx | 通过图编辑距离GED计算分子相似性 定义 图的编辑距离计算(Graph Edit Distance Computation)是指,对两个图之间通过点和边的insert、delete、substitute操作完成相互转换所需要的最少操作数。GED问题是一个NPC问题,同时也是许多图上应用问题,比如图分类问题、图匹配问题、图相似度搜索问题的核心操作。 代码 from rdkit import Chem import networkx as nx def get_graph(mol): Chem.Kekulize(mol) at 阅读详情

文章简介

  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。 L m 、 λ 、 γ L_m、\lambda 、\gamma Lm​、λ、γ表示对应的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。比如一个矩阵 G 1 = [ g 1 , g 2 , g 3 , g 4 , g 5 ] T G_{1}=[g1,g2,g3,g4,g5]^{T} G1​=[g1,g2,g3,g4,g5]T,一个置换矩阵 P π = [ 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 ] 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 π ∗ G 1 = [ g 1 , g 3 , g 2 , g 5 , g 4 ] T P_{\pi} *G_{1} =[g1,g3,g2,g5,g4]^{T} Pπ​∗G1​=[g1,g3,g2,g5,g4]T。如果G1不是转置矩阵,而是 G 1 = [ 1 , 2 , 3 , 4 , 5 ] G_{1}=[1 ,2 ,3 ,4, 5] G1​=[1,2,3,4,5],如果想要调换列的位置,则需要右乘转置矩阵 P π P_{\pi} Pπ​.即 G 1 ∗ P π = [ 1 , 2 , 3 , 4 , 5 ] ∗ [ 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 ] = [ 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 ϵ) A g 1 , A g 2 A^{g_{1}} ,A^{g_{2}} Ag1​,Ag2​,生成标签矩阵C(也是方阵,矩阵元素为0或者1,0表示矩阵的行对应的顶点标签和列对应的标签不相等)。寻找一个置换矩阵P(上边所述,和单位矩阵E类似,每行每列只有一个0元素),俩个图之间的编辑距离等价于:
在这里插入图片描述
其中算式的含义是什么?

4、图编辑距离学习方法:提升图匹配的准确性和效率 本文详细介绍了图编辑距离(Graph Edit Distance, GED)的基本概念、应用背景和计算挑战。重点探讨了多种学习编辑成本的方法,包括常数成本法和函数成本法,并深入解析了基于Oracle节点对应关系、真实标签节点对应关系、神经网络、概率模型以及图嵌入的具体技术。通过实验评估与结果分析,展示了这些方法在多个数据集上的性能表现,同时讨论了优化函数的选择及其对模型性能的影响。最后,文章还总结了GED在多个领域的广泛应用及未来研究方向。 阅读详情

相关推荐

Structural Pattern Recognition with Graph Edit Distance.pdf

Structural Pattern Recognition with Graph Edit Distance_Approximation Algorithms and Applications 164页高清 带详细书签目录 pdf格式 Springer出版

量子计算论文精讲 | 图编辑距离近似解探究

图表示能非常好的反映对象的属性与对象之间的关系,被广泛的应用在模式识别领域,而图匹配方法,作为实现图高效查询的重要方法之一被广泛的应用于生物信息学,图像分类,计算机网络等等领域。而图编辑距离(Graph Edit Distance,GED)是非常重要的图匹配问题,有良好得到容错率且可以应用于大量的图匹配相关领域之上。由于精确解GED问题的指数难度,越来越多的近似图编辑距离算法希望通过更快的时间来得到尽可能接近精确的图编辑距离。

2401_83053014的博客 2002

【Flow3D实战】从零构建水利冲淤模型:关键步骤与参数详解

本文详细介绍了使用Flow3D构建水利冲淤模型的关键步骤与参数设置技巧。从基础认知到前处理、计算设置和后处理,全面解析如何高效模拟水流与泥沙的相互作用,特别适用于桥墩冲刷、水库泄洪等工程场景。通过实战案例分享,帮助读者掌握Flow3D在水利工程中的精准应用,提升模型精度与计算效率。

weixin_42549723的博客 498

Graph Edit Distance Computation via Graph Neural Networks 2019 WSDM

使用神经网络计算图编辑距离

CaptureItTechnology的博客 1265

VS Code配置MinGW64编译非线性优化库NLopt

VS Code用MinGW64编译C++代码安装MSYS2软件并配置非线性优化库NLopt和测试引用库代码的完整具体步骤。:若使用非UCRT版本(如传统MinGW64),替换所有路径中的。库文件会自动安装到MSYS2的。

weixin_30777913的博客 902

5G LDPC编码实战:从校验矩阵到Matlab代码实现(附完整源码)

本文深入解析5G NR标准中的LDPC编码工程实现,聚焦于从3GPP协议中的QC-LDPC校验矩阵到高效Matlab代码的转换。文章详细阐述了基础矩阵(BG1/BG2)选择、提升因子确定以及利用双对角结构的快速编码算法,并提供了完整的、可优化的Matlab源码,旨在帮助通信算法工程师和开发者快速构建5G LDPC编码仿真原型,为硬件实现奠定基础。

table的专栏 376

An Exact Graph Edit Distance Algorithm for Solving Pattern Recognition Problems

2015年的文章,已经用python实现,必应搜索networkx.simialrity.py 图形编辑距离是一种容错匹配技术,可用于解决模式识别,机器学习和数据挖掘中的不同任务的强大而灵活的图形匹配范例;它表示通过插入,删除和替换顶点和/或边线将一个图形转换为另一个图形的最低成本顺序。 精确图形编辑距离计算的一种广泛使用的方法是基于A算法。 为了克服遍历要存储的待解决方案的搜索树时遇到的高内存负...

CaptureItTechnology的博客 1416

【踩坑记录】colmap中的相机位姿的坐标系定义及其可视化结果的隐含转换

1 坐标系定义及转换   首先介绍一下世界坐标系和相机坐标系之间的转换,它们之间是存在一个转换关系的。现假设空间中一点X,它在相机坐标系下的坐标是Xcamera,在世界坐标系下的坐标是Xworld。假设它通过R和t实现从相机坐标系到世界坐标系之间的转换: Xworld = RXcamera + t   那么,由上式,我们可以推得从世界坐标系向相机坐标系的转换关系(RT=R-1,所以通常直接使用RT即可): Xcamera = RTXworld - RTt   所以,两个坐标系之间的转换,需要看其具体

zeeq的博客 2万+

【论文逐句精读】SimGNN,图网络的标准处理流程+NTN/PNC实现快速图相似度匹配

SimGNN,利用GCN搭建上层建筑,图神经网络实现图相似度的快速匹配

D_Ddd0701的博客 2697

Amber&pdb4amber | 准备PDB文件

PDB文件中唯一需要或有用的数据来设置AMBER模拟是:原子名称,残基名称,也许还有链标识符(如果存在多条链),以及重原子的坐标。除非加载额外的文库,否则非蛋白质结构(特别是低分子量配体)会引起问题;如果它们在PDB文件中的名称对应于AMBER库中的内部名称,则通常会识别水和单原子离子。–dry选项移除结构中的结晶水和–reduce选项在最理想的位置添加氢原子.为tleap程序调整从外部获得的PDB文件。

ASKCOS博客 897

路径规划 | 图解粒子群(PSO)算法(附ROS C++仿真)

粒子群算法(PSO)的基本思想是模拟鸟群觅食机制,将鸟类的觅食方向分为自我认知部分和社会部分,个体自主探索群体周围空间的同时,也随着群体的主流方向前进,不断逼近最优目标。本文详解PSO算法基本概念,并给出ROS C++实现加深理解

FRIGIDWINTER的博客 2614

A星算法求解编辑距离

算法1:A星算法计算编辑距离 输入:非空属性图g1=(U1,E1)q=(V2,E2)g_{1}=(U_{1},E_{1}) q=(V_{2},E_{2})g1​=(U1​,E1​)q=(V2​,E2​).其中U1={u1,...,u∣U1∣},V1={v1,...,v∣v1∣}U_{1}=\{u_{1},...,u_{|U_{1}|}\},V_{1}=\{v_{1},...,v_{|v_{1}|}\}U1​={u1​,...,u∣U1​∣​},V1​={v1​,...,v∣v1​∣​}, 输出:从图g1g

CaptureItTechnology的博客 1435

Virtual Hard Disk version 2 (VHDX) 文件格式详解

VHDX 镜像格式详解 0. References windows github 1. Overview Microsoft 虚拟化产品中常用的映像格式是虚拟硬盘版本 2 (VHDX) 映像格式。该规范基于可用文档,并通过分析测试数据进行了增强。 VHDX 镜像格式种类 固定硬盘镜像 动态硬盘镜像 差异硬盘镜像 VHDX 镜像文件由以下元素构成: file (type) identifier 2x image headers 2x region tables log or metadata journ

圣三一 2695

图神经网络应用——基于深度学习的图相似度计算(以SIMGNN为例的保姆级讲解)

图卷积网络应用——基于深度学习的图相似度计算保姆级讲解(以SIMGNN为例) 为啥想写这篇文章呢。。因为之前提到的图神经网络应用篇鸽了快一年了,把自己的研究方向做一个总结,并向其他同样研究方向的朋友做一个报告,如有错误,敬请指出。而且,这个研究方向人太少了,万望能借此引起更多人的关注与兴趣。废话不多说了,以下开启此篇正文。 图相似度计算(Graph Similarity)是图领域一个重要应用,与图片相似度(Image Similarity)不是一回事。针对图片相似度,比较常用的有:汉明距离、欧式距离、马氏距

weixin_40718664的博客 1万+

YOLOv8改进 | Conv篇 | 利用YOLO-MS的MSBlock轻量化网络结构(既轻量又长点)

本文给大家带来的改进机制是利用YOLO-MS提出的一种针对于实时目标检测的MSBlock模块,我们将其用于C2f中组合出一种新的结构,来替换我们网络中的模块可以达到一种轻量化的作用,我将其用于我的数据集上实验,包括多个类别的数据集,其在轻量网络结构的同时,却能够提高一定的mAP精度,所以这是一种十分高效的模块,该网络结构非常适合那些模型精度已经无法提到,想要从轻量化模型的角度入手的读者使用。欢迎大家订阅本专栏,本专栏每周更新3-5篇最新机制,更有包含我所有改进的文件和交流群提供给大家。

Snu77的博客 6092

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

自然语言处理笔记week2

在仅使用 a.insertion插入 b.deletion删除 c.substitution替代 这三种操作的情况下,从一个字符串到另一个字符串所需的最少操作数。如果想要求 edit distance,要先找两个字符串的对齐(alignment),如下为例:Edit distance 的一个应用:评价机器翻译的结果。我们想要得到,一句话的单词序列为w1w2wnw1​w2​...wn​的概率Pw1w2wnpωPw1​w2​...wn​。

Max_Uer的博客 826

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Exact Computation of Graph Edit Distance for Uniform and Non-uniform Metric Edit Costs

精确计算GED三种方法(BLP_GED、CSI_GED、DF_GED)的比较和总结

CaptureItTechnology的博客 918

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

图结构差异-4-Graph Edit Distance(GED,图编辑距离)

图编辑距离(GED)是衡量两个图结构相似性的核心指标,通过计算将一个图转换为另一个图所需的最少编辑操作代价来量化差异。GED具有表达能力强、可解释性好的优点,但计算复杂度极高(NP-hard),仅适用于小规模图(节点数<20)。典型应用包括分子结构比较、图检索和生成模型评估。实际应用中需根据图规模选择算法:小图用精确算法(如python-igraph),大图采用近似方法(如GNN预测)。GED的关键挑战在于代价函数设计和计算效率优化。

natide的专栏 1343

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

文章简介 文章标题:Speeding up Graph Edit Distance Computation with a Bipartite Heuristic 文章链接 作者单位:Kaspar Riesen,伯尔尼大学 文章来源:International Workshop on Mining and Learning with Graphs(MLG 2007) 会议视频 ppt 1.他人代码...

CaptureItTechnology的博客 701

相似性度量的各种距离(Distance)计算归类详解及应用(强烈建议收藏!!!备用)

Distance ClassificationDistance欧氏距离(Euclidean Distance)闵可夫斯基距离(Minkowski distance)曼哈顿距离(Manhattan distance)切比雪夫距离 ( Chebyshev distance )标准化欧氏距离(Standardized Euclidean distance )马氏距离(Mahalanobis Distance)Reference Distance 由于最近在做故障诊断相关研究,不断学习各种算法,发现在很多算法里面都

车手只需要车和手,压力来自轮胎 9405

动态规划之编辑距离(Edit Distance)

原文地址:Dynamic Programming | Set 5 (Edit Distance) 已知两个字符串str1与str2,str1可以用下面的操作。得到最小的编辑数使得str1转变为str2。 a)insert b)remove c)replace 以上所有的操作成本是一样的。例子:Input: str1 = "geek", str2 = "gesek" Output: 1

K.Sun 2110

Graph Similarity Search with Edit Distance Constraint in Large Graph Databases通过分支(Branch)构建编辑距离下界

文章简介: 文章标题:Graph Similarity Search with Edit Distance Constraint in Large Graph Databases 文章来源:CIKM 2013 作者单位: 郑伟国 北京大学 邹雷 北京大学 德克萨斯州湘联大学-泛美分校,美国爱丁堡 北京大学 王东 北京大学 赵冬岩 文章链接 文章正文: 分支距离的概念: 下界的提出: ...

CaptureItTechnology的博客 1130

分享一篇来自我的毕业论文设计《基于SpringBoot的搜房网设计与实现》

分享一篇来自我的毕业论文设计分享一篇来自我的毕业论文设计分享一篇来自我的毕业论文设计分享一篇来自我的毕业论文设计分享一篇来自我的毕业论文设计分享一篇来自我的毕业论文设计分享一篇来自我的毕业论文设计分享一篇来自我的毕业论文设计分享一篇来自我的毕业论文设计分享一篇来自我的毕业论文设计 ...

hfbin的博客 3万+

SpringBoot | 教程

Spring Boot 2.0(一):【重磅】Spring Boot 2.0权威发布 Spring Boot 2.0(二):Spring Boot 2.0尝鲜-动态 Banner Spring Boot 2.0(三):Spring Boot 开源软件都有哪些? Spring Boot 2.0(四):使用 Docker 部署 Spring Boot Spring Boot 2.0(五):...

weixin_30902675的博客 735

Spring------SpringBoot参考书籍

转载: http://download.youkuaiyun.com/download/plus_dy/8972653  

weixin_34378045的博客 1万+

文章整理-Springboot系列--写在简书

Springboot涉及的知识点 Spring Boot 1第一个项目-helloWorld Spring Boot 2多模块 Spring Boot 项目–之多模块重构 Spring boot 3项目打包&运行方式&部署 Spring boot 4运行Maven模式–学习笔记 Springboot5 开发常用技术整合–笔记1-thymeleaf&异常处理 Springbo...

牵手生活 597
上一篇: New binary linear programming formulation to compute the graph edit distance 2015
下一篇: 匈牙利算法的英文解释(非常清晰的思路)
RunningBComeOn
博客等级 码龄10年 133粉丝 161原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RunningBComeOn

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值