本发明专利技术公开了一种彩色k‑星核分解方法,步骤如下:S1、设置一个包含k个节点的k‑星图,其中一个中间节点与其他k‑1个点相连,给定图G和一个点u,u作为中间节点参与的k‑星的数量记作该点的k‑星度;S2、用贪婪算法对给定的图G进行着色;S3、计算每个点初始的彩色k‑星度;S4、按彩色k‑星度的大小对所有节点从小到大排序;S5、每次删除当前子图中彩色k‑星度最小的点u直到删除所有点,并将当前的核值赋给u,同时更新该点的邻居的彩色k‑星度,最后得到每个点的彩色k‑星核值以及一个节点被删除的顺序。本发明专利技术采用上述的一种彩色k‑星核分解方法,分解过程的复杂度更低,效率加快,能够很好的表征出子图的稠密属性。
【技术实现步骤摘要】
一种彩色k-星核分解方法
本专利技术涉及图数据
,尤其是涉及一种彩色k-星核分解方法。
技术介绍
真实世界中的图数据,例如社交网络、生物网络和通信网络,通常由稠密子图组成。从图中挖掘稠密子图是网络分析中的一个基础问题,这也在数据库和数据挖掘社区引起了很多关注。目前,存在的稠密子图定义有k-核、k-团(k-clique)、k-clans、k-plex、f-group、k-club等,他们中的大多数都是NP-难的计算复杂度。在稠密子图挖掘问题中,目前广泛应用的两个衡量标准是边密度和k-团密度,其中k-团是具有k个结点的子图。给定图G,边密度定义为图中所有边的数量除以所有点的数量;k-团密度定义为图中所有k-团的数量除以所有点的数量。而挖掘稠密子图的任务则转化为在给定的图中寻找最大边密度的子图和寻找最大k-团密度的子图。Tsourakakis在2015年将这两个概念归纳统一,将边密度推广到2-团密度,并提出了寻找最大k-团密度子图的精确和近似算法。Tsourakakis所提出的精确算法采用最大流计算获得,近似算法通过依次删除图中参与k-团数量最少的点,在得到的所有子图中选取最大k-团密度的子图。近似算法得到的k-团密度是真实值的近似,即小于等于真实值,大于等于真实值的。现有的稠密子图的度量主要以下缺陷:(1)k-团密度度量计算的时间复杂度高,运行效率低;(2)其他度量不能充分刻画图的稠密属性,即可能存在寻找到稀疏的子图。
技术实现思路
本专利技术的目的是提供一种彩色k-星核分解方法,分解过程的复杂度更低,效率加快,能够很好的表征出子图的稠密属性。为实现上述目的,本专利技术提供了一种彩色k-星核分解方法,步骤如下:S1、设置一个包含k个节点的k-星图,其中一个中间节点与其他k-1个点相连,给定图G和一个点u,u作为中间节点参与的k-星的数量记作该点的k-星度;S2、用贪婪算法对给定的图G进行着色,使得没有两个相邻结点具有相同的颜色值;S3、计算每个点初始的彩色k-星度;S4、按彩色k-星度的大小对所有节点从小到大排序;S5、每次删除当前子图中彩色k-星度最小的点u直到删除所有点,并将当前的核值赋给u,同时更新该点的邻居的彩色k-星度,最后得到每个点的彩色k-星核值以及一个节点被删除的顺序。彩色k-星h-核是满足所有点的彩色k-星度都大于等于h的最大子图。所有包含结点u的彩色k-星h-核中的最大整数值h,称为该点的彩色k-星核值。彩色k-星核分解问题即计算每个点的彩色k-星核值。优选的,步骤S2中,首先先将点u的邻居按颜色分为若干组,然后利用动态规划的方式来计算该点作为中间节点所参与的彩色k-星的数量;其中,动态规划的转移方程为:dp(c,i)=dp(c-1,i)+dp(c-1,i-1)*cnt(i);dp(c,i)表示从前c种颜色中选出i种不同颜色的选法种数,可以分成两个情况来考虑:(1)不选第i种颜色,只从前i-1种颜色种选择,选法种树为dp(c-1,i);(2)选第i种颜色,其中第i种颜色包含cnt(i)个点,此时还需从前i-1种颜色中选c-1种颜色,这种情况下有dp(c-1,i-1)*cnt(i)种选法;从前c种颜色中选出i种不同颜色的选法种数应为这两种选法种数之和。优选的,步骤S3中,通过贪婪着色,每个点u有一个颜色值,记作color(u)。若一个k-星中所有点的颜色各不相同,则称这样的k-星为彩色的k-星;给定图G和一个点u,u作为中间节点参与的彩色k-星的数量成为该点的彩色k-星度。因此,本专利技术采用上述一种彩色k-星核分解方法,具有如下技术效果:(1)与传统的k-核、k-团密度不同,彩色k-星核能够很好的表征出子图的稠密属性。(2)与k-核相比,彩色k-星核这个度量考虑到了子图内每个点与邻居的交互以及邻居之间的关系(邻居不能是一样的颜色)。(3)与k-团密度相比,计算彩色k-星核分解的过程时间复杂度更低,意味着更加高效快速。下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。附图说明图1是彩色4-星的示意图;图2是彩色5-星的示意图;图3是彩色6-星的示意图;图4是采用贪婪算法对给定的图G进行着色后得到的图;图5是着色后图中红色点以及该点的按颜色分组的邻居。具体实施方式以下通过附图和实施例对本专利技术的技术方案作进一步说明。给定一个无向无权图G,彩色k-星核分解算法的具体实施细节如下:1.用贪婪算法对给定的图G进行着色。先根据点的度,对每个点按度从大到小排序,并根据这个顺序为给个点赋上和邻居颜色不同且最小的颜色值,如图4所示。2.计算每个点初始的彩色k-星度。这里先将点u的邻居按颜色分为若干组,如图5所示,然后利用动态规划的方式来计算该点作为中间节点所参与的彩色k-星的数量。其中动态规划的转移方程为:dp(c,i)=dp(c-1,i)+dp(c-1,i-1)*cnt(i)。dp(c,i)表示从前c种颜色中选出i种不同颜色的选法种数。可以分成两个情况来考虑:第一种,不选第i种颜色,只从前i-1种颜色种选择,选法种树为dp(c-1,i);第二种,选第i种颜色,其中第i种颜色包含cnt(i)个点,此时还需从前i-1种颜色中选c-1种颜色,这种情况下有dp(c-1,i-1)*cnt(i)种选法。从前c种颜色中选出i种不同颜色的选法种数应为这两种选法种数之和。3.按彩色k-星度的大小对所有节点从小到大排序。4.每次删除当前子图中彩色k-星度最小的点u直到删除所有点,并将当前的核值赋给u,同时更新该点的邻居的彩色k-星度。最后得到每个点的彩色k-星核值以及一个节点被删除的顺序。因此,本专利技术采用上述一种彩色k-星核分解方法,分解过程的复杂度更低,效率加快,能够很好的表征出子图的稠密属性。最后应说明的是:以上实施例仅用以说明本专利技术的技术方案而非对其进行限制,尽管参照较佳实施例对本专利技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本专利技术的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本专利技术技术方案的精神和范围。本文档来自技高网...
【技术保护点】
1.一种彩色k-星核分解方法,其特征在于,步骤如下:/nS1、设置一个包含k个节点的k-星图,其中一个中间节点与其他k-1个点相连,给定图G和一个点u,u作为中间节点参与的k-星的数量记作该点的k-星度;/nS2、用贪婪算法对给定的图G进行着色,使得没有两个相邻结点具有相同的颜色值;/nS3、计算每个点初始的彩色k-星度;/nS4、按彩色k-星度的大小对所有节点从小到大排序;/nS5、每次删除当前子图中彩色k-星度最小的点u直到删除所有点,并将当前的核值赋给u,同时更新该点的邻居的彩色k-星度,最后得到每个点的彩色k-星核值以及一个节点被删除的顺序。/n
【技术特征摘要】
1.一种彩色k-星核分解方法,其特征在于,步骤如下:
S1、设置一个包含k个节点的k-星图,其中一个中间节点与其他k-1个点相连,给定图G和一个点u,u作为中间节点参与的k-星的数量记作该点的k-星度;
S2、用贪婪算法对给定的图G进行着色,使得没有两个相邻结点具有相同的颜色值;
S3、计算每个点初始的彩色k-星度;
S4、按彩色k-星度的大小对所有节点从小到大排序;
S5、每次删除当前子图中彩色k-星度最小的点u直到删除所有点,并将当前的核值赋给u,同时更新该点的邻居的彩色k-星度,最后得到每个点的彩色k-星核值以及一个节点被删除的顺序。
2.根据权利要求1所述的一种彩色k-星核分解方法,其特征在于:步骤S2中,首先先将点u的邻居按颜色分为若干组,然后利用动态规划的方式来计算该点作为中间节点所参与的彩色k-星的数量;
其中,动态规划的转...
【专利技术属性】
技术研发人员:高森,李荣华,王国仁,金福生,秦宏超,
申请(专利权)人:北京理工大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。