CN109657330B - 基于分布式平台的大规模网络信息传播计算方法及装置 - Google Patents
基于分布式平台的大规模网络信息传播计算方法及装置 Download PDFInfo
- Publication number
- CN109657330B CN109657330B CN201811532586.0A CN201811532586A CN109657330B CN 109657330 B CN109657330 B CN 109657330B CN 201811532586 A CN201811532586 A CN 201811532586A CN 109657330 B CN109657330 B CN 109657330B
- Authority
- CN
- China
- Prior art keywords
- message
- network
- execute
- state
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于分布式平台的大规模网络信息传播计算方法及装置,本发明实施步骤包括根据网络参数构建配置网络,构建信息传播模型,根据需求选择进行网络和信息传播模型的参数设定,配置信息格式、个体属性、消息传递函数、消息融合函数和消息处理函数,输入网络、信息格式、个体属性、消息传递函数、消息融合函数、消息处理函数通过并行分布式平台进行迭代计算,将包含传播记录的网络中有传播活动的节点及其相连的边筛选出来得到传播记录并输出。本发明具有并行计算能力强、用户定制能力强、传播计算通用性与适应性好、开发过程简单高效的优点,能大大降低并行分布式计算的开发难度,不需要另外考虑并行分布式的存储问题。
Description
技术领域
本发明涉及大规模复杂网络传播计算领域,具体涉及一种基于分布式平台的大规模网络信息传播计算方法及装置。
背景技术
研究复杂系统建模的常用的工具包括元胞自动机、Netlogo、以及一些基于Agent建模的理论方法。元胞自动机是一类模型的总称,也是一个方法框架。NetLogo是用于仿真自然和社会现象的简单编程语言和建模平台,可以基于简单规则描述随时间发展的网络系统系统。基于Agent建模的理论方法将认知建模、Agent组织理论和基于DEVS的框架结合在一起,可以实种新的大规模系统的多智能体建模方法,包括Repast HPC,DSOL等相关的建模方法,适合于处理复杂系统建模问题。Repast HPC,DSOL等这类建模方法适合于对一般复杂系统进行建模,但存在以下问题:没有对图(网络 ) 相关算法进行深入研究和优化,而复杂网络本身具有区别于一般复杂系统的特性,比如小世界特性、无标度特性等,同时复杂网络中的传播计算有如节点的度、聚类系数、社团结构等图相关的特殊的快速计算需求。因此这类建模方法并不适用于大规模复杂网络传播计算,大规模复杂网络传播计算需要更专业的工具 .
用于网络计算的工具有很多,如NetworkX,Networkit,SNAP等,这些工具各有优势。如Gephi适合做复杂网络可视化,操作简单但是不能支持大规模计算,Pajeck和Networkit有一定复杂网络计算和可视化的能力。SNAP (Stanford Network AnalysisProject) 来源于斯坦福Jure教授及其合作者的复杂网络分析预测相关课题,涵盖了复杂网络研究领域的绝大部分内容。KDT,GraphCT,STINGER和Ligra基于本地实现内核分布式并行化可以满足高需求的复杂网络相关计算。这类工具解决了针对复杂网络进行传播计算的优化问题,但是还存在以下问题:没有针对大规模复杂网络的问题进行相应的并行分布式的实现,遇到需要进行大规模复杂网络计算时仍然不能满足需求。因此,如何实现基于并行分布式计算平台的大规模复杂网络信息传播,已经成为一项亟待解决的关键技术问题。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种基于分布式平台的大规模网络信息传播计算方法及装置,本发明具有并行计算能力强、用户定制能力好、传播计算的通用性和适应性好的优点,尤其是适合大规模复杂网络传播计算。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于分布式平台的大规模网络信息传播计算方法,实施步骤包括:
1)根据网络参数构建配置网络;
2)构建信息传播模型;
3)根据需求选择进行网络和信息传播模型的参数设定,如果需求为以实验需求为主,则直接进行网络的参数配置和信息传播模型的参数配置;如果需求为以数据为主,则先针对数据的实证数据进行数据清洗、网络提取和网络分析得到网络的规模和参数,然后再进行网络的参数配置和信息传播模型的参数配置;
4)配置信息格式、个体属性、消息传递函数、消息融合函数和消息处理函数,将信息传播模型的实现蕴含在信息格式、个体属性、消息传递函数、消息融合函数、消息处理函数中;
5)输入网络、信息格式、个体属性、消息传递函数、消息融合函数、消息处理函数通过并行分布式平台的API接口进行迭代计算,最终迭代计算完成得到包含传播记录的网络,将包含传播记录的网络中有传播活动的节点及其相连的边筛选出来得到传播记录并输出。
优选地,步骤1)中根据网络参数构建配置网络的详细步骤包括:
1.1)根据网络参数生成节点度的序列Degree;
1.2)根据节点度的序列Degree生成网络的边来构建得到网络。
优选地,步骤1.1)的详细步骤包括:
1.1.1)初始化整体求和值Sum为0,初始化数组Cumpro;初始化变量i等于预设序号极小值kmin;
1.1.2)判断变量i大于预设序号极大值kmax是否成立,如果成立则跳转执行步骤1.1.4);否则,跳转执行步骤1.1.3);其中变量i为步骤1.1)中的局部变量;
1.1.3)设置数组Cumpro中的第i个元素的值为i-λ,将整体求和值Sum在原值的基础上加上i-λ,其中λ为预设的度指数,该度指数为常数;将变量i加1,跳转执行步骤1.1.2);
1.1.4)初始化变量j等于预设序号极小值kmin;其中变量j为步骤1.1)中的局部变量;
1.1.5)判断变量j大于预设序号极大值kmax是否成立,如果成立则跳转执行步骤1.1.6);否则,跳转执行步骤1.1.7);
1.1.6)数组Cumpro中的第j个元素的值为原值除以整体求和值Sum的结果;将变量j加1,跳转执行步骤1.1.5);
1.1.7)初始化变量k等于1;其中变量k为步骤1.1)中的局部变量;
1.1.8)判断变量k大于预设的循环次数n是否成立,如果成立则将节点度的序列Degree输出,跳转执行步骤2);否则,跳转执行下一步;
1.1.9)生成新的随机数p;将节点度的序列Degree中的第k个元素的值设置为0;
1.1.10)初始化变量l等于预设序号极小值kmin;其中变量l为步骤1.1)中的局部变量;
1.1.11)判断变量l大于预设序号极大值kmax是否成立,如果成立则将变量k加1,然后跳转执行步骤1.1.8);否则,跳转执行下一步;
1.1.12)判断数组Cumpro中第l个元素的值小于随机数p是否成立,如果成立,则跳转执行步骤1.1.13);如果不成立则跳转执行步骤1.1.11);
1.1.13)将节点度的序列Degree中的第k个元素的值在原值的基础上加1,将变量l加1,然后跳转执行步骤1.1.8)。
优选地,步骤1.2)的详细步骤包括:
1.2.1)初始化变量i等于预设序号极小值kmin,初始化变量index的值为0、循环次数j的值为1,其中变量i、index为步骤1.2)中的局部变量;
1.2.2)判断变量i大于预设的循环次数n是否成立,如果成立则跳转执行步骤1.2.3);否则,跳转执行步骤1.2.4);
1.2.3)将数组Nodelist中元素进行随机排序,然后按照编号为偶数的元素及其下一个的元素作为一对节点编号配对组合形成边,从而得到网络的边列表构成的网络;结束;
1.2.4)判断循环次数j大于节点度的序列Degree第i个元素是否成立,如果成立则将变量i加1,然后跳转执行步骤1.2.2);否则,将新的数组Nodelist中第index个元素赋值为变量i(生成配置网络的节点编号),然后增加变量index的值、增加循环次数j的值,并跳转执行步骤1.2.4)。
优选地,步骤2)中构建的信息传播模型为易感-查看-转发-移除模型SVFR,所述易感-查看-转发-移除模型SVFR包括易感状态S、查看状态V、转发状态F、移除状态R四种状态,处于易感状态S的个体接触信息时有查看概率β查看信息并变为查看状态V、有概率1-β不查看信息直接变为移除状态R,处于查看状态V的个体在下一时刻有转发概率γ转发信息变为转发状态F、有概率1-γ不查看信息直接变为移除状态R,处于转发状态F的个体会向周围的邻居节点发送信息然后在下一时刻状态变为移除状态R。
优选地,步骤4)中的信息格式为三位数组结构,第一位是消息类别,消息类别包含初始化消息、传播感染消息、强制恢复消息三类;如果消息类别是初始化消息,则第二位记录传播初始节点,用于节点初始化时判断自身是否初始节点;若消息类别是传播感染信息,则第二位记录感染源;第三位记录当前传播时间;步骤4)中的个体属性为三位数组结构,第一位记录节点当前状态,第二位记录传播源,第三位记录被传播的时间。
优选地,步骤4)中的消息传递函数作用于每条连边,且消息传递函数包括下述处理步骤:
步骤1,分别读取连边的源节点以及目标节点的个体属性和身份标记ID;
步骤2,判断源节点处于易感状态S且目标节点处于转发状态F是否成立,如果成立则跳转执行步骤3,否则跳转执行步骤4;
步骤3,给目标节点发送强制恢复消息,使得目标节点直接变为移除状态R,结束;
步骤4,给目标节点发送消息,且发送消息的消息类别为传播感染消息,记录感染源和当前时间,结束。
优选地,步骤4)中的消息融合函数包括下述处理步骤:
步骤1,针对待处理的消息a和消息b,判断消息a或消息b的消息类别为初始化消息是否成立,如果成立则将消息a作为融合后的消息输出,结束;否则跳转执行下一步;
步骤2,判断消息a的消息类别为强制恢复消息是否成立,如果成立则将消息a作为融合后的消息输出,结束;否则跳转执行下一步;
步骤3,判断消息b的消息类别为强制恢复消息是否成立,如果成立则将消息b作为融合后的消息输出,结束;否则跳转执行下一步;
步骤4,判断消息a的消息类别为传播感染消息是否成立,如果成立则将消息a作为融合后的消息输出,结束;否则跳转执行下一步;
步骤5,判断消息b的消息类别为传播感染消息是否成立,如果成立则将消息b作为融合后的消息输出,结束。
优选地,步骤4)中的消息处理函数包括下述处理步骤:
步骤1,判断收到消息的消息类别为初始化消息是否成立,如果成立则将跳转执行下一步;否则,跳转执行步骤3;
步骤2,判断初始化感染的目标节点是否为节点自身,如果为节点自身,则将节点自身的状态设置为转发状态F,否则将节点自身的状态设置为易感状态S;结束;
步骤3,判断收到消息的消息类别为强制恢复消息是否成立,如果成立则将节点自身的状态设置为移除状态R,结束;否则跳转执行下一步;
步骤4,判定收到消息的消息类别为传播感染消息,且根据收到消息中包含的感染概率判断是否感染,如果没有感染则将节点自身的状态设置为移除状态R,结束;否则跳转执行下一步;
步骤5,根据收到消息中包含的传播概率判断是否传播,如果传播则将节点自身的状态设置为转发状态F,否则将节点自身的状态设置为查看状态V。
本发明还提供一种基于分布式平台的大规模网络信息传播计算装置,包括计算机系统,所述计算机系统被编程以执行本发明前述基于分布式平台的大规模网络信息传播计算方法的步骤。
和现有技术相比,本发明基于分布式平台的大规模网络信息传播计算方法及系统具有下述优点:本发明基于分布式平台的大规模网络信息传播计算具有并行计算能力强、用户定制能力强、传播计算的通用性与适应性好、开发过程简单高效的优点,最为突出的特点是将模型完全蕴含在消息传递函数、消息融合函数、消息处理函数三个定制化函数中,大大降低并行分布式计算方面的开发难度,在根据网络进行传播计算的过程中传播记录直接记录在网络中,不需要另外考虑并行分布式的存储问题,提高读写速度。
附图说明
图1为本发明实施例方法的基本流程图。
图2为本发明实施例中网络和模型参数配置的流程图。
图3为本发明实施例中进行传播试验的流程图。
图4为本发明实施例的逻辑框架结构示意图。
图5为本发明实施例中生成节点度的序列Degree的流程图。
图6为本发明实施例中生成配置网络的流程图。
图7为本发明实施例中易感-查看-转发-移除模型SVFR的原理图。
图8为易感-感染-移除模型SIR的原理图。
图9为本发明实施例中信息格式的结构图。
图10为本发明实施例中个体属性的结构图。
图11为本发明实施例中消息传递函数的流程图。
图12为本发明实施例中消息融合函数的流程图。
图13为本发明实施例中消息融合函数的流程图。
具体实施方式
如图1所示,本实施例基于分布式平台的大规模网络信息传播计算方法的实施步骤包括:
1)根据网络参数构建配置网络;
2)构建信息传播模型;
3)根据需求选择进行网络和信息传播模型的参数设定,如果需求为以实验需求为主,则直接进行网络的参数配置和信息传播模型的参数配置;如果需求为以数据为主,则先针对数据的实证数据进行数据清洗、网络提取和网络分析得到网络的规模和参数,然后再进行网络的参数配置和信息传播模型的参数配置,如图2所示;
4)配置信息格式、个体属性、消息传递函数、消息融合函数和消息处理函数,将信息传播模型的实现蕴含在信息格式、个体属性、消息传递函数、消息融合函数、消息处理函数中;
5)输入网络、信息格式、个体属性、消息传递函数、消息融合函数、消息处理函数通过并行分布式平台的API接口进行迭代计算,最终迭代计算完成得到包含传播记录的网络,将包含传播记录的网络中有传播活动的节点及其相连的边筛选出来得到传播记录并输出,如图3所示。
进行信息传播计算需要首先构建用户关系网络,社交媒体中用户的关系网络可以通过采集实际数据获得,但大多数情况下这类数据都是各互联网公司的核心数据,不太可能获得。按照本实施例中根据网络参数构建配置网络时,基于输入网络采样数据得到网络的规模和相关拓扑参数,进而采用度序列生成算法和配置网络生成算法来生成用户关系网络。度序列是网络中所有节点的度合在一起形成的数值序列,采用BA模型可以迅速生成符合条件网络的度序列,然后构建网络采取随机配对的方式形成网络中所有的边。
本实施例步骤1)中根据网络参数构建配置网络的详细步骤包括:
1.1)根据网络参数生成节点度的序列Degree;
1.2)根据节点度的序列Degree生成网络的边来构建得到网络。
节点度的序列Degree是网络中所有节点的度合在一起形成的数值序列,采用BA模型可以迅速生成符合条件网络的度序列,然后构建网络采取随机配对的方式形成网络中所有的边。如图5所示,步骤1.1)的详细步骤包括:
1.1.1)初始化整体求和值Sum为0,初始化数组Cumpro;初始化变量i等于预设序号极小值kmin;
1.1.2)判断变量i大于预设序号极大值kmax是否成立,如果成立则跳转执行步骤1.1.4);否则,跳转执行步骤1.1.3);其中变量i为步骤1.1)中的局部变量;
1.1.3)设置数组Cumpro中的第i个元素的值为i-λ,将整体求和值Sum在原值的基础上加上i-λ,其中λ为预设的度指数,该度指数为常数;将变量i加1,跳转执行步骤1.1.2);
1.1.4)初始化变量j等于预设序号极小值kmin;其中变量j为步骤1.1)中的局部变量;
1.1.5)判断变量j大于预设序号极大值kmax是否成立,如果成立则跳转执行步骤1.1.6);否则,跳转执行步骤1.1.7);
1.1.6)数组Cumpro中的第j个元素的值为原值除以整体求和值Sum的结果;将变量j加1,跳转执行步骤1.1.5);
1.1.7)初始化变量k等于1;其中变量k为步骤1.1)中的局部变量;
1.1.8)判断变量k大于预设的循环次数n是否成立,如果成立则将节点度的序列Degree输出,跳转执行步骤2);否则,跳转执行下一步;
1.1.9)生成新的随机数p;将节点度的序列Degree中的第k个元素的值设置为0(degree[k]=0);
1.1.10)初始化变量l等于预设序号极小值kmin;其中变量l为步骤1.1)中的局部变量;
1.1.11)判断变量l大于预设序号极大值kmax是否成立,如果成立则将变量k加1,然后跳转执行步骤1.1.8);否则,跳转执行下一步;
1.1.12)判断数组Cumpro中第l个元素的值小于随机数p是否成立,如果成立,则跳转执行步骤1.1.13);如果不成立则跳转执行步骤1.1.11);
1.1.13)将节点度的序列Degree中的第k个元素的值在原值的基础上加1(degree[k]= degree[k]+1),将变量l加1,然后跳转执行步骤1.1.8)。
参见前述1.1.1)~1.1.13),根据网络参数生成节点度的序列Degree时,逻辑上需要经过多轮循环,第一轮循环生成数组Cumpro中的第i个元素Cumpro[i],第二轮循环将数组Cumpro中的第i个元素Cumpro[i]中每个元素转换成占整体的比重,形成新的数组Cumpro中的第i个元素Cumpro[i]。第三轮循环中每次生成0到1的随机数p,共n次,即节点规模的次数,数组Cumpro中的第i个元素Cumpro[i]中小于p的元素个数即这个节点的度,最终得到节点度的序列Degree。
如图6所示,步骤1.2)的详细步骤包括:
1.2.1)初始化变量i等于预设序号极小值kmin,初始化变量index的值为0、循环次数j的值为1,其中变量i、index为步骤1.2)中的局部变量;
1.2.2)判断变量i大于预设的循环次数n是否成立,如果成立则跳转执行步骤1.2.3);否则,跳转执行步骤1.2.4);
1.2.3)将数组Nodelist中元素进行随机排序,然后按照编号为偶数的元素及其下一个的元素作为一对节点编号配对组合形成边,从而得到网络的边列表构成的网络;结束;
1.2.4)判断循环次数j大于节点度的序列Degree第i个元素是否成立,如果成立则将变量i加1,然后跳转执行步骤1.2.2);否则,将新的数组Nodelist中第index个元素赋值为变量i(生成配置网络的节点编号),然后增加变量index的值、增加循环次数j的值,并跳转执行步骤1.2.4)。步骤1.2.4)用于将节点度的序列Degree的每个序号放入新的数组Nodelist中,并且每个序号在新的列表的个数是在节点度的序列Degree中的数值,从而形成数组Nodelist,数组Nodelist中的元素有重复的节点的编号。
参见前述1.2.1)~1.2.4)根据节点度的序列Degree生成网络的边来构建得到网络时,节点度的序列Degree的序号即节点编号,于是将节点度的序列Degree的每个序号放入新的列表,并且每个序号在新列表的个数是在节点度的序列Degree数值,形成数组Nodelist,数组Nodelist中的元素是有重复的节点的编号。将数组Nodelist中1元素进行随机排序,然后按照编号2n与编号2n+1的元素作为节点编号,进行组合形成边,按这种方法可以成功得到网络。
输入采样数据,结合实际互联网平台分析得到信息传播模型的结构特征。每种社交网络媒体都有不同的使用方法,用户在进行信息的获取、传递时需要进行的心理过程和行为都有一些差异。输入模型的结构特征结合常见的疾病传播模型得到信息传播模型。
如图7所示,本实施例中步骤2)中构建的信息传播模型为易感-查看-转发-移除模型SVFR,易感-查看-转发-移除模型SVFR包括易感状态S(Susceptible)、查看状态V(View)、转发状态F(Forward)、移除状态R(Removed)四种状态,处于易感状态S的个体接触信息时有查看概率β查看信息并变为查看状态V、有概率1-β不查看信息直接变为移除状态R,处于查看状态V的个体在下一时刻有转发概率γ转发信息变为转发状态F、有概率1-γ不查看信息直接变为移除状态R,处于转发状态F的个体会向周围的邻居节点发送信息然后在下一时刻状态变为移除状态R。
最常用的疾病和信息传播模型是如8所示的易感-感染-移除模型SIR,易感-感染-移除模型SIR是根据SIR疾病传播模型改进来的。如图8所示,易感-感染-移除模型SIR包括易感状态S(Susceptible)、感染状态I(Infected)、移除状态R(Removed)三种状态,处于易感状态的个体接触信息时有查看概率β查看信息并变为感染状态、有概率1-β不查看信息直接变为移除状态,处于感染状态的个体有转发概率γ变为移除状态。易感-感染-移除模型SIRDE 过程比较简单,没有很多中间过程,无法针对微信等平台的转发功能进行描述。易感-查看-转发-移除模型SVFR在易感-感染-移除模型SIR的基础上改进得来的,主要是将感染状态I拆分为查看状态V(View)、转发状态F(Forward)两个状态,用来表示个体的查看和转发状态。易感-查看-转发-移除模型SVFR的传播过程如下:
1、个体接触到信息之后有查看概率β查看信息,有1-β的概率不查看信息;接触到信息指的是社交媒体上用户通过好友或者朋友圈发现了这个信息,查看表示点击浏览该信息状态变为查看状态V,不查看表示直接略过该信息,同时该用户状态变为移除状态R;
2、如果个体处于查看状态V,那么他在下一时刻有转发概率γ转发该信息,有概率1-γ的概率不转发该信息。如果转发,个体在下一时刻的状态改为转发状态F,如果不转发个体下一时刻状态变为移除状态R;
3、处于转发状态F的节点会向周围的邻居节点发送信息,然后在下一时刻状态变为移除状态R,收到信息的节点重复这一过程,进而形成完整的传播链。
需要说明的是,本实施例仅仅是以基于易感-查看-转发-移除模型SVFR的信息传播计算为例对本发明基于分布式平台的大规模网络信息传播计算方法及装置进行的示例性说明。本发明基于分布式平台的大规模网络信息传播计算方法及装置还可以应用到其它各种通用信息传播的仿真,例如基于如8所示的易感-感染-移除模型SIR,在此不再详述。
参见图2,本实施例中根据需求选择进行网络和模型的参数设定。如果需要根据实证数据举行设定,需要先进行互联网数据的数据清洗得到实证网络,数据清洗是现有公知的针对数据中的一致性、无效值、缺失值、重复值、错误值进行处理的过程,通过处理分析网络得到实际网络的规模和结构参数,然后针对性地对实验中网络进行设定。
参见图2,本实施例中步骤3)中进行网络的参数配置和信息传播模型的参数配置时:网络的参数包括网络规模、网络最小度。比如个体用户数量是一千万,网络的规模就是一千万,确定网络最小度之后就能生成度序列,即每个节点度数值形成的序列。根据随机节点配对的方法可以生成网络中所有的边,所有的边放在一起就是需要的网络。网络规模、网络最小度可以通过实证数据提取的网络来估测,也可以按照实验需求进行设定。
参见图2,本实施例中步骤3)中进行网络的参数配置和信息传播模型的参数配置时:信息传播模型的参数包括查看概率β和转发概率γ。可以根据传播计算实验的目的来选择从实证数据中取得参数或者设计特定参数。查看概率β和转发概率γ可以根据实际数据或者人为直接设定,网络实证数据中有个体接触信息的次数和查看以及转发的记录,基于此可以计算该平台的平均查看率和转发率,从而可以将其作为查看概率β和转发概率γ,如果个体历史数据足够多,也可以有针对性地计算某个个体的查看概率β和转发概率γ。
互联网中社交平台(如微信、微博)的数据通常蕴含社交网络信息,通过对社交平台的用户历史记录进行分析可以构建得到用户的关系网络和行为网络,这些网络都是实证网络,都可以作为进行试验的配置网络的模拟对象来指导信息传播实验的参数设定。通常经过数据清洗、网络提取、网络分析就可以得到网络的规模和相关参数。同时这个网络如果是用户的行为网络,即每一条连边都代表着用户之间的信息传播,那根据这个网络可以提取模型的参数。如查看概率是用户点击并查看的信息数与总接触信息数之比,转发概率是用户转发信息数与用户接触信息数之比。这个过程通常可以用来验证模型是否具有代表性,是否可以反映实际信息传播的规律特征。从实际数据提取的网络参数都会有一定的范围,模型的参数也有不同的结果。但是作为信息传播计算来说,现实中没有的或者研究者并没接触到的也可能是具有很大研究价值的,所以通过设定不同的参数,包括网络参数和模型参数,来对未知的情形进行计算并分析结果有重要带的研究价值。
如图9所示,步骤4)中的信息格式为三位数组结构:第一位Msg(0)是消息类别,消息类别包含初始化消息、传播感染消息、强制恢复消息三类;第二位Msg(1)根据第一位Msg(0)的消息类别不同而不同:如果消息类别是初始化消息,则第二位Msg(1)记录传播初始节点,用于节点初始化时判断自身是否初始节点;若消息类别是传播感染信息,则第二位Msg(1)记录感染源;第三位Msg(2)记录当前传播时间。
如图10所示,步骤4)中的个体属性(节点的属性)为三位数组结构:第一位Value(0)记录节点当前状态,第二位Value(1)记录传播源,第三位Value(2)记录被传播的时间。
如图4所示,根据信息传播模型和相关参数编写消息传递函数、消息融合函数和消息处理函数。消息传递函数、消息融合函数和消息处理函数这三个函数是传播计算模型的核心,也是整个传播计算实验的重点,需要根据模型进行适当配置。配置消息传递函数时需要考虑用户之间是否需要传递消息、信息内容和传递时间,消息传递函数将直接作用于网络中的每条边,即根据边的两个用户的具体情况判断是否需要传递消息、消息内容以及传递时间。每个个体都有可能在某个时间同时收到很多消息,多个消息之间的融合需要消息融合函数实现。个体判断接受到消息然后如何处理的过程是传播模型的核心,如以多大概率阅读信息、阅读之后选择转发信息还是不转发信息等。消息传递函数需要确定某条边在某个时间是否需要发送消息,发送什么消息。这里计算机实现过程中的消息发送与信息传播中的信息是不同的,消息发送包含了传播信息的功能,同时包含了推进传播计算时间,记录信息传播来源的功能。由于并行分布式平台中API的循环迭代是不支持个人定制的,循环的信息也就是传播仿真中当前的时间无法从全局状态中获取,所有需要在信息传播中每次传播都累计时间,同时告诉当前用户当前时间和信息来源,用于记录传播过程。
如图11所示,步骤4)中的消息传递函数作用于每条连边,且消息传递函数包括下述处理步骤:
步骤1,分别读取连边的源节点以及目标节点的个体属性和身份标记ID;
步骤2,判断源节点处于易感状态S且目标节点处于转发状态F是否成立,如果成立则跳转执行步骤3,否则跳转执行步骤4;
步骤3,给目标节点发送强制恢复消息,使得目标节点直接变为移除状态R,结束;
步骤4,给目标节点发送消息,且发送消息的消息类别为传播感染消息,记录感染源和当前时间,结束。
如图12所示,步骤4)中的消息融合函数包括下述处理步骤:
步骤1,针对待处理的消息a和消息b,判断消息a或消息b的消息类别为初始化消息是否成立,如果成立则将消息a作为融合后的消息输出,结束;否则跳转执行下一步;
步骤2,判断消息a的消息类别为强制恢复消息是否成立,如果成立则将消息a作为融合后的消息输出,结束;否则跳转执行下一步;
步骤3,判断消息b的消息类别为强制恢复消息是否成立,如果成立则将消息b作为融合后的消息输出,结束;否则跳转执行下一步;
步骤4,判断消息a的消息类别为传播感染消息是否成立,如果成立则将消息a作为融合后的消息输出,结束;否则跳转执行下一步;
步骤5,判断消息b的消息类别为传播感染消息是否成立,如果成立则将消息b作为融合后的消息输出,结束。
如图13所示,步骤4)中的消息处理函数包括下述处理步骤:
步骤1,判断收到消息的消息类别为初始化消息是否成立,如果成立则将跳转执行下一步;否则,跳转执行步骤3;
步骤2,判断初始化感染的目标节点是否为节点自身,如果为节点自身,则将节点自身的状态设置为转发状态F,否则将节点自身的状态设置为易感状态S;结束;
步骤3,判断收到消息的消息类别为强制恢复消息是否成立,如果成立则将节点自身的状态设置为移除状态R,结束;否则跳转执行下一步;
步骤4,判定收到消息的消息类别为传播感染消息,且根据收到消息中包含的感染概率判断是否感染,如果没有感染则将节点自身的状态设置为移除状态R,结束;否则跳转执行下一步;
步骤5,根据收到消息中包含的传播概率判断是否传播,如果传播则将节点自身的状态设置为转发状态F,否则将节点自身的状态设置为查看状态V。
需要特别强调,模型设计方法是通用的,此处仅以易感-查看-转发-移除模型SVFR为例进行介绍,不同的模型需要对个体属性、消息格式以及消息传递函数、消息融合函数、消息处理函数三个函数进行定制化配置。
进行传播试验时,需要首先按照正交设计方法设计安排实验次数、每次实验的参数配置以及需要统计的结果。然后将网络、参数以及定制好的函数作为输入进行实验,实验结束后,得到存储传播记录的网络,经过处理得到传播记录。如图3所示,本实施例中将生成的网络、模型参数、配置好的个体属性和消息格式、定制完成的消息函数作为输入,通过并行分布式平台的API迭代计算,最终得到包含传播记录的网络,该网络与原始网络的结构基本一致,将有传播活动的节点和连边筛选出来就得到传播记录。
综上所述,本实施例基于分布式平台的大规模网络信息传播计算方法以很少的开发工作可以完成定制化的大规模的并行分布式复杂网络信息传播计算实验,分布式平台将并行分布式底层实现隐藏,不需要客户去进行底层开发,同时针对复杂网络进行的优化大大简化了复杂网络相关计算的开发和计算。根据本实施例基于分布式平台的大规模网络信息传播计算方法,可以很大程度上简化大规模复杂网络信息传播实验的开发难度,很大程度上提升实验效率,可以非常轻松地将各种相关工作融合在统一的平台上,开发非常简单,无论从功能或者规模上进行拓展都十分方便。此外,本实施例还提供一种基于分布式平台的大规模网络信息传播计算装置,包括计算机系统,计算机系统被编程以执行本实施例前基于分布式平台的大规模网络信息传播计算方法的步骤,在此不再赘述。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于分布式平台的大规模网络信息传播计算方法,其特征在于实施步骤包括:
1)根据网络参数构建配置网络;
2)构建信息传播模型;
3)根据需求选择进行网络和信息传播模型的参数设定,如果需求为以实验需求为主,则直接进行网络的参数配置和信息传播模型的参数配置;如果需求为以数据为主,则先针对数据的实证数据进行数据清洗、网络提取和网络分析得到网络的规模和参数,然后再进行网络的参数配置和信息传播模型的参数配置;
4)配置信息格式、个体属性、消息传递函数、消息融合函数和消息处理函数,将信息传播模型的实现蕴含在信息格式、个体属性、消息传递函数、消息融合函数、消息处理函数中;
5)输入网络、信息格式、个体属性、消息传递函数、消息融合函数、消息处理函数通过并行分布式平台的API接口进行迭代计算,最终迭代计算完成得到包含传播记录的网络,将包含传播记录的网络中有传播活动的节点及其相连的边筛选出来得到传播记录并输出。
2.根据权利要求1所述的基于分布式平台的大规模网络信息传播计算方法,其特征在于,步骤1)中根据网络参数构建配置网络的详细步骤包括:
1.1)根据网络参数生成节点度的序列Degree;
1.2)根据节点度的序列Degree生成网络的边来构建得到网络。
3.根据权利要求2所述的基于分布式平台的大规模网络信息传播计算方法,其特征在于,步骤1.1)的详细步骤包括:
1.1.1)初始化整体求和值Sum为0,初始化数组Cumpro;初始化变量i等于预设序号极小值kmin;
1.1.2)判断变量i大于预设序号极大值kmax是否成立,如果成立则跳转执行步骤1.1.4);否则,跳转执行步骤1.1.3);其中变量i为步骤1.1)中的局部变量;
1.1.3)设置数组Cumpro中的第i个元素的值为i-λ,将整体求和值Sum在原值的基础上加上i-λ,其中λ为预设的度指数,该度指数为常数;将变量i加1,跳转执行步骤1.1.2);
1.1.4)初始化变量j等于预设序号极小值kmin;其中变量j为步骤1.1)中的局部变量;
1.1.5)判断变量j大于预设序号极大值kmax是否成立,如果成立则跳转执行步骤1.1.6);否则,跳转执行步骤1.1.7);
1.1.6)数组Cumpro中的第j个元素的值为原值除以整体求和值Sum的结果;将变量j加1,跳转执行步骤1.1.5);
1.1.7)初始化变量k等于1;其中变量k为步骤1.1)中的局部变量;
1.1.8)判断变量k大于预设的循环次数n是否成立,如果成立则将节点度的序列Degree输出,跳转执行步骤2);否则,跳转执行下一步;
1.1.9)生成新的随机数p;将节点度的序列Degree中的第k个元素的值设置为0;
1.1.10)初始化变量l等于预设序号极小值kmin;其中变量l为步骤1.1)中的局部变量;
1.1.11)判断变量l大于预设序号极大值kmax是否成立,如果成立则将变量k加1,然后跳转执行步骤1.1.8);否则,跳转执行下一步;
1.1.12)判断数组Cumpro中第l个元素的值小于随机数p是否成立,如果成立,则跳转执行步骤1.1.13);如果不成立则跳转执行步骤1.1.11);
1.1.13)将节点度的序列Degree中的第k个元素的值在原值的基础上加1,将变量l加1,然后跳转执行步骤1.1.8)。
4.根据权利要求2所述的基于分布式平台的大规模网络信息传播计算方法,其特征在于,步骤1.2)的详细步骤包括:
1.2.1)初始化变量i等于预设序号极小值kmin,初始化变量index的值为0、循环次数j的值为1,其中变量i、index为步骤1.2)中的局部变量;
1.2.2)判断变量i大于预设的循环次数n是否成立,如果成立则跳转执行步骤1.2.3);否则,跳转执行步骤1.2.4);
1.2.3)将数组Nodelist中元素进行随机排序,然后按照编号为偶数的元素及其下一个的元素作为一对节点编号配对组合形成边,从而得到网络的边列表构成的网络;结束;
1.2.4)判断循环次数j大于节点度的序列Degree第i个元素是否成立,如果成立则将变量i加1,然后跳转执行步骤1.2.2);否则,将新的数组Nodelist中第index个元素赋值为变量i,然后增加变量index的值、增加循环次数j的值,并跳转执行步骤1.2.4)。
5.根据权利要求1所述的基于分布式平台的大规模网络信息传播计算方法,其特征在于,步骤2)中构建的信息传播模型为易感-查看-转发-移除模型SVFR,所述易感-查看-转发-移除模型SVFR包括易感状态S、查看状态V、转发状态F、移除状态R四种状态,处于易感状态S的个体接触信息时有查看概率β查看信息并变为查看状态V、有概率1-β不查看信息直接变为移除状态R,处于查看状态V的个体在下一时刻有转发概率γ转发信息变为转发状态F、有概率1-γ不查看信息直接变为移除状态R,处于转发状态F的个体会向周围的邻居节点发送信息然后在下一时刻状态变为移除状态R。
6.根据权利要求1所述的基于分布式平台的大规模网络信息传播计算方法,其特征在于,步骤4)中的信息格式为三位数组结构,第一位是消息类别,消息类别包含初始化消息、传播感染消息、强制恢复消息三类;如果消息类别是初始化消息,则第二位记录传播初始节点,用于节点初始化时判断自身是否初始节点;若消息类别是传播感染信息,则第二位记录感染源;第三位记录当前传播时间;步骤4)中的个体属性为三位数组结构,第一位记录节点当前状态,第二位记录传播源,第三位记录被传播的时间。
7.根据权利要求1所述的基于分布式平台的大规模网络信息传播计算方法,其特征在于,步骤4)中的消息传递函数作用于每条连边,且消息传递函数包括下述处理步骤:
步骤1,分别读取连边的源节点以及目标节点的个体属性和身份标记ID;
步骤2,判断源节点处于易感状态S且目标节点处于转发状态F是否成立,如果成立则跳转执行步骤3,否则跳转执行步骤4;
步骤3,给目标节点发送强制恢复消息,使得目标节点直接变为移除状态R,结束;
步骤4,给目标节点发送消息,且发送消息的消息类别为传播感染消息,记录感染源和当前时间,结束。
8.根据权利要求1所述的基于分布式平台的大规模网络信息传播计算方法,其特征在于,步骤4)中的消息融合函数包括下述处理步骤:
步骤1,针对待处理的消息a和消息b,判断消息a或消息b的消息类别为初始化消息是否成立,如果成立则将消息a作为融合后的消息输出,结束;否则跳转执行下一步;
步骤2,判断消息a的消息类别为强制恢复消息是否成立,如果成立则将消息a作为融合后的消息输出,结束;否则跳转执行下一步;
步骤3,判断消息b的消息类别为强制恢复消息是否成立,如果成立则将消息b作为融合后的消息输出,结束;否则跳转执行下一步;
步骤4,判断消息a的消息类别为传播感染消息是否成立,如果成立则将消息a作为融合后的消息输出,结束;否则跳转执行下一步;
步骤5,判断消息b的消息类别为传播感染消息是否成立,如果成立则将消息b作为融合后的消息输出,结束。
9.根据权利要求1所述的基于分布式平台的大规模网络信息传播计算方法,其特征在于,步骤4)中的消息处理函数包括下述处理步骤:
步骤1,判断收到消息的消息类别为初始化消息是否成立,如果成立则将跳转执行下一步;否则,跳转执行步骤3;
步骤2,判断初始化感染的目标节点是否为节点自身,如果为节点自身,则将节点自身的状态设置为转发状态F,否则将节点自身的状态设置为易感状态S;结束;
步骤3,判断收到消息的消息类别为强制恢复消息是否成立,如果成立则将节点自身的状态设置为移除状态R,结束;否则跳转执行下一步;
步骤4,判定收到消息的消息类别为传播感染消息,且根据收到消息中包含的感染概率判断是否感染,如果没有感染则将节点自身的状态设置为移除状态R,结束;否则跳转执行下一步;
步骤5,根据收到消息中包含的传播概率判断是否传播,如果传播则将节点自身的状态设置为转发状态F,否则将节点自身的状态设置为查看状态V。
10.一种基于分布式平台的大规模网络信息传播计算装置,包括计算机系统,其特征在于:所述计算机系统被编程以执行权利要求1~9中任意一项所述基于分布式平台的大规模网络信息传播计算方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811532586.0A CN109657330B (zh) | 2018-12-14 | 2018-12-14 | 基于分布式平台的大规模网络信息传播计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811532586.0A CN109657330B (zh) | 2018-12-14 | 2018-12-14 | 基于分布式平台的大规模网络信息传播计算方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109657330A CN109657330A (zh) | 2019-04-19 |
CN109657330B true CN109657330B (zh) | 2023-04-07 |
Family
ID=66113175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811532586.0A Active CN109657330B (zh) | 2018-12-14 | 2018-12-14 | 基于分布式平台的大规模网络信息传播计算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109657330B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110196554B (zh) * | 2019-05-27 | 2022-02-18 | 重庆邮电大学 | 一种多智能体系统的安全一致性控制方法 |
CN110190999B (zh) * | 2019-06-05 | 2021-05-28 | 西安交通大学 | 一种基于节点能量模型的衡量网络信息传播能力的方法 |
CN111177059B (zh) * | 2019-12-13 | 2020-12-01 | 珠海泰坦新动力电子有限公司 | 一种基于化成分容系统的数据处理方法及其系统 |
CN112257865B (zh) * | 2020-09-09 | 2023-11-03 | 中国科学院信息工程研究所 | 一种gpu上的基于着色优化的置信传播方法 |
CN112257866A (zh) * | 2020-09-09 | 2021-01-22 | 中国科学院信息工程研究所 | Gpu上的基于边着色与信息更新率优化的置信传播方法 |
CN114628038B (zh) * | 2022-03-11 | 2022-08-26 | 电子科技大学 | 一种基于在线社交网络的skir信息传播方法 |
CN114663246B (zh) * | 2022-05-24 | 2022-09-23 | 中国电子科技集团公司第三十研究所 | 传播仿真中信息制品的表征建模方法及多智能体仿真方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2952776A1 (fr) * | 2009-11-17 | 2011-05-20 | Thales Sa | Procede et systeme pour distribuer du contenu avec des garanties de delais de livraison dans les reseaux radio hybrides |
CN102752279A (zh) * | 2012-04-27 | 2012-10-24 | 中国科学院信息工程研究所 | 一种社交网络恶意代码传播的仿真系统及仿真方法 |
CN107046542A (zh) * | 2017-04-24 | 2017-08-15 | 杭州云象网络技术有限公司 | 一种在网络级采用硬件实现共识验证的方法 |
-
2018
- 2018-12-14 CN CN201811532586.0A patent/CN109657330B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2952776A1 (fr) * | 2009-11-17 | 2011-05-20 | Thales Sa | Procede et systeme pour distribuer du contenu avec des garanties de delais de livraison dans les reseaux radio hybrides |
CN102752279A (zh) * | 2012-04-27 | 2012-10-24 | 中国科学院信息工程研究所 | 一种社交网络恶意代码传播的仿真系统及仿真方法 |
CN107046542A (zh) * | 2017-04-24 | 2017-08-15 | 杭州云象网络技术有限公司 | 一种在网络级采用硬件实现共识验证的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109657330A (zh) | 2019-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109657330B (zh) | 基于分布式平台的大规模网络信息传播计算方法及装置 | |
Kessentini et al. | A cooperative parallel search-based software engineering approach for code-smells detection | |
Bryden et al. | Graph-based evolutionary algorithms | |
Gatti et al. | Large-scale multi-agent-based modeling and simulation of microblogging-based online social network | |
EP3490223A1 (en) | System and method for simulating and foiling attacks on a vehicle on-board network | |
CN111241421B (zh) | 基于社交上下文信息的用户转发行为预测方法 | |
Rossi et al. | A fast parallel maximum clique algorithm for large sparse graphs and temporal strong components | |
CN109685204A (zh) | 模型搜索方法及装置、图像处理方法及装置 | |
Ferreira et al. | Mining the low-level behaviour of agents in high-level business processes | |
Timoneda | Where in the world is my tweet: Detecting irregular removal patterns on Twitter | |
Limnios et al. | Sagess: Sampling graph denoising diffusion model for scalable graph generation | |
Alshanqiti et al. | Learning minimal and maximal rules from observations of graph transformations | |
Bhat et al. | Browser simulation-based crawler for online social network profile extraction | |
Rangrazjeddi et al. | Adaptive algorithm for dependent infrastructure network restoration in an imperfect information sharing environment | |
Michalski et al. | Temporal network epistemology: On reaching consensus in a real-world setting | |
Wang et al. | Scheduling parallel-batching processing machines problem with learning and deterioration effect in fuzzy environment | |
Sprinks et al. | Planet Four: Craters—Optimizing task workflow to improve volunteer engagement and crater counting performance | |
Saxena et al. | Degree ranking using local information | |
US20160371602A1 (en) | Variability modeling method for role-based architecture in ontology-based self-adaptive system | |
Goyal et al. | Smartphone context event sequence prediction with poermh and tke-rules algorithms | |
Tan et al. | Improving product configuration in software product line engineering | |
Casas et al. | A heuristic search based on diversity for solving combinatorial problems | |
VONGSINGTHONG et al. | Modeling network evolution by colored Petri nets | |
Rodríguez et al. | A computational definition of aggregation rules | |
Xu et al. | A cooperative coevolution approach to automate pattern-based software architectural synthesis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |