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

告别MATLAB!用Python的PYPOWER搞定电力系统潮流计算(附Case30完整代码)

本文介绍了如何从MATLAB迁移到Python,使用PYPOWER工具包进行电力系统潮流计算。通过详细的环境准备、数据接口兼容性实践、潮流计算实现及最优潮流计算进阶,帮助工程师和学生无缝过渡到Python生态。文章还展示了结果处理与可视化技巧,并附有Case30完整代码示例。

weixin_30411819的博客 298

Graph Edit Distance Computation via Graph Neural Networks 2019 WSDM

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

CaptureItTechnology的博客 1265

“迎圣诞,拿大奖” 活动赛题 Web-SQLi

1. php中sprintf()函数漏洞原理及其利用; 2. mysql盲注语法及python脚本; 3. sqlmap的需要进一步学习;

qq_34106499的博客 674

同一台电脑使用模拟ModbusTcp主从通讯的时候,Wireshark抓取不到包

在使用ModBus Slave和Poll模拟主从通讯的时候,发现Wireshark怎么都抓取不到包怎么排查和解决?

HUJIANGMING的博客 703

An Exact Graph Edit Distance Algorithm for Solving Pattern Recognition Problems

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

CaptureItTechnology的博客 1416

MAX96712解串器MIPI CSI-2输出配置全解析:从Video Pipe映射到DPLL速率设置(以4路YUV422摄像头为例)

本文详细解析了MAX96712解串器在MIPI CSI-2输出配置中的关键步骤,包括Video Pipe映射、寄存器配置和DPLL速率设置。通过具体示例和代码片段,帮助开发者优化4路YUV422摄像头系统的图像传输稳定性和画质表现,适用于汽车电子和工业视觉应用。

weixin_30776273的博客 433

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

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

D_Ddd0701的博客 2697

【Reality Capture 】01:Reality Capture1.5中文版安装教程(附安装包下载)

本文详细介绍了Reality Capture 1.5中文版的安装步骤。首先,下载并解压Reality Capture v1.4.0汉化版安装包,运行EpicInstaller并更改安装路径。接着,启动Epic Games Launcher,登录或注册账号后下载并安装软件。安装完成后,进入主界面并设置中文语言。此外,还提供了中文补丁的拷贝方法,将ui.xml和RealityCapture_CHS.exe文件分别放置到指定目录,并运行RealityCapture_CHS.exe以完成汉化。最后,文章提供了Rea

智慧空间实验室 1749

PHM2010刀具磨损预测完整实现

本文介绍了PHM2010刀具磨损预测项目的完整实现方案。项目采用PHM2010公开数据集,包含6个子数据集,记录了铣削加工过程中7个通道的传感器数据(切削力、振动和声发射信号)。技术路线包括数据预处理(截取中间10万点、小波降噪)、特征提取(时域9个、频域4个特征)、特征融合和皮尔逊相关系数筛选,最终使用BiLSTM模型进行训练和评估。环境配置基于Python 3.9,依赖NumPy、Pandas、PyTorch等库。数据加载和预处理阶段重点处理了传感器信号分段和磨损标签对齐问题,为后续建模奠定基础。

huanghm88的专栏 416

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

【React】1、React入门与概览(JSX语法)

React入门 文章目录React入门一、React全家桶1. React是什么?2. 谁开发的?3. 为什么要学?4. React的特点5. 学习React之前要掌握的JavaScript基础知识二、React 概览组件JSXVirtual DOM关于虚拟DOM:Data Flow三、React基本使用相关js库四、React JSXJSX 语法规则五、模块与组件、模块化与组件化的理解5.1 模块5.2 组件5.4 模块化5.5 组件化 一、React全家桶 React基础 React-Router(R

Coding and studying 1379

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

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

weixin_40718664的博客 1万+

【GPFS专题5】---IBM Spectrum Scale (GPFS) 日常运维命令大全

掌握这些命令是有效管理 GPFS 集群的基础。实际生产环境中,建议结合自动化脚本和监控系统(如 IBM Storage Insights)实现高效运维。定期备份配置、监控性能指标,并进行灾备演练,是保障数据安全和系统稳定的关键。

jundao1997的专栏 840

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

自然语言处理笔记week2

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

Max_Uer的博客 826

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

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

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

CaptureItTechnology的博客 918

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

图结构差异-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、付费专栏及课程。

余额充值