当前位置: 首页 > 专利查询>深圳大学专利>正文

一种k‑core‑truss社区模型及分解、搜索算法制造技术

技术编号:15639438 阅读:82 留言:0更新日期:2017-06-15 23:33
本发明专利技术提供了一种k‑core‑truss社区模型,包括图G=(V,E),所述子图满足:每条边e的度≥α*k或者边e被包含在k‑2个三角形中;对于图G的任意节点u,其核值core(u)=max{k|u∈V

【技术实现步骤摘要】
一种k-core-truss社区模型及分解、搜索算法
本专利技术属于图和社区网络的社交挖掘技术领,尤其涉及一种k-core-truss社区模型及分解、搜索算法。
技术介绍
随着科学技术的迅猛发展,社会上的各行各业都积累和采集了大量的图数据,例如在线社交网络中的社交图谱、因特网的网络拓扑、银行信贷网络、蛋白质交互网络、公路交通网络、无线传感器网络、通讯网络、以及智能电网等等。这些图数据有两个较为显著的特性:一是它们的规模庞大,图中顶点的数目往往都是千万乃至十亿级别,比如社交网络的脸书图谱、腾讯QQ网络以及新浪微博图谱等;二是这些图数据中往往都存在顶点之间紧密相连的凝聚子图(cohesivesubgraph)结构。近年来,对图和社交网络中的社区挖掘问题引起学术界和工业界了广泛的关注。在社区挖掘问题上,大多数的研究工作仅致力于探测原图中的社区结构。然而,在很多应用情景中,我们关心的是找出包含查询节点的社区结构。例如,在一个社交网络中,我们要查询某个或者几个用户所在的社区结构,进而了解他们的共同兴趣爱好,或者团体活动等;再比如在电话通信网络中,我们要查询一个用户与其紧密联系的一个社群,进而了解其的社会关系网络,这一应用有助于帮助公安刑侦,打击团伙犯罪,恐怖组织等。这些应用都需要解决对于给定的一个或者多个查询节点的社区搜索问题。在图的社区搜索上,主要包括两种代表性的模型,k-核(k-core)及k-truss。k-core的概念是由Seidman首次提出的。k-core是一个诱导子图,该子图中的顶点的度都大于或等于k,且该子图是具备这种性质的最大子图。为了求解大图数据的k-core分解问题,Vladimir和Matjaz率先提出了一个线性时间算法。该算法依次从图中删除度最小的顶点,并利用一个类似于桶排序的数据结构来组织顶点,从而实现快速的k-core计算。该算法首先是发现core数较低的顶点,然后依次发现core数较高的顶点。正因为K-core主要关注图中度数较高的节点,往往会忽略一些度数较低但却在现实中有关联的社区。相对于k-core,k-truss是一个较新的概念,这一概念是由Cohen首次提出。同样的,k-truss也是一个诱导子图,该子图中的任意一条边都至少包含在k-2个三角形中,且该子图是具备这种性质的最大子图。最大k-边连通子图同样也是一个诱导子图,该子图中的任意两个顶点都至少存在k条边不相交的路径,且该子图是具备这种性质的最大子图。值得注意的是,一个k-truss是一个(k-1)-core,反之不一定成立。由此可见,k-truss是一种精炼的k-core结构。然而,与k-core不同的是,k-truss的定义是基于图中顶点所形成的三角形结构。因此,对于那些三角形较为稀少的网络(例如二分图或近似二分图),这种定义并不合适。这是因为这种三角形稀少的网络可能依旧存在凝聚子图的结构。但是,根据k-truss的定义,我们无法发现这一结构,这是k-truss定义的一个最主要缺陷。
技术实现思路
本专利技术实施例提供一种k-core-truss社区模型,旨在解决现有技术中k-core及k-truss模型不能全面挖掘凝聚子图的技术问题。本专利技术实施例是这样实现的,一种k-core-truss社区模型,包括一个无向、无权图G=(V,E),在图G中具有一个最大子图,所述子图满足:每条边e的度≥α*k或者边e被包含在k-2个三角形中;对于图G的任意节点u,其核值core(u)=max{k|u∈Vk-core},其中Vk-core为图G中的k-core社区;对于图G中的任意边e,其trussnessλ(e)=max{k|e∈Ek-truss},其中Ek-truss为图G中的k-truss社区;对于图G中的任意边e,其最大度δ(e)=min(core(u),core(v));其中,边e=(u,v),节点u的度为deg(u)=|{v|(u,v)∈E}|,边e的度为d(e)=min{deg(u),deg(v)},图G中节点的最大度为dmax,参数α>0,k≥3。优选地,当α*k>dmax时,所述k-core-truss社区模型为k-truss模型。优选地,当α*k≤(k-1)时,所述k-core-truss社区模型为α*k-core模型。优选地,当α=1/k,整个图G都为k-core-truss社区。本专利技术的实施例还提供一种k-core-truss社区模型分解算法,包括以下步骤:计算并记录图G=(V,E)中所有节点的核值core(u)=max{k|u∈Vk-core}与core(v)=max{k|v∈Vk-core},其中Vk-core为图G中的k-core社区;计算并记录图G=(V,E)中所有边e=(u,v)的最大度δ(e)=min(core(u),core(v));计算并记录图G=(V,E)中所有边e=(u,v)的trussnessλ(e)=max{k|e∈Ek-truss},其中Ek-truss为图G中的k-truss社区;控制k的初始值为3;将所有同时满足δ(e)<α*k及λ(e)<k两个条件的边e删除,得到K-core-truss社区;在得到的K-core-truss社区的基础上,控制k=k+1,并重复前一步骤,直到所有边都被删除;输出所有得到的K-core-truss社区。优选地,所述k-core-truss社区模型分解算法的时间复杂度为O(m1.5),其中m为图G的边数,图G为无向、无权图。本专利技术的实施例还提供一种k-core-truss社区模型搜索算法,包括以下步骤:计算并记录图G=(V,E)中所有节点的核值core(u)=max{k|u∈Vk-core}与core(v)=max{k|v∈Vk-core},其中Vk-core为图G中的k-core社区;计算并记录图G=(V,E)中所有边e=(u,v)的最大度δ(e)=min(core(u),core(v));计算并记录图G=(V,E)中所有边e=(u,v)的trussnessλ(e)=max{k|e∈Ek-truss},其中Ek-truss为图G中的k-truss社区;查找预设节点q的邻边,并比较所有邻边的λ(e)及δ(e)值,选取其中的最大值作为kmax;以节点q为起始点,采用广度优先遍历算法将符合条件λ(e)≥kmax或δ(e)≥α*kmax的边加入到输出队列Q中,直到查找不到符合条件的边;输出队列Q作为目标kmax-core-truss社区。优选地,所述k-core-truss社区模型搜索算法的时间复杂度为O(m1.5),其中m为图G的边数,图G为无向、无权图。本专利技术实施例提供的一种k-core-truss社区模型及分解、搜索算法,通过对该社区模型内节点及边的核值、最大度及trussness数据进行分析,并通过广度优先遍历算法,有效解决了全部社区发现或包含给点查询节点的社区搜索问题,能够对社区模型中的凝聚子图进行全面挖掘。附图说明图1是本专利技术实施例提供的k-core-truss社区模型分解下所能得到的k-core-truss社区与k-core社区及k-truss社区的对比示意图;图2是本专利技术实施例提供的一种k-core-truss社本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201611221291.html" title="一种k‑core‑truss社区模型及分解、搜索算法原文来自X技术">k‑core‑truss社区模型及分解、搜索算法</a>

【技术保护点】
一种k‑core‑truss社区模型,其特征在于,包括一个无向、无权图G=(V,E),在图G中具有一个最大子图,所述子图满足:每条边e的度≥α*k或者边e被包含在k‑2个三角形中;对于图G的任意节点u,其核值core(u)=max{k|u∈V

【技术特征摘要】
1.一种k-core-truss社区模型,其特征在于,包括一个无向、无权图G=(V,E),在图G中具有一个最大子图,所述子图满足:每条边e的度≥α*k或者边e被包含在k-2个三角形中;对于图G的任意节点u,其核值core(u)=max{k|u∈Vk-core},其中Vk-core为图G中的k-core社区;对于图G中的任意边e,其束值λ(e)=max{k|e∈Ek-truss},其中Ek-truss为图G中的k-truss社区;对于图G中的任意边e,其最大度δ(e)=min(core(u),core(v));其中,边e=(u,v),节点u的度为deg(u)=|{v|(u,v)∈E}|,边e的度为d(e)=min{deg(u),deg(v)},图G中节点的最大度为dmax,参数α>0,k≥3。2.如权利要求1所述的k-core-truss社区模型,其特征在于,当α*k>dmax时,所述k-core-truss社区模型为k-truss模型。3.如权利要求1所述的k-core-truss社区模型,其特征在于,当α*k≤(k-1)时,所述k-core-truss社区模型为α*k-core模型。4.如权利要求1所述的k-core-truss社区模型,其特征在于,所述参数α=1/k时,整个图G都为k-core-truss模型。5.一种k-core-truss社区模型分解算法,其特征在于,包括以下步骤:计算并记录图G=(V,E)中所有节点的核值core(u)=max{k|u∈Vk-core}与core(v)=max{k|v∈Vk-core},其中Vk-core为图G中的k-core社区;计算并记录图G=(V,E)中所有边e=(u,v)的最大度δ(e)=min(core(u),core(v));计算并记录图G=(V,E)中所有边e=(u,v)的trussnes...

【专利技术属性】
技术研发人员:李振军李荣华杨烜毛睿郭君
申请(专利权)人:深圳大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1