周 茜,陳佳瑩,劉海洋,王玫寶,呂孟軒,劉 松,劉歌群
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
?
基于LabVIEW的BA無標(biāo)度網(wǎng)絡(luò)演化模擬軟件
周茜,陳佳瑩,劉海洋,王玫寶,呂孟軒,劉松,劉歌群
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
摘要BA無標(biāo)度網(wǎng)絡(luò)模型可對(duì)自然界和人類社會(huì)中大多數(shù)的網(wǎng)絡(luò)演化特征進(jìn)行描述。然而目前還沒有一種可以描述BA無標(biāo)度網(wǎng)絡(luò)增長(zhǎng)特性和優(yōu)先連接特性的演化模擬軟件。針對(duì)軟件的缺失,設(shè)計(jì)了基于LabVIEW與Matlab的BA無標(biāo)度網(wǎng)絡(luò)演化模擬軟件。利用LabVIEW構(gòu)建人機(jī)界面和實(shí)現(xiàn)動(dòng)態(tài)演化,并以Matlab計(jì)算鄰接矩陣、節(jié)點(diǎn)度和連接概率等數(shù)據(jù)。最終實(shí)現(xiàn)每點(diǎn)擊一次增長(zhǎng)按鈕,就會(huì)增加一個(gè)節(jié)點(diǎn)的BA無標(biāo)度網(wǎng)絡(luò)演化的動(dòng)態(tài)顯示。該軟件有利于學(xué)習(xí)和理解BA無標(biāo)度網(wǎng)絡(luò)模型。通過BA無標(biāo)度網(wǎng)絡(luò)演化示例進(jìn)行結(jié)果驗(yàn)證表明,軟件不僅能夠演示網(wǎng)絡(luò)演化過程,還可動(dòng)態(tài)計(jì)算鄰接矩陣、節(jié)點(diǎn)度和連邊概率。
關(guān)鍵詞LabVIEW; Matlab; BA無標(biāo)度網(wǎng)絡(luò)
當(dāng)今是網(wǎng)絡(luò)化的世界,各種網(wǎng)絡(luò)種類繁多。而這些網(wǎng)絡(luò)又具有共同的特性:大部分節(jié)點(diǎn)只有少數(shù)幾個(gè)連接,而某些節(jié)點(diǎn)卻擁有與其他節(jié)點(diǎn)的大量連接。表現(xiàn)在度分布上就是有冪律分布[1],即p(k)~k-γ。有大量連接的節(jié)點(diǎn)稱為“集散節(jié)點(diǎn)”,由于包含集散節(jié)點(diǎn)的這類網(wǎng)絡(luò)的節(jié)點(diǎn)的度沒有明顯的特征長(zhǎng)度,故稱為無標(biāo)度網(wǎng)絡(luò)[1]。而無標(biāo)度網(wǎng)絡(luò)中的經(jīng)典模型為Barabási和Albert提出的BA模型[2-3]。因此要了解無標(biāo)度網(wǎng)絡(luò)的特性,首先要了解BA無標(biāo)度網(wǎng)絡(luò)的特性。為更好地了解BA無標(biāo)度網(wǎng)絡(luò)的特性,本文利用圖形化的LabVIEW軟件與Matlab進(jìn)行混合編程,以展示BA無標(biāo)度網(wǎng)絡(luò)的節(jié)點(diǎn)增長(zhǎng)演化過程。LabVIEW與Matlab的混合編程可以方便、直觀地進(jìn)行分析與計(jì)算,提高編程效率,同時(shí)加強(qiáng)BA無標(biāo)度網(wǎng)絡(luò)演化過程的顯示效果。
1LabVIEW與Matlab
LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench)是一種用圖標(biāo)代替文本創(chuàng)建應(yīng)用程序的圖形化編程語言[4]。LabVIEW圖形化虛擬儀器編程語言直觀, 可視性強(qiáng), 通過圖形化編程環(huán)境,編程者可以像搭積木一樣, 輕松組建一個(gè)程序界面,不再需要記憶繁雜的語法和函數(shù)原型,使編程過程生動(dòng)簡(jiǎn)便[4]。
Matlab與LabVIEW相比,具有LabVIEW不可比擬的強(qiáng)大計(jì)算能力和完備的工具箱。然而Matlab也有不足之處,例如界面開發(fā)能力較差、數(shù)據(jù)輸入繁瑣、硬件控制不靈活等問題[5-6]。為了揚(yáng)長(zhǎng)避短,本文將LabVIEW與Matlab進(jìn)行混合編程。將Matlab中運(yùn)行好的復(fù)雜算法程序,利用LabVIEW的MathScript節(jié)點(diǎn)或者M(jìn)atlabScript節(jié)點(diǎn)實(shí)現(xiàn)Matlab的調(diào)用,通過這種方式,可以在LabVIEW中使用Matlab強(qiáng)大的數(shù)值運(yùn)算功能,提高編程效率。
2BA無標(biāo)度網(wǎng)絡(luò)
網(wǎng)絡(luò)是由節(jié)點(diǎn)和連邊構(gòu)成,表示諸多對(duì)象及其相互聯(lián)系,復(fù)雜網(wǎng)絡(luò)是呈現(xiàn)高度復(fù)雜性的網(wǎng)絡(luò)。錢學(xué)森給出復(fù)雜網(wǎng)絡(luò)的一個(gè)較嚴(yán)格的定義:具有自組織、自相似、吸引子、小世界、無標(biāo)度中部分或全部性質(zhì)的網(wǎng)絡(luò)稱為復(fù)雜網(wǎng)絡(luò)。而復(fù)雜網(wǎng)絡(luò)中的無標(biāo)度網(wǎng)絡(luò)的冪律型度分布,引起廣大網(wǎng)絡(luò)研究者的興趣。為解釋冪律分布的產(chǎn)生機(jī)理,Barabási和Albert提出了一個(gè)無標(biāo)度網(wǎng)絡(luò)模型,現(xiàn)被稱為BA模型[2]。他們認(rèn)為以前的網(wǎng)絡(luò)都沒有考慮到實(shí)際網(wǎng)絡(luò)的如下兩個(gè)重要特性[7-8]:(1)增長(zhǎng)特性:即網(wǎng)絡(luò)規(guī)模是不斷擴(kuò)大的,網(wǎng)絡(luò)節(jié)點(diǎn)是不斷增加的;(2)優(yōu)先連接特性,即新節(jié)點(diǎn)更傾向于與那些具有較高連接度的“大”節(jié)點(diǎn)相連接。
基于網(wǎng)絡(luò)的增長(zhǎng)特性和優(yōu)先連接特性,BA無標(biāo)度網(wǎng)絡(luò)模型的構(gòu)造算法[9-11]如下:(1)增長(zhǎng)。從一個(gè)具有個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)開始,每次引入一個(gè)新的節(jié)點(diǎn),與個(gè)已經(jīng)存在的節(jié)點(diǎn)相連,這里m≤m0。(2)優(yōu)先連接。一個(gè)新節(jié)點(diǎn)與一個(gè)已經(jīng)存在的節(jié)點(diǎn)vi相連接的概率pi與節(jié)點(diǎn)vi的度ki、節(jié)點(diǎn)vj的度kj之間滿足如下關(guān)系
經(jīng)過t步后,這種算法產(chǎn)生一個(gè)有N=t+m0個(gè)節(jié)點(diǎn),mt條邊的網(wǎng)絡(luò)。
3BA無標(biāo)度網(wǎng)絡(luò)演化模擬軟件實(shí)現(xiàn)
3.1BA無標(biāo)度網(wǎng)絡(luò)演化過程
BA無標(biāo)度網(wǎng)絡(luò)演化過程設(shè)計(jì)的編程思路如下:(1)基于網(wǎng)絡(luò)是由節(jié)點(diǎn)和連邊構(gòu)成這一概念,構(gòu)造網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖;(2)進(jìn)行BA無標(biāo)度網(wǎng)絡(luò)的初始化參數(shù)設(shè)置,確定初始化網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)m0與新增邊數(shù);(3)基于BA無標(biāo)度網(wǎng)絡(luò)的理論模型,設(shè)計(jì)BA無標(biāo)度隨機(jī)網(wǎng)絡(luò)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖,以顯示演化過程。同時(shí)進(jìn)行網(wǎng)絡(luò)的鄰接矩陣、度分布和連接概率的計(jì)算;(4)實(shí)現(xiàn)節(jié)點(diǎn)每增長(zhǎng)一次,新增邊數(shù)在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖中的連接顯示以及鄰接矩陣的數(shù)值變換顯示,總體實(shí)現(xiàn)BA無標(biāo)度網(wǎng)絡(luò)的演化過程。
為實(shí)現(xiàn)上述編程,本文采用LabVIEW軟件自帶的設(shè)計(jì)模式——狀態(tài)機(jī)[4],來完成整個(gè)編程框架,軟件運(yùn)行模式如圖1所示。
圖1 軟件運(yùn)行模式
圖1中的網(wǎng)絡(luò)模型生成階段主要是利用LabVIEW繪制出以16個(gè)黑色圓點(diǎn)為節(jié)點(diǎn)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖,如圖3(a)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖顯示區(qū)所示。
圖1中的隨機(jī)初始化網(wǎng)絡(luò)生成階段主要是利用Matlab生成隨機(jī)網(wǎng)絡(luò),并計(jì)算初始化節(jié)點(diǎn)的優(yōu)先連邊概率、度分布和鄰接矩陣等數(shù)據(jù)[1]。將M文件調(diào)入LabVIEW中,構(gòu)造BA無標(biāo)度隨機(jī)網(wǎng)絡(luò)。根據(jù)初始化節(jié)點(diǎn)個(gè)數(shù)的設(shè)置,將初始化節(jié)點(diǎn)由黑色變?yōu)榧t色,為演化模型階段做準(zhǔn)備。程序框圖如圖2所示。
圖2 隨機(jī)初始化網(wǎng)絡(luò)生成程序框圖
演化模型階段主要是利用Matlab改變鄰接矩陣的值和優(yōu)先連邊概率。將M文件調(diào)入LabVIEW中,實(shí)現(xiàn)每增長(zhǎng)一個(gè)新的節(jié)點(diǎn),網(wǎng)絡(luò)增加相應(yīng)的邊數(shù)。同時(shí)讓新增節(jié)點(diǎn)由黑色變成紅色節(jié)點(diǎn),編程方法類似于圖2所示。
3.2運(yùn)行示例
由LabVIEW軟件編程完成的前面板主要包括4個(gè)部分,分別是鄰接矩陣顯示區(qū)、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖顯示區(qū)、參數(shù)設(shè)置和網(wǎng)絡(luò)統(tǒng)計(jì)參數(shù)顯示模塊,如圖3(a)所示。
基于LabVIEW的BA無標(biāo)度網(wǎng)絡(luò)演化過程如圖3所示,能夠動(dòng)態(tài)顯示出BA無標(biāo)度網(wǎng)絡(luò)的增長(zhǎng)特性和優(yōu)先連接特性,體現(xiàn)BA無標(biāo)度網(wǎng)絡(luò)的演化過程。
圖3 BA無標(biāo)度網(wǎng)絡(luò)演化示例
如圖3(a)所示,為軟件運(yùn)行時(shí)的初始狀態(tài),單擊“初始化網(wǎng)絡(luò)生成”按鈕,形成初始化網(wǎng)絡(luò),如圖3(b)所示。圖3(b)為默認(rèn)的初始網(wǎng)絡(luò)拓?fù)鋱D,初始化網(wǎng)絡(luò)節(jié)點(diǎn)個(gè)數(shù)為3個(gè),連接邊數(shù)為2條,并且初始化的節(jié)點(diǎn)由黑色變?yōu)榧t色。結(jié)合圖3(b)和圖3(c)可以看出每增長(zhǎng)一個(gè)節(jié)點(diǎn),會(huì)實(shí)現(xiàn)網(wǎng)絡(luò)的一次增長(zhǎng),即節(jié)點(diǎn)增加一個(gè),邊數(shù)增加兩條,實(shí)現(xiàn)一次演化。同時(shí)鄰接矩陣和網(wǎng)絡(luò)統(tǒng)計(jì)參數(shù)進(jìn)行同步的數(shù)值變換。圖3(d)為演化結(jié)束后的BA網(wǎng)絡(luò)圖,結(jié)合圖3(c)可以看出,BA無標(biāo)度網(wǎng)絡(luò)的增長(zhǎng)特性和優(yōu)先連接特性。綜上所述,圖3動(dòng)態(tài)的顯示出BA無標(biāo)度網(wǎng)絡(luò)的演化過程。
4結(jié)束語
BA模型是無標(biāo)度網(wǎng)絡(luò)演化的主要范式,利用軟件對(duì)演化過程進(jìn)行動(dòng)畫態(tài)模擬,能使復(fù)雜的理論變得直觀易懂,便于學(xué)習(xí)理解和接受。本文通過LabVIEW與Matlab混合編程,設(shè)計(jì)了一套BA無標(biāo)度網(wǎng)絡(luò)演化模擬軟件。軟件不但能夠演示網(wǎng)絡(luò)演化過程,還可以動(dòng)態(tài)計(jì)算鄰接矩陣、節(jié)點(diǎn)度和連邊概率,展示BA模型的基本知識(shí)。本軟件結(jié)合LabVIEW的界面支持能力與Matlab的機(jī)計(jì)算能力編寫復(fù)雜網(wǎng)絡(luò)實(shí)驗(yàn)軟件,對(duì)于復(fù)雜網(wǎng)絡(luò)其他知識(shí)模塊的軟件實(shí)現(xiàn)具有借鑒意義。
參考文獻(xiàn):
[1]郭世澤,陸哲明.復(fù)雜網(wǎng)絡(luò)理論基礎(chǔ)[M].北京:科學(xué)出版社,2012.
[2]Barabási,Albert.Emergenceofscalinginrandomnetworks[J].Science,1999,286(5439):509-512.
[3]汪小帆,李翔,陳關(guān)榮.復(fù)雜網(wǎng)絡(luò)理論及其應(yīng)用[M].北京:清華大學(xué)出版社,2006.
[4]陳錫輝,張銀鴻.LabVIEW8.2 程序設(shè)計(jì)從入門到精通[M].北京:清華大學(xué)出版社,2007.
[5]王水魚,王小娟.在虛擬儀器中實(shí)現(xiàn)LabVIEW與Matlab的無縫鏈接[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012,21(11):123-126.
[6]袁培鐸.基于LabVIEW與Matlab混合編程的應(yīng)用研究[J].機(jī)械制造與自動(dòng)化,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]方錦清,汪小帆,鄭志剛.一門嶄新的交叉科學(xué):網(wǎng)絡(luò)科學(xué)(上)[J].物理學(xué)進(jìn)展,2007,27(3):239-342.
[10]李增楊,韓秀萍,陸君安,等.內(nèi)部演化的BA無標(biāo)度網(wǎng)絡(luò)模型[J].復(fù)雜系統(tǒng)與復(fù)雜性科學(xué),2005,2(2):1-6.
[11]潘灶烽.加權(quán)復(fù)雜網(wǎng)絡(luò)的建模研究[D]. 上海:上海交通大學(xué),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
基金項(xiàng)目:滬江基金資助項(xiàng)目(C14002);上海理工大學(xué)光電信息與計(jì)算機(jī)工程學(xué)院教師創(chuàng)新能力建設(shè)基金資助項(xiàng)目(GDCX-Y-1212);上海市大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃基金資助項(xiàng)目(SH2013047;SH2015037)
作者簡(jiǎn)介:周茜(1992-),女,碩士研究生。研究方向:復(fù)雜網(wǎng)絡(luò)。劉歌群(1974-),男,博士后,講師,碩士生導(dǎo)師。研究方向:復(fù)雜網(wǎng)絡(luò)與計(jì)算機(jī)控制。
doi:10.16180/j.cnki.issn1007-7820.2017.06.017
中圖分類號(hào)TN941.4
文獻(xiàn)標(biāo)識(shí)碼A
文章編號(hào)1007-7820(2016)07-058-03