资源描述:
《an edge-based framework for fast subgraph matching in a large graph》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、DASFAA2011,pp.404–417,2011.AnEdge-BasedFrameworkforFastSubgraphMatchinginaLargeGraph大型图中基于边的快速子图匹配框架SangjaeKim,InchulSong,andYoonJoonLee摘要:在子图匹配中,我们在图数据库中找到与查询图同构的全部子图。子图匹配需要子图同构测试,这是NPC问题。近来,已经设计了一些用于大型图中的子图匹配的特定方法。它们基于过滤-验证框架。在过滤阶段,过滤点不满足同构测试的顶点。在验证阶段,执行子图
2、同构测试并返回全部匹配的模式给用户。这些称之为基于顶点的方法,因为是使用顶点信息过滤掉不合格的顶点。然而,边的信息也可用于高效的子图匹配。本文提出了大型图中基于边的快速子图匹配框架。通过使用边连通信息,在过滤阶段不仅过滤掉不合格的顶点,也避免了验证阶段进行不必要的边连通性检测。实验结果显示,相对于已有的方法,本方法大大提高了大型图中子图匹配的方法1介绍因为图是对复杂数据有效表达的一种结构,它有很多的应用,例如Web,社交网络,通信网络,生物信息学,本体论工程,软件建模,VLSI逆向工程等等。子图匹配,就是从数据
3、库图中找到与查询图同构的所有子图,它是图数据库中最频繁使用的操作之一。例如,在经济网络中,顶点表示支票持有人或者银行,边代表钱的转账事务,那么经济犯罪调查就是希望找到网络中所有与欺诈模式匹配的活动[1]。生物学家可能想在蛋白质-蛋白质交互网络或者基因调控网中找到与特定生物模式匹配的所有情形[2]。此外,子图匹配还可用于匿名社交网络数据中的隐私攻击的发现与保护[3],[4]。有两类与子图匹配相关的查询。子图包含查询(subgraphcontainmentquery)需要找到包含了与查询图同构的子图的所有图。许多搜
4、索都属于这个类型的查询[5],[6],[7],[8],[9]。在这些工作中,他们假设图数据库中包含很多小的图。子图匹配查询(subgraphmatchingquery)是从单个的数据库图中,找到与查询图同构的所有子图。已经提出了许多用于子图匹配查询的通用算法[10],[11]。近来,大型图中的子图匹配查询有两种方法被提出[12],[13]。本文将聚焦到大型图中的子图匹配查询。因为子图匹配需要子图同构测试,这是一个NPC问题[14],已有的方法使用了经典的过滤-验证框架。在过滤阶段,如果数据图中的顶点不能做为一个
5、匹配顶点,它将被过滤掉。这将通过比较顶点的签名来实现,其中签名包括顶点本身的信息及其邻接顶点的信息。过滤之后,那些被保留的顶点,称之为候选顶点,将进行子图同构测试。在验证阶段进行子图同构测试,数据库图中与查询图同构的所有子图都将被找到并返回给用户。验证阶段的主要工作是检验查询图中不同顶点对应的候选顶点彼此是否恰当的相连。许多启发式方法被用于加速验证的过程。已有的方法主要集中在减少子图同构测试的大小。GADDI[12]提出了基于数据挖掘的大型图中的子图匹配方法。它使用了判别子结构(discriminativesu
6、bstructures)作为顶点签名,这是一种从两个顶点邻接点的交集图中导出的小的子结构。NOVA[13]是大型图子图匹配的另一种方法。它使用关于顶点的标签分布信息作为顶点签名。两种方法都是基于顶点的框架,它们仅仅使用顶点信息过滤不合格的顶点。然而,边的信息也可用于过滤处理。例如,通过选择性的检测数据库图中两个顶点间的连通性,可以过滤掉不满足与其它顶点连通的候选顶点。本文提出了大型图中快速子图匹配的基于边的框架。该方法沿用了过滤-验证框架。与已有的基于顶点的框架不同的是,本方法在过滤和匹配阶段均使用了边连通信息
7、进行快速子图匹配。在过滤阶段,基于边连通信息过滤掉更多的候选顶点。边连通信息也用于验证阶段,以减少大量的顶点间的连通性检测操作。一些连通性检测操作可以整体删除。实验的结果显示我们的方法远优于已有的大型图中的子图匹配方法。本文的余下部分组织如下。第二部分给出背景信息和方法综述,第三部分描述本方法中用到的索引结构。第四和第五部分分别描述过滤和验证阶段。将在第六部分评估本方法。第七部分讨论相关工作,第八部分总结全文。1预备知识该部分将介绍本文中使用的基本定义并给出问题的规范描述。本方法支持带有标签的顶点与(/或)带有
8、标签的边的有向图和无向图。为了简化表达,仅假定为带标签的简单图。可想本方法直接应用到其它类型的图中。还假设查询图和数据库图均是连通的,也就是说,每对顶点间均有路径相连。定义1(顶点标签图):顶点标签图定义为G=(V,E,L,l),其中V是顶点集合,E⊆V×V是边集,L为顶点标签集合,l是匹配函数:V→L.定义2(子图同构):假设有两个图,G=(V,E,L,l)和G’=(V’,E’,L’