一种寻找社会网络中极大k-plex的方法技术

技术编号:6983087 阅读:247 留言:1更新日期:2012-04-11 18:40
一种寻找社会网络中极大k-plex的方法,首先对社会网络G中所有的节点进行编号,每个节点对应一个唯一的号码;然后利用基本生长方法,找到社会网络G中所有顶点数目为2k-1的k-plex,其中k为预先设定的一个大于1的自然数;再以所得到的顶点数目为2k-1的k-plex作为基础,利用有序生长方法,找出社会网络G中所有的极大k-plex。本发明专利技术的方法能充分利用分布式计算环境,从海量数据所蕴藏的巨大社会网络中快速高效地寻找出所有的极大k-plex,而且方法具有很高的计算能力扩展性。

【技术实现步骤摘要】

本专利技术涉及,属于计算机网络
, 特别是属于社会网络并行计算

技术介绍
随着因特网和移动通信的发展和普及,网络用户之间通过各种网络活动,构成了关系复杂的社会网络。社会网络中存在着一种相当普遍的特性——社群结构,社群是网络中相对密集的区域,其内部实体间存在着紧密的连接,而区域之间相互隔离或只有少许联系桥接其间。网络社群是我们了解网络结构、网络功能和增长机制的一个重要工具。在社会网络中,社群结构往往对应着现实社会中的小团体,来自同一社群的成员之间往往有许多共同的特性,比如兴趣,爱好,思想,个性等。这一概念也可以扩展到其他网络中,比如BBS(Bulletin Board System,电子公告牌)中的同一社群的人员通常意味着出现在相同的版面,讨论着同一公共话题。发现一个网络中的社群结构是对这个网络进行研究的常用方式,具有极大的研究价值和应用价值,例如,在现今流行的精准营销当中,可以通过对用户所属社群特征的判断来为用户推送相应的个性化内容,参见图1,如SNS(SC)Cial Networking Services,即社会性网络服务)社区中根据共同好友数判断用户社群从而进行好友推荐,在线阅读平台根据用户阅读历史记录判断用户阅读偏好所属社群进行书籍推荐,手机广告平台根据用户信息进行社群分类从而发送定制广告等。参见图2,为研究网络社群,人们把社会网络抽象成一个图,图中的节点表示网络用户,网络用户之间的网络联系用节点之间的边来表示,图2即为图1所示SNS所对应图的示意图。关于网络社群结构的研究很多,但是如何定义网络中的社群结构,目前还没有一个公认的定义,k-plex(称为k-派系)就是众多网络社群定义中的一种。社会网络中,k-plex 子图就是满足如下条件的节点集合即该集合中每个节点都与最多除了 k个节点之外的其他节点直接相连,k是一个自然数。极大k-plex子图则是不被任何其他的k-plex子图包含的k-plex子图。对于网络来说,一个网络的极大k-plex子图则可以看成这个网络的一个极大社群,这个社群在网络中不被其他社群所包含,拥有自己独立的特征。如上所说,极大k-plex子图是社会网络中具有重要价值的网络派系,因此,人们对如何寻找极大k-plex子图做了很多的研究,但随着社会网络规模的急剧膨胀,目前的研究成果对大规模数据量的并行处理效果很不好,不能实现快速寻找到社会网络中的极大 k-plex子图的目标。因此如何充分利用并行计算环境,从大规模的社会网络中快速寻找到极大k-plex子图成为当前社会网络应用中一个急需要解决的技术难题。
技术实现思路
有鉴于此,本专利技术的目的是专利技术一种能充分利用并行计算环境,实现快速寻找社会网络中极大k-plex的方法。为了达到上述目的,本专利技术提出了,所述方法包括下列操作步骤(1)对社会网络G中所有的节点进行编号,每个节点对应一个唯一的号 码;(2)利用基本生长方法,找到社会网络G中所有顶点数目为2k_l的k-plex,其中 k为预先设定的一个大于1的自然数;(3)以步骤⑵所得到的顶点数目为2k_l的k-plex作为基础,利用有序生长方法,找出社会网络G中所有节点数目大于等于2k-l的极大k-plex。所述步骤(2)中所述的基本生长方法包括下列操作步骤(21)从所述的社会网络G中,如果能找到构成一个连通图的三个节点并且该三个节点中至少有一个不在任何一个已经搜寻到的k-plex派系中,则这三个节点构成一个 k-plex核,把该k-plex核作为一个待基本生长k-plex,转到步骤(22)进行递归基本生长操作;否则步骤(2)的全部操作结束;(22)从所述的社会网络G中,找到该待基本生长k-plex的基本生长有效生长点集合;如果该待基本生长k-plex的基本生长有效生长点集合为空集,则转到步骤(24),否则找到该待基本生长k-plex的一个基本生长有效生长点,把该基本生长有效生长点添加到所述的待基本生长k-plex中,得到该待基本生长k-plex的子k-plex,把该子k-plex作为新的待基本生长k-plex,转到步骤(23);所述的基本生长有效生长点是指社会网络G中的一个节点,该节点是所述待基本生长k-plex的一个生长点,并且该节点不是当前待基本生长k-plex所在支路中所有节点的兄弟节点中被生长过的兄弟节点;所述的兄弟节点是指两节点具有相同的直接父节点,并且同时为该直接父节点所在的k-plex生长分支的生长占.^ \\\ (23)如果该待基本生长k-plex节点数小于2k_l,则转到步骤(22)进行递归基本生长操作;否则该待基本生长k-plex即为所要的一个节点数为2k_l的k-plex,予以保存, 然后转到步骤(24)继续寻找新的节点数为2k-l的k-plex ;(24)如果该待基本生长k-plex是步骤(21)中所获得的基本生长k-plex核,则转到步骤(21);否则找到该待基本生长k-plex的最近父k-plex,如果该待基本生长k-plex 的最近父k-plex的基本生长有效生长点集合中还有未生长过的节点,则取出其中任意节点,加入到该待基本生长k-plex的最近父k-plex中形成该新的k-plex,并把这个新形成的 k-plex作为新的待基本生长k-plex,转到步骤(22)进行新分支的基本生长;如果该待基本生长k-plex的最近父k-plex的基本生长有效生长点集合中所有的节点都已经生长过,则把该待基本生长k-plex的最近父k-plex作为新的待基本生长k-plex,转到步骤(24)。所述步骤(3)中所述的有序生长方法包括下列操作步骤(31)把步骤(2)中所获得的节点数为2k_l的k-plex集合作为有序生长k-plex 核的集合,从中拿出一个k-plex,作为待有序生长k-plex,转到步骤(32)进行有序生长;如果步骤⑵中所获得的节点数为2k-l的k-plex集合已经变为空集,则所述步骤(3)的操作全部结束;(32)找到该待有序生长k-plex的生长点集合和有序生长有效生长点集合;所述的有序生长有效生长点是指社会网络G中的一个节点,该节点是所述的待有序生长k-plex 的一个生长点,并且该节点的编号小于所述的该待有序生长k-plex所构成的生长分支中所有节点的编号;(33)如果该待有序生长k-plex的有序生长有效生长点集合为空集,并且如果该待有序生长k-plex的生长点集合同时为空集,则该待有序生长k-plex的有序生长操作结束,该待有序生长k-plex所构成的生长分支即为所寻找到的所述的社会网络G的一个极大 k-plex,予以保存;然后转到步骤(34);如果该待有序生长k-plex的有序生长有效生长点集合为空集,并且如果该待有序生长k-plex的生长点集合不为空集,则转到步骤(34);如果该 待有序生长k-plex的有序生长有效生长点集合不为空集,并且如果该待有序生长k-plex的有序生长有效生长点集合的所有节点与该待有序生长k-plex中的最新节点,已经同时全部包含于该待有序生长k-plex的父k-plex的某个生长分支之中,则转到步骤(34);否则从该待有序生长k-plex的有序生长有效生长点集合中找到那个编号最大的节点,把该节本文档来自技高网
...

【技术保护点】
1.一种寻找社会网络中极大k-plex的方法,其特征在于:所述方法包括下列操作步骤:(1)对社会网络G中所有的节点进行编号,每个节点对应一个唯一的号码;(2)利用基本生长方法,找到社会网络G中所有顶点数目为2k-1的k-plex,其中k为预先设定的一个大于1的自然数;(3)以步骤(2)所得到的顶点数目为2k-1的k-plex作为基础,利用有序生长方法,找出社会网络G中所有节点数目大于等于2k-1的极大k-plex。

【技术特征摘要】

【专利技术属性】
技术研发人员:廖建新王晶王纯李炜张涛沈奇威周瑶徐童朱晓民张磊张乐剑樊利民程莉
申请(专利权)人:北京邮电大学
类型:发明
国别省市:11

网友询问留言 已有1条评论
  • 来自[美国加利福尼亚州圣克拉拉县山景市谷歌公司] 2014年12月27日 09:07
    亦译最大文艺复兴时期德意志库萨的尼古拉用语与极小相对他认为一个事物如果没有比它更大的事物存在就叫做最大或极大
    0
1