專利名稱:互聯(lián)網(wǎng)超鏈接網(wǎng)絡(luò)圖數(shù)據(jù)的簡化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種互聯(lián)網(wǎng)超鏈接網(wǎng)絡(luò)圖數(shù)據(jù)的簡化方法。
背景技術(shù):
在數(shù)學(xué)上,一個圖(Graph)是表示物件與物件之間的關(guān)系的方法,是圖論的基本研究對象。一個圖看起來是由一些小圓點(稱為頂點或結(jié)點)和連結(jié)這些圓點的直線或曲線(稱為邊)組成的。在金融、生物信息、社會學(xué)、交通管理、互聯(lián)網(wǎng)的超鏈接網(wǎng)絡(luò)以及軟件工程等多個領(lǐng)域,經(jīng)常需要對大規(guī)模圖數(shù)據(jù)進行分析,而對數(shù)據(jù)的可視化則是分析、理解這些數(shù)據(jù)的直觀、有效的方法,受到了越來越多的關(guān)注。由于很難一次性載入大規(guī)模數(shù)據(jù)進行分析,人們 通常先根據(jù)圖的特性將原始圖簡化,得到具備一定代表性意義的母圖的縮略圖,然后再通過子圖與母圖交互,根據(jù)需要對數(shù)據(jù)進行顯示、分析。圖簡化方法通常分為圖聚合法和圖過濾法兩類。圖聚合法將多個點合并,將多條邊合并,從而減小圖的大小,并揭示一組點間的關(guān)系。這種方法可以被多次重復(fù),從而得到層次化的圖。但是,用這種方法得到的合并后的點和邊失去了其原始的語義,因此,簡化后子圖的代表性不強。與圖聚合法相比,圖過濾法能夠保留點和邊的語義,因為簡化后的圖是原始圖的子圖。圖過濾法又分為隨機性過濾和確定性過濾兩種。隨機性過濾也稱為采樣,用來從大規(guī)模圖中得到代表性的樣本。但是,由于對數(shù)據(jù)進行隨機采樣,因此,用這種簡化方法得到的子圖的代表性也不強。確定性過濾采用確定性的算法來選擇待移除的點和邊,這種過濾可以基于點和邊的性質(zhì)以及圖的拓撲結(jié)構(gòu)等特性。目前使用最多的是基于介數(shù)進行過濾的方法,介數(shù)表示的是一個節(jié)點位于其它節(jié)點間的最短路徑上的頻率,頻率越高,則該點的介數(shù)越高,該點就越重要。這種方法得到的簡化子圖的代表性最好,但是,由于介數(shù)方法需要計算所有頂點間最短路徑,而所有頂點間最短路徑的計算非常耗時,因此,該方法難以應(yīng)用于大規(guī)模圖數(shù)據(jù)的簡化?;ヂ?lián)網(wǎng)的超鏈接網(wǎng)絡(luò)中,近十幾年來,隨著互聯(lián)網(wǎng)的普及和Web2 ()技術(shù)的推動,網(wǎng)頁數(shù)量增長迅猛,據(jù)CNNIC統(tǒng)計,2010年中國網(wǎng)頁規(guī)模達到600億,年增長率78. 6%,而基于互聯(lián)網(wǎng)的社交網(wǎng)絡(luò)也后來居上,如全球最大的社交網(wǎng)絡(luò)Facebook,已有約7億用戶,國內(nèi)如QQ空間、人人網(wǎng)等,發(fā)展也異常迅猛。真實世界中實體規(guī)模的擴張,導(dǎo)致對應(yīng)的圖數(shù)據(jù)規(guī)模迅速增長,動輒有數(shù)十億個頂點和上萬億條邊。面對這樣大規(guī)模的圖數(shù)據(jù),對海量數(shù)據(jù)處理技術(shù)提出了巨大挑戰(zhàn)。以搜索引擎中常用的PageRank計算為例,一個網(wǎng)頁的PageRank得分根據(jù)網(wǎng)頁之間相互的超鏈接關(guān)系計算而得到。將網(wǎng)頁用圖頂點表示,網(wǎng)頁之間的鏈接關(guān)系用有向邊表示,按鄰接表形式存儲100億個圖頂點和600億條邊,假設(shè)每個頂點及出度邊的存儲空間占100字節(jié),那么整個圖的存儲空間將超過1TB。如此大規(guī)模的圖,對其存儲、更新、查找等處理的時間開銷和空間開銷遠遠超出了傳統(tǒng)集中式圖數(shù)據(jù)管理的承受能力。針對大規(guī)模圖數(shù)據(jù)的高效管理,對大規(guī)模圖數(shù)據(jù)進行簡化,已經(jīng)成為急需解決的問題。相關(guān)參考文獻
[1]《圖論導(dǎo)引》,美國Graychartrand , Ping Zhang著,范益政,汪毅,朱明譯,人民郵電出版社,2007年9月第I版,ISBN 9787115161536 ;
[2]《圖論算法理論、實現(xiàn)及應(yīng)用》,中國王桂平,王衍,任嘉辰主編,北京大學(xué)出版社,2011 年 I 月第 I 版,ISBN 978-7-301-17578-1/TP 1122 ;
[3]《離散數(shù)學(xué)》,中國左孝凌、李為鑒、劉永才著,上??茖W(xué)技術(shù)文獻出版社,1982年9 月第一版,ISBN :7805130698, 9787805130699
發(fā)明內(nèi)容
本發(fā)明的目的是一、針對目前圖簡化方法得到的子圖的代表性不強或計算復(fù)雜度過大的問題,提出一種基于寬度優(yōu)先遍歷的大規(guī)模圖數(shù)據(jù)的簡化方法,該方法的計算速度快且得到的簡化子圖具備較強的代表性;二、針對目前海量的互聯(lián)網(wǎng)的超鏈接網(wǎng)絡(luò)的圖數(shù)據(jù),提出一種新的基于寬度優(yōu)先遍歷的互聯(lián)網(wǎng)的超鏈接網(wǎng)絡(luò)的圖數(shù)據(jù)的簡化方法,通過該簡化后的骨干節(jié)點和鏈接的網(wǎng)絡(luò),以解決互聯(lián)網(wǎng)數(shù)據(jù)高效管理的問題。本發(fā)明的原理是互聯(lián)網(wǎng)的超鏈接網(wǎng)絡(luò)的大規(guī)模圖數(shù)據(jù)由一些關(guān)鍵點以及連接這些點的邊構(gòu)成,從而能夠體現(xiàn)原始圖的拓撲結(jié)構(gòu)。通過將母圖中一些不重要的點和邊去除,保留原始圖中一些重要的關(guān)節(jié)點和關(guān)鍵邊,得到的必定是具備代表性的縮略圖。通過度序列確定起始點的時間復(fù)雜度最大為O(NlogN),寬度優(yōu)先遍歷的計算復(fù)雜度為0(M+N),兩者相加遠小于根據(jù)介數(shù)進行簡化的方法的時間復(fù)雜度為O(MN)。其中,M為邊的數(shù)目,N為節(jié)點的數(shù)目。因此,該方法的計算速度較快。相關(guān)詞匯解釋 二元組的定義
圖G是一個二元組(V,E),其中V稱為頂點集(也稱為點的集合),E稱為邊集(也稱為邊的集合)。它們亦可寫成V(G)和E(G)。
階(Order):圖G中頂集V的大小稱作圖G的階。介數(shù)反映了相應(yīng)的節(jié)點或者邊在整個網(wǎng)絡(luò)中的作用和影響力,是一個重要的全局幾何量,具有很強的現(xiàn)實意義。
度(Degree)是一個頂點的度是指與該頂點相關(guān)聯(lián)的總邊數(shù)。參考文獻[I]《圖論導(dǎo)弓丨》中第27頁有有關(guān)度的定義,即與某個點相關(guān)聯(lián)的邊的總數(shù)稱為該點的度。遍歷的含義所謂遍歷(Traversal),是指沿著某條搜索路線,依次對樹中每個結(jié)點均做一次且僅做一次訪問。訪問結(jié)點所做的操作依賴于具體的應(yīng)用問題。遍歷在二叉樹上最重要的運算之一,是二叉樹上進行其它運算之基礎(chǔ)。當(dāng)然遍歷的概念也適合于多元素集合的情況,如數(shù)組。圖的遍歷方法有深度優(yōu)先遍歷和寬度(廣度)優(yōu)先遍歷。圖的寬度(廣度)優(yōu)先遍歷是樹的按層次遍歷的推廣,它的基本思想是首先訪問初始點Vm,并將其標(biāo)記為已訪問過,接著訪問Vm的所有未被訪問過的鄰接點Vml, Vm2,…,Vmt,并均標(biāo)記已訪問過,然后再按照Vml,Vffl2,…,Vfflt的次序,訪問每一個頂點的所有未被訪問過的鄰接點,并均標(biāo)記為已訪問過,依次類推,直到圖中所有和初始點Vi有路徑相通的頂點都被訪問過為止。參考文獻[2]《圖論算法理論、實現(xiàn)及應(yīng)用》中第25頁有寬度優(yōu)先遍歷的定義。在參考文獻[3]《離散數(shù)學(xué)》的第273、275頁上有自回路的定義和平行邊的定義;平行邊也稱為多重邊。根據(jù)前述原理,實現(xiàn)本發(fā)明的技術(shù)方案是一種基于寬度優(yōu)先遍歷的大規(guī)模圖數(shù)據(jù)簡化方法,包含以下步驟
①對原始圖Gtl進行去除自回路和平行邊(多重邊)的預(yù)處理,得到第一級簡化子圖G1=(V1, E1),其中V1為一級點的集合,E1為一級邊的集合;所述一級點的集合V1為所述第一級簡化子圖G1的點的集合,所述一級邊的集合E1為所述第一級簡化子圖G1的邊的集合;并設(shè)第i級簡化子圖Gi為下一級簡化子圖Gi+1母圖Gw ;i為初值等于I大于等于I的整數(shù);
②選擇所述母圖中具有最優(yōu)度的點作為下一級簡化子圖Gi+1的起點Si+1;
③從所述起點Si+1開始對所述母圖進行寬度優(yōu)先遍歷獲得所述下一級簡化子圖Gi+1=(Vi+1,Ei+1),其中Vi+1為下一級點的集合,Ei+1為下一級邊的集合;所述獲得所述下一級簡化子圖Gi+1= (Vi+1,Ei+1)的方法包括以下步驟
a :把所述起點S i+1及其直接鄰接點加入到該級已遍歷點的集合VTi+1中,并把所述起點si+1加入到所述下一級點的集合vi+1中;
b :若所述已加入集合VTi+1中的各直接鄰接點的鄰接點不在所述集合VTi+1中,則將該直接鄰接點作為所述集合Vi+1的新的加入點,并連接所述已加入點與所述新的加入點生成邊,并將所述邊加入到所述下一級邊的集合Ei+1中,并將所述新的加入點及其直接鄰接點加入到所述集合VTi+1中;
c :對于所述新的加入點,重復(fù)所述步驟b,直至遍歷結(jié)束,以構(gòu)成所述下一級簡化子圖Gi+1= (Vi+1, Ei+1);
④設(shè)所述下一級簡化子圖Gi+1為再下一級簡化子圖的母圖Gckw),重復(fù)所述步驟②、③直至得到最優(yōu)簡化子圖G。即簡化子圖的規(guī)模符合用戶的要求或經(jīng)過多次簡化后最終保留的點數(shù)為原始圖點數(shù)的15%-45%
符合圖數(shù)據(jù)分析環(huán)境的需求,即簡化子圖能夠被圖數(shù)據(jù)分析軟件一次性載入。進一步,獲得所述步驟②中最優(yōu)度的點的方法,包括如下步驟
先選擇度最多的點作為所述最優(yōu)度的點。若含有度最多的點有多個,則依次比較各點的各級鄰接點的度的總和,取所述總和最小的點為所述最優(yōu)度的點。對于所述步驟②中,確定所述起點S i+1的具體方法是按照度的數(shù)量對經(jīng)第①步處理后的圖數(shù)據(jù)(即所述第一級簡化子圖G1為第一母圖)進行排序,選擇度最多的點作為起始點,如果度最多的點不止一個,則選擇其直接鄰接點的度總和較小的點作為起始點,如直接鄰接點的度總和仍然相同,則比較直接鄰接點的鄰接點的度總和,并以此類推,得到下一級簡化子圖的起始點Si+1,i為大于等于I等于I的整數(shù),若為第二級簡化子圖,所述起始點為S2。所述步驟③中,從所述起點S2進行寬度優(yōu)先遍歷(搜索)生成第二級簡化子圖G2=(V2jE2)的方法是根據(jù)第②步得到的所述起點S2,先將所述起點S2加入到所述第二級簡化子圖G2的二級點的集合V2中,把所述起點S2及其直接鄰接點加入到該級遍歷點的集合VT2中,若所述起點S2在第一級簡化子圖G1中的所有直接鄰接點,如果某個直接鄰接點S2x的鄰接點S2xy不在所述集合VT2中,則將該直接鄰接點S2x加入至所述二級點的集合V2中,連接所述起點S2與該直接鄰接點S2x生成邊;將S2, S2i和S2u加入到所述集合VT2中,其中x=l, 2,3,…;y=l, 2,3,…。對所述二級點的集合V2中加入的新的點Nx,先將所述新的點Nx的所有直接鄰接點加入到所述集合VT2中,如果某個直接鄰接點Nxy的鄰接點Nxyk不在所述集合VT2中,則將該直接鄰接點Nxy加入至所述二級點的集合V2中,連接所述新的點Nx與該直接鄰接點Nxy生成邊;并將Nx,Nxy和Nxyk (x=l,2, 3,…;y=l,2,3,…;k=l,2,3,…)加入到所述集合VT2中。對新加入所述二級點的集合V2的點重復(fù)上述步驟③操作,直至所述集合VT2等于一級點的集合%。 第③步中,遍歷結(jié)束的條件是=VT2=V115第④步中,簡化停止的條件是得到最優(yōu)簡化子圖G,即簡化子圖的規(guī)模符合用戶的要求或經(jīng)過多次簡化后最終保留的點數(shù)為原始圖的點數(shù)的15%-45%。若無法滿足則根據(jù)上述步驟繼續(xù)進行簡化;遍歷結(jié)束條件為VTw=Vi,也是所述寬度優(yōu)先遍歷結(jié)束。采用上述方法的本發(fā)明能帶來以下有益效果
(I)度最多的點一般都是圖中的關(guān)鍵點,從度最多的點開始作寬度優(yōu)先遍歷,去除關(guān)節(jié)點以外的非關(guān)鍵點,得到的子圖具備較強的代表性。(2)由于本方法通過選擇度最多的點以及寬度優(yōu)先遍歷實現(xiàn)簡化,其時間遠小于目前根據(jù)介數(shù)進行簡化的時間,因此本方法的計算速度較快。(3)由于采用本方法簡化后的子圖仍然可以作為進一步簡化的母圖,因此,本方法能夠?qū)崿F(xiàn)分層次簡化,從而使本方法能應(yīng)用于大規(guī)模圖數(shù)據(jù)的簡化。(4)由于本方法簡化結(jié)束的標(biāo)準(zhǔn)是母圖中的所有點都在子圖中或者是子圖中某些點的直接鄰接點,如果不符合這個標(biāo)準(zhǔn),則會繼續(xù)選擇尚未搜索過的點進行遍歷,因此,本方法能夠應(yīng)用于非連通圖。(5)由于本方法可以分層次簡化大規(guī)模圖數(shù)據(jù),因此可廣泛應(yīng)用于采用客戶端/服務(wù)器結(jié)構(gòu),以及瀏覽器/服務(wù)器結(jié)構(gòu)的大規(guī)模數(shù)據(jù)分析中,即將大規(guī)模圖數(shù)據(jù)存放在遠程服務(wù)器端,在客戶端顯示簡化后的子圖,用戶根據(jù)自己的需求選擇數(shù)據(jù)進行分析。一種互聯(lián)網(wǎng)超鏈接網(wǎng)絡(luò)圖數(shù)據(jù)的簡化方法,包含以下步驟
步驟一、對所述超鏈接網(wǎng)絡(luò)的圖數(shù)據(jù)Gtl’進行去除自回路和平行邊的預(yù)處理,得到第一級簡化子圖G/ = (V1^E/),其中VI’為一級點的集合,E/為一級邊的集合;并設(shè)第n級簡化子圖Gn’為下一級簡化子圖Gn+1 ’的母圖G01/ ;n為大于等于I的整數(shù);
所述點為所述互聯(lián)網(wǎng)的超鏈接網(wǎng)絡(luò)中的網(wǎng)頁,所述邊為所述互聯(lián)網(wǎng)的超鏈接網(wǎng)絡(luò)中網(wǎng)頁間的鏈接關(guān)系;
步驟二、選擇所述母圖G01/中具有最優(yōu)度的點作為下一級簡化子圖G n+1 ’的起點Sn+1’;其中度表示某個網(wǎng)頁的鏈接關(guān)系,即為一網(wǎng)頁與其他網(wǎng)頁的鏈接總數(shù),最優(yōu)度的點為與其他網(wǎng)頁超鏈接最多的網(wǎng)頁;
步驟三、從所述起點S n+1 ’開始對所述母圖進行寬度優(yōu)先遍歷,獲得所述下一級簡化子圖Gn+1 ’ = (Vn+1’,En+1’),其中Vn+1 ’為下一級點的集合,En+1 ’為下一級邊的集合;所述獲得所述下一級簡化子圖Gn+1 ’ = (Vn+1,,En+1 ’ )的方法包括以下步驟
A :把所述起點Sn+1 ’及其直接鄰接點加入到該級已遍歷點的集合VTn+1 ’中,并把所述起點sn+1 ’加入到所述下一級點的集合vn+1 ’中;
B :若已加入集合VTn+1 ’中的各直接鄰接點的鄰接點不在所述集合VT n+1 ’中,則將該直接鄰接點作為所述集合V n+1 ’的新的加入點,并連接所述已加入點與所述新的加入點生成邊,并將所述邊加入到所述下一級邊的集合E n+1 ’中,并將所述新的加入點及其直接鄰接點加入到所述集合VTn+1 ’中;
C :對于所述新的加入點,重復(fù)所述步驟B,直至遍歷結(jié)束,以構(gòu)成所述下一級簡化子圖Gn+1,= (Vn+1,,En+1,);
步驟四、設(shè)所述下一級簡化子圖Gn+1 ’為再下一級簡化子圖的母圖6_+1)’,重復(fù)所述步驟二、三直至得到最優(yōu)簡化子圖G’,即獲得最優(yōu)超鏈接網(wǎng)絡(luò),即最優(yōu)超鏈接網(wǎng)絡(luò)就是保留網(wǎng)絡(luò)中的骨干節(jié)點和鏈接的網(wǎng)絡(luò),能體現(xiàn)網(wǎng)絡(luò)的拓撲結(jié)構(gòu);便于實現(xiàn)網(wǎng)絡(luò)圖數(shù)據(jù)的高效管理,便于對網(wǎng)絡(luò)數(shù)據(jù)的存儲、更新、查找等處理。進一步,獲得所述步驟二中最優(yōu)度的點的方法,包括如下步驟 先選擇度最多的點作為所述最優(yōu)度的點;
若含有度最多的點有多個,則依次比較各點的各級鄰接點的度的總和,取所述總和最小的點為所述最優(yōu)度的點。其中最優(yōu)度的點為與其他網(wǎng)頁連接最為關(guān)鍵的網(wǎng)頁;
所述最優(yōu)簡化子圖G’,即簡化子圖的規(guī)模符合圖數(shù)據(jù)分析環(huán)境的需求,即簡化子圖能夠被圖數(shù)據(jù)分析軟件一次性載入。簡化子圖的規(guī)模符合要求,保留介數(shù)較高的點或經(jīng)過多次簡化后最終保留的點數(shù)為原始圖的點數(shù)的15%-45%。最優(yōu)超鏈接網(wǎng)絡(luò)就是保留網(wǎng)絡(luò)中的骨干節(jié)點和鏈接的網(wǎng)絡(luò),能體現(xiàn)網(wǎng)絡(luò)的拓撲結(jié)構(gòu)。采用上述方法的本發(fā)明能帶來以下有益效果
(I)度最多的點一般都是圖中的關(guān)鍵網(wǎng)頁,從度最多的網(wǎng)頁開始作寬度優(yōu)先遍歷,去除關(guān)節(jié)點以外的非關(guān)鍵鏈接,得到的簡化超鏈接網(wǎng)絡(luò)具備較強的代表性。(2)由于本方法通過選擇超鏈接最多的網(wǎng)頁以及寬度優(yōu)先遍歷實現(xiàn)簡化,其時間遠小于目前根據(jù)介數(shù)進行簡化的時間,因此本方法簡化的速度較快。(3)由于采用本方法簡化后的超鏈接網(wǎng)絡(luò)仍然可以作為進一步簡化的母圖,因此,本方法能夠?qū)崿F(xiàn)分層次簡化。(4)由于本方法簡化結(jié)束的標(biāo)準(zhǔn)是母圖中的所有點(網(wǎng)頁)都在子圖中或者是子圖中某些點的直接鄰接點,如果不符合這個標(biāo)準(zhǔn),則會繼續(xù)選擇尚未搜索過的點進行遍歷,因此,本方法能夠應(yīng)用于非連通圖。(5)由于本方法可以分層次簡化大規(guī)模圖數(shù)據(jù),因此可廣泛應(yīng)用于采用客戶端/服務(wù)器結(jié)構(gòu),以及瀏覽器/服務(wù)器結(jié)構(gòu)的大規(guī)模數(shù)據(jù)分析中,即將大規(guī)模圖數(shù)據(jù)存放在遠程服務(wù)器端,在客戶端顯示簡化后的子圖,用戶可以很方便的根據(jù)自己的需求選擇數(shù)據(jù)進行分析。(6)最終獲得最優(yōu)超鏈接網(wǎng)絡(luò),即保留網(wǎng)絡(luò)中的骨干節(jié)點和鏈接的網(wǎng)絡(luò),能體現(xiàn)網(wǎng)絡(luò)的拓撲結(jié)構(gòu)。
(7)適用于大規(guī)模圖的數(shù)據(jù)管理,通過保留的骨干節(jié)點和鏈接,建立高效的索引機制。(8)層層簡化后,保留原始圖中骨干節(jié)點和連接,能夠揭示超鏈接網(wǎng)絡(luò)的成長機理,有助于分析超鏈接網(wǎng)絡(luò)的特征。
為了使本發(fā)明的內(nèi)容更容易被清楚的理解,下面根據(jù)的具體實施例并結(jié)合附圖,對本發(fā)明作進一步詳細的說明,其中
圖I為本發(fā)明方法圖數(shù)據(jù)簡化方法流程 圖2為本發(fā)明方法的實施例2的母圖及簡化后的子圖。
具體實施方式
下面結(jié)合附圖及實施例對本發(fā)明進行詳細說明
實施例I
見圖1,首先,去除圖中的自回路和平行邊(多重邊)得到第一級簡化子圖h。以所述第一級簡化子圖G1為第一級母圖,按照度的數(shù)量對所述第一級母圖數(shù)據(jù)進行排序,選擇度最多的點作為起始點,如果度最多的點不止一個,則選擇其直接鄰接點的度總和較小的點作為起始點,如直接鄰接點的度總和仍然相同,則比較直接鄰接點的鄰接點的度總和,并以此類推,得到下一級簡化子圖的起始點Si+1,i為大于等于I的整數(shù),若為第二級簡化子圖,所述起始點為S2。從所述起點S i+1進行寬度優(yōu)先遍歷(搜索)生成下一級簡化子圖G i+1= (Vi+1,E i+1)的方法是其中所述寬度優(yōu)先遍歷(搜索)的搜索方式就是對母圖的各點進行逐一遍歷,所以能搜索到每個點,即得出以下步驟
a :把所述起點Si+1及其直接鄰接點加入到該級遍歷點的集合VTi+1中,并把所述起點si+1加入到所述下一級點的集合vi+1中;
b :若已加入集合VTi+1中的各直接鄰接點的鄰接點不在所述集合VTi+1中,則將該直接鄰接點作為所述集合V i+1的新的加入點,并連接所述已加入點與所述直接鄰接點生成邊,并將所述邊加入到所述下一級邊的集合Ei+1中,并將所述新加入點及其直接鄰接點加入到所述集合VTi+1中;
c :對于新的加入點,重復(fù)所述步驟b,以構(gòu)成所述下一級簡化子圖G i+1= (Vi+1, Ei+1)。具體的做法
若生成第二級簡化子圖G2,則其起點為S2,先將所述起點S2加入到所述第二級簡化子圖G2的二級點的集合V2中,把所述起點S2及其直接鄰接點加入到該級遍歷點的集合VT2中,若所述起點S2在第一級簡化子圖G1中的所有直接鄰接點,如果某個直接鄰接點S2x的鄰接點S2xy不在所述集合VT2中,則將該直接鄰接點S2x加入至所述二級點的集合V2中,連接所述起點S2與該直接鄰接點S2x生成邊;將S2, S2x和S2xy加入到所述集合VT2中,其中x=l, 2,3,…;y=l, 2,3,…。對所述二級點的集合V2中加入的新的點Nx,先將所述新的點Nx的所有直接鄰接點加入到所述集合VT2中,如果某個直接鄰接點Nxy的鄰接點Nxyk不在所述集合VT2中,則將該直接鄰接點Nxy加入至所述二級點的集合V2中,連接所述新的點Nx與該直接鄰接點Nxy生成邊;并將Ni, Nij和Nxyk (x=l, 2,3,…,n ;y=l, 2,3,…,n ;k=l, 2,3,…,n)加入到所述集合VT2 中。對新加入二級點的集合V2的點重復(fù)上述操作,直至所述集合VT2等于所述一級點的集合V1;根據(jù)上述步驟得到的所述二級點的集合V2及所述二級點的集合V2生成的相應(yīng)邊的集合E2 ;獲得第二級簡化子圖G2= (V2, E2)。如果所述第二級簡化子圖G2的規(guī)模符合用戶的需求,則停止簡化;否則以所述第二級簡化子圖G2為母圖進行再次簡化得到第三級簡化子圖G3,以此類推,得到最優(yōu)簡化子圖G即簡化子圖的規(guī)模符合要求,即保留具有原始圖中介數(shù)較多的點或經(jīng)過多次簡化后最終得到的子圖能夠被夠被圖數(shù)據(jù)分析軟件一次性載入;保留的點數(shù)為原始圖的點數(shù)的15%-45%。
實施例2
在實施例一的基礎(chǔ)上,對圖2進行簡化;在本例中,原始圖中有16個頂點和19條邊(見附圖2);
①度最多的點d被選擇為起點作寬度優(yōu)先遍歷(搜索),將d及d的所有直接鄰居加入到該級遍歷點的集合VT2中,并將d加入到二級(也為下一級)點的集合V2中,則VT2=(a, b, c, d, k, I), V2=(d);
②考慮所述下一級點的集合V2中的點,如果它的直接鄰接點中有鄰接點不在所述集合VT2中,則將所述直接鄰接點加入所述二級點的集合V2中,其中a的鄰居都在所述集合VT2中,貝1J不加入;而(b, C,k, I)加入所述二級點的集合V2,分別連接d與(b, C,k, I)生成4條邊,將所述下一級點的集合V2中新加入點的(b,c,k,I)的鄰居加入所述集合VT2,則所述集合 VT2 中的點為(a, b, c, d, k, I, m, n, e, q);
③考慮所述二級點的集合V2中除起點外的點(b,C,k, I)(或者說是新加入的點),如果它們的直接鄰接點中有鄰接點不在所述集合VT2中,則將它們加入到所述二級點的集合V2中,如(c, k)的直接鄰接點(n, e)有鄰接點不在所述集合VT2中,將(n, e)加入所述二級點的集合V2,連接c和n, k和e生成邊。將(n, e)的直接鄰接點加入所述集合VT2,則所述集合 VT2 中的點為(a, b, c, d, k, I, m, n, e, q, f, p);
④考慮所述二級點的集合V2中新加入的點(n,e),e的直接鄰接點f有鄰接點不在所述集合VT2中,而n的直接鄰接點p的鄰接點在所述集合VT2中,故將f加入所述二級點的集合V2,連接e和f生成邊,將f的直接鄰接點加入所述集合VT2中,則VT2Ka,b, c, d, k, I,m, n, e, q, f, p, i, g, h);
⑤考慮所述二級點的集合V2中新加入的點f,它的直接鄰接點g的鄰接點h在所述集合VT2中,它的直接鄰接點h的鄰接點g也在所述集合VT2中,故不考慮,而它的直接鄰接點i有鄰接點j不在所述集合VT2中,故加入j,連接f和j生成邊,將j的鄰居加入到所述集合 VT2 中,此時 VT2= (a, b, c, d, k, I, m, n, e, q, f, p, i, g, h, j),與所述一級點的集合 V1 相等。即所述一級點的集合V1中的所有點都被遍歷過,循環(huán)結(jié)束。上述搜索每個點的方法采用寬度優(yōu)先遍歷的方法。圖2中,實線表示所述生成的邊,即由所述二級點的集合%所對應(yīng)生成的所述邊的集合E2;虛線的圓即為簡化掉的頂點,實線圓為簡化后保留的點的集合V2。簡化后子圖有9個頂點8條邊,點的簡化率為43. 7%,邊的簡化率為57. 9%。
表I子圖的代表性分析
權(quán)利要求
1.一種互聯(lián)網(wǎng)超鏈接網(wǎng)絡(luò)圖數(shù)據(jù)的簡化方法,包含以下步驟 步驟一、對所述超鏈接網(wǎng)絡(luò)的圖數(shù)據(jù)Gtl’進行去除自回路和平行邊的預(yù)處理,得到第一級簡化子圖G/= (V/j/XV/為一級點的集合,E/為一級邊的集合,所述點為所述互聯(lián)網(wǎng)的超鏈接網(wǎng)絡(luò)中的網(wǎng)頁,所述邊為所述互聯(lián)網(wǎng)的超鏈接網(wǎng)絡(luò)中網(wǎng)頁間的鏈接關(guān)系;并設(shè)第n級簡化子圖Gn’為下一級簡化子圖Gn+1 ’的母圖G01/ ;n為初值等于I的整數(shù); 步驟二、選擇所述母圖G01/中具有最優(yōu)度的點作為下一級簡化子圖G n+1 ’的起點S n+1’,其中度為一網(wǎng)頁與其他網(wǎng)頁的鏈接總數(shù),所述最優(yōu)度的點為超鏈接總數(shù)最多的網(wǎng)頁; 步驟三、從所述起點S n+1 ’開始對所述母圖進行寬度優(yōu)先遍歷,獲得所述下一級簡化子圖Gn+1 ’ = (¥11+1’,£11+1’),其中¥11+1’為下一級點的集合,E n+1 ’為下一級邊的集合; 步驟四、設(shè)所述下一級簡化子圖G n+1 ’為再下一級簡化子圖的母圖6_+1)’,重復(fù)所述步驟二、三直至得到最優(yōu)簡化子圖G’,即獲得最優(yōu)超鏈接網(wǎng)絡(luò)。
2.根據(jù)權(quán)利要求I所述的互聯(lián)網(wǎng)超鏈接網(wǎng)絡(luò)圖數(shù)據(jù)的簡化方法,其特征在于獲得所述步驟二中最優(yōu)度的點的方法,包括如下步驟 先選擇度最多的點作為所述最優(yōu)度的點; 若含有度最多的點有多個,則依次比較各點的各級鄰接點的度的總和,取所述總和最小的點為所述最優(yōu)度的點。
3.根據(jù)權(quán)利要求I所述的互聯(lián)網(wǎng)超鏈接網(wǎng)絡(luò)圖數(shù)據(jù)的簡化方法,其特征在于所述的獲得所述下一級簡化子圖G n+1’ = (Vn+1’,En+1’)的方法包括以下步驟 A :把所述起點Sn+1’及其直接鄰接點加入到該級已遍歷點的集合VT n+1’中,并把所述起點Sn+1 ’加入到所述下一級點的集合V n+1 ’中; B :若已加入集合VTn+1 ’中的各直接鄰接點的鄰接點不在所述集合VTn+1’中,則將該直接鄰接點作為所述集合V n+1 ’的新的加入點,并連接所述已加入點與所述新的加入點生成邊,并將所述邊加入到所述下一級邊的集合E n+1’中,并將所述新的加入點及其直接鄰接點加入到所述集合VTn+1 ’中; C :對于所述新的加入點,重復(fù)所述步驟B,直至遍歷結(jié)束,以構(gòu)成所述下一級簡化子圖Gn+1,= (Vn+1,,En+1,)。
4.一種基于寬度優(yōu)先遍歷的大規(guī)模圖數(shù)據(jù)的簡化方法,包含以下步驟 ①對原始圖Gtl進行去除自回路和平行邊的預(yù)處理,得到第一級簡化子圖匕=(V1,E1),其中V1為一級點的集合,E1為一級邊的集合;并設(shè)第i級簡化子圖Gi為下一級簡化子圖Gi+1的母圖Gw ;i為初值等于I的整數(shù); ②選擇所述母圖Gw中具有最優(yōu)度的點作為下一級簡化子圖Gi+1的起點Si+1; ③從所述起點Si+1開始對所述母圖進行寬度優(yōu)先遍歷獲得所述下一級簡化子圖Gi+1=(Vi+1,Ei+1),其中Vi+1為下一級點的集合,E i+1為下一級邊的集合;所述獲得所述下一級簡化子圖Gi+1= (Vi+1,Ei+1)的方法包括以下步驟 a :把所述起點Si+1及其直接鄰接點加入到該級已遍歷點的集合VTi+1中,并把所述起點si+1加入到所述下一級點的集合vi+1中; b :若已加入集合VTi+1中的各直接鄰接點的鄰接點不在所述集合VTi+1中,則將該直接鄰接點作為所述集合Vi+1的新的加入點,并連接所述已加入點與所述新的加入點生成邊,并將所述邊加入到所述下一級邊的集合Ei+1中,并將所述新的加入點及其直接鄰接點加入到所述集合VTi+1中; c :對于所述新的加入點,重復(fù)所述步驟b,直至遍歷結(jié)束,以構(gòu)成所述下一級簡化子圖Gi+1= (Vi+1, Ei+1); ④設(shè)所述下一級簡化子圖Gi+1為再下一級簡化子圖的母圖Gckw),重復(fù)所述步驟②、③直至得到最優(yōu)簡化子圖G。
5.根據(jù)權(quán)利要求4所述的大規(guī)模圖數(shù)據(jù)的簡化方法,其特征在于獲得所述步驟②中最優(yōu)度的點的方法,包括如下步驟 先選擇度最多的點作為所述最優(yōu)度的點; 若含有度最多的點有多個,則依次比較各點的各級鄰接點的度的總和,取所述總和最小的點為所述最優(yōu)度的點。
全文摘要
本發(fā)明涉及一種互聯(lián)網(wǎng)超鏈接網(wǎng)絡(luò)圖數(shù)據(jù)的簡化方法,該方法首先對所述超鏈接網(wǎng)絡(luò)的圖數(shù)據(jù)G0’,得到第一級簡化子圖G1’。再根據(jù)圖的度序列確定第二級簡化子圖G2’的起點S2’,從S2’開始對G1’作寬度優(yōu)先遍歷,從G1’中選擇點加入到G2’中,在G2’中選擇點連接生成邊,得到第二級簡化子圖G2’。再以從G1得到G2’的方法從G2’得到G3’,并以此類推得到最優(yōu)簡化子圖G’。本發(fā)明方法得到的簡化子圖能夠去除母圖中的非關(guān)鍵點,有效地保留母圖的拓撲結(jié)構(gòu),從而使子圖相對于母圖具備較好的代表性,且簡化效率高。由于根據(jù)度序列確定起點及寬度優(yōu)先遍歷的計算量較小,因而本方法的執(zhí)行速度快,而且可以對圖進行分層次簡化。
文檔編號G06F17/20GK102750263SQ201210177910
公開日2012年10月24日 申請日期2012年5月31日 優(yōu)先權(quán)日2012年5月31日
發(fā)明者廉春原, 張永春, 張燕紅, 毛國勇, 高敏 申請人:常州工學(xué)院