2017Similarity Search in Graph Databases:A Multi-layer Indexing Approach 论文概述

文章标题:Similarity Search in Graph Databases:A Multi-layer Indexing Approach
文章来源:ICDE 2017
作者:
Yongjiang Liang (Department of Computer Science)、
Peixiang Zhao(Florida State University)
百度文库链接
Github作者主页
我的Github地址

文章主要讨论了在图的相似性搜索方面的贡献:
1 提出了多层次索引结构(创新点:以前是一层,使用的分区方法是随机划分;但是作者提出了用selectivity-aware的方法进行类似“权值 Δ \Delta Δ”的比较,这样就避免了“随机划分”有限的修剪能力[6])
2 提出了一种高效的,并且selectivity-aware的图的划分方法

摘要
图的相似性搜索问题说的是如何从一个图数据库中找出和一个给定图在一定阈值内相似的问题。数学语言描述为,图数据库中G={g1,g2,g3…,g4}中,找出一个和给定的查询图q,阈值为t的所有图,简单称为GED(G,q)<r。虽然GED的理论分析非常重要,并且应用广泛,但是在大规模的数据库中计算图的GED是多项式时间内部能解决的问题。

具体的方法为,提出了一个基于参数的分区GED下界(下界是为了过滤GED下界大于阈值的图),可以在执行昂贵的GED计算之前将其实例化为一系列严格的下界,以协同修剪G的假阳性图。我们设计了一种有效的,选择性感知算法,将G的图划分为高度选择性的子图。 它们进一步并入了具有成本效益的多层索引结构MLIndex(多层索引),用于GED下界交叉检查和假正图过滤,并具有理论上的性能保证

文献15、34【对这个文章的升级,已经写过总结】、37、28、 27、 32 中定义了GED的下界并且提出了假阳性的筛选策略。但是有缺点
1、 GED的下届缺乏理论性能的保证,筛选能力欠佳,结果在验证阶段导致了不必要的GED的计算;
2、 GED下限评估很耗时,这为图形数据库中的相似性搜索强加了另一个性能瓶颈。34中的划分区域中,只把图划分为阈值+1个分区,不能过滤假阳性图。
文章中“The partition-based scheme in Pars is not prone to drastic changes of vertex degrees and GED threshold values, and more importantly, there is no feature overlap between partitioned q-grams.Thatis,anygrapheditoperationcanaffect at most one graph partition, thus breaking the worst-case assumption that many graph edit operations co-occur at the same region where lots of q-grams are effected”翻译为中文大体意思为,使用分区方法的好处在于,对于顶点度数大的图进行计算编辑距离时候,分区方法不敏感。因为这些分区不重叠,因此排除了一个编辑操作影响多个q-grams的最坏的可能。

文章的贡献:
1、 我们提出了一个基于分区的参数化GED下界,可以将其实例化为具有改进的过滤功能的一系列新下界 k i k_{i} ki。 这样的实例化下界被进一步利用来进行ML-Index的集体假阳性图识别和过滤
2、 我们设计一种有效的,具有选择性的图分区算法,以生成高度选择性的索引特征,以进行有效的GED下界评估

3、 我们提出了一种成本高效的多层图形索引方法ML-Index,该方法可在理论上保证性能的情况下实现假阳性图形过滤

4、 与最先进的相似性搜索方法Pars [34]相比,我们在真实和合成图形数据库中都对ML-Index进行了广泛的实验研究。

定理1:将图g分为r+k个分区,r是阈值,k是设定值。如果俩个图相似,那么一个图的r+k分区一定至少有k个分区和另外一个图是子图同构的。

证明如下:
反证法:若小于k个分区和查询图q同构,那么有大于r+k-k=r个分区和查询图q不同构,那么至少需要r个编辑操作使得和q同构,这和GED阈值r内相似的假设矛盾。

To this end, the objective of a selectivity-aware partitioning P is to partition a graph g into (τ + k) partitions, which have the highest overall selectivity values. 为此,选择性识别分区P的目的是将图g划分为具有最高总选择性(selectivity)值的(τ+ k)分区。划分分区的selectivity的值越大,就越能说明这个分区不匹配q,从而说明图g是假阳性图。

算法1:使用选择性感知(selectivity-aware)进行图划分
输入:数据图g,GED阈值r,实例化参数k
输出:划分的区域的集合P(g)={p_1,p_2,…,p_{r+k}}
在这里插入图片描述

将图g划分为r+k个分区 (半边图)划分的算法:

  1. 图中的每个顶点建立布尔向量,false表示没有被分到某个分区,true表示已经分配到某个分区。初始化所有顶点的布尔向量为false.(第二行)
  2. 维护集合T, 存放g中未被分配的顶点,将会被立即处理(第三行) 第1、2为初始化准备工作。
  3. 选择(r+k)个顶点作为初始化种子,分配到(r+k)个分区(4-6行)
  4. 添加这些种子的邻居并且布尔值为false的顶点到T, 在下面的步骤中考虑它们的分区分配(7-8行)
  5. 检查T中的顶点v的选择性增益(selectivity gain). 计算方法如下:加入顶点v到分区Pi,计算如下的公式:
    增益公式
    其中selectivity公式
    其中
    在这里插入图片描述
    G[]表示导出图,指顶点v和边(u,v)加入分区Pi的图 (10-11行)

如果在分区中出现半边时,需要计算半边出现的平均次数。半边的频率为:已经确定的半边的顶点邻居个数半边确定顶点的邻居边标签的频率决定,这俩个数值的比值(相反的比值):
在这里插入图片描述
6. **顶点v的增益最大时,将v加入分区Pi *** (12行)
7. 顶点v加入某个分区之后,在T中加入v的未分配的邻居(布尔向量=false),进一步检查这些邻居(14-15)
8. 将g的所有顶点分配给(r+k)个分区后,考虑跨越不同分区的边,并将其作为半边分配给参与分区之一。分配边的规则和分配顶点的规则相似:边(u,v)分配给哪个分区,要计算分配之后的选择性增益(selectivity gain)

关于上述内容的几个问题:

1提出使用selectivity-aware值作为划分的方法,核心思想是让pi不匹配:

  1. 分区中半边个数和半边顶点个数,和q相比,越大越是不匹配分区
  2. 分区中平均的顶点/边标签的个数,和q相比,越小越是不匹配分区

2 定理1的证明如何看懂?
定理一:根据定理1,如果g相对于q的匹配分区数小于k,则图编辑距离GED(g,q)必须大于τ。

若小于k个分区和q同构,那么肯定有大于r个(一共r+k个分区,小于k个同构,即得大于r个不同构)分区和q不同构。对于和q不同构的这些τ分区中的每个pi,我们至少需要一个图编辑操作来修改pi,从而将g修改为q,因此总计超过τ个图编辑距离。这和g,q中间的编辑距离小于r矛盾。所以一定是至少k个分区和q子图同构

3 根据定理1,划分方法的好坏如何判断?
文献34中,k=1,意味存在g的r+1个分区中很容易找到一个匹配分区。但是当k>1时,如果g是一个false-positive的图,很容易识别且过滤,这也说明了k>1比k=1更加不可能检测到匹配分区。

4半边的频率公式的选择性感知的如何理解 ?

在这里插入图片描述
半边频率值如下计算:
先计算所有半边邻居边的频率和,再除邻居个数

5 什么是半边?
在这里插入图片描述
“半边”指一条边只有一哥顶点相连,比如:
C-P中包含俩个半边:C-和-P

6 算法1的时间复杂度是多少?
预先扫描数据库中每个图的顶点/边的频率信息,时间复杂度O((r+k)(| V g V_{g} Vg|+| E g E_{g} Eg|))。因为在相似度搜索算法中r+k值很小,因此忽略。

in order to filter false positive graphs from the graph database G, we build an index structure upon which partitionbased GED lower bounds can be evaluated in an efficient and cost-effective way.
为了从图数据库G中过滤错误的正图,我们建立了一个索引结构,可以在该索引结构上以有效且具有成本效益的方式评估基于分区的GED下限。

算法2 :多层索引的构建
在这里插入图片描述
上图是算法2的图例。通过L种分区策略,每次将图分区为P(r+ki)个,每一次的分区方法中,都维护其倒排和分区信息,通过哈希结构存储

在这里插入图片描述

输入:图数据库G
输出:多层索引的结构ML-Index

每一层ML-Index是一个哈希结构 H i H_{i} Hi.它维护了分区p和倒排索引和分区信息之间的关系。(2-3行)我们开始顺序扫描数据图G,对于数据库中的每个图,用L种分区方法,每种方法产生r+ki个分区,构成了ML-Index的第i层的索引。(4-6行)
对于每个分区,进一步维护他的倒排索引和分区信息,使用哈希结构H关联他们。(10行)我们注意到对于不同的分区方法将会产生相同的分区,对于这些相同的分区,只保留一个副本。

我们还指出ML-Index是一个广义的图索引框架。 ML-Index中的GED下界不限于基于分区的下界,因此可以将任何现有的GED下界协同添加到ML-`Index中,以实现强大的,集体的过滤策略,从而为具有理论性能保证的相似性搜索带来显着的假阳性减少。

问题:如何结合现在的GED下界?

算法三时间复杂度的分析:
算法的总时间由三部分构成:
1 在使用哈希结构的H中都要进行子图同构的验证;
2 经过多种(i种,1<i<L)分区方法评估的候选集合的交集,进行候选的GED精确计算
3 在算法3中,初始化操作比如数组A[]的初始化,算法2布尔向量的初始化
因此,算法3总时间成本:
在这里插入图片描述
实验:

数据集:
AIDS:这是NCI / NIH2的“发展治疗计划”的防病毒筛选化合物数据库。共有42,687种图形结构的化合物,平均具有25.6个顶点和27.6个边,并且共有62个顶点标记(如元素C,O,N和P)和3个边缘标记; (在AIDS和PROTEIN中L设置为4,合成数据库为5)

protein:这是来自蛋白质数据库3的蛋白质图形数据库,包含600个具有32.6个顶点和62.1条边的图形(平均)。该数据库中有3个顶点标签和5个边标签。这些图表比艾滋病数据库中的图表更密集,标签信息更少。

GTAPHGEN:一种可以生成大量标签图的图生成器。生成器中指定各种参数:生成图的个数、每个图平均的边数、边/顶点标签的种类、图平均密度。如果未指定具体的参数,默认生成图1万个、边的平均个数40,图密度0.1(计算公式如下),顶点和边的种类为4种不同的边、4种不同的顶点。图密度计算如下:
在这里插入图片描述

通过分别从每个图形数据库中随机抽取100个图形来生成查询集Q。也就是说,Q中的查询图具有与相应图数据库中的数据图相似的结构/标签特征。

对比方法:

Pars:【34】中的k=1,且分区方法是随机划分方法;是目前的SOTA方法;
selectivity方法:使用本文selectivity方法,并且L=1,是本文方法
ML-Index方法:使用本文selectivity方法,并且L>1,使用本文方法

对比指标:
1.索引构建的成本。包括内存使用大小、索引构建的时间、分区索引特征的数量,下面详细介绍索引构建成本。
2.候选集大小。候选集大小是最重要的评价指标,这里比较100个查询图的平均的候选集大小
3.查询执行时间:包括候选集产生和验证集的GED精确计算

数据:
1.AIDS数据集。共用大约4万个图,3种边标签,62中顶点标签。平均每个图25个顶点,26条边。
2.PROTEIN。共600个图,5中边标签,3种顶点标签。平均每个图32个顶点,61条边。
3.图生成器。1万个图,4种边标签,4种顶点标签。平均每个图40条边,通过图密度0.1,计算不出图的顶点个数。
问题:
如何通过图密度公式计算出图的顶点个数?

实验环境:
INTEL I7 ,
8GB /windows 7 /c++/visual studio 2015

索引成本对比:

使用AIDS数据集做如下对比:

索引特征数量的对比中,PARS方法和Selectivity方法在将图分区为小的子图时,重叠分区后子图相等数量不多;而当k>1时,重叠分区子图相等数量比较多,因此当L越大,索引特征数量在稳定下降,如下图所示:
在这里插入图片描述
不同方法中索引大小对比:L=4时,索引最大80MB,验证了上幅图中下降的趋势,
在这里插入图片描述
索引构建时间:L=4时,比L=1或者PARS索引构建时间多2.5倍。并且随着r的增大,索引构建时间在降低。因为r变大,r+k_{i}变大,分区后的子图数量变多,但是子图尺寸变小,使得子图同构容易。而子图同构时间占据了90%
在这里插入图片描述
PROTEIN数据库对比:
相比于AIDS数据,PROTEIN有600个,而AIDS约有40000个。因此,各种结果都比AIDS要小一个数量级,但是除了索引特征数量的趋势外,其他(索引构建大小、索引构建时间)趋势都是和AIDS上的实验相似的。因为数据集小的原因,索引特征数量、构建大小、构建时间最小为1.5万个、2M、2s

AIDS数据PROTEIN数据
索引特征数量25万1.5万
索引大小80MB2MB
索引构建时间3000s2s

在合成数据(设定合成数据的平均边为40、顶点为28、实验使用的数据个数为10000/20000/40000/60000/80000)中,指定阈值r=4,(和以上俩种数据实验不同地方,以上r是变量)构建特征个数、大小、时间最大分别为
下图:(注意横坐标的度量标准是图个数)
在这里插入图片描述

接下来,仍然是合成数据库:
但是要比的是图密度
在这里插入图片描述
(0. 1 0.2 0.3 0.4 0.5)和各种指标(索引特征个数、索引尺寸、索引构建时间)的比较。在索引特征个数实验中和AIDS实验有相同趋势,特征有重叠。

最后,还是使用合成数据库
对比的是图的顶点标签/边标签(4/4 6/6 8/8 10/10).对比结果为,当标签个数越大,索引特征的个数、尺寸都不明显地增加,主要原因为数据库中索引特征的多样化。但是索引的时间很稳定。如下图:
在这里插入图片描述

搜索算法对比:
对比指标:候选集合
在AIDS数据库中,因为selecvity和PARS的过滤能力低下,Pars不使用selectivity-aware分区并且k<1,因此候选集尺寸大。
We also include the size, |O|, of the similarity search results to demonstrate the ultimate goal we strive to attain (colored in pink triangles).
在这里插入图片描述

在这里插入图片描述
上面的图研究图密度和候选集之间的关系:图越密集,候选集越多。原因:如果一个图是密集图,那么它的r+k个分区中的子图相应也密集。文章写道,“As a result, the probability of more than one graph edit operations arising from a dense partition, pi , increases as well. However, once identifified as a mismatching partition, pi is only counted as one mismatching partition in the GED lower bound evaluation, though there might be multiple graph edit operations co-occur within pi. ”我的理解,虽然密集的分区子图被判定为一个不匹配的分区,其实是有多个不匹配存在的,因为有可能在这个密度较大的分区中有多个图编辑操作存在。所以就不容易识别出这个图为假阳性图。

在这里插入图片描述
上面的图表示图中标签信息越多,候选集越小。也证明了selectivity-aware中考虑到标签的正确性,这样可以大大降低候选集。

实验最后评估总运行时间(产生候选集时间和验证候选集时间)
在这里插入图片描述
上图表示的是在AIDS数据库中,当阈值r增大,不同方法Pars Selectivity以及多层分区总的运行时间的大小。灰色表示候选集产生时间,为几秒钟,而彩色表示GED验证时间,因此候选集产生时间和GED验证时间相比微不足道。
问题:L越大,应该时间应该时间越长,为什么越短?
因为L越大。根据算法描述,候选集越小。从而验证GED成本更小。

总结:
相似性搜索问题在管理和查询图结构化数据中起着至关重要的作用,并且在现实世界中的大型图数据库中发现了各种各样的应用。在本文中,我们考虑了在图编辑距离(GED)约束下定义的相似搜索问题,并进一步提出了一种新的多层图索引解决方案ML-Index,以解决图数据库中的这一难题。我们采用参数化的,基于分区的GED下限进行假阳性图的识别和过滤,并设计了一种选择性感知(selectivity-aware)图分区算法,以生成高质量的索引特征。我们进一步在ML-Index中并入并交叉检查了多个实例化的GED下界,以便可以在理论上保证性能的情况下过滤错误的正图。对实图和合成图数据库进行的实验研究表明,ML-Index是一种高效且具有成本效益的索引方法,在大型搜索中,ML-Index的相似性搜索明显优于最新方法Pars

文献【32】引用了STAR算法

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值