一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多值属性图结构发现密集连接的子网络的方法与流程

2021-11-10 03:50:00 来源:中国专利 TAG:


1.本发明涉及图数据库领域,尤其涉及一种多值属性图结构发现密集连接的子网络的方法。


背景技术:

2.许多真实世界的网络,比如社交网络,都是由社区结构组成的。从网络中发现社区是网络分析中的一个基本问题,近年来,一个名为社区搜索的基于查询的社区发现问题,因其在数据库社区中的大量应用而备受关注。社区搜索问题的目标是在网络中找到满足查询条件的密集连接子图。社区搜索是网络分析中的一个基本问题,近年来由于其广泛的应用,如蛋白质结构分析,活动组织,广告等受到了广泛的关注。社区搜索问题是一个依赖于查询的社区发现问题,它要求在给定查询条件的网络中找到密集连接的子图。
3.然而,对于广泛存在的多值网络,其中每个节点有d个数值属性,多数现有的算法要么完全忽略节点的属性,要么只考虑一个属性,同时大多数现有的社区搜索算法要么完全忽略数值属性,要么只考虑节点的一个数值属性,因此不能直接用于回答这些问题。
4.另外,在许多应用中,图通常涉及到具有多维数值属性的节点,根据一些排序函数,需要检索一组高度连接的节点和最优的节点,众所周知,如果没有指定排序函数,skyline将返回最佳对象的候选对象;而传统的办法是先计算多值网络中每个节点的所有d个数值属性的平均值(或其他线性组合),然后,根据每个节点的平均值,应用之前的社区搜索算法对一个数字属性进行社区识别,但是,由于在每个维度上具有高平均值的社区也可能被其他社区所主导为了充分描述这些有趣的社区,使得这种简单的方法不能完全捕获d维属性空间中所有有趣的社区,因此基于k

core和skyline的概念提出了一种新的社区模型。
5.因此,有必要提供一种多值属性图结构发现密集连接的子网络的方法解决上述技术问题。


技术实现要素:

6.本发明提供一种多值属性图结构发现密集连接的子网络的方法,解决了传统社区搜索问题不能完全捕获d维属性空间中所有有趣的社区的问题。
7.为解决上述技术问题,本发明提供的多值属性图结构发现密集连接的子网络的方法,包括以下步骤:
8.s1、读取多值属性图g,限制i,固定节点集f,维度d,影响力f;
9.s2、根据限制i,删除图中无效节点,并计算出图中极大连接k

core子图h,并计算出h的在第1维上的极大值f1;
10.s3、通过第1维上的极大值f1,进一步精确限制,算出第2维的极大值f2,得到一个skyline community;
11.s4、接着在通过限制f1和f2进一步计算出其他的skyline community;
12.s5、当d=3时,需要先固定一个节点u,找出第d维上所有的f3值,再通过调用第2维的算法找到对应每个f3值的2维的skyline community,最后将f1、f2和f3合并,即为3维的skyline community;
13.s6、当d≥3时,与d=3相似,主要的区别是递归地调用来计算(d

1)维的skyline community,当d=3时,递归过程终止,因为我们调用第3维的算法来计算第3维的skyline community,最后将f1、f2、f3和(d

1)维的skyline community合并,即为所求。
14.优选的,所述s2中计算k

core子图h和极大值f时,计算出图g第1维的极大值f1在所有极大连接子图k

core中记为f1*,在一个极大的连接子图k

core子图h中的第1维的值为有一个为f1*,通过递归的删去节点值小于f1*的节点直到图中不存在k

core。
15.优选的,所述s2中极大连接子图k

core h可能不是一个skyline community,这是因为h’可以具有相同f1值,但f2值大于h的communityh’所主导,但是,这样的团体h’必须包含在h中,因为它的f1值与h相同,h是在所有的k

core中是最大的。
16.优选的,所述s3中为了找到一个skyline community,可以应用s2相同的步骤来计算极大f2值记为f2*,在h中包含的所有连接sub

k

cores,由h2表示的结果k

core必须是一个(f1(h1),f2(h1))的skyline community,其中f1(h1)=f1*,f2(h1)=f2*,由于f2*是当前所有k

core中最大的,因此没有其他k

core可以在第2维上主导它。
17.优选的,所述s4中其他的skyline community计算具体步骤为,按照与s1相似的计算步骤,将之前的限制条件进行精确,第2维的值要大于f2*,第1维的值要大于f1*,因为第1维的值不大于f1*的节点和第2维的值不大于f2*的值,便不能包含在未发现的skyline community中。
18.优选的,所述s3中f1*在所有具有相同f2*值的k

core中是最大的,因此不存在主导它的k

core,由于之前的递归过程确保了最终的k

core是最大的,所以它必须是一个skyline community。
19.优选的,所述s5中对于有3维的skyline community,其算法是基于一个降维思想,它包括以下三个步骤:
20.s51、首先,推导出在第3维度上skyline community可能拥有的所有可能的f3值;
21.s52、其次,对于每个可能的f3值(用f3表示),我们找到x1和x2维度上的所有2d skyline community,使这些skyline community的f3值等于f3*,在这里,将基于第1维和第2维维度的skyline community称为2d skylinecommunity,而所有基于三个维度的skyline community称为3d skyline community;
22.s53、最后,对所有可能的f3值合并生成的skyline community,并调用传统的skyline算法来确定所有的3d skyline community。
23.优选的,所述s53中设f3是所有可能的f3值的集合,对于s51,一个简单的解决方案是将f3设置为g中所有x3节点值的集合(x3代表节点的第3维),因为所有skyline community的f3值必须从所有f3节点值的集合中获取,s52可以按如下方式执行,删除所有x3值小于f3*的节点,将节点u固定为xu3=f3*(固定的节点表示该节点不能被算法删除),需要注意的是,只有一个节点u的xu3=f3*是固定的,因为根据假设,所有的x3值构成了一个总顺序,使用约束i={x3≥f3}和定点集f={u}调用2d skyline community算法来计算x1和x2维度上2d skyline community,可以很容易地看出,最终的社区是2dskylinecommunity(x1和x2维度
上),f3值等于f3*。
24.优选的,所述s6中,对于维数大于3的skyline community,将3维的skyline community变为更多维的一般的过程与3维的非常相似,主要的区别是,该算法用参数d

1递归地调用自己来计算(d

1)维度skyline communit当d=3时,递归过程终止,因为调用3维的算法来计算3d skyline community。
25.与相关技术相比较,本发明提供的多值属性图结构发现密集连接的子网络的方法具有如下有益效果:
26.本发明通过设计多值属性图结构发现密集连接的子网络技术和框架,主要用于检测多值网络中每个节点与d个数值属性相关联的感兴趣社团,既可以找到连接紧密的子图,又可以在保证密切相连的同时考虑多个属性,同时,本发明构建的模型识别出的社团不能被d维属性空间中的其他社团所支配,进而能够最大程度的捕获d维属性空间中所有有趣的社区,模型采用k

core、skyline,利用其真实世界的网络的特点,可以同时考虑多个因素的影响,与现有的方案不同的是算法考虑多个节点属性值不筒,以实现对多值属性图中多种属性节点的搜索,在一定程度上能有更好的应用价值。
附图说明
27.图1为本发明提供的多值属性图结构发现密集连接的子网络的方法的流程图;
28.图2为本发明提供的多值属性图结构发现密集连接的子网络的方中skyline community的结构示意图。
具体实施方式
29.下面结合附图和实施方式对本发明作进一步说明。
30.请结合参阅图1和图2,其中,图1为本发明提供的多值属性图结构发现密集连接的子网络的方法的流程图;图2为本发明提供的多值属性图结构发现密集连接的子网络的方中skyline community的结构示意图。多值属性图结构发现密集连接的子网络的方法,包括以下步骤:
31.s1、读取多值属性图g,限制i,固定节点集f,维度d,影响力f;
32.s2、根据限制i,删除图中无效节点,并计算出图中极大连接k

core子图h,并计算出h的在第1维上的极大值f1;通过第1维上的极大值f1,进一步精确限制,算出第2维的极大值f2,得到一个skyline community;
33.其中,需要找到第d维的极大值f,计算出图g第1维的极大值f1在所有极大连接子图k

core中记为f1*,在一个极大的连接子图k

core子图h中的第1维的值为有一个为f1*,通过递归的删去节点值小于f1*的节点直到图中不存在k

core,需要注意的是:可能不是一个skyline community,这是因为h’可以具有相同f1值,但f2值大于h的communityh’所主导,但是,这样的团体h’必须包含在h中,因为它的f1值与h相同,h是在所有的k

core中是最大的,因此,为了找到一个skyline community,可以应用s2相同的步骤来计算极大f2值记为f2*,在h中包含的所有连接sub

k

cores,由h2表示的结果k

core必须是一个(f1(h1),f2(h1))的skyline community,其中f1(h1)=f1*,f2(h1)=f2*,由于f2*是当前所有k

core中最大的,因此没有其他k

core可以在第2维上主导它,f1*在所有具有相同f2*值的k

core中是最大
的,因此不存在主导它的k

core,由于之前的递归过程确保了最终的k

core是最大的,所以它必须是一个skyline community;
34.s3、接着在通过限制f1和f2进一步计算出其他的skyline community,按照与s2相似的计算步骤,将之前的限制条件进行精确,第2维的值要大于f2*,第1维的值要大于f1*,因为第1维的值不大于f1*的节点和第2维的值不大于f2*的值,便不能包含在未发现的skyline community中;
35.s4、当d=3时,需要先固定一个节点u,找出第d维上所有的f3值,再通过调用第2维的算法找到对应每个f3值的2维的skyline community,最后将f1、f2和f3合并,即为3维的skyline community,对于有3维的skyline community,其算法是基于一个降维思想,它包括以下三个步骤:
36.s51、首先,推导出在第3维度上skyline community可能拥有的所有可能的f3值;
37.s52、其次,对于每个可能的f3值(用f3表示),我们找到x1和x2维度上的所有2d skyline community,使这些skyline community的f3值等于f3*,在这里,将基于第1维和第2维维度的skyline community称为2d skylinecommunity,而所有基于三个维度的skyline community称为3d skyline community;
38.s53、最后,对所有可能的f3值合并生成的skyline community,并调用传统的skyline算法来确定所有的3d skyline community,设f3是所有可能的f3值的集合,对于s51,一个简单的解决方案是将f3设置为g中所有x3节点值的集合(x3代表节点的第3维),因为所有skyline community的f3值必须从所有f3节点值的集合中获取,s52可以按如下方式执行,删除所有x3值小于f3*的节点,将节点u固定为xu3=f3*(固定的节点表示该节点不能被算法删除),需要注意的是,只有一个节点u的xu3=f3*是固定的,因为根据假设,所有的x3值构成了一个总顺序,使用约束i={x3≥f3}和定点集f={u}调用2dskyline community算法来计算x1和x2维度上2d skyline community,可以很容易地看出,最终的社区是2d skylinecommunity(x1和x2维度上),f3值等于f3*;
39.s6、当d≥3时,与d=3相似,主要的区别是递归地调用来计算(d

1)维的skyline community,当d=3时,递归过程终止,因为我们调用第3维的算法来计算第3维的skyline community,最后将f1、f2、f3和(d

1)维的skyline community合并,即为所求,设f3是所有可能的f3值的集合,对于s51,一个简单的解决方案是将f3设置为g中所有x3节点值的集合(x3代表节点的第3维),因为所有skyline community的f3值必须从所有f3节点值的集合中获取,s52可以按如下方式执行,删除所有x3值小于f3*的节点,将节点u固定为xu3=f3*(固定的节点表示该节点不能被算法删除),需要注意的是,只有一个节点u的xu3=f3*是固定的,因为根据假设,所有的x3值构成了一个总顺序,使用约束i={x3≥f3}和定点集f={u}调用2d skyline community算法来计算x1和x2维度上2d skyline community,可以很容易地看出,最终的社区是2dskylinecommunity(x1和x2维度上),f3值等于f3*。
40.请结合参阅图2,由图可知,图中6个节点,每个节点在三个不同维度上都有3个值,假设k=2,那么,h1={v1,v2,v3}是一个skyline community,其值为f(h1)=(8,14,3),因为不存在可以主导它的2

core,而且它也是满足内聚性和skyline属性的最大子图;
41.同样,h2={v2,v4,v5,v6}是一个skyline community,f(h2)=(6,8,4),子图h3={v4,v5,v6}不是一个skyline community,因为它包含在h2={v2,v4,v5,v6}中,该社区的f值
与h3相同;子图h4={v2,v3,v4,v5,v6}也不是skyline community,因为f(h4)=(6,8,3)由h1和h2主导。
42.与相关技术相比较,本发明提供的多值属性图结构发现密集连接的子网络的方法具有如下有益效果:
43.本发明通过设计多值属性图结构发现密集连接的子网络技术和框架,主要用于检测多值网络中每个节点与d个数值属性相关联的感兴趣社团,既可以找到连接紧密的子图,又可以在保证密切相连的同时考虑多个属性,同时,本发明构建的模型识别出的社团不能被d维属性空间中的其他社团所支配,进而能够最大程度的捕获d维属性空间中所有有趣的社区,模型采用k

core、skyline,利用其真实世界的网络的特点,可以同时考虑多个因素的影响,与现有的方案不同的是算法考虑多个节点属性值不筒,以实现对多值属性图中多种属性节点的搜索,在一定程度上能有更好的应用价值。
44.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献