本發(fā)明涉及系統(tǒng)集成技術(shù)領(lǐng)域,具體的涉及一種子群約束的復(fù)雜網(wǎng)絡(luò)可視化方法。
背景技術(shù):
隨著社會網(wǎng)絡(luò)的興起,神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)研究的火爆,這些復(fù)雜網(wǎng)絡(luò)已經(jīng)與我們的生活密不可分。在網(wǎng)絡(luò)科學(xué)理論的研究中,復(fù)雜網(wǎng)絡(luò)是由數(shù)量巨大的節(jié)點和節(jié)點之間錯綜發(fā)雜的關(guān)系共同構(gòu)成的網(wǎng)絡(luò)結(jié)構(gòu)。用數(shù)學(xué)的描述語言來說,就是一個有著足夠復(fù)雜的拓?fù)浣Y(jié)構(gòu)特征的圖。復(fù)雜網(wǎng)絡(luò)具有簡單網(wǎng)絡(luò)如晶格網(wǎng)絡(luò)、隨機(jī)圖等結(jié)構(gòu)所不具備的特性,而這些特性往往出現(xiàn)在真實世界的網(wǎng)絡(luò)結(jié)構(gòu)中。
通過對復(fù)雜網(wǎng)絡(luò)的研究,人們可以對模糊世界進(jìn)行量化和預(yù)測,目前只有基于復(fù)雜網(wǎng)絡(luò)的研究成果,能夠在一定的范圍內(nèi)對事物的發(fā)展和運(yùn)行進(jìn)行簡單預(yù)測,并且能夠?qū)W(wǎng)絡(luò)崩潰進(jìn)行一定的預(yù)告。
很多人對復(fù)雜網(wǎng)絡(luò)進(jìn)行研究,也獲得了大量成果,同時,對它們進(jìn)行可視化也成為重要的一部分。可視化可以讓人們更容易的看清楚網(wǎng)絡(luò)結(jié)構(gòu),并從中提取出豐富的信息資源。
一般意義下的可視化定義為:可視化是一種使復(fù)雜信息能夠容易和快速被人理解的手段,是一種聚焦在信息重要特征的信息壓縮語言,是可以放大人類感知的圖形化表示方法。
目前對于具有特定結(jié)構(gòu)的網(wǎng)絡(luò)圖可視化已經(jīng)非常成熟了。但在處理實際網(wǎng)絡(luò)中密集部分時,總產(chǎn)生一些缺陷。尤其當(dāng)網(wǎng)絡(luò)規(guī)模很大時,幾乎看不出網(wǎng)格結(jié)構(gòu)。另外現(xiàn)有的公開可使用的可視化軟件和框架比較偏于理論研究,或者主要面向很強(qiáng)的專業(yè)性應(yīng)用,而比較優(yōu)秀的產(chǎn)品一般都不開源且基本是商業(yè)化運(yùn)作,甚至有些軟件國內(nèi)無法獲取。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種子群約束的復(fù)雜網(wǎng)絡(luò)可視化方法。
本發(fā)明的目的可以通過以下技術(shù)方案實現(xiàn):
一種子群約束的復(fù)雜網(wǎng)絡(luò)可視化方法,包括壓縮算法和布局算法,所述復(fù)雜網(wǎng)絡(luò)依次經(jīng)過壓縮算法和布局算法處理后,再經(jīng)過可視化處理后,形成網(wǎng)絡(luò)結(jié)構(gòu)圖;
所述壓縮算法的工作流程為:所述復(fù)雜網(wǎng)絡(luò)為網(wǎng)絡(luò)拓?fù)鋑=(v,e),首先計算網(wǎng)絡(luò)拓?fù)鋑=(v,e)中各個節(jié)點的度和所有節(jié)點之間的最短路徑;然后分別計算節(jié)點關(guān)于度的關(guān)鍵值、節(jié)點關(guān)于最短路徑的關(guān)鍵值;接下來,刪除值相對較小的次要節(jié)點,保留值相對較大的重要節(jié)點;再將分別得到的關(guān)于度的重要節(jié)點和關(guān)于最短路徑的重要節(jié)點合并為節(jié)點集合v1;合并后的節(jié)點集合,對于復(fù)雜網(wǎng)絡(luò),通常情況下,節(jié)點集合構(gòu)成的壓縮圖是連通的,若不連通,則需要對壓縮拓?fù)溥M(jìn)行補(bǔ)充,選擇一個最小的節(jié)點集合v2補(bǔ)充到壓縮拓?fù)渲?,至少使得v1∪v2中節(jié)點構(gòu)成的壓縮圖是連通的,v1中節(jié)點在g中的任意一條最短路徑上的所有節(jié)點組成v2,v1∪v2的完全圖與網(wǎng)絡(luò)拓?fù)鋑的交集即為最終的壓縮網(wǎng)絡(luò)拓?fù)洌?/p>
所述fr算法的工作流程為:先計算壓縮網(wǎng)絡(luò)拓?fù)渲泄?jié)點收到的斥力和引力,進(jìn)而計算節(jié)點受到的合力,然后根據(jù)合力和位移閾值得到節(jié)點移動距離;設(shè)定合適的冷卻函數(shù),由平衡距離和位移閾值來決定,設(shè)定固定的迭代次數(shù)作為迭代終止條件;最后得到終止?fàn)顟B(tài)下的拓?fù)洳季郑?jié)點平均分布在區(qū)域內(nèi),每個節(jié)點周圍都有一個相同半徑的空間。
進(jìn)一步地,輸入的網(wǎng)絡(luò)拓?fù)鋑=(v,e)為不聯(lián)通圖,或者為有向圖或無向圖,或者為加權(quán)圖或無權(quán)圖。
進(jìn)一步地,對于不連通圖,首先將其所有連通分支分離為多個連通圖,對于每個連通圖進(jìn)行單獨(dú)處理后,再把他們的結(jié)果放在一個布局上。
進(jìn)一步地,對于有向圖,直接將其有向邊變?yōu)闊o向邊,然后再進(jìn)行處理,得到結(jié)果后,根據(jù)邊的方向,加上對應(yīng)的箭頭即可。
進(jìn)一步地,對于加權(quán)圖,其結(jié)構(gòu)屬性相對于無權(quán)圖會有一定的變化,先把加權(quán)圖中所有邊的權(quán)值變?yōu)?,從而得到了一個無權(quán)圖,對其進(jìn)行處理后,得到的結(jié)果其實已經(jīng)和最終結(jié)果很相近了,然后再把權(quán)值還原,重新計算圖的結(jié)構(gòu)屬性,根據(jù)得到的布局結(jié)果再次布局,就可以得到加權(quán)圖的最終結(jié)果了。
進(jìn)一步地,所述壓縮算法為necb算法,采用對節(jié)點的壓縮算法;布局算法選擇基于fda算法改進(jìn)的fr算法。
本發(fā)明的有益效果:
本發(fā)明通過對復(fù)雜網(wǎng)絡(luò)拓?fù)溥M(jìn)行可視化處理,由于節(jié)點最短路徑?jīng)Q定了區(qū)域之間的距離,同時還能引導(dǎo)它們節(jié)點的布局,這同樣也是滿足距離與最短路徑正相關(guān),這樣即便節(jié)點之間初始位置不夠好,通過壓縮算法中的迭代布局處理,也可以讓其指向最佳位置;再則,當(dāng)復(fù)雜網(wǎng)絡(luò)圖的密集度不高時,區(qū)域之間的初始布局可以讓里面的節(jié)點充分展開,有利于確保節(jié)點之間具有理想距離,而不至于過渡緊密;通過本發(fā)明首先對區(qū)域進(jìn)行布局,區(qū)域可以使凸包或圓,區(qū)域的良好布局有利于從整體改善可視化美觀程度。
附圖說明
為了便于本領(lǐng)域技術(shù)人員理解,下面結(jié)合附圖對本發(fā)明作進(jìn)一步的說明。
圖1為本發(fā)明的一種子群約束的復(fù)雜網(wǎng)絡(luò)可視化方法的原理框圖;
圖2為本發(fā)明中可視化壓縮方法的工作流程圖。
具體實施方式
下面將結(jié)合實施例對本發(fā)明的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,本發(fā)明的一種子群約束的復(fù)雜網(wǎng)絡(luò)可視化方法,包括壓縮算法和布局算法,壓縮算法為necb算法,采用對節(jié)點的壓縮算法;布局算法選擇基于fda算法改進(jìn)的fr算法。
其中復(fù)雜網(wǎng)絡(luò)數(shù)據(jù)依次經(jīng)過壓縮算法和布局算法處理后,經(jīng)過網(wǎng)絡(luò)拓?fù)淇梢暬ぞ遳cinet處理后,形成inet網(wǎng)絡(luò)結(jié)構(gòu)圖。
其中,壓縮算法的工作流程如圖2所示,首先計算網(wǎng)絡(luò)拓?fù)鋑=(v,e)中各個節(jié)點的度和所有節(jié)點之間的最短路徑;然后分別計算節(jié)點關(guān)于度的關(guān)鍵值、節(jié)點關(guān)于最短路徑的關(guān)鍵值;刪除值相對較小的次要節(jié)點,保留值相對較大的重要節(jié)點;再將分別得到的關(guān)于度的重要節(jié)點和關(guān)于最短路徑的重要節(jié)點合并為節(jié)點集合v1;合并后的節(jié)點集合,對于復(fù)雜網(wǎng)絡(luò),通常情況下,節(jié)點集合構(gòu)成的壓縮圖是連通的,若不連通,則需要對壓縮拓?fù)溥M(jìn)行補(bǔ)充,,選擇一個最小的節(jié)點集合v2補(bǔ)充到壓縮拓?fù)渲?,至少使得v1∪v2中節(jié)點構(gòu)成的壓縮圖是連通的,necb采用的是keepone策略,v1中節(jié)點在g中的任意一條最短路徑上的所有節(jié)點組成v2,v1∪v2的完全圖與原始網(wǎng)絡(luò)拓?fù)鋑的交集即為最終的壓縮網(wǎng)絡(luò)拓?fù)洹?/p>
fr算法的具體執(zhí)行過程是,先計算節(jié)點收到的斥力和引力,進(jìn)而計算節(jié)點受到的合力,然后根據(jù)合力和位移閾值得到節(jié)點移動距離。設(shè)定合適的冷卻函數(shù)對算法的運(yùn)行效率至關(guān)重要,一般有平衡距離和位移閾值來決定,實際應(yīng)用中往往設(shè)定固定的迭代次數(shù)作為迭代終止條件。拓?fù)洳季值淖罴褷顟B(tài)是節(jié)點平均分布在區(qū)域內(nèi),每個節(jié)點周圍都有一個相同半徑的空間。
實際情況中,網(wǎng)絡(luò)圖會以各種形式存在,對于輸入圖g=(v,e)可能是不聯(lián)通的,可能是有向或者無向,也可能加權(quán)圖或者無權(quán)圖。
其中,對于不連通圖,首先將其所有連通分支分離為多個連通圖,對于每個連通圖進(jìn)行單獨(dú)處理后,再把他們的結(jié)果放在一個布局上。這個已經(jīng)有很多布局方法已經(jīng)考慮過了。
其中,對于簡單的有向圖,直接將其有向邊變?yōu)闊o向邊,然后再進(jìn)行處理,得到結(jié)果后,根據(jù)邊的方向,加上對應(yīng)的箭頭即可,有兩個方向的,直接在兩端都加上箭頭。
其中,對于簡單的加權(quán)圖,其結(jié)構(gòu)屬性相對于無權(quán)圖會有一定的變化。為了重用性,先把加權(quán)圖中所有邊的權(quán)值變?yōu)?,從而得到了一個無權(quán)圖,對其進(jìn)行處理后,得到的結(jié)果其實已經(jīng)和最終結(jié)果很相近了(初始布局對于力導(dǎo)引模型是很重要的),然后再把權(quán)值還原,重新計算圖的結(jié)構(gòu)屬性,根據(jù)得到的布局結(jié)果再次布局,就可以得到加權(quán)圖的最終結(jié)果了。
在本說明書的描述中,參考術(shù)語“一個實施例”、“示例”、“具體示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。
以上公開的本發(fā)明優(yōu)選實施例只是用于幫助闡述本發(fā)明。優(yōu)選實施例并沒有詳盡敘述所有的細(xì)節(jié),也不限制該發(fā)明僅為所述的具體實施方式。顯然,根據(jù)本說明書的內(nèi)容,可作很多的修改和變化。本說明書選取并具體描述這些實施例,是為了更好地解釋本發(fā)明的原理和實際應(yīng)用,從而使所屬技術(shù)領(lǐng)域技術(shù)人員能很好地理解和利用本發(fā)明。本發(fā)明僅受權(quán)利要求書及其全部范圍和等效物的限制。