Introduction
实际上,图模式匹配需要二次时间(通过模拟[12])或立方时间(通过有界模拟[9])来确定在数据图中是否存在图模式的匹配。更糟的是,当匹配定义为子图同构时,它是NP-hard。即使对于确定是否存在连接图G=(V,E)中一对节点的路径的可达性查询,通过DFS/BFS搜索也需要O(| V |+| E |)时间。虽然可以使用索引来加速评估,但索引会产生额外的成本,
虽然我们不能改变图查询的复杂度函数,但我们减少了它们的参数,即数据图的大小。
与以前的无损压缩(例如,[3,5,11])相比,查询保持压缩是相对于用户选择的查询类Q,即,它生成的小图只保留与Q中的查询相关的信息,而不是保存整个原始图,从而获得更好的压缩比。此外,任何可用于求Q的算法都可以直接用于查询压缩后的Gr图,而不需要对Gr进行解压。
Example 1:
图G是多客户端推荐网络的一部分。每个节点表示一个客户(C)、一个图书服务器代理(BSA)、一个音乐商店代理(MSA)或一个协助客户找到BSA和MSA的促进者代理(FA)。每条边表示一个建议。
观察到BSA1和BSA2属于相同类型的节点(BSA),并且都向MSA和FA提出建议。由于它们“模拟”了推荐网络G中彼此的行为,因此在评价Qp时,它们可以被认为是等价的。类似地,i,j∈[3,k]的节点对(FA1,FA2),(C1,C2)和任意对(Ci,Cj)也可以被认为是等价的
这表明我们构建了一个压缩图Gr,如图所示。图Gr由X∈{MSA,BSA,FA,FA’,C,C’}的超节点组成,每个节点表示一类等价节点。观察到(1)Gr比G有更少的节点和边,(2)Qp可以直接在Gr上求值;它的结果Sr={(X,Xr)}可以通过简单地用Xr表示的节点集替换Xr而转换为原始结果S;以及(3)Gr的计算比G中更有效,因为除其他外,它只需要检查在Gr中的Cr和Cr′来识别查询节点C的匹配项。
Contributions
(1)我们提出了查询大型真实图的查询保持压缩。与以往的图压缩策略不同,它只保留用户感兴趣的特定Q类查询所需的信息,从而达到更好的压缩比。它不是另一种计算图查询的算法,而是可以直接应用于计算压缩图中的查询结果,而不需要解压。针对实际中常用的两类查询,即可达性查询和通过(有界)模拟的图模式查询。
(2)在可达性等价关系的基础上,我们给出了一个压缩函数R,在给定图G的情况下,计算出O(| V |)时间内的一个小图Gr=R(G),其中| V |和| E |分别是G中的节点数和边数。我们证明了Gr可达性保持:对于任何可达性查询Q,在固定时间内可以找到另一个可达性查询Q′,使得Q(G)=Q′(Gr)。
(3)对于用(有界)模拟定义的图模式查询,我们用一个互模拟等价关系定义了图模式保持压缩(第4节)。我们证明了图G可以压缩成更小的Gr中 O(| E | log|V|)时间。我们还证明了压缩保持了模式查询:对于任何图模式Q,G匹配Q当且仅当Gr匹配同一Q,并且G中Q的匹配可以在Gr中计算。
(4)现实生活中的图形不断变化[16]。这突出了研究增量查询保留压缩的必要性。
这使我们能够计算压缩Gr,并根据G的变化对其进行增量维护。
我们针对可达性查询和图模式查询研究这个问题(第5节)。(a) 我们对该问题进行了复杂度分析,根据受影响区域(AFF)特征的输入(∆G)和输出(∆Gr)变化的大小。我们证明了问题对于两类查询都是无界的,即其代价不是| AFF |的函数。(b) 然而,我们开发了增量维护算法:(i)对于可达性保持压缩,我们证明了压缩图可以在O(| AFF | | Gr |)时间内保持;以及(ii)对于图模式查询,我们在O(| AFF | 2+| Gr |)时间增量压缩图。在这两种情况下,算法都独立于原始图G,并且在不解压缩Gr的情况下传播变化
(5)证了我们的(增量)压缩技术的有效性和效率。我们发现,对于可达性和模式查询,保留查询的压缩将实际图形的大小平均减少95%和57%,而对于社交网络,则分别减少98%和59%。这使得查询评估时间分别减少了94%和70%。此外,当变化达到20%时,我们的可达性查询增量压缩算法的性能优于批处理算法。
Related work.
1.General graph compression
我们的工作与这些不同之处在于:(a)我们的压缩技术只依赖于与特定查询类相关的内在图信息;(b)我们的压缩图可以直接查询而不需要解压缩;相比之下,即使是回答简单的查询,以前的工作需要从紧凑结构[5]中恢复原始图,如[2]所观察到的;(c)我们提供了有效的增量维护算法。查询友好压缩。更接近我们工作的是为特定查询类开发的压缩方法
2.Query-friendly compression
3.Graph indexing
4.Incremental bisimulation
2.Graph, Queries and Graph Compression
Reachability queries 可达性查询
图G上的可达性查询,用QR(v,w)表示,是一个布尔查询,询问节点v是否可以到达G中的节点w。
Graph patterns 图模式匹配
直观地,(u,v)∈S,如果(1)G中的节点v满足Qp中fv(u)指定的搜索条件,(2)Qp中的每条边(u,u′)映射到一条非空路径ρ=(v,……,v′),使得(u′,v′)也在匹配S中,而且,如果fe(u,u′)=k,len(ρ)由k有界。如果fe(u,u′)=*,len(ρ)不有界。观察u的子u′通过S映射到v的后代v′。例如,示例1中给出的关系S是图2中模式P的图G中的匹配。
2.2 Query Preserving Graph Compression
R压缩函数 F查询重写函数 P后处理函数
(1)对于任何查询Q∈Q,可以通过计算(较小的)G的压缩图Gr中的Q′来计算Q(G)到Q 在 G的答案;(2)压缩是通用的:原始图的任何数据结构和索引技术都可以直接应用到Gr中(如文献[6]的2-hop技术,见第6节);(3) 后处理函数只通过访问查询答案Q′(Gr)和R的节点映射逆的索引来在原始G中找到答案;(4)与一般无损压缩方案(如[10])相比,我们不需要从Gr恢复原始图G,而且,压缩图Gr不一定是G的子图。
例如,在实施例1中描述了图模式查询的查询保持压缩,其中压缩函数R基于图互模拟将节点分组为超节点;查询重写函数F是身份映射:对于任何模式查询Q,F(Q)=Q;后处理函数P简单地将每个超节点替换为它所表示的一组等价节点。
对于可达性查询,R在O(| V | | E |)时间内将图G平均减少95%;查询重写函数F在O(1)时间。此外,如图3(b)所示,完全不需要后处理P。
对于模式查询,R在O(| E | log | V |)时间内将G的大小平均减少57%;F是身份映射,P是查询答案大小的线性时间,这是任何评估算法所必需的成本(见图3(c))。更好的是,对于布尔模式查询,不再需要P。
对于每个图G,它的压缩Gr=R(G)对于Q中的所有查询计算一次,并根据G的更新进行增量维护(第5节)。
3.Reachability Preserving Compression
Reachability equivalence relations
存在一个保持可达性的压缩<R,F>,其中R在二次时间,F在恒定时间,而不需要后处理P。
可达性等价关系。我们首先将图G=(V,E,L)上的可达关系定义为二元关系Re⊆V×V,使每个(u,v)∈Re,对于任意节点x∈V,(1)当x能达到v时x能达到u,(2)当V能达到x时u能达到x。
直观地,(u,v)∈Re当且只有当它们有相同的祖先集合和相同的后代集合。
对于任何图G,(1)存在唯一的最大可达关系Re在G上,(2)Re是一个等价关系,即它是自反的、对称的和可传递的。
G的可达等价关系是G的最大可达关系,用Re(G)或简单的Re表示。我们用[v]Re表示包含节点v的等价类。
考虑图2中给出的图G。可以证明(BSA1,BSA2)∈Re(G)。实际上,bsa1和bsa2拥有相同的祖先和后代。同理,(MSA1,MSA2)∈Re(G)。相反,(FA3,FA4)/∈Re(G),因为FA3可以到达C3,而FA4不能
Reachability preserving compression
基于可达性等价关系,我们定义<R,F>如下。
Correctness
我们可以很容易地证明<R,F>是一个保持可达性的压缩。实际上,| Gr |≤| G |因为| Vr |≤| V |和| Er |≤| E |。此外,对于G上的任何可达性查询QR(v,w),可以矛盾地证明G中存在从v到w的路径当且仅当R(v)可以到达Gr中的R(w),因此,给定G上的QR(v,w),可以通过在较小的G的压缩图Gr中计算QR(R(v),R(w))来找到G中的答案
Example 3
使用上面给出的可及性保持压缩<R,F>可以得到图4中所示的Gr=R(G),其中,例如R(C1)=R(C2)=R(FA2)=CFAr。给定G上的可达性查询QR(BSA1,C2),F(QR)=较小Gr上的QR(MBr,CFAr)。作为另一个示例,图4中的gr1和gr2分别是R为图4的G1和G2生成的压缩图。
3.2 Compression Method for Reachability Queries
第一步:通过BFS计算每个点的父节点和子节点,
第二步:对含有相同的父节点和子节点关系Re的点进行划分成分区Par
第三步:对每个Par的等价类S创建一个vs节点,同时赋予固定标签o,将节点vs加入到Vr集合。
第四步:对每个Vr集合中的节点对(vs,vs’),如果存在uεS,vεS’,且在Er中不存在(vs,vs’),则将(vs,vs’)加入Er中
Optimizations
没有直接压缩G,而是首先计算其SCC(强连接元件)图Gscc,它将每个强连接的组件压缩为一个节点,而不丢失可达性信息。然后我们将压缩机应用于Gscc,它通常比| G |小得多
5.Incremental Graph Compression
为了应对社交网络和Web图形的动态特性,必须开发增量技术来维护压缩图形。给定一个查询类Q、图G、压缩图Gr=R(G)的查询保持压缩<R,F,P>,并批量更新∆G(边缘删除和插入列表)到G,增量查询保持压缩问题是计算变化∆Gr到Gr,使Gr⊕∆Gr=R(G⊕∆G),即。,更新后的压缩图Gr⊕∆Gr是更新图G⊕∆G的压缩图。
众所周知,虽然现实生活中的图形不断更新,但变化通常很小。如前所述,当∆G较小时,∆Gr通常也较小。因此,通过最小化不必要的重新计算,计算∆Gr通常比从零开始压缩G⊕∆G更有效。
5.1 Incremental Maintenance for Reachability
我们首先研究了可达性查询的增量图压缩问题,称为增量可达性压缩,称为RCM。人们可能需要开发一个有界算法来进行增量可达性压缩。
Theorem 6:RCM是无界的,即使是单元更新,也就是单边插入或删除。
我们通过从单源可达性问题(SSR)中进行简化来验证这一点。给定一个图Gs,一个固定的源节点s并更新值∆Gs,SSR是为了决定是否对所有u∈Gs,s达到Gs⊕∆Gs中的u。众所周知,SSR是无界的。
Incremental algorithm.
尽管结果是无界的,我们给出了一个在O(| AFF | | Gr |)时间内的增量算法,即只依赖于| AFF | |和| Gr |,而不是| G |,并且在不解压缩Gr的情况下求解RCM。
为了呈现算法,我们需要以下符号。(1) 一个强连接组件(SCC)图Gscc=(Vscc,Escc)将每个强连接组件合并到一个没有自循环的节点中。我们使用vscc来表示包含v的SCC节点,以及Escc表示SCC节点之间的边。(2) G中节点s的拓扑秩r(s)定义如下:(a)r(s)=0,如果s在G中没有子节点,即sscc在Gscc中没有子节点,(b)如果s和s′在同一个SCC中,r(s)=r(s′),(c)当s′位于s的子节点上时,r(s)=max(r(s′))+1。我们还为边更新e=(s,v)定义了r(e)=r(s)。我们可以验证下面的引理,它揭示了图的拓扑秩与可达等价关系之间的联系。
Lemma 7:在任何图G中,r(u)=r(v)如果(u,v)∈Re。
利用引理7,我们提出了算法,表示为incRCM,如图8所示。它有三个步骤。
1) 预处理。算法首先预处理更新∆G和压缩图Gr(第1-2行)。(a) 它首先删除∆G中对可达性没有影响的冗余更新(第1行)。(b) 然后识别一组r(u)在Gr中变化的节点u,对于每次更新(u,u′)∈∆G,它相应地更新Gr中u的秩。
2) 更新。然后算法基于Gr更新r(第3行)。它首先对存在不同等级节点[u]Re在Gr中的节点进行拆分。根据引理7,这些节点不在同一等价类中,因此[u]Re必须被拆分。然后在G中找到所有新形成的scc,并在Gr中为每个scc引入一个新节点,这两个步骤确定了一个受更新∆G影响的初始区域。
3)传播。该算法通过传播步骤(2)中确定的初始影响区域的变化来定位∆Gr。它处理递增拓扑秩(第4行)中的更新e=(u,u′)。首先求出当前压缩图Gr中u和u′的等价类[u]Re和[u′]Re,然后调用incRCM+(resp。incRCM−)在插入e时更新Gr(删除)(第5-8行)。更新Gr可能会使∆G中的某些更新冗余,这些更新从∆G中删除(第9行)。处理完∆G中的所有更新后,将返回更新后的压缩图形Gr(第10行)。
由于(u,u′)不是冗余的,u不能到达G中的u′,但是在插入e之后,u′成为u的子节点,而且[u]Re{u}中没有节点可以到达u’,因此,在插入e之后,u和[u]Re{u}中的节点不再处于同一等价类中。因此incRCM+将[u]rein拆分为两个分别代表{u}和[u]Re{u}的节点;类似地,[u′]Re(第1行)。这是通过调用过程Split(省略)来完成的。
Complexity
对于复杂度,可以看出算法的前两步(第1-3行)在O(| AFF | Gr|)时间内。实际上,(1)通过测试Gr中访问R但不搜索G的节点的可达性来识别冗余更新需要O(| AFF | Gr|)时间,并根据图进行更新。程序incRCM+和incRCM−处于O(| AFF | Gr |)时间。因此,incRCM处于O(| AFF | Gr|)时间。正如我们的实验研究所证实的,在实践中,| Gr |和| AFF |通常较小。
5.Experimental Evaluation
接下来我们将介绍一个使用真实生活和合成数据的实验研究。对于可达性和图模式查询,我们进行了四组实验来评估:(1)所提出的查询保留压缩的有效性,用压缩比,即压缩图大小与原始图大小的比率来衡量,(2)查询评估时间超过原始图和压缩图,(3)效率增量压缩算法,以及(4)增量压缩的有效性。
Exp-1: Effectiveness: Compression ratio.
我们首先使用现实生活中的数据来评估我们的方法的压缩比。我们定义了压缩机的压缩比
RCr=| Gr |/| G |,其中G是原始图,Gr是通过compress压缩的图。同样,我们定义了compressB的PCr,AHO的Rraho 其中Gr表示传递约化图。我们还考虑了SCC图Gscc(第3节),并定义了RCscc 为| Gr |/| Gscc |来评估压缩机SCC图的有效性