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