本发明属于影响力最大化技术领域,特别涉及一种基于渗流模型的影响力最大化种子集合大小确定方法。
背景技术:
影响力最大化问题解决的是如何衡量网络中节点重要性的问题,其经典应用之一是病毒营销,也就是通过口口相传效应进行产品的销售。影响力最大化问题就是在网络中寻找有限数量的节点,即种子节点,使得种子节点的影响力尽可能的覆盖整个网络。如何选择这些种子节点便是影响力最大化问题的关键。
在过去的很多研究当中,研究人员只关注所选种子节点影响力是否最佳,旨在通过更优秀的算法求得影响力最优的种子节点集合,而忽略了种子的选取规模和影响力最大化之间的关系。本发明从网络传播影响力的能力角度出发研究影响力最大化问题,从而得出网络适合种子节点集合大小的上限。本发明提出种子节点集合大小并不是越大越好,每个网络都存在一个种子节点个数的上限,一旦超过这个上限,种子节点集合传播影响力的效果就不能达到最优.为研究目标网络传播影响力的能力,本发明使用渗流的思想对目标网络进行渗流模拟,得出网络由零散的团体逐渐变为整体的相变值,从而得出网络所适合的种子节点个数,即提出一种基于渗流模型的影响力最大化种子集合大小确定方法来获得最优的种子节点集合大小。
技术实现要素:
发明目的:针对现有技术中存在的问题,本发明提出一种基于渗流模型的影响力最大化种子集合大小确定方法,通过对目标网络进行渗流模拟,求得传播概率与其所对应的目标网络渗流模拟后的最大连通子图大小数值的拟合函数,通过拟合函数的导函数求得目标网络的渗流值,从而求得目标网络影响力最大化种子集合大小。
技术方案:为解决上述技术问题,本发明提供一种基于渗流模型的影响力最大化种子集合大小确定方法,具体步骤如下:
(1)对目标网络进行渗流模拟,求得不同传播概率所对应的目标网络渗流模拟后的最大连通子图大小;
(2)对不同传播概率以及其所对应的目标网络渗流模拟后的最大连通子图大小数值进行拟合,求得传播概率与其所对应的目标网络渗流模拟后的最大连通子图大小的拟合函数;
(3)通过拟合函数求得目标网络的渗流值;
(4)通过渗流值求得目标网络影响力最大化种子集合的大小。
进一步的,所述步骤(1)中对目标网络进行渗流模拟的具体步骤如下:
(1.1)定义目标网络为无向网络g=(v,e),其中v为目标网络的节点集合,e为目标网络的边的集合,令n=|v|为目标网络g的节点个数,定义目标网络g的邻接矩阵为a,求得邻接矩阵a的上三角矩阵au,定义邻接矩阵的维度为dim;
(1.2)定义传播概率ph=0.001×h,h=1,2,…,1000;
(1.3)随机生成维度为dim的随机矩阵r;
(1.4)定义100行1000列全零矩阵y;
(1.5)令i=1,j=1;
(1.6)定义维度为dim的全零矩阵l,令t=pj×au,用矩阵r中的元素(r)ab与t矩阵中相同位置的元素(t)ab进行比较,其中a=1,2,…,dim,b=1,2,…,dim,如果矩阵r中的元素(r)ab小于矩阵t中的元素(t)ab,那么矩阵l中相应位置的元素(l)ab为1,反之为0;
(1.7)重复步骤(1.6),求得矩阵l的最大连通子图大小cms,令(y)ij=cms,每重复一次步骤(1.6),j递增一次,步长为1,直到j大于1000时,结束重复步骤(1.6);
(1.8)重复步骤(1.7),每重复一次步骤(1.7),i递增一次,步长为1,直到i大于100时,结束重复步骤(1.7);
(1.9)按列对矩阵y求平均值,定义csh为矩阵y第h列所有元素的均值。
进一步的,所述步骤(2)中对不同传播概率以及其所对应的目标网络渗流模拟后的最大连通子图大小数值的拟合的具体步骤如下:
使用(ph,csh),h=1,2,…,1000进行拟合,求得拟合函数f。
进一步的,所述步骤(3)中通过拟合函数求得目标网络的渗流值的具体步骤如下:
(3.1)求得拟合函数f的导函数df;
(3.2)求函数df的最大值对应的坐标(pmax,csmax),在0到pmax之间求得距离pmax最近的极小值对应的坐标(pmin,csmin);
(3.3)定义相变值pc=pmin。
进一步的,所述步骤(4)中通过渗流值求得目标网络影响力最大化种子集合的大小的具体步骤如下:
令目标网络影响力最大化种子集合大小为k=pc×n。
与现有技术相比,本发明的优点在于:
本发明通过建立传播概率与渗流模拟后网络最大连通子图大小的关系,得到网络相变值pc,从而求得目标网络影响力最大化种子集合大小k。本发明对影响力最大化种子集合的大小确定起着重要的指导性作用,并且具有良好的鲁棒性。
附图说明
图1为本发明的总体流程图;
图2为图1中求渗流模拟后目标网络最大连通子图流程图;
图3为图1中对不同传播概率以及其所对应的目标网络渗流模拟后的最大连通子图大小数值进行多项式拟合求得相变值以及种子集合大小流程图。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明。
如图1-3示,本发明包括如下步骤:
步骤(1),对目标网络进行渗流模拟,具体步骤如下:
(1.1)定义目标网络为无向网络g=(v,e),其中v为目标网络的节点集合,e为目标网络的边的集合,令n=|v|为目标网络g的节点个数,定义目标网络g的邻接矩阵为a,求得邻接矩阵a的上三角矩阵au,定义邻接矩阵的维度为dim;
(1.2)定义传播概率ph=0.001×h,h=1,2,…,1000;
(1.3)随机生成维度为dim的随机矩阵r;
(1.4)定义100行1000列全零矩阵y;
(1.5)令i=1,j=1;
(1.6)定义维度为dim的全零矩阵l,令t=pj×au,用矩阵r中的元素(r)ab与t矩阵中相同位置的元素(t)ab进行比较,其中a=1,2,…,dim,b=1,2,…,dim,如果矩阵r中的元素(r)ab小于矩阵t中的元素(t)ab,那么矩阵l中相应位置的元素(l)ab为1,反之为0;
(1.7)重复步骤(1.6),求得矩阵l的最大连通子图大小cms,令(y)ij=cms,每重复一次步骤(1.6),j递增一次,步长为1,直到j大于1000时,结束重复步骤(1.6);
(1.8)重复步骤(1.7),每重复一次步骤(1.7),i递增一次,步长为1,直到i大于100时,结束重复步骤(1.7);
(1.9)按列对矩阵y求平均值,定义csh为矩阵y第h列所有元素的均值。
步骤(2):对不同传播概率以及其所对应的目标网络渗流模拟后的最大连通子图大小数值进行多项式拟合,具体方法如下:
使用(ph,csh),h=1,2,…,1000进行拟合,求得拟合函数f。
步骤(3):求目标函数的渗流值,具体步骤如下:
(3.1)求得拟合函数f的导函数df;
(3.2)求函数df的最大值对应的坐标(pmax,csmax),在0到pmax之间求得距离pmax最近的极小值对应的坐标(pmin,csmin);
(3.3)定义相变值pc=pmin。
步骤(4):求目标网络影响力最大化种子集合大小,具体方法如下:
令目标网络影响力最大化种子集合大小为k=pc×n。
通过对4个社交网络实施此方法,具体结果表明本发明在确定目标网络影响力最大化种子集合大小选取方面具有很好的效果。