一种获取社会网络关键节点的方法与流程

文档序号:18740521发布日期:2019-09-21 01:43阅读:1081来源:国知局
一种获取社会网络关键节点的方法与流程

本发明涉及社会网络关键节点技术领域,特别是涉及一种获取社会网络关键节点的方法。



背景技术:

社会网络(social network)是指个体或是团队之间为了交流信息而组成的关系网络。社会网络属于一种复杂网络,具有小世界性、无标度性和社区结构等特性。

在社会网络中有些节点对整个网络起着关键的作用,对于研究者来说有着很高的价值。通过节点的重要性评估找出这些关键节点,既可以通过重点保护这些节点来提高网络的可靠性或获取最大利益,也可以摧毁这些节点使整个网络崩溃已达到破化的目的。因此,深入了解网络结构并从桥节点的角度分析网络特性从而找到关键节点具有重要的意义。目前,国内外提出了多种取社会网络关键节点的方法,包括k-壳分解法以及“全能节点”的概念。

现有的社会网络关键节点的方法太过粗粒化,不适用于社会网络这一类大规模网络中,在评估社会网络关键节点时存在一些局限性,获取社会网络结构的精度较差。



技术实现要素:

本发明的一个目的在于提出一种能对社会网络进行全面分析的获取社会网络关键节点的方法。

一种获取社会网络关键节点的方法,应用于社会网络图,包括以下步骤:

将所述社会网络图划分为若干社区,获取每个所述社区中社区重要性指标最大的所述节点,得社区核心;

获取与两个所述社区核心连通的所述节点,得桥节点,选择任意桥节点vt,取任意两个相互连通的所述社区核心vi和vj,获取vi和vj的隔离集,捕捉节点数最少的所述隔离集,并使所述隔离集包括vt,得最小隔离集S(t),记录S(t)内的节点数αt,统计S(t)的所有形式,记录所述形式的总数量βt;

根据公式计算vt对vi和vj的影响力其中e为自然底数,并计算vt对所有以vt作为桥接点的的所述社区核心的影响力累加所有的得连通重要度Ct;

重复选择vt并分别计算Ct,取Ct的最大值对应的vt,即社会网络关键节点。

本发明的有益效果是:将社区网络划分为若干社区,通过获取不同的社区核心的影响力,能对社会网络图进行更全面的分析,所得的社会网络关键节点更准确。

另外,根据本发明提供的获取社会网络关键节点的方法,还可以具有如下附加的技术特征:

进一步地,所述将所述社会网络图划分为若干社区,之前还包括:

计算所述社会网络图内的每个节点的社区重要性指标。

进一步地,所述计算所述社会网络图内的每个节点的社区重要性指标的步骤包括:

获取所述社会网络图中所有节点的度指标;

重复执行删除所述社会网络图中所述度指标最小的节点,直至所有节点均被删除,记录所述重复执行删除的次数,即为社区重要性指标b。

进一步地,所述将所述社会网络图划分为若干社区的步骤包括:

取任意节点v0,分别获取v0的一阶邻居节点v1、二阶邻居节点v2和三阶邻居节点v3,其中v0、v1、v2和v3依次连接;

若v0较v1、v2和v3的所述社区重要性指标大,将v0、v1、v2和v3划为一个社区;

重复上述两个步骤,将整个所述社会网络图划分为若干社区。

进一步地,所述获取与两个所述社区核心连通的节点的步骤中,所述与两个所述社区核心连通的节点位于所述两个所述社区核心之间。

进一步地,所述获取vi和vj的隔离集的步骤包括:

取任意节点集,判断当所述节点集被删除时vi和vj的连通状态是否断开;

若是,则所述节点集为vi和vj的隔离集。

进一步地,所述统计S(t)的所有形式,记录所述形式的总数量βt的步骤包括:

执行捕捉包括vt的最小隔离集S1(t),将S1(t)存入预设的最小隔离集数据库中;

再次执行捕捉包括vt的最小隔离集S2(t),判断S2(t)与所述最小隔离集数据库中所有的最小隔离集是否相同,若相同,则继续执行捕捉包括vt的最小隔离集S3(t),否则将S2(t)存入所述最小隔离集数据库中;

依次类推,重复执行若干次捕捉包括vt的最小隔离集Sm(t),判断Sm(t)与所述最小隔离集数据库中所有的最小隔离集是否相同,若相同,则继续执行捕捉包括vt的最小隔离集Sm+1(t),否则将Sm(t)存入所述最小隔离集数据库中;

对所述最小隔离集数据库中的存入是最小隔离集进行计数,获得S(t)所有形式的数量βt。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是本发明第一实施例的获取社会网络关键节点的方法的流程示意图;

图2是本发明第一实施例的社会网络场景图;

图3是本发明第一实施例获得社区重要性指标的示意图;

图4是本发明第一实施例划分社区的示意图。

具体实施方式

为使本发明的目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。

请参阅图1和图2,本发明的第一实施例提出一种获取社会网络关键节点的方法,应用于社会网络图,包括以下步骤。

S1.计算所述社会网络图内的每个节点的社区重要性指标,将所述社会网络图划分为若干社区,获取每个所述社区中所述社区重要性指标最大的所述节点,得社区核心。

在本实施例中,采用美国航空网络数据集为实验数据样本,构建社会网络图,采用G=(V,E)表示社会网络的拓扑结构。

需要说明的是,在一个社会网络中,节点可以分为三类:普通节点、社区核心、桥节点。普通节点之间一般情况下联系比较稀疏,大多存在于社区核心周围。社区核心作为一个社区与其它节点联系最为紧密的节点,每一个社区只有一个社区核心。桥节点作为两个社区之间起到连通作用的节点,存在于两个社区核心之间,社区核心只有通过桥节点才能彼此之间联系。

具体的,所述计算所述社会网络图内的每个节点的社区重要性指标的步骤包括:

获取所述社会网络图中所有节点的度指标;

重复执行删除所述社会网络图中所述度指标最小的节点,直至所有节点均被删除,记录所述重复执行删除的次数,即为社区重要性指标b。

请参阅图3,例如,首先将度为1的节点从网络中删除,这些节点的社区重要性指标b=1。若还有度小于等于1的节点继续删除,这些节点b=2。若还有度小于等于1的节点继续删除(若有则b=3)。若没有度小于等于1的节点则寻找度小于等于2的节点删除,在图3中这些节点b=3。

另外,所述将所述社会网络图划分为若干社区的步骤包括:

取任意节点v0,分别获取v0的一阶邻居节点v1、二阶邻居节点v2和三阶邻居节点v3,其中v0、v1、v2和v3依次连接;

若v0较v1、v2和v3的所述社区重要性指标大,将v0、v1、v2和v3划为一个社区;

重复上述两个步骤,将整个所述社会网络图划分为若干社区。

可以理解的是,请参阅图4,以节点A为例,发现周围内没有比A节点社区重要性指标更大的节点,因此将A周围社区重要性指标相同且相邻的节点收缩为一个节点集,最后将整个节点集A与其在三跳范围内的节点划分为一个社区。

S2.获取与两个所述社区核心连通的所述节点,得桥节点,选择任意桥节点vt,取任意两个相互连通的所述社区核心vi和vj,获取vi和vj的隔离集,捕捉节点数最少的所述隔离集,并使所述隔离集包括vt,得最小隔离集S(t),记录S(t)内的节点数αt,统计S(t)的所有形式,记录所述形式的总数量βt。

在本实施例中,αt采用肉眼进行判断。在其他实施例中,也可以设计计算机程序进行获取。

其中,vt位于vi和vj之间。

需要说明的是,隔离集(separated sets,SS)是在图论中的概念,通常用于解决图中连通性的问题。与传统的关键节点判定方法相比,隔离集方法能够更好地找到在网络中起连通作用的节点,在大型网络中时间复杂度低等优点。本实施例采用最小隔离集,更能精准地体现社会网络关键节点。

具体的,所述获取vi和vj的隔离集的步骤包括:

取任意节点集,判断当所述节点集被删除时vi和vj的连通状态是否断开;

若是,则所述节点集为vi和vj的隔离集。

可以理解的是,αt的值越小,说明节点重要性越高;另外,在αt的值相同的条件下,βt的值越大,节点的重要性越高。

具体的,所述统计S(t)的所有形式,记录所述形式的总数量βt的步骤包括:

执行捕捉包括vt的最小隔离集S1(t),将S1(t)存入预设的最小隔离集数据库中;

再次执行捕捉包括vt的最小隔离集S2(t),判断S2(t)与所述最小隔离集数据库中所有的最小隔离集是否相同,若相同,则继续执行捕捉包括vt的最小隔离集S3(t),否则将S2(t)存入所述最小隔离集数据库中;

依次类推,重复执行若干次捕捉包括vt的最小隔离集Sm(t),判断Sm(t)与所述最小隔离集数据库中所有的最小隔离集是否相同,若相同,则继续执行捕捉包括vt的最小隔离集Sm+1(t),否则将Sm(t)存入所述最小隔离集数据库中;

对所述最小隔离集数据库中的存入是最小隔离集进行计数,获得S(t)所有形式的数量βt。

在本实施例中,重复执行捕捉包括vt的最小隔离集Sm(t)的次数为100次,当捕捉100次时,可认为已完全捕捉了所有的最小隔离集Sm(t)。在其他实施例中,捕捉次数也可以根据实际情况自行选择。

S3.根据公式计算vt对vi和vj的影响力其中e为自然底数,并计算vt对所有以vt作为桥接点的的所述社区核心的影响力累加所有的得连通重要度Ct。

应当指出的是,连通重要度Ct既考虑了社区核心之间的最小隔离集中节点数目,又考虑了最小隔离集中可能的情况数目对连通性能造成的影响。连通重要度Ct能适用于大规模网络,是一个从网路整体出发度量节点影响力的指标。桥节点的连通重要度越大,说明此桥节点在桥节点中的重要性越高。反之,桥节点连通重要度越小,在桥节点中的重要性越低。

另外,本实施例中计算所得的连通重要度Ct对整个社区网络图进行了充分考虑,提高了获取社会网络关键节点的精度。

S4.重复选择vt并分别计算Ct,取Ct的最大值对应的vt,即社会网络关键节点。

在本实施例中,重复选择vt的次数为100次,最后得Ct值最大的作为社会网络的关键节点。在其他实施例中,重复选择的次数也可以根据实际情况自行选择。

本发明的优势在于,将社区网络划分为若干社区,通过获取不同的社区核心的影响力,能对社会网络图进行更全面的分析,所得的社会网络关键节点更准确。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1