一種面向大規(guī)模網(wǎng)絡的社區(qū)布局可視化方法
【專利摘要】本發(fā)明請求保護一種面向大規(guī)模網(wǎng)絡的社區(qū)布局可視化方法,涉及信息可視化領(lǐng)域。本發(fā)明在力導引布局的基礎(chǔ)上,引入層次空間分解模型,降低節(jié)點之間斥力的計算時間復雜度。節(jié)點度數(shù)控制節(jié)點斥力的大小,使得度數(shù)大的節(jié)點之間相互遠離,社區(qū)結(jié)構(gòu)更加清晰。優(yōu)化社區(qū)引力建模,降低社區(qū)引力的計算時間復雜度,方法能夠適用于大規(guī)模網(wǎng)絡的社區(qū)布局。針對節(jié)點重疊問題,對重疊節(jié)點之間的斥力和引力做調(diào)整,防止節(jié)點過度聚攏。本發(fā)明不但可以展示大規(guī)模網(wǎng)絡的社區(qū)結(jié)構(gòu)信息,還有簡單、易于實現(xiàn)和布局速度快等優(yōu)點。
【專利說明】
一種面向大規(guī)模網(wǎng)絡的社區(qū)布局可視化方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于信息可視化領(lǐng)域,具體是一種能夠展示大規(guī)模網(wǎng)絡中社區(qū)結(jié)構(gòu)的可視 化布局算法。
【背景技術(shù)】
[0002] 可視化布局是信息可視化中的重要組成部分,通過研究可視化布局算法來最大化 呈現(xiàn)清晰的網(wǎng)絡結(jié)構(gòu),是目前提高可視化繪制效果和方便人們理解數(shù)據(jù)信息的有效途徑。 社區(qū)結(jié)構(gòu)是網(wǎng)絡的重要特性,同時也是分析和研究大規(guī)模數(shù)據(jù)的突破口。通過布局算法展 示社區(qū)結(jié)構(gòu)信息,有利于人們分析和理解大規(guī)模網(wǎng)絡數(shù)據(jù)?,F(xiàn)有力導引方法沒有考慮網(wǎng)絡 的社區(qū)結(jié)構(gòu)信息,無法展示網(wǎng)絡中的社區(qū)信息。為了解決力導引可視化布局方法大都無法 展示復雜網(wǎng)絡具有社區(qū)結(jié)構(gòu)這一特性,研究者們通過結(jié)合社區(qū)劃分算法,提出了具體的解 決方案。
[0003] 朱志良等人在《計算機輔助設(shè)計與圖形學學報》第23卷第11期上發(fā)表了題為"基于 復雜網(wǎng)絡社區(qū)劃分的網(wǎng)絡拓撲結(jié)構(gòu)可視化布局算法"的文章,該文提出了一種基于社區(qū)劃 分的網(wǎng)絡布局算法。該算法首先利用復雜網(wǎng)絡社區(qū)發(fā)現(xiàn)算法對網(wǎng)絡中的節(jié)點進行社區(qū)劃 分,將每個社區(qū)抽象為一個節(jié)點,以社區(qū)間的關(guān)聯(lián)為邊構(gòu)建新的網(wǎng)絡。根據(jù)物理類比方法確 定社區(qū)中心位置,同時依賴社區(qū)規(guī)模確定社區(qū)的布局范圍,之后通過條件擇優(yōu)的方式填充 社區(qū)內(nèi)的網(wǎng)絡拓撲布局。
[0004] 公開號為CN101741623A的中國發(fā)明專利公開了一種網(wǎng)絡技術(shù)領(lǐng)域的網(wǎng)絡可視化 方法。該方法采用基于模塊度指標的社區(qū)劃分方法對網(wǎng)絡進行層次劃分,依據(jù)現(xiàn)有的社區(qū) 劃分方法優(yōu)先對網(wǎng)絡進行聚類,根據(jù)劃分結(jié)果進行布局。公開號為CN104217073A的中國發(fā) 明專利公開了一種網(wǎng)絡社區(qū)引力導引的可視化布局方法。該方法在力導引算法的基礎(chǔ)上加 入了社區(qū)引力,將K-means算法引入社區(qū)引力中,實現(xiàn)在布局的同時完成節(jié)點的聚類。
[0005] 現(xiàn)有社區(qū)布局方法存在以下缺點:(1)算法中社區(qū)引力建模復雜,計算效率低;(2) 算法步驟復雜,不適用于大規(guī)模網(wǎng)絡布局。
【發(fā)明內(nèi)容】
[0006] 針對以上技術(shù)的不足,提出了一種優(yōu)化社區(qū)引力建模,降低社區(qū)引力的計算時間 復雜度的面向大規(guī)模網(wǎng)絡的社區(qū)布局可視化方法;本發(fā)明的技術(shù)方案如下:一種面向大規(guī) 模網(wǎng)絡的社區(qū)布局可視化方法,其包括以下步驟:
[0007] 101、獲取社區(qū)網(wǎng)絡中節(jié)點的空間位置,將節(jié)點進行空間分解,同時計算節(jié)點的度 數(shù);
[0008] 102、根據(jù)步驟101得到的節(jié)點的度數(shù)和空間位置,確定節(jié)點之間的引力和斥力;
[0009] 103、根據(jù)社區(qū)發(fā)現(xiàn)算法得到的社區(qū)劃分結(jié)果,計算同一社區(qū)內(nèi)有邊相連的節(jié)點之 間的社區(qū)引力;
[0010] 104、根據(jù)步驟102得到的節(jié)點引力、斥力和和步驟103得到的社區(qū)引力,計算節(jié)點 的位置,使得同一社區(qū)內(nèi)的節(jié)點相互聚攏,不同社區(qū)內(nèi)的節(jié)點相互分離,當系統(tǒng)溫度達到最 小值時完成社區(qū)布局。
[0011] 進一步的,步驟101利用層次空間分解法將節(jié)點進行空間分解,每個空間中包含限 定數(shù)量的節(jié)點,空間內(nèi)的所有節(jié)點對外視為一個超級節(jié)點,超級節(jié)點的度數(shù)為該層次空間 內(nèi)所有節(jié)點的度數(shù)之和。
[0012] 進一步的,步驟101計算計算節(jié)點的度數(shù)具體為:根據(jù)網(wǎng)絡的結(jié)構(gòu)信息計算節(jié)點的 出度和入度,節(jié)點的度數(shù)為節(jié)點出度和入度之和。
[0013]進一步的,步驟102計算節(jié)點所受的節(jié)點引力和節(jié)點斥力的公式具體為:根據(jù)節(jié)點 的度數(shù)deg(n)、節(jié)點之間的距離d(m,n2)和邊的權(quán)重W(ni,n2),調(diào)用公式(1)計算節(jié)點之間 的引力fa和斥力f r,斥力存在于所有的節(jié)點對,引力只存在于結(jié)構(gòu)相鄰的節(jié)點對之間;
(1):,其中k為可調(diào)節(jié)常數(shù)。
[0015]進一步的,步驟103中計算社區(qū)引力具體為:社區(qū)引力只存在于同一社區(qū)且有邊相 連的節(jié)點之間,根據(jù)節(jié)點之間的距離d(m,n2)和邊的權(quán)重w(m,n2),調(diào)用公式(2)計算社區(qū) 引力,使得同一社區(qū)內(nèi)的節(jié)點相互聚攏,形成社區(qū)結(jié)構(gòu); 「nmu f \d(nunjf ^win^ni) 屬于同一社區(qū)且有邊相連 州
[0016] X [0 其他 丄
[0017] 進一步的,步驟104節(jié)點布局的布局原則為:相鄰節(jié)點之間靠近,不相鄰節(jié)點之間 遠離,在此基礎(chǔ)上,同一社區(qū)內(nèi)相鄰節(jié)點之間靠近,系統(tǒng)溫度的調(diào)整采用模擬退火原則,系 統(tǒng)溫度降到最低時,布局完成。
[0018] 本發(fā)明的優(yōu)點及有益效果如下:
[0019] 本發(fā)明解決社區(qū)布局算法不適用于大規(guī)模網(wǎng)絡布局的局限性,簡化算法步驟和力 的計算,優(yōu)化社區(qū)引力建模,提出了一種面向大規(guī)模網(wǎng)絡的社區(qū)布局可視化方法。該方法在 力導引布局的基礎(chǔ)上,引入空間分解模型,降低節(jié)點之間斥力的計算時間復雜度。節(jié)點度數(shù) 控制節(jié)點斥力的大小,使得度數(shù)大的節(jié)點之間相互遠離,社區(qū)結(jié)構(gòu)更加清晰。同時優(yōu)化社區(qū) 引力建模,降低社區(qū)引力的計算時間復雜度,能夠適用于大規(guī)模網(wǎng)絡的社區(qū)布局。
【附圖說明】
[0020] 圖1是本發(fā)明提供優(yōu)選實施例面向大規(guī)模網(wǎng)絡的社區(qū)布局方法流程圖;
[0021] 圖2本發(fā)明的布局方法在Advogato數(shù)據(jù)集上的布局效果。
【具體實施方式】
[0022] 以下結(jié)合附圖,對本發(fā)明作進一步說明:
[0023]參見圖1所示,整個系統(tǒng)在節(jié)點斥力、節(jié)點引力和社區(qū)引力的作用下達到平衡。方 法在力導引布局的基礎(chǔ)上,引入空間分解模型,降低節(jié)點之間斥力的計算時間復雜度。節(jié)點 度數(shù)控制節(jié)點斥力的大小,使得度數(shù)大的節(jié)點之間相互遠離,社區(qū)結(jié)構(gòu)更加清晰。同時優(yōu)化 社區(qū)引力建模,降低社區(qū)引力的計算時間復雜度,能夠適用于大規(guī)模網(wǎng)絡的社區(qū)布局。最后 針對節(jié)點重疊問題,對重疊節(jié)點之間的斥力和引力做調(diào)整,防止節(jié)點過度聚攏。
[0024] 設(shè)G為一個網(wǎng)絡,用節(jié)點和邊表示為G(V,E),其中V為n個節(jié)點的集合{V1,V2,..., vn},E為m條邊的集合{ei,e2, . . .,en},G被劃分為了k個社團{Ci,C2, . . .,Cn}。如果將布局問 題等價于物理中物體的受力情況,那個節(jié)點將在三個力的作用下達到平衡:節(jié)點間的斥力、 節(jié)點間的引力和社區(qū)引力。具體的實施步驟如圖1所示為:
[0025] A1:在初始階段,根據(jù)網(wǎng)絡的結(jié)構(gòu)信息計算節(jié)點的度數(shù),節(jié)點的度數(shù)由節(jié)點出度和 入度決定。
[0026] A2:根據(jù)節(jié)點現(xiàn)有的位置,對所有節(jié)點進行空間分解,如利用層次空間分解法。每 個空間中包含限定數(shù)量的節(jié)點,空間內(nèi)的所有節(jié)點對外視為一個超級節(jié)點,超級節(jié)點的度 數(shù)由該層次空間內(nèi)所有節(jié)點的度數(shù)決定。
[0027] A3:計算節(jié)點所受的節(jié)點引力和節(jié)點斥力,引力和斥力主要用來維持系統(tǒng)的平衡 和減少邊交叉。根據(jù)節(jié)點的度數(shù)deg(n)、節(jié)點之間的距離d (ni,m)和邊的權(quán)重w(ni,m),調(diào) 用公式(1)計算節(jié)點之間的引力fa和斥力fr。斥力存在于所有的節(jié)點對,引力只存在于結(jié)構(gòu) 相鄰的節(jié)點對之間。
⑴
[0029] A4:計算社區(qū)引力,社區(qū)引力只存在于同一社區(qū)且有邊相連的節(jié)點之間。根據(jù)節(jié)點 之間的距離d(m,n2)和邊的權(quán)重w(m,n2),調(diào)用公式(2)計算社區(qū)引力,使得同一社區(qū)內(nèi)的 節(jié)點相互聚攏,形成社區(qū)結(jié)構(gòu)。 「 \d(nl,n-1'f*w(nl,:nr!) 為屬于同一社..區(qū)且有邊相連
[0030] ^={〇 _ "其他 ⑵。
[0031] A5:根據(jù)上述計算得到的節(jié)點斥力、節(jié)點引力和社區(qū)引力,結(jié)合系統(tǒng)溫度,計算節(jié) 點移動的位置。每次布局迭代節(jié)點的移動范圍會隨著系統(tǒng)溫度的降低而逐步減小,當溫度 降低到一定程度時,布局達到穩(wěn)定狀態(tài)。對于重疊的節(jié)點對,調(diào)整節(jié)點之間的斥力和節(jié)點之 間的引力,防止節(jié)點過于聚攏。
[0032] A6:當系統(tǒng)的溫度達到給定的最小值時節(jié)點調(diào)整結(jié)束,否則執(zhí)行步驟A2。對于溫度 的調(diào)整,可使用模擬退火原則,系統(tǒng)初始狀態(tài)時溫度較高,再慢慢降低溫度,直到溫度達到 最小值。
[0033]圖2本發(fā)明的布局方法在Advogato數(shù)據(jù)集上的布局效果。選擇了公開數(shù)據(jù)集 Advogato進行試驗。Advogato網(wǎng)絡描述了社交網(wǎng)絡中的信任網(wǎng)絡,頂點代表用戶,邊代表用 戶之間的信任信息。該數(shù)據(jù)集包含5042個頂點和39227條邊。布局效果如圖2所示,可以看出 該算法能夠明顯反映出網(wǎng)絡的社區(qū)結(jié)構(gòu)特性。
[0034]以上這些實施例應理解為僅用于說明本發(fā)明而不用于限制本發(fā)明的保護范圍。在 閱讀了本發(fā)明的記載的內(nèi)容之后,技術(shù)人員可以對本發(fā)明作各種改動或修改,這些等效變 化和修飾同樣落入本發(fā)明權(quán)利要求所限定的范圍。
【主權(quán)項】
1. 一種面向大規(guī)模網(wǎng)絡的社區(qū)布局可視化方法,其特征在于,包括以下步驟: 101、 獲取社區(qū)網(wǎng)絡中節(jié)點的空間位置,將節(jié)點進行空間分解,同時計算節(jié)點的度數(shù); 102、 根據(jù)步驟101得到的節(jié)點的度數(shù)和空間位置,確定節(jié)點之間的引力和斥力; 103、 根據(jù)社區(qū)發(fā)現(xiàn)算法得到的社區(qū)劃分結(jié)果,計算同一社區(qū)內(nèi)有邊相連的節(jié)點之間的 社區(qū)引力; 104、 根據(jù)步驟102得到的節(jié)點引力、斥力和和步驟103得到的社區(qū)引力,計算節(jié)點的位 置,使得同一社區(qū)內(nèi)的節(jié)點相互聚攏,不同社區(qū)內(nèi)的節(jié)點相互分離,當系統(tǒng)溫度達到最小值 時完成社區(qū)布局。2. 根據(jù)權(quán)利要求1所述的一種面向大規(guī)模網(wǎng)絡的社區(qū)布局可視化方法,其特征在于,步 驟101利用層次空間分解法將節(jié)點進行空間分解,每個空間中包含限定數(shù)量的節(jié)點,空間內(nèi) 的所有節(jié)點對外視為一個超級節(jié)點,超級節(jié)點的度數(shù)為該層次空間內(nèi)所有節(jié)點的度數(shù)之 和。3. 根據(jù)權(quán)利要求1或2所述的一種面向大規(guī)模網(wǎng)絡的社區(qū)布局可視化方法,其特征在 于,步驟101計算計算節(jié)點的度數(shù)具體為:根據(jù)網(wǎng)絡的結(jié)構(gòu)信息計算節(jié)點的出度和入度,節(jié) 點的度數(shù)為節(jié)點出度和入度之和。4. 根據(jù)權(quán)利要求1所述的一種面向大規(guī)模網(wǎng)絡的社區(qū)布局可視化方法,其特征在于,步 驟102計算節(jié)點所受的節(jié)點引力和節(jié)點斥力的公式具體為:根據(jù)節(jié)點的度數(shù)deg(n)、節(jié)點之 間的距離d(m,n2)和邊的權(quán)重w(m,n2),調(diào)用公式⑴計算節(jié)點之間的引力f a和斥力fr,斥力 存在于所有的節(jié)點對,引力只存在于結(jié)構(gòu)相鄰的節(jié)點對之間;(1),其中k為可調(diào)節(jié)常數(shù)。5. 根據(jù)權(quán)利要求1所述的一種面向大規(guī)模網(wǎng)絡的社區(qū)布局可視化方法,其特征在于,步 驟103中計算社區(qū)引力具體為:根據(jù)節(jié)點之間的距離d(m,n 2)和邊的權(quán)重w(m,n2),調(diào)用公 式(2)計算社區(qū)引力,使得同一社區(qū)內(nèi)的節(jié)點相互聚攏,形成社區(qū)結(jié)構(gòu);(2) 06. 根據(jù)權(quán)利要求1所述的一種面向大規(guī)模網(wǎng)絡的社區(qū)布局可視化方法,其特征在于,步 驟104節(jié)點布局的布局原則為:相鄰節(jié)點之間靠近,不相鄰節(jié)點之間遠離,在此基礎(chǔ)上,同一 社區(qū)內(nèi)相鄰節(jié)點之間靠近,系統(tǒng)溫度的調(diào)整采用模擬退火原則,系統(tǒng)溫度降到最低時,布局 完成。7. 根據(jù)權(quán)利要求6所述的一種面向大規(guī)模網(wǎng)絡的社區(qū)布局可視化方法,其特征在于,步 驟104根據(jù)得到的節(jié)點引力、斥力和和步驟103得到的社區(qū)引力利用公式⑶和公式(4)計算 節(jié)點的位置的改變信息,具體方法是:其中XI是m的橫坐標,X2是Π 2的橫坐標,yi是m的縱坐標,y2是Π 2的縱坐標。
【文檔編號】H04L12/24GK105959132SQ201610251589
【公開日】2016年9月21日
【申請日】2016年4月21日
【發(fā)明人】趙潤乾, 吳渝, 李紅波, 常雨蕭
【申請人】重慶郵電大學