基于LabVIEW的BA无标度网络演化模拟软件

2016-07-23 03:46陈佳莹刘海洋王玫宝吕孟轩刘歌群
电子科技 2016年7期

周 茜,陈佳莹,刘海洋,王玫宝,吕孟轩,刘 松,刘歌群

(上海理工大学 光电信息与计算机工程学院,上海 200093)



基于LabVIEW的BA无标度网络演化模拟软件

周茜,陈佳莹,刘海洋,王玫宝,吕孟轩,刘松,刘歌群

(上海理工大学 光电信息与计算机工程学院,上海 200093)

摘要BA无标度网络模型可对自然界和人类社会中大多数的网络演化特征进行描述。然而目前还没有一种可以描述BA无标度网络增长特性和优先连接特性的演化模拟软件。针对软件的缺失,设计了基于LabVIEW与Matlab的BA无标度网络演化模拟软件。利用LabVIEW构建人机界面和实现动态演化,并以Matlab计算邻接矩阵、节点度和连接概率等数据。最终实现每点击一次增长按钮,就会增加一个节点的BA无标度网络演化的动态显示。该软件有利于学习和理解BA无标度网络模型。通过BA无标度网络演化示例进行结果验证表明,软件不仅能够演示网络演化过程,还可动态计算邻接矩阵、节点度和连边概率。

关键词LabVIEW; Matlab; BA无标度网络

当今是网络化的世界,各种网络种类繁多。而这些网络又具有共同的特性:大部分节点只有少数几个连接,而某些节点却拥有与其他节点的大量连接。表现在度分布上就是有幂律分布[1],即p(k)~k-γ。有大量连接的节点称为“集散节点”,由于包含集散节点的这类网络的节点的度没有明显的特征长度,故称为无标度网络[1]。而无标度网络中的经典模型为Barabási和Albert提出的BA模型[2-3]。因此要了解无标度网络的特性,首先要了解BA无标度网络的特性。为更好地了解BA无标度网络的特性,本文利用图形化的LabVIEW软件与Matlab进行混合编程,以展示BA无标度网络的节点增长演化过程。LabVIEW与Matlab的混合编程可以方便、直观地进行分析与计算,提高编程效率,同时加强BA无标度网络演化过程的显示效果。

1LabVIEW与Matlab

LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench)是一种用图标代替文本创建应用程序的图形化编程语言[4]。LabVIEW图形化虚拟仪器编程语言直观, 可视性强, 通过图形化编程环境,编程者可以像搭积木一样, 轻松组建一个程序界面,不再需要记忆繁杂的语法和函数原型,使编程过程生动简便[4]。

Matlab与LabVIEW相比,具有LabVIEW不可比拟的强大计算能力和完备的工具箱。然而Matlab也有不足之处,例如界面开发能力较差、数据输入繁琐、硬件控制不灵活等问题[5-6]。为了扬长避短,本文将LabVIEW与Matlab进行混合编程。将Matlab中运行好的复杂算法程序,利用LabVIEW的MathScript节点或者MatlabScript节点实现Matlab的调用,通过这种方式,可以在LabVIEW中使用Matlab强大的数值运算功能,提高编程效率。

2BA无标度网络

网络是由节点和连边构成,表示诸多对象及其相互联系,复杂网络是呈现高度复杂性的网络。钱学森给出复杂网络的一个较严格的定义:具有自组织、自相似、吸引子、小世界、无标度中部分或全部性质的网络称为复杂网络。而复杂网络中的无标度网络的幂律型度分布,引起广大网络研究者的兴趣。为解释幂律分布的产生机理,Barabási和Albert提出了一个无标度网络模型,现被称为BA模型[2]。他们认为以前的网络都没有考虑到实际网络的如下两个重要特性[7-8]:(1)增长特性:即网络规模是不断扩大的,网络节点是不断增加的;(2)优先连接特性,即新节点更倾向于与那些具有较高连接度的“大”节点相连接。

基于网络的增长特性和优先连接特性,BA无标度网络模型的构造算法[9-11]如下:(1)增长。从一个具有个节点的网络开始,每次引入一个新的节点,与个已经存在的节点相连,这里m≤m0。(2)优先连接。一个新节点与一个已经存在的节点vi相连接的概率pi与节点vi的度ki、节点vj的度kj之间满足如下关系

经过t步后,这种算法产生一个有N=t+m0个节点,mt条边的网络。

3BA无标度网络演化模拟软件实现

3.1BA无标度网络演化过程

BA无标度网络演化过程设计的编程思路如下:(1)基于网络是由节点和连边构成这一概念,构造网络拓扑结构图;(2)进行BA无标度网络的初始化参数设置,确定初始化网络节点数m0与新增边数;(3)基于BA无标度网络的理论模型,设计BA无标度随机网络的网络拓扑结构图,以显示演化过程。同时进行网络的邻接矩阵、度分布和连接概率的计算;(4)实现节点每增长一次,新增边数在网络拓扑结构图中的连接显示以及邻接矩阵的数值变换显示,总体实现BA无标度网络的演化过程。

为实现上述编程,本文采用LabVIEW软件自带的设计模式——状态机[4],来完成整个编程框架,软件运行模式如图1所示。

图1 软件运行模式

图1中的网络模型生成阶段主要是利用LabVIEW绘制出以16个黑色圆点为节点的网络拓扑结构图,如图3(a)的网络拓扑结构图显示区所示。

图1中的随机初始化网络生成阶段主要是利用Matlab生成随机网络,并计算初始化节点的优先连边概率、度分布和邻接矩阵等数据[1]。将M文件调入LabVIEW中,构造BA无标度随机网络。根据初始化节点个数的设置,将初始化节点由黑色变为红色,为演化模型阶段做准备。程序框图如图2所示。

图2 随机初始化网络生成程序框图

演化模型阶段主要是利用Matlab改变邻接矩阵的值和优先连边概率。将M文件调入LabVIEW中,实现每增长一个新的节点,网络增加相应的边数。同时让新增节点由黑色变成红色节点,编程方法类似于图2所示。

3.2运行示例

由LabVIEW软件编程完成的前面板主要包括4个部分,分别是邻接矩阵显示区、网络拓扑结构图显示区、参数设置和网络统计参数显示模块,如图3(a)所示。

基于LabVIEW的BA无标度网络演化过程如图3所示,能够动态显示出BA无标度网络的增长特性和优先连接特性,体现BA无标度网络的演化过程。

图3 BA无标度网络演化示例

如图3(a)所示,为软件运行时的初始状态,单击“初始化网络生成”按钮,形成初始化网络,如图3(b)所示。图3(b)为默认的初始网络拓扑图,初始化网络节点个数为3个,连接边数为2条,并且初始化的节点由黑色变为红色。结合图3(b)和图3(c)可以看出每增长一个节点,会实现网络的一次增长,即节点增加一个,边数增加两条,实现一次演化。同时邻接矩阵和网络统计参数进行同步的数值变换。图3(d)为演化结束后的BA网络图,结合图3(c)可以看出,BA无标度网络的增长特性和优先连接特性。综上所述,图3动态的显示出BA无标度网络的演化过程。

4结束语

BA模型是无标度网络演化的主要范式,利用软件对演化过程进行动画态模拟,能使复杂的理论变得直观易懂,便于学习理解和接受。本文通过LabVIEW与Matlab混合编程,设计了一套BA无标度网络演化模拟软件。软件不但能够演示网络演化过程,还可以动态计算邻接矩阵、节点度和连边概率,展示BA模型的基本知识。本软件结合LabVIEW的界面支持能力与Matlab的机计算能力编写复杂网络实验软件,对于复杂网络其他知识模块的软件实现具有借鉴意义。

参考文献:

[1]郭世泽,陆哲明.复杂网络理论基础[M].北京:科学出版社,2012.

[2]Barabási,Albert.Emergenceofscalinginrandomnetworks[J].Science,1999,286(5439):509-512.

[3]汪小帆,李翔,陈关荣.复杂网络理论及其应用[M].北京:清华大学出版社,2006.

[4]陈锡辉,张银鸿.LabVIEW8.2 程序设计从入门到精通[M].北京:清华大学出版社,2007.

[5]王水鱼,王小娟.在虚拟仪器中实现LabVIEW与Matlab的无缝链接[J].计算机系统应用,2012,21(11):123-126.

[6]袁培铎.基于LabVIEW与Matlab混合编程的应用研究[J].机械制造与自动化,2007(6):129-132.

[7]Albert,Barabási.Statisticalmechanicsofcomplexnetworks[J].ReviewsofModernPhysics,2002,74(1):47-98.

[8]DorogovtsevSN,MendesJFF,SamukhinAN.Structureofgrowingnetworkswithpreferentiallinking[J].PhysicalReviewLetters,2000,85(2):4633-4636.

[9]方锦清,汪小帆,郑志刚.一门崭新的交叉科学:网络科学(上)[J].物理学进展,2007,27(3):239-342.

[10]李增杨,韩秀萍,陆君安,等.内部演化的BA无标度网络模型[J].复杂系统与复杂性科学,2005,2(2):1-6.

[11]潘灶烽.加权复杂网络的建模研究[D]. 上海:上海交通大学,2005.

Simulation Software for Evolution of BA Scale-free Networks Based on LabVIEW

ZHOUQian,CHENJiaying,LIUHaiyang,WANGMeibao,LÜMengxuan,LIUSong,LIUGequn

(SchoolofOptical-ElectricalandComputerEngineering,UniversityofShanghaifor

science&Technology,Shanghai200093,China)

AbstractBA scale free network model describes the evolutionary character of most networks in nature and human society. However, we lack software to simulate the evolution of BA network to illustrate its properties of growth and preferential attachment. In view of the lack, we developed a software package via Labview combined with Matlab. We apply Labview to construct the human-machine interface and to realize the evolution animation. Matlab is utilized to compute all the data such as adjacent matrix, node degrees and attachment probabilities. The evolution of the network can be vividly shown by adding node after node when a command button is clicked again and again. The software is beneficial to learn and understand the BA model of scale free networks. An example the BA scale-free evolution is given, and the results show that the software is capable not only of displaying the process of the network evolution, but also of dynamic calculation of the adjacent matrix, node degrees and attachment probabilities.

KeywordsLabVIEW ; Matlab; BA scale-free network

收稿日期:2015- 11- 16

基金项目:沪江基金资助项目(C14002);上海理工大学光电信息与计算机工程学院教师创新能力建设基金资助项目(GDCX-Y-1212);上海市大学生创新创业训练计划基金资助项目(SH2013047;SH2015037)

作者简介:周茜(1992-),女,硕士研究生。研究方向:复杂网络。刘歌群(1974-),男,博士后,讲师,硕士生导师。研究方向:复杂网络与计算机控制。

doi:10.16180/j.cnki.issn1007-7820.2017.06.017

中图分类号TN941.4

文献标识码A

文章编号1007-7820(2016)07-058-03