一种基于属性图中的冰山顶点集的查询方法
【专利摘要】本发明公开一种基于属性图中的冰山顶点集的查询方法,该方法将冰山顶点集查询问题定义成属性图模型,从全局角度求解属性图中的冰山顶点集,通过广度优先搜索与前向聚合等策略获取可行解空间。本发明能够形成解决全局情况下属性图的冰山顶点集方案,使属性图中的冰山顶点集查询问题在解决过程中在时间和空间复杂度上得到优化,并避免早熟收敛。
【专利说明】
一种基于属性图中的冰山顶点集的查询方法
技术领域
[0001] 本发明涉及属性图中冰山顶点集的求解方法,主要利用广度优先搜索与前向聚合 等从全局角度求解属性图中的冰山顶点集,属于计算机技术、信息技术、社交网络、数据挖 掘交叉技术应用领域。
【背景技术】
[0002] 图是描述现实世界各类复杂系统的一种普适模型,且许多实际应用中的图是大规 模的。近些年随着信息技术的发展,现实世界的图通常包含丰富的属性信息,产生了一种新 类型的图一一属性图。
[0003] 在无向属性图中,如何根据给定的查询属性、评分阈值及邻近相似度阈值,找到所 有符合条件的冰山顶点,成为广泛研究的课题。本发明主要采用广度优先搜索与前向聚合, 从全局角度求解属性图中的冰山顶点集。广度优先搜索,是一种图形搜索算法,旨在系统地 展开并检查图中的所有节点,以找寻结果。不同于传统关系型数据库中的聚合函数,前向聚 合为属性图中的每个顶点高效计算其属性得分。
[0004] 本发明能够形成解决全局情况下属性图的冰山顶点集方案,使属性图中的冰山顶 点集查询问题在解决过程中在时间和空间复杂度上得到优化,并避免早熟收敛。本发明给 出一种基于属性图模型的冰山顶点集查询方法,该方法将冰山顶点集查询问题定义成属性 图模型,从全局角度求解属性图中的冰山顶点集,通过广度优先搜索与前向聚合等策略获 取可行解空间。
【发明内容】
[0005] 技术问题:本发明要解决一种基于属性图中的冰山顶点集的查询方法,该问题是 指给定一个各顶点注有相应属性的图,即属性图,并给定查询属性、评分阈值和邻近相似度 阈值,从属性图里所有顶点中选择部分顶点构成冰山顶点集,使得这些顶点集中每个顶点 的属性得分大于查询属性对应的评分阈值。
[0006] 技术方案:所述属性图中冰山顶点集的查询问题描述如下:设给定一个属性图G = (V,E,A),再给定查询属性q、评分阈值Θ及邻近相似度〇,基于属性图模型的冰山顶点集查 询方法找到所有属性评分大于评分阈值Θ的顶点。我们假定这些顶点组织在一个属性图G = (V,E, A)中,每个顶点看作待查询的对象,每个顶点都具有0个或者多个属性,顶点度数定义 为和该顶点相关联的边数,每条边的权值均相等,任意两顶点之间的距离定义为通过两顶 点所需的最少边数,其中距离小表明两个顶点之间在空间上更相邻。我们的目标是从所有 顶点中寻找到满足筛选条件的所有顶点,并将其加入解空间,使得最终的每个顶点对应的 属性评分均大于评分阈值。
[0007] 本发明所述的基于属性图模型的冰山顶点集查询方法,将网络中的查询问题定义 成属性图模型,以及采用广度搜索优先与前向聚合等获得解空间。
[0008] 本发明所述的基于属性图模型的冰山顶点集查询方法包括以下步骤:
[0009] 步骤1)根据用户输入的信息,构建网络中的冰山顶点集查询问题的属性图模型G =以3,4);所述¥是顶点集4是边集4是顶点集¥到属性集〇的映射;所述映射是指两个元 素集之间元素相互对应的关系;所述属性图模型G=(V,E,A)在建立后,任意顶点的度数定 义为与该顶点相关联的边数,具体步骤如下:
[0010] 步骤11)用户输入包含查询属性、顶点集及每个顶点对应的属性集,给定评分阈值 及邻近相似度阈值;用户输入的查询属性记为q,顶点集记为V,属性集记为Q,顶点集V到属 性集Q的映射记为A,评分阈值记为Θ,邻近相似度阈值记为所述α :κ-μ」(£)),〇=Ι^ι, q2,…,qn},qi,q2,…,qn均是属性,η表示属性集Q中属性的个数,Ρ:表示幂集;所述映射是指 两个元素集之间元素相互对应的关系。
[0011] 步骤12)将顶点集V中所有顶点看作属性图模型G =( V,Ε,A)中的顶点;
[0012]步骤13)将顶点u和顶点v之间的路径看作属性图模型G=(V,E,A)两顶点之间的 弧,两顶点之间的距离作为顶点u和顶点v之间弧的权值,任意两顶点之间的距离4?; v)定 义为通过两顶点所需的最少边数;所述# 为属性图模型G =( V,E,A)中顶点u和顶点v最 短路的权值,且顶点间的距离满足三角不等式;所述u,vev;所述三角不等式是指在三角形 中,必然有两边之和大于第三边;
[0013]步骤14)用Pu表示顶点u所代表的顶点具有的属性集,当Pjep u,顶点u具有属性Pj, 反之当0€时,顶点U不具有属性Pj,所述Pj是指第j个属性,K j;
[0014] 步骤2)采用广度优先搜索算法,获得冰山顶点集查询问题在属性图模型上的枢纽 顶点集VP,具体步骤如下:
[0015] 步骤21)对顶点集V中每个未被访问的顶点V,使用广度优先搜索算法获得该顶点 的2跳邻域N2(v);所述2跳邻域N 2(v)是与顶点v距离为2的所有顶点构成的集合;所述广度优 先搜索算法,简称BFS,是一种图形搜索算法,该算法是从根节点开始,沿着树的宽度遍历树 的节点,如果所有节点均被访问,则算法终止;
[0016] 步骤22)对2跳邻域N2(v)中每个未被访问的顶点u,检查NKuWPNKv)是否满足邻 近相似度σ,即σ且σ ν多σ ;若满足邻近相似度,则将顶点v加入枢纽顶点集,同时标记顶点 u和ν已被访问;所述〇u = |Ni(u) ΠΝι(ν) |/|Ni(u) I,〇v= |Ni(u) ΠΝι(ν) |/|Νι(ν) I,所述 |Νι (u) I,是指顶点u的1跳邻域中所有顶点的个数,同理|NKv) I,是指顶点v的1跳邻域中所有 顶点的个数;所述iNKu) ΠΝΚν) |,是指顶点u的1跳邻域与ν的1跳邻域相交后所得顶点集合 中顶点的个数;所述顶点ν的1跳邻域是与顶点ν距离为1的所有顶点构成的集合;所述顶点u 的1跳邻域是与顶点u距离为1的所有顶点构成的集合;
[0017] 步骤23)经过步骤21)~步骤22),求得属性图G = (V,E,A)的枢纽顶点集VP;
[0018] 步骤3)采用前向聚合,获得冰山顶点集查询问题在属性图模型G=(V,E,A)上的解 空间,具体步骤如下:
[0019] 步骤31)对枢纽顶点集VP中的每个顶点ν',求取该顶点对应的近似PageRank向量 爲,所述瓦=;若顶点Vl和顶点w之间存在边,则%: = ,反之心=0;所述Μ是 指属性图G=(V,E,A)的过渡矩阵;所述 <是顶点^的对应的顶点度数;所述顶点度数,是指 和该顶点相关联的边数;
[0020] 步骤32)根据以上步骤,使甩足并结合前向聚合方法,求得顶点/对应的q属性评 分scoreqb'),所述该评分等于该顶点的PageRank向量中对应黑色顶点的条目之和;所述 黑色顶点,是指包含查询属性q的顶点;所述前向聚合方法,是指一种为属性图中的每个顶 点计算其属性得分的方法;
[0021] 步骤33)如果顶点^对应的q属性评分scored^ )大于评分阈值Θ,则将该顶点加 入解空间Solution;
[0022] 步骤34)检查枢纽顶点集%中的每个顶点是否均已被遍历过;若没有,重复步骤 31)~步骤33);
[0023]步骤35)确定最终解空间Solute,该解空间中包含所有的冰山顶点集。
[0024] 有益效果:本发明利用广度优先搜索与前向聚合形成高效的冰山顶点查询方法。 具体体现如下有益效果:
[0025] 1)本发明提供一种基于属性图模型的冰山顶点集查询方法,其完整的方法过程包 括将网络中的冰山顶点集查询问题定义成属性图模型,以及采用广度优先搜索与前向聚合 获得解空间。
[0026] 2)本发明中所述建模过程中,提供一个或一套较为抽象的图模型,能够将实际问 题中的相关求解方法转化为数学化的模型形式。
[0027] 3)本发明中所述模型从全局角度求解属性图中的所有冰山顶点,使冰山顶点集查 询问题最终能够得到所有满足条件的顶点。
[0028] 4)本发明采用广度优先搜索算法与向前聚合方法,从提前筛选后的枢纽顶点集中 查找冰山顶点,从而有效降低算法时间复杂和空间复杂度。
【附图说明】
[0029] 图1是基于属性图模型的冰山顶点集查询方法对应的流程图。
[0030] 图2是属性图模型实例。
【具体实施方式】
[0031] 下面对本发明附图的某些实施例作更加详细的描述。
[0032] 根据附图1,本发明【具体实施方式】为:
[0033] 1).将网络中的冰山顶点集查询问题定义成属性图模型。
[0034] 11).输入包含一组属性的查询属性集、顶点集及每个顶点对应的属性集等,构建 属性图模型,同时给定评分阈值及邻近相似度阈值。
[0035]如图2所示,在属性图模型G=(V,E,A)中,顶点集V中一共有18个顶点,且V={a,b, c,d,e,f,g,h,i,j,k,l,m,o,p,q,u,w},查询属性q={Q}。其中,在顶点集V中具有查询属性 Q的顶点共有8个,分别是{b,c,d,g,i,m,p,u,w},其他顶点均不具有查询属性。
[0036] 设定评分阈值Θ = 5.0,邻近相似度阈值σ = 〇. 49。
[0037] 12).将顶点集V= {a,b,c,d,e,f,g,h, i,j,k,l,m,o,p,q,u,w}中所有顶点看作属 性图模型G=(V,E,A)中的顶点。
[0038] 所述属性图模型G=(V,E,A)在建立后,任意两个顶点之间的最短路都有相应的权 值,定义为通过两点所需的最少边数。
[0039] 2).采用广度优先搜索算法,获得冰山顶点集查询问题在属性图模型上的枢纽顶 点集V P。具体步骤如下:
[0040] 21).对于顶点集 V= {a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q,u,w}中的每个未被访 问的顶点,使用广度优先搜索算法获得该顶点的2跳邻域N 2(v)。其中,
[0041] 对于顶点a,N2(a) = {b,c,g,u};对于顶点b,N2(b) = {a,c,g,u};对于顶点c,N2(c) = {a,b,d,e,g,u};对于顶点 d,N2(d) = {c,e,f,g,q,u};对于顶点 e,N2(e) = {c,d,f,g,p,q, u};对于顶点 f,N2(f) = {d,e,g,q};对于顶点 g,N2(g) = {a,b,c,d,e,f,q,u};对于顶点 h,N2 (h) = {i,j,1,m,ο,p,w};对于顶点i,N2(i) = {h,j,1,ο,p,w};对于顶点 j,N2(j) = {h,i,1,k, w};对于顶点k,N2(k) = { j,k,l,w};对于顶点l,N2(l) = {h,i, j,k,l,m,w};对于顶点m,N2(m) ={11,1^,1,0,'\¥};对于顶点0,吣(0) = {114,]_,111,口,9,'\¥};对于顶点口,吣(口)= {6,114,0,9};对 于顶点 q,N2(q) = {d,e,f,g,o,p};对于顶点 u,N2(u) = {a,b,c,d,e,g};对于顶点 w,N2(w) = {h,i,j,k,l,m,o}〇
[0042] 22).对2跳邻域N2(v)中每个未被访问的顶点u,检查Ni(u)和他(v)是否满足邻近相 似度〇,即o u>o且σν彡〇。若满足邻近相似度,则将顶点v加入枢纽顶点集,同时标记顶点u和v 已被访问。其中,
[0043] 第一次访问顶点a,a的2跳邻域N2(a) = {b,c,g,u},1跳邻域Ni(a) = {u},遍历Ν2 (8) = {13,(3,8,11}中的顶点:对于顶点13,13的1跳邻域1'11(13) = {11}。从而〇£1=1,01)=1,满足0£1> 〇,〇 1)>〇;对于顶点(3,(3的1跳邻域沁((3) = {(1,11}。从而〇£1=1,〇。=1/2,满足〇£1>〇,〇。>〇 ;对于 顶点g,g的1跳邻域%(>?) =彳丨。从而〇a=l,〇g=l/2,满足〇3>〇,〇8>〇 ;对于顶点11,11的1跳 邻域气(《) = {?,/'<?,}"。从而0£1=1,011=1/2,满足〇£1>0,0 11>0(^2(&) = {13,(3 4,11}中的顶点遍 历完毕,并将顶点a加入枢纽顶点集Vp中,并给顶点a打上访问标记,此时枢纽顶点集Vp = {a} 〇
[0044] 同理,继续访问顶点集V={a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q,u,w}中的其他未 标记的顶点,所有顶点均被标记。
[0045] 23).经过步骤21)~步骤22),求得属性图G= (V,E,A)的枢纽顶点集VP。,最终得到 枢纽顶点集VP= {a,b,c,d,e,g,o,u,w}。
[0046] 3).采用前向聚合,获得冰山顶点集查询问题在属性图模型G=(V,E,A)上的解空 间。具体步骤如下:
[0047] 31).对枢纽顶点集¥[)={3,13,(3,(1,6,8,0,11,'\¥}中的每个顶点/£¥ 1),求取该顶点对 应的近似PageRank向量化,其中九_=(1-?:·)Λ取.....若顶点Vi和顶点Vj之间存在边,贝1J = 1 / , s反之姐」=0。其中,
[0048] 对于顶点a,其顶点度数为1;对于顶点b,其顶点度数为1;
[0049] 对于顶点c,其顶点度数为2;对于顶点d,其顶点度数为2;
[0050]对于顶点e,其顶点度数为4;对于顶点f,其顶点度数为1;
[0051]对于顶点g,其顶点度数为2;对于顶点h,其顶点度数为3;
[0052]对于顶点i,其顶点度数为2;对于顶点j,其顶点度数为2;
[0053] 对于顶点k,其顶点度数为2;对于顶点1,其顶点度数为3;
[0054] 对于顶点m,其顶点度数为2;对于顶点〇,其顶点度数为3;
[0055] 对于顶点p,其顶点度数为2;对于顶点q,其顶点度数为2;
[0056] 对于顶点u,其顶点度数为4;对于顶点w,其顶点度数为4。
[0057] 32).根据以上步骤,使用九并结合前向聚合方法,求得顶点^对应的q属性评分 scoreql^v'),其中该评分等于该顶点的PageRank向量中对应黑色顶点的条目之和。最终得 到枢纽顶点集VP= {a,b,c,d,e,g,o,u,w}中每个顶点对应的属性得分如下:
[0058] 对于顶点a,其对应的q属性评分scoreq(a) = 3.79;
[0059] 对于顶点b,其对应的q属性评分scoreq(b) = 2 · 93;
[0060] 对于顶点c,其对应的q属性评分scoreq(c) = 5.86;
[0061 ] 对于顶点d,其对应的q属性评分scoreq(d) = 2.93;
[0062] 对于顶点e,其对应的q属性评分scoreq(e) = 4.96;
[0063 ] 对于顶点g,其对应的q属性评分s coreq (g) = 3 · 79;
[0064] 对于顶点〇,其对应的q属性评分scoreq(o) = 5.00;
[0065] 对于顶点u,其对应的q属性评分scoreq(u) = 7.07;
[0066] 对于顶点w,其对应的q属性评分scoreq(w) = 2.93。
[0067] 33).如果顶点ν'对应的q属性评分scoreqb')大于评分阈值Θ,则将该顶点加入解 空间Solute。其中顶点c与u对应的q属性得分均大于评分阈值Θ = 5.0。
[0068] 34).确定最终解空间Sca-F {c,u},该解空间中包含目标冰山顶点集。
【主权项】
1. 一种基于属性图中的冰山顶点集的查询方法,其特征在于该方法包括W下步骤: 步骤1)根据用户输入的信息,构建网络中的冰山顶点集查询问题的属性图模型G=(v, E,A);所述V是顶点集,E是边集,A是顶点集V到属性集Q的映射;所述映射是指两个元素集之 间元素相互对应的关系;所述属性图模型G=(V,E,A)在建立后,任意顶点的度数定义为与 该顶点相关联的边数,具体步骤如下: 步骤11)用户输入包含查询属性、顶点集及每个顶点对应的属性集,给定评分阔值及邻 近相似度阔值;用户输入的查询属性记为q,顶点集记为V,属性集记为Q,顶点集V到属性集Q 的映射记为A,评分阔值记为Θ,邻近相似度阔值记为0 ;所述A:レ'一> ,Q = {qi,Q2,…, qn},qi,q2,…,qn均是属性,η表示属性集Q中属性的个数,婷素示幕集;所述映射是指两个元 素集之间元素相互对应的关系。 步骤12)将顶点集V中所有顶点看作属性图模型G=(V,E,A)中的顶点; 步骤13)将顶点U和顶点V之间的路径看作属性图模型G=(V,E,A)两顶点之间的弧,两 顶点之间的距离作为顶点U和顶点V之间弧的权值,任意两顶点之间的距离d(u,v)定义为通 过两顶点所需的最少边数;所述d(u,v)为属性图模型G=(V,E,A)中顶点U和顶点V最短路的 权值,且顶点间的距离满足Ξ角不等式;所述u,vev;所述Ξ角不等式是指在Ξ角形中,必 然有两边之和大于第Ξ边; 步骤14)用Pu表示顶点U所代表的顶点具有的属性集,当pj e Pu,顶点U具有属性pj,反之 当巧€别寸,顶点U不具有属性W,所述P堤指第j个属性, 步骤2)采用广度优先捜索算法,获得冰山顶点集查询问题在属性图模型上的枢纽顶点 集Vp,具体步骤如下: 步骤21)对顶点集V中每个未被访问的顶点V,使用广度优先捜索算法获得该顶点的2跳 邻域化(V);所述2跳邻域化(V)是与顶点V距离为2的所有顶点构成的集合;所述广度优先捜 索算法,简称BFS,是一种图形捜索算法,该算法是从根节点开始,沿着树的宽度遍历树的节 点,如果所有节点均被访问,则算法终止; 步骤22)对2跳邻域化(V)中每个未被访问的顶点U,检查化(U)和化(V)是否满足邻近相 似度σ,即且Ον^σ;若满足邻近相似度,则将顶点V加入枢纽顶点集,同时标记顶点U和V 已被访问;所述。11= |Ni(u) η化(V) 1/1化(U) I,〇v= |Ni(u) η化(V) |/|Ni(v) I,所述|Ni(u) I, 是指顶点u的1跳邻域中所有顶点的个数,同理|Ni(v) I,是指顶点V的1跳邻域中所有顶点的 个数;所述|Ni(u) nNi(v) I,是指顶点U的1跳邻域与V的1跳邻域相交后所得顶点集合中顶点 的个数;所述顶点V的1跳邻域是与顶点V距离为1的所有顶点构成的集合;所述顶点U的1跳 邻域是与顶点U距离为1的所有顶点构成的集合; 步骤23)经过步骤21)~步骤22),求得属性图G=(V,E,A)的枢纽顶点集Vp; 步骤3)采用前向聚合,获得冰山顶点集查询问题在属性图模型G=(V,E,A)上的解空 间,具体步骤如下: 步骤31)对枢纽顶点集Vp中的每个顶点y/,求取该顶点对应的近似化geRank向量A,所 述爲.=(l-c)J斬若顶点Vi和顶点vj之间存在边,则.馬=1/馬,反之Mij = 0;所述Μ是指属 性图G=(V,E,A)的过渡矩阵;所述是顶点vj的对应的顶点度数;所述顶点度数,是指和该 顶点相关联的边数; 步骤32)根据W上步骤,使用氣.并结合前向聚合方法,求得顶点γ/对应的q属性评分 scoreq(v/),所述该评分等于该顶点的化geRank向量中对应黑色顶点的条目之和;所述黑 色顶点,是指包含查询属性q的顶点;所述前向聚合方法,是指一种为属性图中的每个顶点 计算其属性得分的方法; 步骤33)如果顶点/对应的q属性评分scoreq(v〇大于评分阔值Θ,则将该顶点加入解空 间 Solution; 步骤34)检查枢纽顶点集Vp中的每个顶点是否均已被遍历过;若没有,重复步骤31)~步 骤 33); 步骤35 )确定最终解空间Solution,该解空间中包含所有的冰山顶点集。
【文档编号】G06F17/30GK105975532SQ201610282107
【公开日】2016年9月28日
【申请日】2016年4月29日
【发明人】陈志远, 陈志 , 岳文静, 王宇虹, 陈雨诗, 卜杰, 田思明
【申请人】南京邮电大学