您的当前位置:首页快速构建复杂网络仿真模型的算法研究

快速构建复杂网络仿真模型的算法研究

2024-04-27 来源:乌哈旅游
第32卷第2期

青岛大学学报(工程技术版)

2 0 1 7年5月

JOURNAL OF QINGDAO UNIVERSITY (E&T)

Vol. 32 No. 2

May 2 0 17

文章编号:1006 - 9798(2017)02 - 0007 - 05; DOI: 10.13306/j.1006 - 9798.2017.02.002

快速构建复杂网络仿真模型的算法研究

方鸿雁,潘园园,孙华通,张立,段法兵

(青岛大学复杂性科学研究所,山东青岛266071)

摘要:针对复杂网络仿真模型的构建问题,本文给出了一种快速构建复杂网络仿真模型的自动连

接算法,利用Simulink仿真平台实现规则网络与复杂网络的有向自动连线,并引人加权矩阵控制 网络中子系统之间的耦合强度,通过调节加权矩阵实现串联网络、并联网络、星形网络和随机网络 4种不同网络拓扑结构。在并联网络构建过程中,需选取其中一个由信号接收机和发射源构成的 特殊子系统,而构建随机网络时,仅需要对加权矩阵元素的取值范围进行随机调节即可。此算法通

用性较好,提高了具有大量节点的复杂网络模型构建效率,对于利用Simulink仿真平台研究复杂 网络具有重要意义。关键词:复杂网络;自动连线;权矩阵;Simulink

中图分类号:TP393.0; N945.13

文献标识码:A

随着科技的发展,仿真技术被广泛应用到理论研究和工程设计领域[1]。MathWorks公司的Matlab商业数 学软件[2]中Simulink工具箱提供一个动态系统建模、仿真和综合分析的集成环境,成为研究复杂网络的动力 学性质、网络结构形成和演化的有力手段[5]。2008年起,复杂网络开始涉及到众多领域,如食物链网络[6]、电力 系统网络[7]、界\\¥\\¥网络™ .Internet网络、生命科学[9]中的细胞网络、神经网络和蛋白质折叠网络等。无论是人 工还是自然的大量复杂系统都可以利用复杂网络理论进行研究[1°]。复杂网络呈现出高度复杂性,复杂网络节点 繁多,每个节点可能是一个具有复杂非线性行为的动力子系统,而一个复杂网络中可能存在多种不同类型节点, 且网络结构错综复杂[11]。因此,如何构建复杂网络是复杂网络研究中的一个热点课题。雷霆等人[12_13]使用计算

机研究了复杂网络拓扑;王树森等人[14]利用Java和Jpac从3个不同的粒度,提出基于复杂网络的软件系统各种 度量;陈兆[15]利用Simulink研究了电力网络内关键性发电机节点。然而对于如何使用Simulink快速构建复杂 网络模型的研究比较少。Simulink建模时,对于节点数目较少的简单系统,一般手动连接模块之间的输人和输 出端口,但由于复杂网络结构多样化[1648],使用Simulink构建复杂网络涉及子系统(网络节点)数量巨大,单靠鼠 标拖动模块到仿真平台并手动连接十分繁琐。基于此,本文以Simulink中的子系统模块代替复杂网络模型中节 点处的子系统,并结合图论[19_2°]相关知识,通过编程控制子系统间自动连线。首先构成规则网络,然后通过后续 自动添加增益模块,增益模块的系数构成加权矩阵,用加权矩阵控制子系统间是否连线及子系统间的耦合强度, 通过调节加权矩阵的元素值,形成串联网络、并联网络、星形网络、随机网络等不同网络拓扑结构。该算法具有较 好的通用性,与人工连线相比,提高了构建具有大量节点的复杂网络模型的效率,为进一步研究复杂网络动力学 演化性质提供了基础。

1规则网络的自动连线

首先实现规则网络的自动构建,在此基础上再完成复杂网络的快速构建。为了使构建算法更具有普遍性,将 网络中各子系统用Subsystem模块代替,用t和表示子系统编号,々表示子系统的第&个输人端口(输出端口), «表示网络模型中子系统总个数,每个子系统有《—1个输出端口和《— 1个输人端口。连接的算法是:当子系统 z从1到n变化,其输出端&从1到w — 1的取值过程中,连接的子系统标号取j z t j w ),而当z> 77时,标号取j = f +々一 77 ;同时将子系统f的第々个输出端口连到子系统j的第々个输人端口,这里将子系统

收稿日期:2016 - 10 - 27;修回日期:2017-01-04

基金项目:国家自然科学基金资助项目(61573202);山东省科技发展计划项目(2014GGX101031)作者筒介:方鸿雁(1994 -),女,湖北黄冈人,硕士研究生,主要研究方向为信号处理与复杂性分析。

通讯作者:段法兵(1974 -),男,山东邹城人,博士,教授,主要研究方向为随机共振。Email: fabiiig.duaii@gmail.com

青岛大学学报(工程技术版)

第32卷

z和_/的端口标号保持相同,从而简化了自动连线的复杂度,降低了自动连线的循环工作量。《个系统构成规则网

络的自动连线程序如下:

for / = 1 :w; %连线从第r个系统输出,w为子系统的个数

for 々 =

— 系统的第々个端口

if ;+々>«%连线到第_/个系统的判断算法 j =i~\\~k — n; elsej = i~\\~k; end

sys^strcatCSubsystemSnumZstKf) Z/SnumZstr(是));%构成第 2•个系统字符串 tem^strcatCSubsystemSnumZstrG) //SnumZstr(是));%构成第 j•个系统字符串

addJineCmysSsys^em) ; %自动连线命令,从第f个系统第々个输出口连接到第j个系统第々个输人口,设

模型名mys. mdl

% ws^strcatCwSnumZstrGO,num2str(j) //SnumZstrd)) ; %合并字符串,.模块的输入/输出端口

WaddJineCmysSsys^s) ; %连接从第f个子系统的第是个输出端口连到模块的输人端口

% 8(1(1_1;1116(/1^^,'^,161^1);%连接从1^模块的输出端口连到第1;’个子系统的第/^个输人端口

end end

本文选取含有3个子系统的网络模型来介绍如何编程实现规则网络自动连线。3个子系统连接算法如表1 所示。在上述程序中,取n = 3,设模型名为mys. mdl,在mys模型中加入3个子系统模块,在Matlab中运行程 序,得到3个子系统规则网络连接图如图1所示。

表1 3个子系统连接算法

子系统Z

子系统Z

输出端是

子系统J

子系统z 子系统J

子系统z

输出端是输入端是

子系统J

子系统z 子系统J

子系统z

输出端是输入端是

子系统J

子系统J

输入端是

11

12

2

3

12

22

12

312

33

12

12

12

1

2权矩阵控制系统网络结构

以上为规则网络仿真模型的构建方法,实际中网

络结构并不是这样彼此全部连接的,为了使上述自动 连线算法具有更广泛的实用性,能够模拟一些复杂网 络结构特性,在其中加人一个权矩阵,相应于模型中加 人增益模块Gain,通过控制权矩阵的各个元素值来控 制系统间连线与否,也就是赋予Gain模块不同的权矩 阵元素值,从而实现不同的复杂网络结构。

2.1自动添加模块并赋值

网络构建中,可以在上面程序中的模型里自动添 加增益模块,并通过权矩阵给各个增益模块赋值。w个 子系统之间加人增益模块的程序2如下,各增益模块

W,将矩阵元素心,_/)赋给相应模块。

ttPonesGhw);%权矩阵赋值,为演示此处取元素全为1的方阵 for / = 1 : w ; %从第r个系统,w表示系统总个数 for j = l if f 〜

图1 3个子系统规则网络连接图

名称赋为,表示该模块连接第z个系统的输出和第个系统的输人。为演示,程序中给定一个w / w权矩阵

%第厂个系统/

第2期

方鸿雁,等:快速构建复杂网络仿真模型的算法研究

ws= strcat(’mys/w’,num2str(i),num2str(_/)) ; %合并模块名称字符串

9

3£1£1_131〇〇15(/3丨111111丨1115/]\\431:11〇卩6131:丨0113/〇3丨11%评3);%添加增益模块〇3丨11到模型1115^中并给每个模

块赋名字%

weiglit = strcat(/w(’,num2str⑴,V,num2str(j),’)’); %合并权矩阵兀素值字符串 set_param(ws/gain%weight) ; %把权矩阵兀素赋给相应的Gain模块 else

it'G,p = 0 ; % 当;• = j 时 it'y' 取值 0endendend

2.2网络系统的连接

在已加好Gain模块并赋好值的模型中再 进行自动连线,对于《个子系统的自动连线的 程序还可以参考程序1,但是屏蔽语句addjine (/mys%sys,tem),解除这一语句后被屏蔽的3 个语句。比如程序1中取w = 5,两两子系统 通过增益模块%连接,加增益模块的网络连 接图如图2所示。

2.3复杂网络系统的结构

网络各子系统之间的连接与否或耦合强度 实际是由权矩阵W控制的,可以通过修改程序 2中权矩阵的值来实现不同的网络结构。对w %

默认为0。

图2

加增益模块的网络连接图

个子系统的复杂网络,权矩阵W的维数是w / w,矩阵元素%取值0表示不连接,取1表示连接。下面讨论中,1) 串联网络。构建串联网络时,只需权矩阵上方次对角线元素值全为1即 满足下列组合取1到《 —过程中,= 1,其中j = / + 1。2) 并联网络。构建并联网络时,取其中任意一个子系统作为特殊子系统,它是由信号发射源和接收机组成 的,例如图3中Subsysteml作为特殊的子系统,贝!J Subsys­

tem〗 的所有输出口连接一个信号源 ,于其所有输人口 接人一

个信号接收装置。特殊子系统结构图如图3所示。

对《个子系统的复杂网络,若取这个特殊子系统为第z 个子系统,剩下的《 — 1个子系统构成并联网络,则在程序2 给权矩阵W赋值时,取下列组合值:;和厂从1取到w过程 中,对于 / 7^

It'y. =

= 1。特别地,当 j = / 时,It'y. = 0

3) 星形耦合网络。星形耦合网格在现实生活中应用较

多,比如一个实验室的个人电脑都连接到一个公共服务器上,那么就构成了以该服务器为中心的星形网络。为了 得到以第,个子系统为中心的星形耦合网络,可以取值如下^从1取到w过程中,对于^7^',

= 1或%, = 1 ;

而 j = / 时,= 0。

4) 随机网络。揭示不同网络之间的共性是网络科学的核心主题之一。不同于以上网络,随机网络具有一 定的稀疏性,各子系统之间的耦合系数不仅为〇和1两个整数值。可以根据网络结构改变程序2中的加权矩阵, 取上述网络模型特定要求值之外的值,实现不同的网络连线结构,从而构成随机网络。将矩阵元素取〇和1之外 的值,表示系统间耦合强度,即对子系统信号进行一定倍数的放大或缩小。同时,作为规则网络到随机网络的过 渡,只要在规则网络中加人少许随机连接概率,就可以构成小世界网络,即通过控制串联网络的加权矩阵与控制 随机网络的加权矩阵进行求和,把得到的矩阵作为小世界网络连接的控制矩阵输人到程序2中得以实现。

2. 4复杂网络构建效率

复杂网络研究经常对各种实际或模拟网络进行构建,Pajek、Netdraw、Igraph和Ucinet等软件经常被用来完

10青岛大学学报(工程技术版)

第32卷

成该工作[2144],但是这些网络进行动态演化是比较困难的。借助于Matlab强大的计算功能,通过Simulink仿真 平台实现构建网络的研究都是利用平台中自带的网络模型或者人工构建,没有对于自动构建网络工作进行研究。 本文提出的自动连接构建算法相比于人工构建方法节省的实际工作量和时间非常大。比如通过人工构建方法构

建一个节点数目为10的随机网络人工需要3〜5 h,而此构建算法仅需6 s(计算机配置的不同)即可完成。从此 角度上讲,此算法提高了具有大量节点的复杂网络模型构建效率。但与Netdraw等软件相比,此算法的构建效 率并没有很大优势,而通过Simulink仿真平台实现构建网络可以进行复杂网络动态演化仿真,这是很多网络构 建软件所不具备的。

3结束语

本文给出了快速构建复杂网络的仿真模型算法,利用Simulink仿真平台实现了规则网络的自动连线,并自

动添加模块控制子系统间耦合系数,利用加权矩阵加以控制,实现子系统间不同连接,并掌控系统间耦合强度,实 现了串联网络、并联网络、星形网络、随机网络等不同网络拓扑结构。本文提出的自动连接构建算法相比于人工 构建方法节省了大量的实际工作量和时间,此算法提高了具有大量节点的复杂网络模型构建效率。网络中子系 统过多或者结构较为复杂时,还需考虑图论相关知识,按照一定规则排列好模块,这样会使得连线后的图更加整 齐美观。文中只对部分复杂网络结构进行探讨,还有一些其它复杂网络结构如层次网络如何实现自动连接和强 度耦合有待进一步的研究。

参考文献:

[1] 严晓兰.基于Simulink的信号与系统仿真实验研究[J].实验科学与技术,2008, 6(6): 3 - 5, 8.[2] 张颖.MATLAB在线性代数教学中的若干应用[J].数学学习与研究,2016(9): 17 - 18.

[3] 薛定宇,陈阳泉.基于MATLAB/Simulink的系统仿真技术与应用[M].北京:清华大学出版社,2002.[4] 郭训华,邵世煌.Simulink建模与仿真系统设计方法及应用[J].计算机工程,2005, 31(22): 127 - 129, 145.[5] 张兰华.复杂网络建模的仿真与应用研究[D].大连:大连理工大学,2013.

[6] Newman M E J. The Structure and Function of Complex Networks[J]. SIAM Review, 2003 , 45(2) : 167 - 256.[7] 苏慧玲,李扬.基于电力系统复杂网络特征的线路脆弱性风险分析[J].电力自动化设备,2014, 34(2): 101-107.

[8] Ino H, Kudo M, Nakamura A. Partitioning of Web Graphs by Community Topology[C]// International Conference on World

Wide Web, Chiba, Japan: WWW 2005, 2005: 661 - 669.

[9] 汪小帆.复杂网络理论及其研究[M].北京:清华大学出版社,2006.[10] 何建军.复杂网络节点重要性评价研究[D].长沙:湖南大学,2010.

[11] 吴金闪,狄增如.从统计物理学看复杂网络研究[J].物理学进展,2004, 24(1): 18 - 46.

[12] 雷霆,余镇危.基于复杂网络理论的计算机网络拓扑研究[J].计算机工程与应用,2007, 43(6): 132 - 135.[13] 周洪兴.复杂网络理论下计算机网络拓扑结构研究[J].数字技术与应用,2016(1): 23 - 24.

[14] 王树森,顾庆,陈焘,等.基于复杂网络的大型软件系统度量[J].计算机科学,2009, 36(2): 287 - 290.[15] 陈兆.基于复杂网络理论的电力网络关键性问题研究[D].天津:河北工业大学,2015.

[16] 马菲,徐汀荣.基于种子边的重叠社团发现算法[J].计算机应用研究,2015, 32(9): 2593 - 2596.

[17] 林旺群,卢风顺,丁兆云,等.基于带权图的层次化社区并行计算方法[J].软件学报,2012, 23(6): 1517 - 1530.[18] 方锦清.探秘网络金字塔的复杂性[J].中国科学基金,2013, 27(5): 278 - 279.[19] 许进,保铮.神经网络与图论[J].中国科学E辑,2001,31(6): 533 - 555.[20] 陈树柏.网络图论及其应用[M].北京:科学出版社,1982.

[21] 吴贤国,黄艳华,刘惠涛,等.基于复杂网络理论的地铁线网脆弱性分析[J].重庆交通大学学报:自然科学版,2016,35(4):

93 - 99.

[22] 戴诚,成全.近十年我国社会网络研究热点透析[J].现代情报,2013, 33(5): 160 - 167.

[23] 贺定龙,张功萱,李晨,等.复杂网络仿真软件设计与实现[J].计算机工程与设计,2014, 35(8): 2764- 2768.[24] 李凡,郭瑞军.城市主干道路网的复杂网络特性[J].山东理工大学学报:自然科学版,2016, 30(6): 16 - 19.

第2期

方鸿雁,等:快速构建复杂网络仿真模型的算法研究11

Algorithm Research on Quickly Constructing Simulation Models of the Complex Network

FANG Hongyan, PAN Yuanyuan, SUN Huatong, ZHANG Li, DUAN Fabing

(Institute of Complexity Science,Qingdao University,Qingdao 266071,China)

Abstract : This paper studies the constructing method of the complex network by the Simulink toolbox. An au­

tomatic connection algorithm of quickly constructing simulation models of the complex network is put forward. Based on the Simulink toolbox, this algorithm can automatically connect nodesof the complex network with di­rected links. Furthermore, the coupling coefficients of subsystems form the weighed matrix, and different net­work topologies such as series networks, parallel networks, star networks and random networks can be estab­lished by correctly assigning the corresponding matrix element values. In particular, during the process of building a parallel network, we need to choose a special subsystem that composes of a receiver and a signal source. For a random network, we only need to randomly tune the matrix element values with a probability that represents the coupling strength or the connection degree. This algorithm is general, especially in impro­ving efficiency of constructing the complex networks with a large number of nodes. It is of great significance for the study of complex networks via the Simulink toolbox.

Key words: complex network; automatic connection; weighted matrix; Simulink

(上接第6页)

Adaptive Neural Control for a Class of Non-Strictly Switched System

LIU Zhiling1, XU Kai2, CHEN Bing 1

(1. Institute of Complexity Science, Qingdao University, Qingdao 266071,China;

2. Qingdao Cigaretter Factory, Qingdao 266071, China)

Abstract: Aiming at the control problem of nonlinear systems with non-strict feedback, this paper mainly stud­

ies the control problem of non-strict feedback single-input single-output nonlinear switching systems. The a­

daptive neural network control method is used to approximate the nonlinear function of the system. At the same time, the Backstepping method is used to design the neural network control scheme. By using the struc­tural properties of the neural network, the design process is simplified, and the neural network adaptive Back- stepping design method is extended to the non-strict feedback system. The simulation results show that the tracking performance is ensured by the arbitrary switching signal,and all the states of the closed-loop system are guaranteed to be semi-globally stable. The tracking error converges to a residual set of the origin. The study has some practical value.

Key words: switched systems; neural networks; stability; non-strict feedback; adaptive; nonlinear ; Backstep­

ping

因篇幅问题不能全部显示,请点此查看更多更全内容