• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    大數(shù)據(jù)下圖三角計算的研究進展

    2016-06-28 13:19:17金宏橋董一鴻
    電信科學 2016年6期
    關鍵詞:鄰點子圖頂點

    金宏橋,董一鴻

    (寧波大學信息科學與工程學院,浙江 寧波 315211)

    綜述

    大數(shù)據(jù)下圖三角計算的研究進展

    金宏橋,董一鴻

    (寧波大學信息科學與工程學院,浙江 寧波 315211)

    圖三角數(shù)量的計算是計算網(wǎng)絡聚集系數(shù)和傳遞性的重要步驟,廣泛應用于重要角色識別、垃圾郵件檢測、社區(qū)發(fā)現(xiàn)、生物檢測等。 在大數(shù)據(jù)背景下,計算圖中三角形算法主要面臨時空消耗和計算準確性兩大難題。介紹了代表性的大圖中計算三角形的算法,主要存在準確計算和近似計算兩大類。 準確計算算法又分為內(nèi)存算法、外存算法和分布式算法,時空消耗或 I/O 消耗很大。 近似計算算法中,有輔助算法、非流式算法和流式算法之分。最后對計算三角形算法進行了歸納總結。

    準確計算;近似計算;三角形;圖

    1 引言

    隨著網(wǎng)絡技術和社會網(wǎng)絡服務的發(fā)展,網(wǎng)絡中的數(shù)據(jù)量和信息量越來越大。在這種大數(shù)據(jù)的環(huán)境下,對數(shù)據(jù)的分析和挖掘顯得尤為重要。近年來,對有大規(guī)模數(shù)據(jù)的網(wǎng)絡的分析得到越來越多的關注。計算機學科的數(shù)據(jù)結構圖可以作為很多種網(wǎng)絡的模型,如萬維網(wǎng)、P2P 網(wǎng)絡和社交網(wǎng)絡等都可以用含有特定信息的圖作為它們的模型。對網(wǎng)絡的分析逐漸轉化為對保存網(wǎng)絡重要信息的圖的分析。由于網(wǎng)絡中的關系和個體數(shù)量非常多,所以作為其模型的圖的規(guī)模也很大。

    社會網(wǎng)絡的同質(zhì)性和傳遞性產(chǎn)生了對圖中三角形的研究。圖中的三角形是復雜網(wǎng)絡分析的重要角色,不論是來自社會交互、計算機交流、金融交易、蛋白質(zhì)還是生態(tài)學網(wǎng)絡,其中三角形的數(shù)量都是巨大的,它在這些領域中有著非常廣泛的應用。通過三角形的分布可以區(qū)分哪些是垃圾郵件的主人。角色行為識別中,通過使用者參與的三角形的數(shù)量可以判斷這個使用者的地位。生物信息學中的主題檢測需要計算三元組的頻率。三角形巨大的數(shù)量可以與蛋白質(zhì)交互網(wǎng)絡的拓撲結構和功能性相聯(lián)系。三角形各點度數(shù)之間的關系也可以作為基礎圖的描述符,在數(shù)據(jù)庫中,三角形也有具體的應用。

    目 前 圖 中 三 角 形 的 計 算 主 要 分 為 準 確 計 算 (exact counting)和 近 似 計 算 (approximate counting)兩 種 類 型 。準確計算可以準確地計算圖中三角形的數(shù)量,對于大圖來說,規(guī)模很大,所以計算的時空消耗很大,外存算法的I/O 消耗也 會很大 。研 究人員 的重點就是 在保持準確計算的情況下,減少時空消耗和 I/O 次數(shù)。近年來,分 布式框架 MapReduce 的出現(xiàn),也使很多研究人員研究此框架下的計算三角形算法。相較而言,近似計算比準確計算的實際應用更廣泛,同時空間消耗較少。在保持一定準確度的情況下,研究人員對近似計算三角形數(shù)量更感興趣。對于近似計算,大部分的研究者將重點放在采樣上,通過一定的采樣方法證實,采樣得到的三角形數(shù)量與實際數(shù)量的差值很小,同時將時間空間的復雜度降低。目前,采樣方法很多,各有所長。準確計算三角形算法的部分關鍵點也可以用在近似計算算法上。如上文所述,隨著互聯(lián)網(wǎng)的快速發(fā)展,大規(guī)模的圖不斷涌現(xiàn),在圖流中使用限制的內(nèi)存來估算三角形的數(shù)量,這個問題的研究意義越來越顯著,同時難度也越來越大。

    2 圖三角的基本概念

    定 義 1 (三 角 形 )給 定 一 個 圖 G=(V,E),它 包 含 了 一個 頂 點 集 合 V、一個邊的 集 合 E,|V|和|E|分 別 表 示 頂 點 和邊 的 個 數(shù) 。如 果 頂 點 u、υ、w∈V ,邊{u,υ}、{υ,w}、{w,u}∈E,那 么 3 個 頂 點 和 3 條 邊 組 成 一 個 三 角 形 ,稱為 ?uυw。

    定義 2 (三角形的實際數(shù)量、準確數(shù)量和估算數(shù)量)用 T 表示圖 G 中三角形的實際數(shù)量,用 t表示通過準確算法得出的圖 G 中三角形的數(shù)量,用 T'表示通過估計算法得出的圖G中三角形的數(shù)量。

    定 義 3 (度 和 鄰 域 )頂 點 υ的 鄰 域 Γ(υ)表 示 所 有 與頂 點 υ相 鄰 的 點 ,滿 足 Γ(υ)={u∈V:(u,υ)∈E}。頂 點 υ的 度 d(υ)是頂點 υ連 接 的 所 有 邊 的 個 數(shù)或 者 是 它 的 鄰 域 ,滿 足d(υ)=|Γ(υ)|。圖 G 最 大 的 度 dmax(G)是指圖中頂點最大的度,即 dmax(G)=max{d(υ):υ∈V}。 m、n 分 別 表 示 圖 中 邊 、點 的 個數(shù),頂點的度和圖中的邊數(shù)滿足。入度和出度是對于有向圖來說的,一個頂點的入度等于被所有箭頭所指的數(shù)量,一個頂點的出度等于被所有箭尾所指的數(shù)量。

    定 義 4 ((1+ε)-approximation) 返 回 q 的 以 ε為 因 子的估計值 q',當 q 滿足(1-ε)q≤q'≤(1+ε)q,其中,ε<0。

    定義 5 ((ε,δ)-approximation)返 回 q 的 以 ε、δ為 因 子的估計值 q',當 q 至少以 1-δ的可能性滿足,(1-ε)q≤q'≤(1+ε)q,其中,ε<0,δ<1。

    定義 6 (圖流)圖中的邊是以一串流的形式加入的。

    3 圖三角的準確計算

    圖三角的計算有準確計算和近似計算兩種類型。準確計算圖三角算法目前有內(nèi)存算法、外存算法、分布式算法 3 類。內(nèi)存算法指當內(nèi)存能容納整個圖,可以在內(nèi)存中將圖中的三角形計算出來的算法;外存算法是指當圖的規(guī)模很大,不能全部存入內(nèi)存進行計算時,通過一定的策略將圖分為幾個部分存入內(nèi)存進行計算,這種算法會產(chǎn)生一定數(shù)量的 I/O 操作;分布式算法是指用分布式框架來計算圖中三角形數(shù)量,目前主要采用 MapReduce 框架。內(nèi)存算法中除了具有代表性的Node-iterator[1]和 Edge-iterator算法,還有 Matrix-multiplication[2]算法。基于點邊迭代和矩陣相乘也出現(xiàn)了一系列改進的算法 ,有 AYZ[3]、Node-iterator-core[4]、Forward[5]、Forward-hashed[6]、Compact-forward[7]。 時 隔 多 年 又 出 現(xiàn) 了 結 合 點 邊 迭 代 的Combined Iterator[8]算 法 。本 文 將 介 紹 兩 個 外 存 算 法 :Chu 和Cheng[9]提 出 的 基 于 圖 劃 分 的 算 法 和 Hu[10]提 出 的 有 效 I/O的算法。近些年來,隨著分布式框架的應用,出現(xiàn)了基于MapReduce 框 架 的 GP[11]、TTP[12]以 及 CTTP[13]算 法 。目 前 出現(xiàn)的準確計算圖三角算法都應用在靜態(tài)圖上。以下將一一介紹。

    3.1 內(nèi)存算法

    內(nèi)存算法最初適用于規(guī)模比較小的圖,小圖完全可以存入計算機內(nèi)存中,并進行計算。內(nèi)存算法最先找到了如何使用計算機解決三角形計算問題的方法,并且不斷地在算法細節(jié)中得到突破,以減少運行時空成本。其中,基本迭代算法簡單,但成本高,不適合規(guī)模大的圖。Fast Common Neighbor Iteration 算 法 通 過 混 合 線 性 掃 描 二 分 法 和 分 段 索引法,在時間上進行了很大優(yōu)化,同時增加了空間的開銷。隨著圖規(guī)模的增長,內(nèi)存算法需要更大內(nèi)存的計算機。

    3.1.1 迭代算法

    Node-iterator(點 迭 代 )算 法 檢 測 每 一 個 頂 點 的 每 一 對鄰點之間是否有一條邊,如果有,那么就得到一個三角形,反之得不到。為了使每一個三角形只被計算一次,需要安排 每 個 頂 點 的 順 序 。Edge-iterator(邊 迭 代 )算 法 迭 代 所 有邊,比較每條 邊 兩個頂點 的 領域,對于一條 邊{u,w},僅當 υ同時出現(xiàn)在 Γ(u)和 Γ(w)中,3 點{u,υ,w}才組成一個三角形。

    Alon、Yuster 和 Zwick 將 點 迭 代 和 矩 陣 相 乘 結 合 在 一起,得到 AYZ 算法。算法將點集分為度數(shù)低的頂點集合Vlow={υ∈V:d(υ)≤β}和 度 數(shù) 高 的 頂 點 集 合 Vhigh=V/Vlow,其 中 ,β=mγ-1/γ+1,γ 是 矩 陣 乘 法 指 數(shù) 。低 度 數(shù) 的 點 集 采 用 標 準 點 迭代方法,高 度 數(shù) 點 集 采 用 快 速 矩 陣 乘 法 。Node-iterator-core算法是在點迭代的基礎上,在每次選擇頂點迭代時選擇當前度數(shù)最小的頂點,當此頂點所在的三角形全部被計算后,將此頂點刪除。Forward 算法是邊迭代算法的改進。在邊迭代算法中,需要將邊兩個頂點的所有鄰接頂點都比較一下,在 Forward 算法中只需要比較邊迭代中所有鄰接頂點的子集 A。在這個算法中,由于所有的點都是有順序的,所以 可以將圖 視 為有向圖 ,方 便 理 解算法過 程 。A(υ)的 數(shù)據(jù)結構的大小是不大于點 υ的入度。Latapy M 提 出 了 一 個對 Forward 改 進 的 算 法 Compact-forward。Compact-forward使用迭代器迭代鄰接點的子集,迭代方法和邊迭代方法相同。鄰接點是排序過的,比較語句也在一個可達的確定指數(shù)前停止。雖然時間上界和 Forward 算法相同,但是它不需要額外的數(shù)組,因此節(jié)省了時間和空間。

    Oracle Labs 的 Sevenich M 提 出 了 FCNI (fast common neighbor iteration)算 法 。該算法的基準算法是結合點迭代、邊迭代兩種迭代算法的 Combined Iterator算 法 ,該 基 準 與前面 提 到 的 Forward 算法類 似 ,多了鄰點 選擇 時 的 排 序。FCNI 算 法 指 出 Combined Iterator 算 法 的 主 要 部 分 是 重 復求出不同頂點對的共同鄰點,所以想要快速計算三角形的個數(shù),就需要快速求出頂點對的共同鄰點。面臨的問題是:求一個度很高的頂點和其他頂點的共同鄰點需要很長的時間。于是他們提出了兩個方法來解決這個問題:混合線性掃描二分法和分段索引法。每個頂點的鄰點存儲在有序的鄰接數(shù)組中,問題轉化為求兩個有序數(shù)組的共有元素。當兩個數(shù)組長度差距過大時,采用二分法,算法從選擇長數(shù)組的中間元素和用二分查找短數(shù)組開始。當兩個數(shù)組度都較小時,采用線性掃描。算法又將度數(shù)高的頂點構建了索引,對他們的鄰點數(shù)組構造了分段索引。這兩個方法的應用使該算法的運行時間大大減少,在當前內(nèi)存算法中運行時間最少。

    3.1.2 矩陣相乘算法

    在 矩 陣 相 乘 (matrix-multiplication)算 法 中 ,假 設 A 是圖 G 的鄰接矩陣,A3對角線上的數(shù)字分別代表對應頂點所在三角形個數(shù)的兩倍。A3對角線上的數(shù)字之和代表圖 G中三角形個數(shù)的 6 倍,因為三角形由 3 個頂點組成,一個三角形會被重復計算 3×2 次。這會導致算法運行時間達到O(n3)。通過快速矩陣相乘的方法可以使運行時間下降。

    3.2 外存算法

    當圖的規(guī)模過大或者計算機的內(nèi)存不足以裝下整個圖時,采用外存算法是基本策略。外存算法需要解決的問 題是保證計算 的三角形個數(shù)的 準 確性,同時減 少 I/O 操作。Chu、Cheng 算法和 MGT 算法都是將圖的信息分段載入內(nèi)存進行計算。 不同的是,分別用不同的方法保證圖中三角形不被拆開。前者劃分子圖時保留了所有頂點的鄰點,后者在有向化圖之后載入子圖和頂點的鄰接表。表 1 是在 I/O 操 作 和 運 行 時 間 方 面 ,對 Chu、Cheng 算 法 DGP、RGP 和算法 MGT 在內(nèi)存使用率為 25%時,各算法在不同數(shù) 據(jù) 集 上 的 效 果 比 較 ,其 中 ,使 用 的 機 器 是 3 GHz CPU 和8 GB 的 內(nèi) 存 。MGT 算 法 在 I/O 操 作 數(shù) 和 運 行 時 間 上 都 優(yōu)于 Chu、Cheng 算法。

    表1 DGP、RGP 和 MGT 的比較

    3.2.1 基于圖劃分的算法

    Chu 和 Cheng 提 出 了 基 于 圖 劃 分 的 外 存 圖 三 角 計 算算法,該算法首先將整個圖劃分成幾個子圖后,存在外存,子圖的規(guī)模小,就可以放入內(nèi)存。 然后依次將每個子圖調(diào)入內(nèi)存,計算當前子圖中的三角形數(shù)量。為了保證圖劃分后不會將三角形拆開,每個子圖實際上也保留了當前部分中所有頂點的鄰點,如圖 1、圖 2 所示。 根據(jù)劃分圖的方法 ,Chu 和 Cheng 有 兩 種 方 法 :DGP (deterministic graph partition)和 RGP(randomized graph partitioning)。 前 者 采 用確定方法劃分子圖,后者采用隨機方法劃分子圖。 劃分子圖是一個難題,如果某部分子圖的鄰點很多,會使算法的時空效率變高。

    圖1 基于圖劃分算法的原圖

    3.2.2 有效 I/O 算法

    Hu X C 和 Tao Y F 設 計 了 一 種 有 效 I/O 算 法 ,計 算 三角 形 算 法 MGT(massive graph triangulation),這 是 針 對 靜 態(tài)的圖。這個算法與 Chu 的算法有明確的不同。他們將無向圖以有向圖的形式表現(xiàn)出來,如圖 3所示。有向圖的有向邊是根據(jù)無向圖頂點的度和編號設置指向的。例如,當頂點 a的度小于 b的度或者 a的度等于 b的度但 a的編號小于 b 的 編號,定義 a<b,此時 無 向邊{a,b}在 有 向 化后 是 a 指 向 b。無 向 三 角 形 ?uυw變 為 有 向 三 角 形,當 u<υ< w,其 中 ,頂 點 u 被 稱 為 (cone vertex 錐 頂 點 ),邊 {υ,w}被 稱為(pivot edge 中樞邊),如圖 4 所示。 算 法 的 準 備 工 作 是 將無向圖根據(jù)規(guī)則進行有向化,并以鄰接表的形式存儲,每一個頂點的鄰接表只存它的出—鄰居(即它指向的頂點)。MGT算法是逐步將有向圖中的邊載入內(nèi)存,根據(jù)需要從外存載入關聯(lián)的頂點,計算出三角形的數(shù)量。具體過程是:

    ·將有向圖中的一部分邊載入內(nèi)存;

    ·得出當前內(nèi)存中的邊所在的頂點;

    · 對于每一個頂點 υ,從外存中得到它的鄰接表(出—鄰接表),將其出—鄰居與內(nèi)存中的頂點做交集。 將頂點υ到交集得到的頂點所成的邊與當前載入內(nèi)存中的有向圖的邊做并集,找出其中以 u為錐頂點的三角形個數(shù),并釋放相應的空間。

    MGT 算法可以正確地找出所有的三角形,因為第一步保證了每一條有向圖的邊都可以在一個獨特的迭代中載入內(nèi)存。同時第二步保證了可以找出以當前載入內(nèi)存的邊為中樞邊的三角形。MGT 算法在 I/O 和 CPU 上都非常高效。

    圖2 基于圖劃分算法劃分后的圖

    圖3 無向圖變?yōu)橛邢驁D

    圖4 有向三角形

    3.3 分布式算法

    由于分布式算法的普及,一些研究使用 MapReduce算法計算圖三角。目前使用 MapReduce 框架的算法是基于圖劃分來分析問題的。在某些方面加快了計算算法,但同時也出現(xiàn)了一些問題。接下來介紹 3種基于MapReduce 框架的算法。這 3 個算法有一個共同的基礎,是圖的分割。圖的分割算法是先將頂點均分為p個部分(partition),V=V1∪V2∪ … ∪Vp,其 中 ,當 i≠j 時 ,Vi∩Vj=Φ 。 同 時 定 義 Vijk=Vi∪ Vj∪ Vk,Eijk= {(u,w )∈ E :u,w ∈Vijk},Gijk= (Vijk,Eijk)。Gijk叫 做 3-partition ,Gij是 2-partition ,Gi是 1-partition ,Gijk和 Gij的 含 義 如 圖 5 、圖 6 、圖 7 所 示 。GP算法是 三 角 形 計 算 在 MapReduce 上 的 初 次 應 用 ,GP 算法有很多冗余計算。TTP 算法發(fā)現(xiàn) GP 算法有很多冗余計算,原因是在 map 階段輸出了重復的邊。為了避免GP 算法冗余計算的產(chǎn)生,TTP 算法定義了 3 個 類型的三 角 形 。CTTP (colored triangle type partition )算 法 是 針 對GP 算 法 的 “curse of the last reducer”而 被 提 出 的 ,避 免了 不 均 衡 。表 2 是 在 時 間 和 每 輪 MapReduce 中 數(shù) 據(jù) shuffle大 小 上 ,對 GP、TTP、CTTP 算 法 的 比 較 。運 行 平 臺 是Hadoop,集群由 40 臺機器組成 ,每臺機器的內(nèi)存為 4 GB。由表 2 可見,CTTP 算法在時間和空間上都優(yōu)于GP、TTP算法。

    圖5 頂 點 平 均 分 為 p 個 部 分 (p=4 )

    圖6 3-partition Gijk

    圖7 2-partition Gij

    表2 GP、TTP、CTTP 算法的比較

    3.3.1 GP 算法

    Suri 和 Vassilvitskii 使 用 MapReduce 框 架 提 出 了 GP(graph partition)算 法 。算法的第一步是將圖中的頂點劃分為 p 個 部 分 ,Gi=(Vi,Ei),其 中 ,0<i≤p,所 以 每 個 部 分 含 有 幾乎相同數(shù)目的頂點。GP算法使用內(nèi)存算法計算每一個3-partition Gijk中 三 角 形 的 數(shù) 目 ,其 中 ,0<i<j<k≤p。最 后 根據(jù)三角形的頂點是否被分到同一個部分,將結果整合起來,得出最終的結果。如果三角形的 3個頂點都出現(xiàn)在同一 個 部 分 中 ,那 么 對 于 3-partition Gijk,此 三 角 形 便 被 計 算了3次。

    3.3.2 TTP 算法

    Park 和 Chung 針 對 GP 算 法 的 不 足 提 出 了 TTP(triangle type partition)算 法 。Park 和 Chung 認 為 GP 算 法有很多冗余計算,比如上面提到一個三角形可能被計算多次。他們發(fā)現(xiàn)三角形被計算多次的原因是,在 map 階段輸出了重復的邊。為了避免這個情況的產(chǎn)生,TTP 算法定義了3種類型的三角形。第1類三角形是三角形的3個點在同一個部分中;第2類三角形任意兩個頂點在同一個部分中,另一個在其他部分中;第 3 類三角形是指 3 個頂點都在不同的部分中。GP 算法就是重復計算了第 1類和第2 類三角形。TTP 算法為了避免過多的重復計算,定義了 inner-edge:邊 的 兩 個 頂 點 在 一 個 部分中 ,相 反 的 即 是outer-edge。圖 8 表 示 不 含 inner-edge 的 3'-partition。TTP算 法 在 2-partition 中 計 算 第 1 類 、 第 2 類 三 角 形 ,在3 '-partition 中 計 算 第 3 類 三 角 形 ,因 此 減 少 了 冗 余 計 算 ,減少了時間復雜度。

    3.3.3 CTTP 算法

    Park 和 Silvestri針對 GP 算法的 “curseofthelast reducer”,提 出 了 CTTP(colored triangle type partition)算 法 ,是 第 一 個保 證 了 每 個 reducer 的 最 大 輸 入 的 算 法 。該 算 法 是 在MapReduce 的 計 算 模 型 MR(m,M)中 提 出 來 的 ,其 中 ,m 是每個 mapper或者 reducer需要的空間,M 是整個計算中需要的空間。本算法進行 R 次 MapReduce 過程。CTTP 算法從 4-wise 獨 立 族 函 數(shù) 中 隨 機 選 擇 一 個 顏 色 函 數(shù) h(·),進 行頂點劃分。CTTP 算法在 TTP 算法基礎上,將問題分解為子 問 題 。 子 問 題 分 為 兩 類 : 一 類 是 (i, j,k)子 問 題 ,用 來 計 算 第 3 類 三 角 形 ;另 一 類 是(i,j)子 問 題 ,用來計算第 1 類和第 2 類三角形。CTTP 通過均勻地將 K個 子 問 題 分 配 給 R=pE/M round 的 方 法 ,解 決 一 個 子 問 題只需要一個 reducer的問題。如果 R 不是 2 或者 3,那么每一 個 round 解 決 K/R 個 子 問 題 。這 個 算 法 保 證 了 每 一 個mapper發(fā)出同樣數(shù)量的數(shù)據(jù)對。因此這個算法避免了被一些慢的 mapper延遲了計算。

    4 近似計算圖三角

    由于準確計算圖三角的時空復雜度很大,同時很多應用只需要近似得到圖三角的數(shù)量,所以近年來近似算法得到了很多關注。本文將近似計算圖三角算法分為輔助算法、非流式算法和流式算法 3個類別進行介紹。

    圖8 3'-partitionGijk'

    4.1 輔助算法

    輔助算法是指這類算法經(jīng)常被其他計算圖三角算法引用,常常作為其他算法的一部分。

    4.1.1 DOULIN 算法

    Tsourakakis C E ,Kang U,Miller G L 和 Faloutsos C發(fā) 明 了 DOULIN[14]算 法 。DOULIN 算 法 不 是 處 于 其 他 計 算三角形算法的對立面,而是處于所有算法的友好面。不論圖能裝進內(nèi)存還是裝不進,它都非常的實用。DOULIN 對每一個邊都投擲一枚硬幣,此邊被保留的可能性是 p,被刪除的可能性是 1-p。在最后剩下的圖中找到的三角形的個數(shù)乘以 1/p3就是對原圖三角形個數(shù)的估計。

    4.1.2 Colorful Function 算法

    Colorful Funtion(顏 色 函 數(shù) )[15]算 法 為 圖 中 每 個 頂 點 分配一種顏色 ,總的顏 色數(shù)是 N=1/p,其中,p 是一個小于 1的參數(shù)。當一個邊的兩個頂點被分配同一種顏色時,這個邊稱作是單色的。然后從所有的單色邊中采樣,計算采樣到的單色邊組成的三角形的個數(shù),最后將計算的個數(shù) 除以 p2,得 出近似估計的三角形個數(shù)。這個算法的關鍵點是關聯(lián)采樣的邊。

    4.2 靜態(tài)算法

    靜態(tài)算法是基于靜態(tài)圖的,適用于離線計算。目前近似計算的靜態(tài)算法只在單機上。在此方向上的研究較少,突破也很少,以下介紹的兩種方法是有特點的算法?;诙鹊捻旤c劃分的算法實現(xiàn)了時間空間更低的復雜度。隨機矩陣跡算法采用了蒙特卡洛模擬方法。這兩種方法均與其他方法有明顯的區(qū)別。

    4.2.1 基于度的頂點劃分算法

    Kolountzakis M N[16]等 人 研 究 發(fā) 現(xiàn) ,基 于 度 對 頂 點 進行劃分,能得出在計算三角形時更小的運行時間上界。因為每個三角形都對應一個三元組,于是他們構造了一個三元組集合 U,這個三元組集合包括了所有的三角形。在這個集合里,均勻地選出一些三元組,標記為 1 到 s。當?shù)?i個三元組被采樣時,如果它是一個三角形,那么 Xi為 1;如果不是,則賦值為 0。由于是均勻地選取,并且一共得出 t'個 三 角 形 ,那 么 E(Xi)=t'/|U|。因 為 每 個 Xi都 是 獨 立 的 ,所 以通過切諾夫界可以得到:

    由于|U|≤n3,所 以 運 行 時 間 是 O(n3lgn/(te2))。根 據(jù) 度 劃分 頂 點 得 出 了|U|更小的上界。理由是:對 于 一 個 包 含 u 的三 元 組 (u,υ,w),如 果 {u,υ}、{u,w}∈E,這 些 三 元 組 中 含 有 u的 個 數(shù) 最 多 是 d(u)2。 如 果{υ,w}∈E,那 么 三 元 組 中 含 有 u的個數(shù)最多是 m。當 d(u)2>m 時,后者的界限更緊。所以,當頂 點 的 度 小 于 m1/2時 ,那 么 它 屬 于 低 度 頂 點 ,三 元 組 中 含有 低 度 頂 點 的 三 角 形 的 個 數(shù) 最 多 是 m3/2。當 所 有 頂 點 度 之和是 2m 時,三元組中含有高度頂點的三角形的個數(shù)最多是 2m3/2。 結 合 起 來 ,|U|的 上 界 是 3m3/2,所 以 得 到 |U|≤O(m3/2),時 間 上 界 是

    4.2.2 隨機矩陣跡算法

    Avron H[17]采 用 隨 機 矩 陣 跡 的 方 法 去 估 計 大 圖 中 三角形的個數(shù)。該方法依據(jù)的是準確計算三角形算法里的矩 陣 相 乘 算 法 ,采 用 Monte-Carlo 模 擬 來 估 算 三 角 形 個數(shù) 。每 一 個 樣 本 需 要 O(E)的 時 間 ,需 要 O(e-2lg(1/δ)ρ(G)2)個 樣 本 才 能 保 證 (ε,δ)-approximation,其 中 ,ρ(G)是 對 圖 G稀 疏 的 一 種 測 量。這個算法很高效,只需要 O(V)的空間和O(lg2|V|)個 樣 本 就 能 達 到 一 個 很 好 的 估 算 。一 個 維 數(shù) 高 的矩陣的立方計算量很大,所以這個算法生成一個隨機向量x=(xk), 其 中 ,xi~N(0,1)( 正 態(tài) 分 布 )。 將 y 賦 值 為 Ax,Ti=(yTAy)/6,循 環(huán) M=|γln2n|次 ,最 后 三 角 形 的 個 數(shù) 估 計 為

    4.3 流式算法

    流式算法基于動態(tài)圖流,與靜態(tài)算法相比,適用于在線計算。圖流有不同形式,主要分為任意流(arbitrary streams)和事件流(incidence streams)兩類。在任意流中,邊在流中是不重復的,且是以任意順序出現(xiàn)的;在事件流中,邊是按照每個頂點的鄰邊出現(xiàn)的,例如,首先頂點 υ1的所有鄰點出現(xiàn),接著 υ2的所有鄰點出現(xiàn)。υ1,υ2,…,υn的順序是由輸入方確定的。根據(jù)算法通過流的次數(shù),可以將算法又分為 one-pass算法和 multiple-passes 算法。

    下 面 介 紹 一 個 multiple-passes 采 樣 三 角 形 的 算 法 ,這里 的 流 是 任 意 流 ,算 法 是 Buriol L S[18]提 出 的 3-passes 算法 :將流中所有邊的數(shù)目計算出來,為|E|;從 流 中 均 勻 選 擇一條邊 e={a,b},也均勻選擇出一個頂點 υ,這個頂點屬于 V\{a,b};如果{a,υ}和{b,υ}都屬于 E,計數(shù) β=1,否 則 計 數(shù) β=0。最后 返 回 β值 。這 個 算 法 中 有 一 定 數(shù) 目 的 估計器(estimator),每個估計器得到一個 β值,求出期望 E[β]后 ,三 角形的個數(shù) T '就 估 算 為 E [β]·|E|·(|V|-2)/3 。

    multiple-passes 算 法 可 以 合 成 為 one-pass 算 法 ,Buriol L S 將 3-passes 算 法 合 成 的 1-pass 算 法 是 :隨 機 取一個頂點 υ,并在流中采樣一條邊{a,b},如果能在接下來的流 中 檢 測 到 邊 {a,υ}和 {b,υ},則 三 角 形 計 數(shù) ,否 則 不 計 數(shù) 。multiple-passes 算 法 的 消 耗 多 于 one-pass 算 法[30]。

    下面介紹 3 種 one-pass算法:基于鄰居采樣(Neighborhood sampling)算 法 、基 于 2-path 和 圖 稀 疏 的 算 法 和 TRIEST 算法,都與采樣有關。但由于采樣方法各不相同,3 種算法的時空消耗顯而易見?;?2-path 和圖稀疏的算法需要存儲多個稀疏圖,所以空間消耗很大,TRIEST 算法對每條邊的到來都進行一次鄰點交集計算,所以時間消耗很大。3種算法的準確率也有差異。表 3是 3個算法準確度的比較。對于幾種不同的數(shù)據(jù)集,并沒有完全優(yōu)勢的算法。可見對于含有不同數(shù)據(jù)意義的應用,需要采用不同的算法。

    表3 3種流式算法的準確度比較

    4.3.1 基于鄰居采樣算法

    Pavany A 和 Tangwongsan K[19]等 人 設 計 了 一 個 時 間 空間效率都挺高的圖流算法。這個算法是基于鄰居采樣的one-pass算法:首先從流中隨機采樣一條邊,然后采樣和該邊有共同頂點的邊。N(e)表示在流中與邊 e 相鄰,但是在 e邊 后 面 到 來 的 邊 。其中,c=c(e)=|N(e)|。 數(shù)據(jù)以塊的形式到達,塊的大小是 w。對于每一個邊的到來,設置 r個估計器,以 m/(w+m)的概率保留這條邊。然后采樣邊的鄰邊,以 c+(e)/(c-(e)+ c+(e))的 概 率 從 N(e)∩B 采樣一條邊。最后判斷這兩條邊能否與后來的邊組成一個三角形。這個算法的時間空間復雜度都是 O(r+w)。

    4.3.2 基于 2-path 和圖稀疏的算法

    Bulteau L 和 Froese V[20]等 人 設 計 了 一 個 基 于 2-path采樣和圖稀疏的方法,來估計動態(tài)增刪圖流中三角形的數(shù)量,采用的是 one-pass。相對基礎圖流采樣對刪除邊后采樣的子圖是否仍存在的未知,圖稀疏能處理邊的刪除。 該算法 最 大 的 挑 戰(zhàn) 是 顯示 了 稀 疏 圖 中 的 2-path 采樣 幾 乎 等 同于 原 圖 的 2-path 采 樣 。 隨 機 選 擇 了 大 量 的 2-path,與 用 其中能組成三角形的 2-path 數(shù)量去估計傳遞系數(shù)。對于圖流中 每 一 個 增 刪 邊 的 到 來 會 更 新 SME (second moment estimator),圖流完全通過將返回整體 2-path 值 。與此同時,用 顏 色 散 列 (coloring hash)函 數(shù) 族 去 稀 疏 圖 流 ,得 到 數(shù) 個稀疏圖。對于 每一個稀 疏 圖 ,隨 機采樣一 定 數(shù)目的 2-path判斷是否組成三角形,并計數(shù)。最后用稀疏圖中采樣的2-path 中 能 組 成 三 角 形 的 數(shù) 量 與 采 樣 的 2-path 數(shù) 量 的 比值 ,與 整體 2-path 數(shù) 量 比 較 ,去 估 計 整 個圖 流 中 三角 形 的數(shù)量。該算法得到了圖流中計算三角形復雜度的下界。

    4.3.3 TRIEST 算法

    由于基于采樣的流算法,事先都要確定邊采樣的概率p,所以會造成一些問題。如在存儲空間有限的情況下,需要知道流的規(guī)模;采樣留下的邊的規(guī)模會增長,如果 p 較大,會溢出存儲空間,如果 p 較小,得到的結果是次優(yōu)的;即使設定了特定的 p,使在流結束時恰好裝滿存儲空間,得到的結果也不是最好的。TRIEST 算法針對這些問題提出了解決方法。

    TRIEST[21]算 法 是 在 one-pass 下 的 ,相 對 于 只 有 增 加 邊的 流 算 法 MSCOT[22],它 還 有 刪 除 邊 的 流 ,時 刻 計 算 三 角 形的數(shù)量,并且存儲空間是固定的。該算法采用水庫采樣(reservoir sampling)和 隨 機 配 對 (random pairing)兩 種 采 樣方案使得存儲空間盡可能多地被利用。由于是時刻計算三角形的數(shù)量,圖采用了時間標記 Gt,每到來一條邊,時間增長一個單位。該算法默認對一條邊的刪除一定是在對這條邊增加之后。如果設定的內(nèi)存大小是 M,對于當前流入的插 入 邊 e={a,b},如 果 之 前 圖 的 大 小 Gt-1不 大 于 M,當 前 邊被保留。如果之前的圖的大小已經(jīng)達到過 M,這時以 M/t的概率決定直接舍棄當前邊,或者選擇刪除之前圖中的一條邊,且插入當前邊,這是標準水庫采樣的應用。若插入了當前邊,便計算當前邊是否組成三角形。對于當前流入的邊是刪除邊,計算當前邊是否在之前流入的圖中組成三角形,如果組成,便減去相應的數(shù)量。為保證存儲空間在增加邊和刪除邊的時 候都能 充分利用設 定的內(nèi) 存,TRIEST 基于隨機配對做了補償策略,刪除邊需要被未來的插入邊補償 。設 置 了 兩 個 計 數(shù) 器 din和 dout。如 果 之 前 流 入 圖 的 大 小Gt-1已經(jīng)達到內(nèi)存大小 M,當 前 邊 是 一 條 刪 除 邊 ,如 果 此 刪除 邊 仍 在 Gt-1中 ,din加 一 ;如 果 此 刪 除 邊 之 前 被 替 換 出 去 ,不 在 Gt-1中 ,dout加 一 。 之 后 到 來 的 增 加 邊 會 根 據(jù) din和 dout的 值 被 保 留 或 不 被 保 留 。如 果 din、dout之 和 等 于 零 ,增 加 邊采 用 標 準 的 水 庫 采 樣 方 案 。如 果 不 等 于 零 ,便 以 din/(din+dout)的 概 率 保 留 增 加 邊 ,如 果 保 留 ,din-1,否 則 dout-1。TRIEST算法在完全動態(tài)的圖流中做到了無偏、低方差、高質(zhì)量的估計。并且在有數(shù)十億條邊的大圖中有更小的平均估計誤差。

    5 性能比較

    綜上所述,在計算圖三角的算法中,準確計算圖三角與近似計算圖三角算法有區(qū)別也有聯(lián)系。準確計算中,點邊迭代算法和矩陣相乘算法是最基礎的算法。但是對于數(shù)據(jù)量越來越大的圖來說,在普通計算機上運行這些算法的時間空間復雜度非常高,并不適用。基于它們的改進算法FCNI提供了快速實現(xiàn)求共同鄰點的方法,也使在大規(guī)模圖中計算三角形的運行時間大大提高,但是實驗機器成本很高。外存計算算法很好地解決了圖規(guī)模過大,普通機器內(nèi)存不夠用的問題。Chu 和 Cheng 提出的基于圖劃分的算法,一定程度上避免了內(nèi)存小的問題,但是對于不均勻的圖來說,劃分是一個難 題。Hu 提出的 有 效 I/O 的算 法 ,巧妙避免了重復計算,時空復雜度為目前最好,且可以移植到不同平臺上進行計算。GP、TTP 和 GTTP 采用分布式框架為圖三角算法提供了新的平臺,提供了更多的內(nèi)存,又可以并行,使時空復雜度減少。TTP、GTTP 分別針對 GP 的重復計算和冗余等待時間做了改進,在 MapReduce 框架下取得了好的效果。近似計算中,DOULION 算法和顏色函數(shù)對采樣很有幫助,被很多其他算法運用。靜態(tài)圖的計算圖三角算法中,基于度分割和隨機矩陣跡是有特點的方法,但是空間消耗都較大、效率不高。部分算法是基于動態(tài)圖流 的 ,multiple-passes 算 法 時 空 消 耗 大 ,更 多 算 法 采 用 的 是one-pass。近似算法大部分采 用采樣 方法,各有 優(yōu)缺點 。 Pavany A 提出的鄰居采樣算法的空間效率很高,但是參數(shù)過多。Laurent提出的基 于 2-path 和圖稀疏 的 算法效果 一般,但首次達到了每邊的固定處理時間。TRIEST 算法是目前準確率最高的,且可以在固定內(nèi)存中時刻計算圖流中三角形數(shù)量。近似計算應用范圍很廣,并且較準確計算來說需要的時空復雜度明顯降低,但準確度是一個關鍵問題。大部分近似算法是在準確計算的基礎上進行改進的,如矩陣跡算法是在矩陣相乘算法上加入了蒙特卡洛方法。上文幾種采樣算法是在點邊迭代算法的基礎上加入了采樣策略。

    本文將近幾年的計算圖三角算法按準確計算和近似計算進行了比較,見表 4、表 5。

    表4 準確計算三角形算法比較

    表5 近似計算三角形算法比較

    6 結束語

    面對社會網(wǎng)絡的快速發(fā)展,圖的規(guī)模越來越大,關于圖的問題也越來越多樣化。選擇合適圖存儲模型和計算模型對圖的計算很重要。根據(jù)不同的問題需要選擇不同的解決方案,面對新的應用也要研究出新的方法。近年來出現(xiàn)的高效的分布式系統(tǒng)為圖三角算法提供了新的平臺。基于分布式的三角形計算算法的可行性越來越大,這將會成為三角形計算的下一個研究重點。

    [1] THOMAS S.Algorithmic aspects of triangle-based network analysis[J].Phd in Computer Science,2007:26-29.

    [2] COPPERSMITH D ,WINOGRAD S.Matrix multiplication viaarithmetic progressions [J].Journal of Symbolic Computation,1990,9(3):251-280.

    [3] ALON N,YUSTER R,ZWICK U.Finding and counting given length cycles[J].Algorithmica,1997,17(3):209-223.

    [4] THOMAS S,WAGNER D.Finding,counting and listing all triangles in large graphs,an experimental study [C]//The 4th International Workshop,May 10-13,2005,Santorini Island,Greece.New York:Springer,2005.

    [5] CHIBA N,NISHIZEKI T.Arboricity and subgraph listing algorithms[J].Siam Journal on Computing,1985,14(1):210-223.

    [6] KUMAR R,RAGHAVAN P,RAJAGOPALAN S,et al.The web as a graph:measurements,models,and methods [C]//The 5th Annual International Conference,July 26-28,1999,Tokyo,Japan.New York:ACM Press,2000:1-17.

    [7] LATAP M.Theory and practice of triangle problems in very large (sparse (power-law)) graphs[EB/OL]. [2006-09-20].http://arxiv.org/pdf/cs/0609116.pdf.

    [8] SEVENICH M,HONG S,WELC A,et al.Fast in-memory triangle listing for large real-world graphs[C]//The 8th Workshop on Social Network Mining and Analysis SNAKDD,August 24-27,2008,Las Vegas,NV,USA.New York:ACM Press,2014.

    [9] CHU S,CHENG J.Triangle listing in massive networks and its applications [C]//The 17th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, August 21-24,2011,San Diego,CA,USA.New York:ACM Press,2011:672-680.

    [10]HU X C ,TAO Y F.I/O efficient algorithms on triangle listing and counting [J].ACM Transactions on Database System,2014,39(4):1-30.

    [11]SURI S,VASSILVITSKII S.Counting triangles and the curse of the last reducer [C]//The 20th International Conference on World Wide Web,March 28-April 1,2011,Hyderabad,India.New York:ACM Press,2011:607-614.

    [12]PARK H M,CHUNG C W.An efficient MapReduce algorithm for counting triangles in avery large graph [C]//ACM Conference of Information and Knowledge Management, October 27-November 1,2013,San Francisco,CA,USA.New York:ACM Press,2013:539-548.

    [13]PARK H M,SILVESTRI F,KANG U,et al.MapReduce triangle enumeration with guarantees[C]//ACM Conference of Information and Knowledge Management,November 3-7,2014,Shanghai,China.New York:ACM Press,2014.

    [14]TSOURAKAKIS C E,KANG U,MILLER G L,et al.DOULIN:counting triangles in massive graphs with acoin [C]//The 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,June 28-July 1,2009,Paris,F(xiàn)rance.New York:ACM Press,2009:837-846.

    [15]PAGH R,TSOURAKAKIS C E.Colorful triangle counting and Mapreduce implementation [J].Information Processing Letters,2011,112(7):277-281.

    [16]KOLOUNTZAKIS M N,MILLER G L,PENG R,et al.Efficient triangle counting in large graphsvia degree-based vertex partitioning[J].Internet Mathematics,2010,8(1-2):15-24.

    [17]AVRON H.Counting triangles in large graphs using randomized matrix trace estimation [J].In Large-Scale Data Mining:Theory and Applications (KDD Workshop),2010.

    [18]BURIOL L S,F(xiàn)RAHLING G,LEONARDI S,et al.Counting triangles in data streams [C]//The 25th ACM SIGMOD-SIGACTSIGART Symposium on Principles of Database Systems,June 26-28,2006,Chicago,Illinois,USA.New York:ACM Press,2006:253-262.

    [19]PAVANY A,TANGWONGSAN K,TIRTHAPURAZ S,et al. Counting and sampling triangles from a graph stream [J]. Proceedings of the Vldb Endowment,2013,6(14):1870-1881.

    [20]BULTEAU L,F(xiàn)ROESE V,KUTZKOV K,et al.Triangle counting in dynamic graph streams [EB/OL]. [2015-07-14].http://itu.dk/people/konk/papers/dtc_full.pdf.

    [21]STEFANI L D,EPASTO A,RIONDATO M,et al.TRIEST:counting local and global triangles in fully-dynamic streams with fixed memory size[EB/OL].[2016-02-24].http://arxiv.org/abs/1602.07424.

    [22]LIM Y,KANG U.MASCOT:memory-efficient and accurate sampling for counting local triangles in graph streams [C]//The 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining KDD,August 10-13,2015,Hilton,Sydney.New York:ACM Press,2015:685-694.

    Research progress of triangle counting in big data

    JIN Hongqiao,DONG Yihong
    Faculty of Electrical Engineering and Computer Science,Ningbo University,Ningbo 315211,China

    Counting triangles in a graph is an important step to calculate the clustering coefficient and the transitivity ratio of the network,which is widely used in important role identification,spam detection,community discovery,biological detection etc.Counting triangles algorithm is mainly faced with two major problems of space-time consumption and accuracy.The representative algorithm of the counting triangles in the big graph was introduced.There existed two kinds of algorithms,which were exact counting algorithm and approximate counting algorithm.Exact counting algorithms were divided into internal memory algorithm,external memory algorithm and distributed algorithm.The space-time consumption or I/O consumption of exact counting algorithm was very large. Approximate counting algorithms were divided into auxiliary algorithm,static algorithm and streaming algorithm.In the end,the counting triangles algorithms were summarized.

    exact counting,approximate counting,triangle,graph

    TP391

    :A

    10.11959/j.issn.1000-0801.2016169

    金宏橋(1993-),女,寧波大學信息科學與工程學院碩士生,主要研究方向為大數(shù)據(jù)、數(shù)據(jù)挖掘。

    董一鴻(1969-),男,博士,寧波大學教授,主要研究方向為大數(shù)據(jù)、數(shù)據(jù)挖掘和人工智能。

    2016-04-05;

    :2016-06-12

    猜你喜歡
    鄰點子圖頂點
    過非等腰銳角三角形頂點和垂心的圓的性質(zhì)及應用(下)
    圍長為5的3-正則有向圖的不交圈
    臨界完全圖Ramsey數(shù)
    關于頂點染色的一個猜想
    山東科學(2018年6期)2018-12-20 11:08:58
    基于頻繁子圖挖掘的數(shù)據(jù)服務Mashup推薦
    特殊圖的一般鄰點可區(qū)別全染色
    不含2K1+K2和C4作為導出子圖的圖的色數(shù)
    笛卡爾積圖Pm×Kn及Cm×Kn的鄰點可區(qū)別E-全染色研究
    頻繁子圖挖掘算法的若干問題
    采礦技術(2011年5期)2011-11-15 02:53:12
    邊染色 9-臨界圖邊數(shù)的新下界
    99久久国产精品久久久| 黄色视频不卡| 变态另类丝袜制服| 国产av一区二区精品久久| av在线播放免费不卡| 97人妻精品一区二区三区麻豆| 丁香欧美五月| 老汉色av国产亚洲站长工具| 国产亚洲精品第一综合不卡| 男女下面进入的视频免费午夜| 国产精品一区二区精品视频观看| 亚洲成人久久性| 国产精品国产高清国产av| 一本大道久久a久久精品| 欧美日本视频| 日本成人三级电影网站| 亚洲精品在线美女| 老司机在亚洲福利影院| 人人妻人人澡欧美一区二区| 久久精品国产亚洲av香蕉五月| 免费高清视频大片| 免费人成视频x8x8入口观看| 无人区码免费观看不卡| 欧美极品一区二区三区四区| 99热这里只有是精品50| 色老头精品视频在线观看| 国产午夜福利久久久久久| 国产精品影院久久| 欧美黑人欧美精品刺激| 欧美zozozo另类| 一个人免费在线观看电影 | 亚洲真实伦在线观看| 法律面前人人平等表现在哪些方面| 久久亚洲真实| 久久久久久大精品| 国产欧美日韩一区二区三| 午夜两性在线视频| 黑人欧美特级aaaaaa片| 97超级碰碰碰精品色视频在线观看| 国产成人影院久久av| 免费观看人在逋| 五月玫瑰六月丁香| 久久天堂一区二区三区四区| 日韩欧美精品v在线| 18禁观看日本| 老汉色∧v一级毛片| 黄色成人免费大全| 国产亚洲精品一区二区www| 脱女人内裤的视频| 看免费av毛片| 亚洲欧美日韩高清在线视频| 男女那种视频在线观看| 亚洲avbb在线观看| 国产精品久久电影中文字幕| 中亚洲国语对白在线视频| 欧美3d第一页| 美女 人体艺术 gogo| 精品国产乱码久久久久久男人| 老司机午夜福利在线观看视频| 草草在线视频免费看| 成人av一区二区三区在线看| 两性午夜刺激爽爽歪歪视频在线观看 | 99精品欧美一区二区三区四区| 成年人黄色毛片网站| 精品免费久久久久久久清纯| 国产亚洲欧美在线一区二区| 免费在线观看完整版高清| 国产精品av视频在线免费观看| 伊人久久大香线蕉亚洲五| 免费无遮挡裸体视频| 免费无遮挡裸体视频| 成年版毛片免费区| 久久久久国产精品人妻aⅴ院| 成人一区二区视频在线观看| 好看av亚洲va欧美ⅴa在| 黄色成人免费大全| 人人妻,人人澡人人爽秒播| 欧美黑人欧美精品刺激| 国产黄色小视频在线观看| 听说在线观看完整版免费高清| 琪琪午夜伦伦电影理论片6080| 成年人黄色毛片网站| 国产又黄又爽又无遮挡在线| 成年版毛片免费区| 亚洲国产精品sss在线观看| 琪琪午夜伦伦电影理论片6080| 国产精品 国内视频| 国产成人一区二区三区免费视频网站| 熟女少妇亚洲综合色aaa.| 日日摸夜夜添夜夜添小说| 久热爱精品视频在线9| 亚洲精品一区av在线观看| 国产高清激情床上av| 欧美在线黄色| 国产精品亚洲美女久久久| 亚洲成人国产一区在线观看| 一级黄色大片毛片| 日韩精品中文字幕看吧| 又黄又粗又硬又大视频| 国产午夜精品论理片| 久久精品国产综合久久久| netflix在线观看网站| 两人在一起打扑克的视频| 欧美日韩一级在线毛片| 又大又爽又粗| 亚洲av日韩精品久久久久久密| 日韩欧美三级三区| 黄色成人免费大全| 欧美日本亚洲视频在线播放| 99精品欧美一区二区三区四区| 亚洲aⅴ乱码一区二区在线播放 | 国产乱人伦免费视频| 日韩欧美国产一区二区入口| 床上黄色一级片| a级毛片在线看网站| 国产日本99.免费观看| 亚洲av成人精品一区久久| 国产精品一区二区三区四区免费观看 | 人人妻人人澡欧美一区二区| 女生性感内裤真人,穿戴方法视频| av超薄肉色丝袜交足视频| 国产亚洲欧美98| 啦啦啦观看免费观看视频高清| 欧美不卡视频在线免费观看 | 亚洲国产精品成人综合色| 麻豆av在线久日| x7x7x7水蜜桃| 麻豆一二三区av精品| 亚洲欧美精品综合一区二区三区| 97人妻精品一区二区三区麻豆| 国产三级黄色录像| 狂野欧美白嫩少妇大欣赏| 最近最新中文字幕大全电影3| 国产熟女xx| 久久久久久九九精品二区国产 | 亚洲成人久久爱视频| 国产精品 欧美亚洲| 欧美极品一区二区三区四区| 欧美人与性动交α欧美精品济南到| 午夜精品一区二区三区免费看| 国产探花在线观看一区二区| 久久伊人香网站| 天堂影院成人在线观看| 成人18禁高潮啪啪吃奶动态图| 国产av一区在线观看免费| 91老司机精品| 亚洲av中文字字幕乱码综合| 亚洲国产精品合色在线| 午夜两性在线视频| 欧美精品亚洲一区二区| 老汉色∧v一级毛片| 女人高潮潮喷娇喘18禁视频| 午夜福利18| 国产免费av片在线观看野外av| 午夜福利免费观看在线| 国产精品av视频在线免费观看| 一进一出好大好爽视频| 18禁黄网站禁片免费观看直播| 亚洲国产精品sss在线观看| 欧美av亚洲av综合av国产av| 亚洲电影在线观看av| 亚洲中文日韩欧美视频| 国产av一区在线观看免费| 可以在线观看毛片的网站| 久久久久免费精品人妻一区二区| 小说图片视频综合网站| 成人欧美大片| 亚洲欧洲精品一区二区精品久久久| 又爽又黄无遮挡网站| 午夜久久久久精精品| 国内精品久久久久精免费| 国产亚洲精品av在线| 757午夜福利合集在线观看| 99国产精品一区二区三区| 亚洲自偷自拍图片 自拍| 99国产综合亚洲精品| 午夜免费成人在线视频| 久久久久久免费高清国产稀缺| 91字幕亚洲| 日本五十路高清| 香蕉av资源在线| 搡老妇女老女人老熟妇| 免费在线观看黄色视频的| 午夜福利成人在线免费观看| 精品一区二区三区av网在线观看| 黄色毛片三级朝国网站| 亚洲专区字幕在线| 757午夜福利合集在线观看| 国产精品亚洲美女久久久| 国产99白浆流出| 老汉色∧v一级毛片| 天天躁夜夜躁狠狠躁躁| 日韩欧美 国产精品| 国产免费男女视频| 女同久久另类99精品国产91| av免费在线观看网站| 色哟哟哟哟哟哟| 国产激情久久老熟女| 久久久精品大字幕| 韩国av一区二区三区四区| 变态另类成人亚洲欧美熟女| 日韩免费av在线播放| 国产精品久久久av美女十八| 999久久久国产精品视频| 老熟妇仑乱视频hdxx| ponron亚洲| 色哟哟哟哟哟哟| 亚洲国产看品久久| 深夜精品福利| 在线观看美女被高潮喷水网站 | 免费看美女性在线毛片视频| 欧美乱妇无乱码| 国产精品久久视频播放| 免费搜索国产男女视频| x7x7x7水蜜桃| 欧洲精品卡2卡3卡4卡5卡区| 真人做人爱边吃奶动态| 国产亚洲精品av在线| 欧美 亚洲 国产 日韩一| 亚洲精品一卡2卡三卡4卡5卡| 欧美日韩瑟瑟在线播放| 久久精品aⅴ一区二区三区四区| 久久这里只有精品中国| 亚洲欧美日韩无卡精品| 国产精品影院久久| 欧美日韩瑟瑟在线播放| 757午夜福利合集在线观看| 色哟哟哟哟哟哟| 国产男靠女视频免费网站| 丰满的人妻完整版| 90打野战视频偷拍视频| 最近最新免费中文字幕在线| 免费在线观看黄色视频的| 亚洲av熟女| 老熟妇乱子伦视频在线观看| 蜜桃久久精品国产亚洲av| 可以免费在线观看a视频的电影网站| 国产成人av激情在线播放| 亚洲专区字幕在线| av国产免费在线观看| 亚洲av美国av| 嫩草影院精品99| 欧美日韩一级在线毛片| 亚洲av成人精品一区久久| 欧美日本视频| 麻豆成人av在线观看| av天堂在线播放| 舔av片在线| 午夜免费观看网址| 啦啦啦韩国在线观看视频| 亚洲成人久久性| 国产一区二区在线av高清观看| 欧美人与性动交α欧美精品济南到| 老鸭窝网址在线观看| 少妇人妻一区二区三区视频| av视频在线观看入口| 中出人妻视频一区二区| 久久精品亚洲精品国产色婷小说| 日韩欧美精品v在线| 男女之事视频高清在线观看| 亚洲人成电影免费在线| 老熟妇仑乱视频hdxx| 亚洲成人国产一区在线观看| 一边摸一边抽搐一进一小说| 成人欧美大片| 国产精品影院久久| 亚洲av熟女| 99久久精品国产亚洲精品| 99热这里只有是精品50| 一个人免费在线观看的高清视频| 国产黄色小视频在线观看| 久9热在线精品视频| 级片在线观看| 黄色毛片三级朝国网站| 亚洲 欧美 日韩 在线 免费| av天堂在线播放| 国产精品免费一区二区三区在线| 夜夜夜夜夜久久久久| 久热爱精品视频在线9| 90打野战视频偷拍视频| 亚洲欧美日韩高清在线视频| 免费av毛片视频| 日韩有码中文字幕| 亚洲 欧美 日韩 在线 免费| 亚洲aⅴ乱码一区二区在线播放 | 欧美+亚洲+日韩+国产| 69av精品久久久久久| 丁香六月欧美| 美女高潮喷水抽搐中文字幕| 欧美极品一区二区三区四区| 又粗又爽又猛毛片免费看| 一本久久中文字幕| 国产乱人伦免费视频| 亚洲性夜色夜夜综合| 国产av一区在线观看免费| 亚洲成人精品中文字幕电影| 一级作爱视频免费观看| 亚洲人成网站在线播放欧美日韩| 18禁美女被吸乳视频| 99精品在免费线老司机午夜| 久久亚洲精品不卡| 欧美黄色淫秽网站| 我的老师免费观看完整版| av超薄肉色丝袜交足视频| 91在线观看av| 亚洲男人天堂网一区| 97超级碰碰碰精品色视频在线观看| 精品不卡国产一区二区三区| 亚洲黑人精品在线| 国内精品一区二区在线观看| 成在线人永久免费视频| 在线国产一区二区在线| 波多野结衣高清作品| 欧美中文综合在线视频| 亚洲成人中文字幕在线播放| 国产成人av教育| 一边摸一边做爽爽视频免费| 国产黄色小视频在线观看| 成人欧美大片| 九色成人免费人妻av| 亚洲第一电影网av| 两个人免费观看高清视频| av片东京热男人的天堂| 男人舔奶头视频| 午夜精品在线福利| 又紧又爽又黄一区二区| 夜夜爽天天搞| 欧美 亚洲 国产 日韩一| 淫秽高清视频在线观看| 丁香六月欧美| 亚洲av美国av| 精品第一国产精品| 草草在线视频免费看| 国内精品久久久久久久电影| 老汉色∧v一级毛片| 久久久久国内视频| 757午夜福利合集在线观看| av在线天堂中文字幕| 亚洲av成人精品一区久久| 色噜噜av男人的天堂激情| aaaaa片日本免费| 国产一级毛片七仙女欲春2| 免费人成视频x8x8入口观看| 无限看片的www在线观看| 琪琪午夜伦伦电影理论片6080| 亚洲欧美日韩高清在线视频| 国产91精品成人一区二区三区| 成人亚洲精品av一区二区| 99国产极品粉嫩在线观看| 给我免费播放毛片高清在线观看| 国产精品99久久99久久久不卡| 女生性感内裤真人,穿戴方法视频| 级片在线观看| 国产精品免费一区二区三区在线| 九色国产91popny在线| 男女下面进入的视频免费午夜| 最新在线观看一区二区三区| 婷婷精品国产亚洲av在线| 亚洲色图 男人天堂 中文字幕| 亚洲精品一卡2卡三卡4卡5卡| 91av网站免费观看| 国产伦一二天堂av在线观看| 国产精品精品国产色婷婷| 免费一级毛片在线播放高清视频| 波多野结衣高清作品| 精品第一国产精品| 国产欧美日韩一区二区三| 午夜福利成人在线免费观看| 日韩 欧美 亚洲 中文字幕| 97超级碰碰碰精品色视频在线观看| 国内少妇人妻偷人精品xxx网站 | svipshipincom国产片| 日韩欧美精品v在线| 中文字幕精品亚洲无线码一区| 天天躁夜夜躁狠狠躁躁| 91国产中文字幕| 又紧又爽又黄一区二区| 亚洲精品久久国产高清桃花| 国产亚洲精品久久久久久毛片| 国产成人精品无人区| 香蕉久久夜色| 免费看美女性在线毛片视频| 亚洲成av人片在线播放无| 国产高清视频在线观看网站| 夜夜躁狠狠躁天天躁| 免费av毛片视频| √禁漫天堂资源中文www| 国产成人系列免费观看| 99久久综合精品五月天人人| 五月伊人婷婷丁香| 日韩欧美在线二视频| 婷婷精品国产亚洲av在线| 亚洲黑人精品在线| 国内精品久久久久精免费| 精品国产亚洲在线| 国产精品九九99| 久久精品国产99精品国产亚洲性色| 曰老女人黄片| 亚洲18禁久久av| www国产在线视频色| 不卡一级毛片| 亚洲av第一区精品v没综合| 久久久久久久久免费视频了| 熟妇人妻久久中文字幕3abv| 黄色女人牲交| 在线观看日韩欧美| av免费在线观看网站| 99在线人妻在线中文字幕| 又爽又黄无遮挡网站| 身体一侧抽搐| www.999成人在线观看| 可以在线观看的亚洲视频| av免费在线观看网站| av在线播放免费不卡| 极品教师在线免费播放| 亚洲av中文字字幕乱码综合| 亚洲中文av在线| 国产av麻豆久久久久久久| 国产一区二区激情短视频| 一级毛片精品| 91成年电影在线观看| 久久 成人 亚洲| 久久香蕉国产精品| 国产激情偷乱视频一区二区| 叶爱在线成人免费视频播放| 99久久99久久久精品蜜桃| 露出奶头的视频| 看免费av毛片| 亚洲av电影在线进入| 99国产精品99久久久久| 我要搜黄色片| 日本熟妇午夜| 国产精品久久久久久人妻精品电影| 少妇熟女aⅴ在线视频| 一个人免费在线观看电影 | 两性午夜刺激爽爽歪歪视频在线观看 | 国产精品久久久久久人妻精品电影| 又黄又粗又硬又大视频| 国产精品九九99| 人人妻人人看人人澡| 中文字幕熟女人妻在线| 淫妇啪啪啪对白视频| 丝袜人妻中文字幕| 啦啦啦韩国在线观看视频| 97碰自拍视频| 亚洲18禁久久av| а√天堂www在线а√下载| 国产成人av激情在线播放| 亚洲一区二区三区色噜噜| 亚洲精品美女久久久久99蜜臀| 欧美黄色淫秽网站| 欧美精品亚洲一区二区| 亚洲,欧美精品.| 可以免费在线观看a视频的电影网站| 久热爱精品视频在线9| 九九热线精品视视频播放| 亚洲第一欧美日韩一区二区三区| 亚洲午夜精品一区,二区,三区| 亚洲一区二区三区色噜噜| 人成视频在线观看免费观看| 最近最新中文字幕大全电影3| 欧美在线黄色| 男人的好看免费观看在线视频 | 白带黄色成豆腐渣| 搡老妇女老女人老熟妇| 国产av麻豆久久久久久久| 亚洲精品美女久久久久99蜜臀| 啦啦啦观看免费观看视频高清| 亚洲精品久久成人aⅴ小说| 亚洲欧洲精品一区二区精品久久久| 97人妻精品一区二区三区麻豆| 精品久久蜜臀av无| 国产男靠女视频免费网站| 人妻久久中文字幕网| 波多野结衣高清无吗| 狂野欧美激情性xxxx| av天堂在线播放| 狂野欧美激情性xxxx| 免费看a级黄色片| 色综合欧美亚洲国产小说| 村上凉子中文字幕在线| 亚洲成人久久爱视频| 2021天堂中文幕一二区在线观| 欧美色视频一区免费| 日本免费一区二区三区高清不卡| 国产成人av教育| 欧美又色又爽又黄视频| 99久久综合精品五月天人人| 久久婷婷人人爽人人干人人爱| 成人18禁在线播放| АⅤ资源中文在线天堂| 亚洲精品久久国产高清桃花| 精品久久久久久久人妻蜜臀av| 亚洲九九香蕉| 免费一级毛片在线播放高清视频| 亚洲七黄色美女视频| 亚洲精品一卡2卡三卡4卡5卡| 亚洲欧美日韩高清专用| 在线观看www视频免费| 久久久精品国产亚洲av高清涩受| 美女免费视频网站| 人妻久久中文字幕网| 国产私拍福利视频在线观看| 色综合婷婷激情| 国产亚洲精品久久久久5区| 777久久人妻少妇嫩草av网站| 给我免费播放毛片高清在线观看| 女人高潮潮喷娇喘18禁视频| 国产成人啪精品午夜网站| 国产一区在线观看成人免费| 欧美另类亚洲清纯唯美| 国产成年人精品一区二区| 成人欧美大片| 91av网站免费观看| 日本熟妇午夜| 男插女下体视频免费在线播放| 国内少妇人妻偷人精品xxx网站 | 蜜桃久久精品国产亚洲av| 日韩欧美精品v在线| 中文在线观看免费www的网站 | 黑人欧美特级aaaaaa片| 一二三四社区在线视频社区8| 黄色a级毛片大全视频| 久久久久久久午夜电影| 免费在线观看视频国产中文字幕亚洲| 日韩欧美免费精品| 婷婷精品国产亚洲av| 国产欧美日韩一区二区精品| 妹子高潮喷水视频| 在线看三级毛片| 国产精品久久久av美女十八| 高清在线国产一区| 国产高清激情床上av| 成人欧美大片| 国产高清有码在线观看视频 | 日韩欧美一区二区三区在线观看| 91大片在线观看| 女生性感内裤真人,穿戴方法视频| 99精品在免费线老司机午夜| 亚洲九九香蕉| 亚洲电影在线观看av| 亚洲精品粉嫩美女一区| 亚洲午夜理论影院| 欧美性猛交╳xxx乱大交人| netflix在线观看网站| 国产男靠女视频免费网站| 国内少妇人妻偷人精品xxx网站 | 老熟妇乱子伦视频在线观看| 国产在线观看jvid| 久久久水蜜桃国产精品网| 亚洲欧美日韩高清在线视频| 亚洲av美国av| 黄色丝袜av网址大全| 国产一区在线观看成人免费| 狂野欧美激情性xxxx| 99久久久亚洲精品蜜臀av| 欧美成狂野欧美在线观看| 亚洲av五月六月丁香网| 黄色视频不卡| 亚洲 欧美一区二区三区| 黄色视频不卡| 欧美久久黑人一区二区| 国产91精品成人一区二区三区| 性欧美人与动物交配| 老熟妇乱子伦视频在线观看| 最近最新中文字幕大全免费视频| 亚洲av成人精品一区久久| 亚洲精品美女久久av网站| 日韩大尺度精品在线看网址| 国产精品免费一区二区三区在线| 熟女少妇亚洲综合色aaa.| 亚洲欧美日韩无卡精品| 嫁个100分男人电影在线观看| 婷婷精品国产亚洲av在线| 美女 人体艺术 gogo| 18禁观看日本| 国产成人啪精品午夜网站| 久久久水蜜桃国产精品网| 国产亚洲精品一区二区www| 男女视频在线观看网站免费 | 免费搜索国产男女视频| 18禁观看日本| 老司机福利观看| 亚洲熟妇熟女久久| 精品高清国产在线一区| 国产成人精品久久二区二区91| 精品电影一区二区在线| 黄色丝袜av网址大全| 在线永久观看黄色视频| 精品国产乱子伦一区二区三区| 制服丝袜大香蕉在线| 亚洲成人久久性| 桃色一区二区三区在线观看| 午夜免费观看网址| 在线国产一区二区在线| 日韩高清综合在线| 国产一区二区三区视频了| 精品午夜福利视频在线观看一区| 亚洲18禁久久av| 可以在线观看毛片的网站| 男女之事视频高清在线观看| 三级国产精品欧美在线观看 | 久久国产精品人妻蜜桃| 亚洲国产欧美人成| 一边摸一边做爽爽视频免费| www国产在线视频色| 99在线人妻在线中文字幕| 麻豆一二三区av精品| 久久久久九九精品影院| 欧美又色又爽又黄视频| 精品一区二区三区av网在线观看| 男女做爰动态图高潮gif福利片| 精品久久久久久久人妻蜜臀av| 国模一区二区三区四区视频 | 香蕉av资源在线|