国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于MapReduce挖掘海量社交網(wǎng)絡(luò)數(shù)據(jù)中三角形的方法

      文檔序號(hào):6630094閱讀:384來源:國知局
      基于MapReduce挖掘海量社交網(wǎng)絡(luò)數(shù)據(jù)中三角形的方法
      【專利摘要】本發(fā)明公開一種采用Map Reduce挖掘海量社交網(wǎng)絡(luò)數(shù)據(jù)中三角形的方法。該方法首先將社交網(wǎng)絡(luò)轉(zhuǎn)化為以用戶為節(jié)點(diǎn)以用戶關(guān)系為邊的圖結(jié)構(gòu)進(jìn)行表達(dá),然后,按節(jié)點(diǎn)度和節(jié)點(diǎn)名稱對(duì)各節(jié)點(diǎn)從小到大進(jìn)行排序,接著,按照節(jié)點(diǎn)度大小將節(jié)點(diǎn)劃分為度數(shù)小于k和不小于k兩部分,最后,采用兩輪MapReduce完成三角形挖掘。在MapReduce處理階段,在第一輪MapReduce中,不把度數(shù)值不小于k的節(jié)點(diǎn)的度數(shù)值小于k的鄰居節(jié)點(diǎn)載入Reduce內(nèi)存,進(jìn)而解決了傳統(tǒng)MapReduce因部分節(jié)點(diǎn)度數(shù)太高而無法挖掘海量數(shù)據(jù)中的三角形的問題。
      【專利說明】基于MapReduce挖掘海量社交網(wǎng)絡(luò)數(shù)據(jù)中三角形的方法

      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明涉及智能信息處理和數(shù)據(jù)挖掘領(lǐng)域,具體地說是一種利用MapReduce挖掘 海量圖中三角形及其數(shù)量的方法。

      【背景技術(shù)】
      [0002] 隨著社交網(wǎng)絡(luò)的發(fā)展及普及,其對(duì)人們?nèi)粘I畹挠绊懺絹碓酱?。針?duì)社交網(wǎng)絡(luò) 的應(yīng)用和研究也越來越多。在這些研究和應(yīng)用過程中,人們往往首先將社交網(wǎng)絡(luò)轉(zhuǎn)化為圖, 構(gòu)建社交網(wǎng)絡(luò)模型,以利于更好的進(jìn)一步開展研究和應(yīng)用。通常,社交網(wǎng)絡(luò)中的用戶是圖中 的一個(gè)節(jié)點(diǎn),用戶關(guān)系是圖中的邊。
      [0003] 在一個(gè)圖中,三角形由任兩個(gè)節(jié)點(diǎn)都具有邊的三個(gè)點(diǎn)形成。三角形問題的研究對(duì) 社交網(wǎng)絡(luò)的研究具有重要的理論和實(shí)踐意義。在理論上,社交網(wǎng)絡(luò)的信息傳遞效率、聚類稀 疏以及連通性等的計(jì)算都與三角形數(shù)直接相關(guān)。在實(shí)踐應(yīng)用上,人們應(yīng)用三角形進(jìn)行社區(qū) 發(fā)現(xiàn),使用三角形辨別社交網(wǎng)絡(luò)中的虛假用戶(如微博網(wǎng)絡(luò)中的僵尸粉等),利用三角形進(jìn) 行好友推薦等等。因此,挖掘圖中的三角形不僅在理論上,更在具體實(shí)踐應(yīng)用上都具有重要 的作用。
      [0004] 社交網(wǎng)絡(luò)通常是一個(gè)巨量的網(wǎng)絡(luò)。例如,世界上最大的微博社區(qū)Twitter有不少 于5億的注冊(cè)用戶;最大的中文微博社區(qū)新浪微博也擁有超過5億的注冊(cè)用戶。因此,社交 網(wǎng)絡(luò)轉(zhuǎn)化為圖后,也是一個(gè)巨大的圖結(jié)構(gòu),形成海量的數(shù)據(jù)。由于數(shù)據(jù)較大,而無法將整個(gè) 圖載入內(nèi)存完成圖中三角形的挖掘;此外,社交網(wǎng)絡(luò)通常是一個(gè)無標(biāo)度網(wǎng)絡(luò),其部分節(jié)點(diǎn)的 度值非常高;如何在海量圖書據(jù)中挖掘三角形成為了一個(gè)極為重要的技術(shù)問題。
      [0005] 目前,在海量圖數(shù)據(jù)中挖據(jù)三角形的方法主要可以分為三類:①估算法。估算法通 常采用一定的方法以一定的概率將海量圖數(shù)據(jù)中的點(diǎn)和邊去除,形成足夠小的圖結(jié)構(gòu),并 挖掘所形成的小圖中的三角形數(shù),最終估算出大圖中的三角形數(shù)。該種方法只能粗略的估 算出三角形的數(shù)量,它并不知道具體三角形有哪些,也不知道精確的三角形數(shù)。因此,其應(yīng) 用價(jià)值不大。②外存分割法。該方法將圖在外存中分割成多個(gè)可以載入內(nèi)存的子圖,進(jìn)而 使用內(nèi)存完成各子圖以及子圖和子圖之間的三角形的挖掘。由于該方法要進(jìn)行大量的10 操作,進(jìn)行效率較低。③并行計(jì)算法。該方法將圖以一定的方法將挖掘任務(wù)分布到不同的 計(jì)算機(jī)上,完成三角形的挖掘。
      [0006] 近年來,隨著并行計(jì)算計(jì)算的成熟以及MapReduce的興起,基于并行計(jì)算的應(yīng)用 也越來越廣。MapReduce是并行計(jì)算的非官方標(biāo)準(zhǔn)架構(gòu),由Google于2004年提出,目前已 得到廣泛應(yīng)用。
      [0007]文獻(xiàn)《Graph twiddling in a MapReduce world》(Cohen, 2009, Computing in Science&Engineering)首次提出了基于MapReduce提出了三角形挖掘的方法;然而,該 方法的內(nèi)存空間復(fù)雜度為〇(d_) ~ 0(n),dmax和η分別為圖中節(jié)點(diǎn)的最大度數(shù)和總節(jié)點(diǎn) 數(shù),節(jié)點(diǎn)度數(shù)為該節(jié)點(diǎn)的鄰接節(jié)點(diǎn)數(shù)量;一旦圖中某些節(jié)點(diǎn)的度數(shù)太大使得內(nèi)存無法載入 該節(jié)點(diǎn)的相關(guān)數(shù)據(jù)時(shí),該算法將無法執(zhí)行;因此,該算法不能滿足巨大的無標(biāo)度網(wǎng)絡(luò),例如 社交網(wǎng)絡(luò)。文獻(xiàn)《Counting triangles and the curse ofthe last reducer》(Suri 和 Vassilvitskii, 2011, Proceedings of the 20th international conference on World wide web)基于MapReduce提出了GP算法。GP算法將圖進(jìn)行切分為k個(gè)子圖,并從k各 子圖中挖掘任三個(gè)子圖的三角形,最終完成挖掘整個(gè)大圖的所有三角形。GP算法的內(nèi)存空 間夏雜度為〇(m/k),外存全間復(fù)雜度為〇(km),其中m為圖中總邊數(shù)。文獻(xiàn)《An efficient MapReduce algorithm for counting triangles in a very large graph)) (Ha-Myung 和 Chin-Wan,2013, Proceedings of the 22nd ACM international conference on Conference on information&knowledge management)改進(jìn)了GP算法,并提出了TTP算法。 TTP算法在內(nèi)存空間復(fù)雜度和外存空間復(fù)雜度上都較Gp算法有線性的提升。雖然,GP算法 和TTP算法都使用MapReduce解決了在海量圖數(shù)據(jù)中挖掘三角形的問題;然而,其運(yùn)行效率 較差,且三角形輸出結(jié)構(gòu)具有大量的重復(fù)性。
      [0008] Coh^n等人的方法解決了部分海量圖數(shù)據(jù)中三角形的挖掘問題,且效率也比Gp 和TTP算法高;然而,其不適用于圖中具有度數(shù)較高的節(jié)點(diǎn)的三角形挖掘。發(fā)明人在分析 Cohen等人方法不足的基礎(chǔ)上,將圖中的節(jié)點(diǎn)分為度數(shù)不小于閾值k和度數(shù)小于k兩種進(jìn)行 處理,并得出本發(fā)明。


      【發(fā)明內(nèi)容】

      [000=本發(fā)明的目的是挖掘社交網(wǎng)絡(luò)中的三角形,以用于社區(qū)發(fā)現(xiàn)、虛假用戶識(shí)別、好友 推薦等應(yīng)用,具體涉及一種基于MapReduce挖掘海量社交網(wǎng)絡(luò)數(shù)據(jù)中三角形的方法。該方 法包含如下步驟:
      [0010] 1·將社交網(wǎng)絡(luò)轉(zhuǎn)化為圖進(jìn)行表達(dá),并以邊的方式存儲(chǔ);
      [0011] 2·計(jì)算圖中各節(jié)點(diǎn)的度;
      [0012] 3.對(duì)各節(jié)點(diǎn)按度和名稱進(jìn)行排序并按次序進(jìn)行編號(hào);度數(shù)較小的節(jié)點(diǎn)其排序數(shù) 較低;
      [0013] 4.將節(jié)點(diǎn)分為兩部分:L二丨度數(shù)小于k的節(jié)點(diǎn)}和Η ={度數(shù)不小于k的節(jié) 點(diǎn)};
      [0014] 5·采用MapReduce進(jìn)行三角形挖掘。
      [0015]本發(fā)明采用兩輪MapReduce進(jìn)行三角形挖掘。
      [0016]第一輪MapReduce,對(duì)任一輸入Map的邊(u,v),如果節(jié)點(diǎn)u和 v的度數(shù)都同時(shí)小 于或不小于k'即u和v同屬于一個(gè)部分,則輸出兩組數(shù)據(jù)<u ;v>和<v ;u> ;否則,只輸出 一組數(shù)據(jù),該組數(shù)據(jù)的鍵為u和v中排序數(shù)較小的節(jié)點(diǎn),值為u和 v中排序數(shù)較大的節(jié)點(diǎn)。 Reduce階段的輸入為<u ;s>。若u屬于L,則s為u的所有鄰接節(jié)點(diǎn);若 u屬于H,則s為u 的所有度數(shù)不小于k的鄰接節(jié)點(diǎn)。Reduce首先遍歷S中的所有u不同時(shí)大于v和 w的二 ^組(V,w) f排序數(shù)從小到大輸出u,v,w構(gòu)成的三元組。若u屬于 H,對(duì)s中的任一排序 芒大于U的節(jié)點(diǎn)v,Reduce遍歷 L中的所有元素w,由于排序數(shù)w〈 u < v,因此輸出u,v,w 二元組<(w,u) ;v>。所有的三元組輸出都以排序數(shù)較小的兩個(gè)節(jié)點(diǎn)為鍵,以排序 節(jié)點(diǎn)為值進(jìn)行輸出。 第二輪MaPRedUCe,對(duì)任一按排序數(shù)從小到大排序的三元組〈(U,v) ;w>,Map對(duì)其 直接%出。Reduce階段的輸入為<(u,v) ;s>。Reduce遍歷s中的元素¥,若該元素出現(xiàn)的 次數(shù)為2,則u,v,w形成三角形,并輸出(u,v,w)。
      [0018] 本發(fā)明將社交網(wǎng)絡(luò)轉(zhuǎn)化為圖進(jìn)行表示存儲(chǔ)后,將圖中的節(jié)點(diǎn)按度大小進(jìn)行排序編 號(hào),并將圖中的節(jié)點(diǎn)按度劃分為兩部分分別處理,并能勝任規(guī)模龐大的社交網(wǎng)絡(luò)的三角形 挖掘。
      [0019] 社交網(wǎng)絡(luò)是無標(biāo)度網(wǎng)絡(luò),其度服從冪律分布,即pk?!T。冪律分布的模型 有很多,本發(fā)明采用連續(xù)冪律分布模型論證本發(fā)明所公開方法的優(yōu)勢,使用其他冪律 分布模型也能得出類似的結(jié)論。因此,度為k的節(jié)點(diǎn)數(shù)可以表示為又 可知 C = α-!。所以,因 此,度數(shù)不小于k和小于k的節(jié)點(diǎn)占總數(shù)的比重分別為:|Η|=ΣΜ=λ-?+1,|L|二1-|Η| = 1-IT+1。在第一輪MapReduce的Reduce階段,對(duì)于u屬于L的節(jié)點(diǎn),其占用的內(nèi)存不超過 u的度數(shù),即小于k ;對(duì)于u屬于Η的節(jié)點(diǎn),其所占用的內(nèi)存空間不超過Η的數(shù)量。因此,當(dāng) 本發(fā)明方法最優(yōu)時(shí),即k = ηΧ |Η| = η!?!?1,η為圖的總節(jié)點(diǎn)數(shù),有k = ην'此時(shí)有內(nèi)存空 間復(fù)雜度為〇(ην?。同理,可證在第二輪的MapReduce中,其所占的內(nèi)存空間復(fù)雜度也為 0(η 1/α)。因此,本發(fā)明公開方法所占內(nèi)存空間復(fù)雜度為0(η1/α),其與邊數(shù)無關(guān)。經(jīng)大量的 實(shí)證數(shù)據(jù)及理論推導(dǎo)表明,在社交網(wǎng)絡(luò)中,α ~ 3。因此,對(duì)于一個(gè)ΡΒ級(jí)(1015)的社交網(wǎng) 絡(luò),最優(yōu)情況下,其所占用的內(nèi)存空間約為1〇5級(jí)(MB級(jí))。因此,極其廉價(jià)的計(jì)算機(jī)都足以 勝任。
      [0020] 綜上,本發(fā)明具有如下優(yōu)勢:
      [0021] 1.所需內(nèi)存與社交網(wǎng)絡(luò)的邊數(shù)無關(guān),只與節(jié)點(diǎn)數(shù)量有關(guān);
      [0022] 2.內(nèi)存復(fù)雜度低,能勝任海量數(shù)據(jù)的社交網(wǎng)絡(luò)。

      【專利附圖】

      【附圖說明】
      [0023] 圖1是本發(fā)明的實(shí)施例社交網(wǎng)絡(luò)示例圖。

      【具體實(shí)施方式】
      [0024] 參照?qǐng)D1,為本發(fā)明的實(shí)施例社交網(wǎng)絡(luò)示例圖。該示意圖假設(shè)社交網(wǎng)絡(luò)有6個(gè)用 戶和9個(gè)用戶關(guān)系,轉(zhuǎn)化為圖后形成6個(gè)節(jié)點(diǎn)和9條邊的圖結(jié)構(gòu),并分別按度大小從小到大 對(duì)各節(jié)點(diǎn)進(jìn)行編號(hào),最后采用MapReduce進(jìn)行三角形挖掘。本示例中,各節(jié)點(diǎn)的鄰接結(jié)點(diǎn)分 別為:N(l) = {6},N(2) = {5,6},N(3) = {4,5,6},N(4) = {2,3,5,6},N(5) = {2,3,4,6} 和N(6) = {1,2,3,4,5}。按度為4將圖中的節(jié)點(diǎn)劃分為兩部分,即L= {1,2,3},H= {4, 5,6}。
      [0025] 在第一輪MapReduce中,Map階段直接輸出1,2,3的鄰接節(jié)點(diǎn),4,5,6只輸出其在 Η中的鄰接節(jié)點(diǎn)。因此,對(duì)于L中得節(jié)點(diǎn),Reduce階段的輸入分別為:<1 ;{6丨>,<2 ;{5,6}> 和<3 ; {4,5,6丨> ;遍歷其鄰接節(jié)點(diǎn)中的任兩個(gè)該節(jié)點(diǎn)排序數(shù)不為最大值的節(jié)點(diǎn),按編號(hào)次 序排列后,輸出三元組,其輸出分別為空,<(2,5) ;6>和<(3,4) ;5><(3,4) ;6>〈(3,5) ;6>。 對(duì)于Η中的節(jié)點(diǎn),Reduce階段的輸入分別為:〈4 ;{5,6}>,<5 ;{4,6}>和〈6 ;{4,5}> ;遍歷其 鄰接節(jié)點(diǎn)中的任兩個(gè)該節(jié)點(diǎn)排序數(shù)不為最大值的節(jié)點(diǎn),按次序排列后輸出三元組,其輸出 為:< (4, 5) ;6>,< (4, 5) ;6>和空;而后,對(duì)任一大于該節(jié)點(diǎn)排序數(shù)的鄰接節(jié)點(diǎn),遍歷L中的 所有節(jié)點(diǎn)并輸出所形成的三元組,其輸出分別為:<(1,4) ;5><(2,4) ;5><(3,4) ;5X(1,4); 6><(2,4) ;6><(3,4) ;6>,<(1,5) ;6><(2,5) ;6><(3,5) ;6> 和空。
      [0026] 第二輪MapReduce,Map階段按輸出內(nèi)容直接進(jìn)行輸出。Reduce階段,對(duì)任一輸入, 遍歷其值中的元素,若該元素出現(xiàn)的次數(shù)為2,則鍵與該元素形成三角形,輸出結(jié)果。Reduce 階段所收到的輸入分別為:〈(2,5);{6,6}>,<(3,4);{5,5,6,6}>,〈(3,5) ;丨6,5丨>,<(1,4); {5,6}>,<(2,4) ;{5,6}>,<(4,5) ;{6,6}> 和 <(1,5) ;{6};因此,最終所發(fā)現(xiàn)的三角形有: (2,5,6),(3,4,5)>,(3,4,6)和(4,5,6)。
      [0027] 本發(fā)明所公開的方法,其兩輪MapReduce的偽代碼如下:
      [0028]

      【權(quán)利要求】
      1. 一種基于MapReduce挖掘海量社交網(wǎng)絡(luò)數(shù)據(jù)中三角形的方法,其特征在于,所述方 法包括如下步驟: 1、 將社交網(wǎng)絡(luò)轉(zhuǎn)化為圖進(jìn)行表達(dá),并以邊的方式存儲(chǔ); II、 計(jì)算圖中各節(jié)點(diǎn)的度; III、 對(duì)各節(jié)點(diǎn)按度和名稱進(jìn)行排序并按次序進(jìn)行編號(hào),度數(shù)較小的節(jié)點(diǎn)其排序數(shù)較 低; IV、 將節(jié)點(diǎn)分為兩部分:L = {度數(shù)小于k的節(jié)點(diǎn)}和Η = {度數(shù)不小于k的節(jié)點(diǎn)}; V、 采用MapReduce進(jìn)行三角形挖掘。
      2. 如權(quán)利要求1所述的采用MapReduce進(jìn)行三角形挖掘,其特征在于,采用兩輪 MapReduce完成三角形挖掘: 第一輪MapReduce,對(duì)任一輸入Map的邊(u,v),如果節(jié)點(diǎn)u和v的度數(shù)都同時(shí)小于或 不小于k,即u和v同屬于一個(gè)部分,則輸出兩組數(shù)據(jù)< u ;v >和< v ;u > ;否貝U,只輸出 一組數(shù)據(jù),該組數(shù)據(jù)的鍵為u和v中排序數(shù)較小的節(jié)點(diǎn),值為u和v中排序數(shù)較大的節(jié)點(diǎn)= Reduce階段的輸入為< u ;S > ;若u屬于L,則S為u的所有鄰接節(jié)點(diǎn);若u屬于H,則S為 u的所有度數(shù)不小于k的鄰接節(jié)點(diǎn);Reduce首先遍歷S中的所有u不同時(shí)大于v和w的二 元組(v,w),按排序數(shù)從小到大輸出u, v, w構(gòu)成的三元組;若u屬于H,對(duì)S中的任一排序 數(shù)大于u的節(jié)點(diǎn)V,Reduce遍歷L中的所有元素 w,由于排序數(shù)w < u < V,因此輸出u, V, w三元組< (w,u) ;v> ;所有的三元組輸出都以排序數(shù)較小的兩個(gè)節(jié)點(diǎn)為鍵,以排序數(shù)最大 的節(jié)點(diǎn)為值進(jìn)行輸出; 第二輪MapReduce,對(duì)任一按排序數(shù)從小到大排序的三元組< (u,v) ;w>, Map對(duì)其直 接輸出;Reduce階段的輸入為< (u,v) ;S> ;Reduce遍歷S中的元素 w,若該元素出現(xiàn)的次 數(shù)為2,則u, v, w形成三角形,并輸出(u, v, w)。
      【文檔編號(hào)】G06Q50/00GK104268270SQ201410539880
      【公開日】2015年1月7日 申請(qǐng)日期:2014年10月13日 優(yōu)先權(quán)日:2014年10月13日
      【發(fā)明者】周小平, 趙云濤 申請(qǐng)人:北京建筑大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1