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

    適用于稀疏圖的基于關(guān)鍵點(diǎn)標(biāo)記的可達(dá)性算法

    2023-10-29 04:20:48苗偉華
    計(jì)算機(jī)與生活 2023年10期
    關(guān)鍵詞:祖先關(guān)鍵點(diǎn)復(fù)雜度

    苗偉華,危 輝

    復(fù)旦大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院/軟件學(xué)院 認(rèn)知算法模型實(shí)驗(yàn)室,上海 200438

    對(duì)于一張有向圖G=(V,E),其中u,v∈V。可達(dá)性查詢是詢問是否存在一條路徑使得u點(diǎn)可以到達(dá)v點(diǎn)??蛇_(dá)性查詢是圖論中的基礎(chǔ)操作,廣泛應(yīng)用于多種場(chǎng)景[1-3],如XML數(shù)據(jù)庫、社交網(wǎng)絡(luò)分析、物流運(yùn)輸、生物信息學(xué)等。比如檢測(cè)兩種蛋白質(zhì)之間是否存在生物學(xué)通路等。但隨著人類社會(huì)的發(fā)展以及大數(shù)據(jù)時(shí)代的來臨,圖的規(guī)模越來越大。傳統(tǒng)算法如傳遞閉包、深度優(yōu)先搜索等因?yàn)榫哂袠O高的時(shí)間復(fù)雜度或空間復(fù)雜度而變得不再適用。

    一種有效的策略是針對(duì)有向圖的不同結(jié)構(gòu)特點(diǎn),設(shè)計(jì)不同種類的算法[4-7]。GRKPL(graph reachability indexing via key points labeling)算法的提出是為了解決稀疏圖上的可達(dá)性問題。現(xiàn)實(shí)生活中很多網(wǎng)絡(luò)都是稀疏的,如電力網(wǎng)絡(luò)、生物網(wǎng)絡(luò)等。稀疏圖通常具有的特點(diǎn)是邊集規(guī)模和點(diǎn)集規(guī)模同階。因此可以將稀疏圖看作由若干有向生成樹與少量非樹邊共同組成的。那么稀疏圖上的可達(dá)性問題就可以被拆分為兩部分:第一部分是生成樹上的可達(dá)性問題;第二部分是引入非樹邊后增加了哪些新的連通點(diǎn)對(duì)。對(duì)于第一部分,已經(jīng)有區(qū)間標(biāo)記法[8]可以在線性時(shí)間內(nèi)構(gòu)建標(biāo)記,并在常數(shù)時(shí)間內(nèi)回答詢問,該算法會(huì)在2.1節(jié)詳細(xì)介紹。為了能夠高效解決第二部分帶來的可達(dá)性問題,提出了GRKPL算法,即基于關(guān)鍵點(diǎn)標(biāo)記的圖上可達(dá)性查詢算法。GRKPL構(gòu)建了一個(gè)規(guī)模與原圖中非樹邊數(shù)量同階的關(guān)鍵點(diǎn)集,通過將原圖中的可達(dá)性查詢轉(zhuǎn)化為關(guān)鍵點(diǎn)集中點(diǎn)對(duì)的可達(dá)性的查詢,從而解決了第二部分帶來的問題。為了快速回答關(guān)鍵點(diǎn)集中任意兩點(diǎn)之間是否可達(dá),需要預(yù)處理關(guān)鍵點(diǎn)集的閉包。為了加速這一過程,構(gòu)建了新圖G′=(V′,E′),其中V′為關(guān)鍵點(diǎn)集。并從數(shù)學(xué)上證明了V′與E′的規(guī)模都是與非樹邊數(shù)量同階的。設(shè)t為原圖G中非樹邊的數(shù)量,,di表示i點(diǎn)的入度。則關(guān)鍵點(diǎn)集閉包傳遞的時(shí)間復(fù)雜度可以表示為O(|V′||E′|)=O(t2)。通過使用位壓縮技術(shù),將標(biāo)記預(yù)處理的時(shí)間復(fù)雜度降至O(n+m+t2/w),其中n=|V|,m=|E|,w表示處理機(jī)字長(zhǎng)。標(biāo)記存儲(chǔ)的空間復(fù)雜度降至O(n+t2/b),其中b為存儲(chǔ)標(biāo)記類型的比特?cái)?shù)。查詢回答的時(shí)間復(fù)雜度為O(1)。最后在14 個(gè)現(xiàn)實(shí)數(shù)據(jù)集[9]上進(jìn)行了對(duì)比實(shí)驗(yàn)。GRKPL算法在中小規(guī)模數(shù)據(jù)集上表現(xiàn)優(yōu)異,在查詢處理方面,所用時(shí)間相對(duì)于其他算法平均減少49.8%,空間占用方面平均減少65.1%。預(yù)處理方面雖然表現(xiàn)不如搜索類算法,但相比標(biāo)記類算法中表現(xiàn)較好的TOL(total order labeling)算法用時(shí)減少了17.4%。

    1 相關(guān)工作

    目前常見的可達(dá)性算法大致可以分為兩類:標(biāo)記法與搜索法。標(biāo)記法會(huì)預(yù)先對(duì)圖進(jìn)行處理,構(gòu)建并存儲(chǔ)與可達(dá)性相關(guān)的標(biāo)記。在回答查詢時(shí),便可以直接通過標(biāo)記快速回答。如Floyd[10]直接預(yù)處理圖中任意兩點(diǎn)間的可達(dá)性。鏈剖分[11]將有向圖分割成若干互不相交的鏈,預(yù)處理每個(gè)點(diǎn)能夠達(dá)到每條鏈中的最小編號(hào)。樹剖分[8]首先會(huì)找到有向圖的一棵生成樹,然后對(duì)其進(jìn)行區(qū)間標(biāo)記。因?yàn)橛蟹菢溥叺拇嬖?,每個(gè)點(diǎn)可能會(huì)有多個(gè)區(qū)間標(biāo)記,那么在回答詢問時(shí)就需要遍歷每一個(gè)標(biāo)記。Dual-Labeling[7]將可達(dá)性詢問轉(zhuǎn)化為二維平面上線段數(shù)量的查詢。Path-Tree[12]將圖劃分為多條互不相交的路徑,并將每條路徑抽象成一個(gè)點(diǎn),從而得到新圖,最后通過深度優(yōu)先搜索的方式對(duì)新圖進(jìn)行標(biāo)記并處理相關(guān)標(biāo)記。相關(guān)算法還有很多[13-19]。標(biāo)記類方法的特點(diǎn)是預(yù)處理的過程通常需要花費(fèi)大量的時(shí)間與空間,但查詢的復(fù)雜度通常較低,大多數(shù)情況下均為常數(shù)級(jí)別。

    搜索法則是另一種極端,通常具有較低的預(yù)處理時(shí)間復(fù)雜度與空間復(fù)雜度,但查詢的時(shí)間復(fù)雜度會(huì)相對(duì)較高。大部分的搜索類算法都會(huì)結(jié)合一些標(biāo)記以達(dá)到剪枝的目的,從而加快搜索過程。如GRAIL(graph reachability indexing via randomized interval labeling)[20]通過對(duì)圖進(jìn)行多次隨機(jī)遍歷,使得每個(gè)點(diǎn)都擁有多個(gè)區(qū)間標(biāo)記。以此實(shí)現(xiàn)在搜索過程中快速處理不可達(dá)詢問的目的。GRIPP(graph indexing based on pre-and post-order numbering)[21]在遍歷圖的同時(shí)維護(hù)了一張實(shí)例表,借助實(shí)例表可以在搜索過程中完成對(duì)查詢的轉(zhuǎn)換。IP(independent permutation)[22]首次引入了隨機(jī)性,使用k-min-wise獨(dú)立排列處理可達(dá)性查詢。BFL(Bloom filter labeling)[23]提出了基于Bloom filter的一種新型標(biāo)記方式,并證明了其誤報(bào)率是有界的。相關(guān)算法還有很多[24-27]。由此可見,不同種類的算法本質(zhì)上都是對(duì)空間復(fù)雜度與時(shí)間復(fù)雜度的一種權(quán)衡與取舍。表1 展示了一些可達(dá)性算法的時(shí)間與空間復(fù)雜度[22-23],其中n表示圖中頂點(diǎn)數(shù)量,m表示邊數(shù)。

    表1 可達(dá)性算法復(fù)雜度Table 1 Reachability algorithm complexity

    為了方便說明,之后所提到的有向圖都默認(rèn)為有向無環(huán)圖,因?yàn)樗械挠邢驁D都可以通過Tarjan算法[28]進(jìn)行強(qiáng)連通分量縮點(diǎn)后變?yōu)橛邢驘o環(huán)圖。

    2 GRKPL算法

    GRKPL 即基于關(guān)鍵點(diǎn)標(biāo)記的可達(dá)性算法,通過構(gòu)建關(guān)鍵點(diǎn)集,將原圖中的查詢變換成關(guān)鍵點(diǎn)集上的查詢,從而降低算法的時(shí)間和空間復(fù)雜度。設(shè)圖G=(V,E)為有向無環(huán)圖,其中n=|V|,m=|E|。T=(VT,ET)為圖G的一棵有向生成樹。對(duì)于圖G來說,若存在多個(gè)入度為0的頂點(diǎn),那么一棵樹無法完全覆蓋圖G中所有的頂點(diǎn),但是可以通過建立一個(gè)虛擬的根節(jié)點(diǎn)vroot,使得vroot向圖G中所有入度為0 的點(diǎn)建邊。這樣以vroot為根的生成樹就可以完全覆蓋圖G中的所有節(jié)點(diǎn)。對(duì)于有向邊e,如果e∈E∧e∈ET,則稱有向邊e為樹邊,否則稱為非樹邊。設(shè)t為圖G中非樹邊的數(shù)量,則有式(1):

    其中,di表示i點(diǎn)的入度,其思想是樹上每個(gè)節(jié)點(diǎn)的入度至多為1,多余的入邊則為非樹邊。對(duì)于稀疏圖而言,往往有t<

    2.1 區(qū)間標(biāo)記法

    樹是有向無環(huán)圖的一種特殊情況,對(duì)于樹上任意兩點(diǎn)的可達(dá)性查詢有一個(gè)非常簡(jiǎn)單且高效的算法,稱為區(qū)間標(biāo)記法[8]。只需要對(duì)樹進(jìn)行深度優(yōu)先搜索(前序遍歷),在第一次進(jìn)入節(jié)點(diǎn)u時(shí)記錄當(dāng)前的時(shí)間戳lu,在遍歷完u點(diǎn)的子樹后準(zhǔn)備回溯時(shí),記錄當(dāng)前的時(shí)間戳ru。這樣對(duì)于樹中每一個(gè)節(jié)點(diǎn)u都有標(biāo)記[lu,ru)。在查詢兩點(diǎn)之間的可達(dá)性時(shí),便可通過查詢兩點(diǎn)的區(qū)間標(biāo)記是否是包含關(guān)系來判斷,具體形式由式(2)給出:

    如圖1所示,若要判斷v1是否能達(dá)到v5,只需查看進(jìn)入v5的時(shí)間是否在v1的區(qū)間標(biāo)記之中,即l5∈[l1,r1) 。又因?yàn)? ∈[0,6),所以v1點(diǎn)可以到達(dá)v5點(diǎn)。通過此算法便可在O(n+m)的時(shí)間復(fù)雜度下預(yù)處理標(biāo)記,其中n為樹的節(jié)點(diǎn)數(shù),m為樹的邊數(shù)。在O(1)的時(shí)間復(fù)雜度內(nèi)回答詢問。

    圖1 區(qū)間標(biāo)記后的樹Fig.1 Tree after interval labeling

    因?yàn)橄∈鑸D可以看作以vroot為根的有向生成樹與少量非樹邊的組合,所以可以先找出稀疏圖的有向生成樹,然后對(duì)該生成樹進(jìn)行區(qū)間標(biāo)記。雖然稀疏圖中以vroot為根的生成樹并不唯一,但生成樹的形態(tài)對(duì)于算法復(fù)雜度的影響微乎其微。因?yàn)橛绊懰惴◤?fù)雜度的是圖中非樹邊的數(shù)量,而這個(gè)值與生成樹的形態(tài)無關(guān)。算法1 提供了一種在選取生成樹的同時(shí)進(jìn)行區(qū)間標(biāo)記的方法。

    算法1尋找生成樹并進(jìn)行區(qū)間標(biāo)記

    輸入:vroot表示虛根。

    輸出:圖中所有節(jié)點(diǎn)的區(qū)間標(biāo)記(l,r)與生成樹。

    參數(shù)說明:dfn表示時(shí)間戳,G表示鄰接表,用于存圖。

    2.2 查詢轉(zhuǎn)化

    圖2 展示了對(duì)圖G進(jìn)行區(qū)間標(biāo)記后的結(jié)果。其中實(shí)線表示樹邊,虛線表示非樹邊。假設(shè)查詢(u,v),即查詢u點(diǎn)是否可以到達(dá)v點(diǎn)。如果v點(diǎn)在u點(diǎn)的子樹內(nèi),那么u點(diǎn)便可以僅通過樹邊到達(dá)v點(diǎn)。不然u點(diǎn)必須要經(jīng)過若干樹邊和非樹邊才可以到達(dá)v點(diǎn),或者是不可達(dá)。定義u點(diǎn)為覆蓋點(diǎn),當(dāng)且僅當(dāng)u點(diǎn)的入邊或出邊中包含非樹邊。圖2 中的覆蓋點(diǎn)集合CG={v5,v6,v8,v11,v12}。若u點(diǎn)要經(jīng)過若干樹邊和非樹邊才可以到達(dá)v點(diǎn),那么u點(diǎn)必然會(huì)先走到其子樹中的某個(gè)覆蓋點(diǎn)x,再?gòu)膞出發(fā)經(jīng)過若干非樹邊和樹邊到達(dá)某個(gè)覆蓋點(diǎn)y,最后從y點(diǎn)沿樹邊走到v點(diǎn)。這樣便可以把原始查詢(u,v)變?yōu)樾虏樵?x,y)。但并不是所有的查詢都可以轉(zhuǎn)化為覆蓋點(diǎn)之間的查詢。假如u點(diǎn)的子樹內(nèi)不包含覆蓋點(diǎn),那么u點(diǎn)到v點(diǎn)的所有路徑中必然不會(huì)經(jīng)過任何一條非樹邊。同理,若v點(diǎn)的祖先內(nèi)不包含覆蓋點(diǎn),那么同樣u點(diǎn)到v點(diǎn)的所有路徑中也不會(huì)經(jīng)過任何一條非樹邊。因此需要對(duì)這種情況進(jìn)行特殊判斷。

    圖2 區(qū)間標(biāo)記后的圖GFig.2 Graph G after interval labeling

    2.3 構(gòu)建關(guān)鍵點(diǎn)集

    設(shè)Su表示u點(diǎn)子樹中的覆蓋點(diǎn)集,Pv表示v點(diǎn)祖先中的覆蓋點(diǎn)集。對(duì)于查詢(u,v),如果v點(diǎn)不在u點(diǎn)的子樹中,那么需要枚舉Su中的點(diǎn),檢查其是否能到達(dá)Pv中的任意一點(diǎn)。因?yàn)閨Su|和|Pv|的數(shù)量級(jí)都是O(t) 的,所以這種做法的時(shí)間復(fù)雜度會(huì)退化到O(t2)。但事實(shí)上可以通過兩步優(yōu)化,將查詢的復(fù)雜度降到O(1)。

    優(yōu)化1設(shè)根節(jié)點(diǎn)的深度為0。Pv中深度較小的節(jié)點(diǎn)一定能夠沿樹邊達(dá)到深度大于或等于自身的節(jié)點(diǎn)。因此對(duì)于查詢(u,v)來說,只需要檢查Su中是否存在一個(gè)節(jié)點(diǎn),能夠到達(dá)Pv中深度最大的節(jié)點(diǎn)即可。這樣時(shí)間復(fù)雜度就可以降至O(t)。

    優(yōu)化2當(dāng)|Su|>1 時(shí),希望可以找到一個(gè)點(diǎn)x,滿足點(diǎn)x可以到達(dá)Su中任意一點(diǎn)。這個(gè)點(diǎn)x實(shí)際上就是Su中所有節(jié)點(diǎn)的公共祖先。不妨取x點(diǎn)為u點(diǎn)子樹內(nèi)所有覆蓋點(diǎn)的公共祖先中深度最大的祖先,即最近公共祖先(lowest common ancestor,LCA)[29]。那么原查詢(u,v)就可以轉(zhuǎn)化為新查詢(x,y),其中y為Pv中深度最大的節(jié)點(diǎn)。因此只要預(yù)處理T中每個(gè)節(jié)點(diǎn)子樹內(nèi)所有覆蓋點(diǎn)的最近公共祖先,再結(jié)合優(yōu)化1,就可以做到在O(1)時(shí)間復(fù)雜度內(nèi)回答查詢。

    設(shè)T中的覆蓋點(diǎn)集合為CT={a1,a2,…,am},T中每個(gè)節(jié)點(diǎn)子樹內(nèi)所有覆蓋點(diǎn)的最近公共祖先為L(zhǎng)T={lca(Sv)|v∈[1,n]}。定義圖G的關(guān)鍵點(diǎn)集KG=CT?LT。綜上可知,除2.2 節(jié)中討論的特殊情況外,原圖中任意點(diǎn)對(duì)之間可達(dá)性的查詢均可轉(zhuǎn)化為關(guān)鍵點(diǎn)集中點(diǎn)對(duì)可達(dá)性的查詢。定理1與定理2將證明|KG|的數(shù)量級(jí)為O(t)。

    由定理1 可知,設(shè)CT={a1,a2,…,am}表示T中所有覆蓋點(diǎn),則有式(3)成立。因此不需要對(duì)T中每個(gè)節(jié)點(diǎn)都計(jì)算出其子樹內(nèi)所有覆蓋點(diǎn)的最近公共祖先,只需把所有覆蓋點(diǎn)兩兩之間的最近公共祖先求出即可。

    證明定理2 等價(jià)于:對(duì)于i∈[2,r],有?j∈[1,i),成立。當(dāng)r=2 時(shí),有l(wèi)ca(a1,a2)=lca(b1,b2),定理顯然成立。假設(shè)r=k時(shí)定理成立,當(dāng)r=k+1時(shí),不妨假設(shè)存在u=lca(bt,bk+1),t∈[1,k),且設(shè)dep(u)表示u點(diǎn)在生成樹中的深度,因?yàn)閎j是按照前序遍歷的順序排序后得到的,所以當(dāng)j

    由定理2 可知,LT=Qvroot=Rvroot,因?yàn)閨Rvroot|的數(shù)量級(jí)為O(t),所以LT的數(shù)量級(jí)也為O(t) 。又因?yàn)镵G=CT?LT,所以關(guān)鍵點(diǎn)集|KG|的數(shù)量級(jí)也為O(t)。圖3展示了G中的關(guān)鍵點(diǎn)集,其中CT={v5,v6,v8,v11,v12},用斜線填充的節(jié)點(diǎn)表示。LT={v1,v2,v3,v7},用實(shí)心節(jié)點(diǎn)表示。由于有向圖的生成樹并不唯一,對(duì)于不同形態(tài)的生成樹,其得到的關(guān)鍵點(diǎn)集也是不同的。但由定理2可知,|LT|

    圖3 圖G 中的關(guān)鍵點(diǎn)集Fig.3 Set of key points in graph G

    2.4 標(biāo)記預(yù)處理

    GRKPL 算法的標(biāo)記由兩部分組成:第一部分是點(diǎn)u祖先中深度最大的關(guān)鍵點(diǎn),記為pidu;第二部分是點(diǎn)u子樹中深度最小的關(guān)鍵點(diǎn),記為sidu。因?yàn)殛P(guān)鍵點(diǎn)中已經(jīng)包含了所有覆蓋點(diǎn)兩兩之間的最近公共祖先,所以sidu必然是u點(diǎn)子樹內(nèi)所有覆蓋點(diǎn)的最近公共祖先。需要對(duì)圖G中所有節(jié)點(diǎn)都求出這兩部分標(biāo)記。對(duì)于第一部分標(biāo)記,可以用棧在深度優(yōu)先搜索的時(shí)候保留路徑上的關(guān)鍵點(diǎn),對(duì)于當(dāng)前點(diǎn)來說,若棧為空,則表示其祖先中不存在關(guān)鍵點(diǎn),否則棧頂即為所求。在回溯的時(shí)候,如果當(dāng)前點(diǎn)是關(guān)鍵點(diǎn),那么從棧中把它彈出。對(duì)于第二部分標(biāo)記,可以在深度優(yōu)先搜索的時(shí)候檢查當(dāng)前點(diǎn)u是否為關(guān)鍵點(diǎn),如果是則從當(dāng)前點(diǎn)開始沿著父親邊(樹邊)往回跳,一直跳到點(diǎn)v已經(jīng)被打上第二部分標(biāo)記或者跳到根為止。這回跳的過程中經(jīng)過的所有點(diǎn)的第二部分標(biāo)記都是點(diǎn)u。最終標(biāo)記效果由圖3 給出。算法偽代碼由算法2給出。

    算法2構(gòu)建GRKPL標(biāo)記

    輸入:vroot表示虛根。

    輸出:圖中所有節(jié)點(diǎn)的(sid,pid)。

    參數(shù)說明:vis[u]表示點(diǎn)u是否訪問過;stk表示棧;par[u]用來記錄點(diǎn)u在樹中的父親;G表示鄰接表,用于存圖;K(G)表示圖G中的關(guān)鍵點(diǎn)集。

    2.5 閉包傳遞

    為了加速關(guān)鍵點(diǎn)集中閉包的傳遞,需要將關(guān)鍵點(diǎn)集從原圖G中分離出來。圖4 展示了分離之后得到的新圖G′。為了防止G′中邊的規(guī)模退化到O(t2),需要維持原本的樹形結(jié)構(gòu)。具體做法為在深度優(yōu)先搜索的過程中處理出每個(gè)點(diǎn)其祖先中深度最大的關(guān)鍵點(diǎn),然后只需要連接這兩個(gè)點(diǎn)即可。這樣既不會(huì)破壞閉包,同時(shí)也將新圖中邊集的大小控制在了O(t)級(jí)別,因?yàn)槿コ菢溥吅?,每個(gè)點(diǎn)的入度都是1。因此邊集的數(shù)量級(jí)和點(diǎn)集的數(shù)量級(jí)是相同的。

    圖4 分離后的新圖G′Fig.4 New graph G′ after separation

    傳統(tǒng)Floyd-Warshal[10]算法傳遞閉包的時(shí)間復(fù)雜度是O(n3),空間復(fù)雜度為O(n2)。但對(duì)于有向無環(huán)圖來說,可以通過動(dòng)態(tài)規(guī)劃的方法進(jìn)行加速,使時(shí)間復(fù)雜度變?yōu)镺(nm)。具體做法是:首先設(shè)dp[u][v]這個(gè)二維數(shù)組存儲(chǔ)圖G中任意兩點(diǎn)之間的可達(dá)性,取值0或1。然后將圖G按逆拓?fù)湫蜻M(jìn)行排序后順序遍歷,若當(dāng)前節(jié)點(diǎn)為u,那么u點(diǎn)可以通過它的出邊到達(dá)它所有的后繼節(jié)點(diǎn),即可以用所有后繼節(jié)點(diǎn)的狀態(tài)來更新當(dāng)前節(jié)點(diǎn)的狀態(tài)。又因?yàn)楸闅v的順序是逆拓?fù)湫?,這樣就保證了訪問u點(diǎn)之前,u點(diǎn)所有可能可達(dá)的點(diǎn)已經(jīng)都訪問過,從而保證了算法的正確性。具體更新規(guī)則由式(4)給出:

    由于所要求解的答案只有兩種狀態(tài),即0和1,分別表示可達(dá)與不可達(dá),可以用1 bit 來表示這個(gè)信息。計(jì)算機(jī)在進(jìn)行一次運(yùn)算時(shí)是以字為單位的,設(shè)計(jì)算機(jī)字長(zhǎng)為wbit。那么將信息位壓縮后,時(shí)間復(fù)雜度變?yōu)镺(nm/w),因?yàn)橛?jì)算機(jī)一次可以對(duì)wbit同時(shí)操作??臻g復(fù)雜度也會(huì)相應(yīng)地降低。若以C++中語言的int 類型來存儲(chǔ)信息,因?yàn)橐粋€(gè)int 類型有32 bit,那么壓縮后的空間復(fù)雜度會(huì)變?yōu)镺(n2/32)。

    2.6 查詢處理

    對(duì)于查詢(u,v),如果u=v,那么一定可達(dá)。設(shè)dep[u]表示點(diǎn)u的深度,根的深度為0。點(diǎn)u的區(qū)間標(biāo)記為[lu,ru),點(diǎn)v的區(qū)間標(biāo)記為[lv,rv)。如果點(diǎn)v在點(diǎn)u的子樹內(nèi),即滿足dep[u]

    算法3查詢處理

    輸入:(u,v)查詢u是否能到達(dá)v。

    輸出:true or false。

    參數(shù)說明:dep[u]表示u點(diǎn)深度,map[u]表示關(guān)鍵點(diǎn)u在新圖G′中的編號(hào)。

    3 實(shí)驗(yàn)

    實(shí)驗(yàn)環(huán)境:操作系統(tǒng)Windows 11,CPU Intel i5-9300HF,內(nèi)存16 GB,編譯指令g++-std=c++17-O3。程序語言為C++,編譯器版本為gcc 8.1.0,boost 庫版本為1.80。實(shí)驗(yàn)共用到14 個(gè)數(shù)據(jù)集[9],包含了10 個(gè)中小規(guī)模數(shù)據(jù)集與4 個(gè)大規(guī)模數(shù)據(jù)集,表2 展示了數(shù)據(jù)集的規(guī)模。參與比較的算法可以分為兩部分,搜索類的算法有IP[22]和BFL[23],標(biāo)記類的算法有TOL[16]、TF-Label[17]和GRKPL。程序代碼均由原作者提供。

    表2 數(shù)據(jù)集規(guī)模Table 2 Scale of datasets

    算法參數(shù)配置:GRKPL 算法包含兩個(gè)可變參數(shù)。計(jì)算機(jī)字長(zhǎng)w由CPU架構(gòu)決定,實(shí)驗(yàn)采用64位機(jī)器,因此w=64。存儲(chǔ)標(biāo)記類型的比特?cái)?shù)b由程序語言與編譯器決定,實(shí)驗(yàn)采用int 類型存儲(chǔ)標(biāo)記,因此b=32 。其余算法均采用原論文中使用的默認(rèn)參數(shù)。

    實(shí)驗(yàn)內(nèi)容:對(duì)于每一個(gè)數(shù)據(jù)集,隨機(jī)生成1 000萬個(gè)查詢,測(cè)試并分析不同算法在查詢時(shí)間、預(yù)處理時(shí)間與標(biāo)記的空間占用三方面的表現(xiàn)。

    表3 展示了五種算法在處理查詢時(shí)所耗費(fèi)的時(shí)間。可以發(fā)現(xiàn)在14個(gè)數(shù)據(jù)集的測(cè)試中,GRKPL算法在其中8個(gè)數(shù)據(jù)集上都有更好的表現(xiàn),但是也有一些表現(xiàn)不佳的情況,這是由于稀疏圖中大部分的隨機(jī)查詢都是不可達(dá)的。雖然GRKPL 回答查詢的復(fù)雜度是O(1),但并沒有對(duì)不可達(dá)的查詢進(jìn)行優(yōu)化,因此程序運(yùn)行時(shí)所執(zhí)行的語句會(huì)相對(duì)更多,時(shí)間就會(huì)相對(duì)較慢。GRKPL 算法在10 個(gè)中小規(guī)模數(shù)據(jù)集上查詢共用時(shí)663.145 ms,優(yōu)于其他四種對(duì)比算法,查詢平均用時(shí)減少49.8%。

    表3 查詢處理時(shí)間Table 3 Query processing time 單位:ms

    表4 展示了五種算法在不同數(shù)據(jù)集上的預(yù)處理時(shí)間??梢钥闯鏊阉黝愃惴ǎ↖P、BFL)的表現(xiàn)整體優(yōu)于標(biāo)記類算法(TOL、TF-Label、GRKPL)。這是由于算法類型的不同,搜索類構(gòu)建的標(biāo)記更多是用于對(duì)搜索過程的剪枝,而標(biāo)記類算法則是需要依靠標(biāo)記來回答詢問。因此這注定了搜索類算法在預(yù)處理時(shí)間以及標(biāo)記存儲(chǔ)空間兩方面都會(huì)優(yōu)于標(biāo)記類算法,表5 展示的標(biāo)記的空間占用情況也證實(shí)了這一點(diǎn)。盡管如此,GRKPL 算法在許多數(shù)據(jù)集上的表現(xiàn)也會(huì)優(yōu)于搜索類算法,并在絕大多數(shù)情況下都會(huì)優(yōu)于其他兩種標(biāo)記類算法或表現(xiàn)相當(dāng)。GRKPL 在10 個(gè)中小規(guī)模數(shù)據(jù)集上的預(yù)處理時(shí)間總計(jì)為16.965 ms,僅次于搜索類算法BFL 的6.026 ms。相比同屬標(biāo)記類算法中表現(xiàn)較好的TOL(20.549 ms),預(yù)處理時(shí)間減少17.4%。GRKPL在10個(gè)中小規(guī)模數(shù)據(jù)集上的空間占用總計(jì)為1.443 MB,優(yōu)于其他四種對(duì)比算法,空間占用平均減少65.1%。但是在大規(guī)模數(shù)據(jù)集上,GRKPL算法的預(yù)處理時(shí)間與空間占用都非常大。這是由于圖中存在大量的入度為0的節(jié)點(diǎn),導(dǎo)致非樹邊的數(shù)量較高,影響了性能表現(xiàn)。

    表4 預(yù)處理時(shí)間Table 4 Preprocessing time 單位:ms

    表5 標(biāo)記的空間占用Table 5 Space occupied by labels 單位:MB

    測(cè)試所用的數(shù)據(jù)集分別對(duì)應(yīng)了若干個(gè)不同的現(xiàn)實(shí)領(lǐng)域。如agrocvc、amaze、anthra 等對(duì)應(yīng)于生化領(lǐng)域,包括蛋白質(zhì)相互作用、基因表達(dá)等?;颉⒒衔?、蛋白質(zhì)等可以抽象為節(jié)點(diǎn),它們之間已知的關(guān)聯(lián)作用可以抽象為有向邊。GRKPL算法可用于快速回答兩個(gè)節(jié)點(diǎn)是否存在直接或間接的聯(lián)系,如查詢一個(gè)基因是否受到另一個(gè)基因的調(diào)控。nasa 與xmark為XML 文檔,其結(jié)構(gòu)化的特征使其能夠被抽象為一張有向圖。GRKPL算法能夠快速回答元素之間的從屬關(guān)系。GRKPL算法的特點(diǎn)在于其影響復(fù)雜度的主要因素為圖中非樹邊的數(shù)量,這使得其在一些規(guī)模較小的現(xiàn)實(shí)網(wǎng)絡(luò)如生化網(wǎng)絡(luò)、XML 文檔等中優(yōu)勢(shì)較大,不僅查詢速度快,標(biāo)記占用空間與預(yù)處理時(shí)間也很少。但在一些規(guī)模較大的網(wǎng)絡(luò)如郵件網(wǎng)絡(luò)(Email-EuAll)、網(wǎng)站引用網(wǎng)絡(luò)(web-Google)中,因?yàn)榉菢溥叺臄?shù)量較大,導(dǎo)致標(biāo)記占用空間與預(yù)處理時(shí)間增加。

    4 結(jié)束語

    本文提出了一種針對(duì)有向稀疏圖可達(dá)性算法GRKPL。通過對(duì)圖進(jìn)行拆分,將原圖中的查詢轉(zhuǎn)換到另一個(gè)規(guī)模更小的點(diǎn)集中的查詢,該點(diǎn)集也稱為關(guān)鍵點(diǎn)集。并證明了關(guān)鍵點(diǎn)集的規(guī)模與原圖中非樹邊的數(shù)量同階。這使得在處理稀疏圖中可達(dá)性問題時(shí),預(yù)處理標(biāo)記的時(shí)間與標(biāo)記的空間占用都進(jìn)一步縮小。最后在14個(gè)現(xiàn)實(shí)數(shù)據(jù)集中進(jìn)行測(cè)試,GRKPL算法在大部分的數(shù)據(jù)集中都表現(xiàn)優(yōu)異。GRKPL算法局限性在于:其預(yù)處理時(shí)間復(fù)雜度與標(biāo)記占用空間復(fù)雜度的級(jí)別都是非樹邊數(shù)量的平方。因此當(dāng)作用于一些規(guī)模較大或較為稠密的網(wǎng)絡(luò)時(shí),算法的性能表現(xiàn)會(huì)下降。

    后續(xù)研究方向主要包含兩部分:第一部分是如何優(yōu)化不可達(dá)查詢的處理速度。在稀疏圖中有大量不可達(dá)查詢,而GRKPL 算法的邏輯是優(yōu)先判斷可達(dá)。因此在面對(duì)不可達(dá)查詢時(shí),所要執(zhí)行的步驟較多,會(huì)影響查詢速度。第二部分是如何將GRKPL算法擴(kuò)展到動(dòng)態(tài)圖中,即在面對(duì)節(jié)點(diǎn)或邊的動(dòng)態(tài)增加或刪除時(shí),如何快速更新標(biāo)記,保證查詢效率等。

    猜你喜歡
    祖先關(guān)鍵點(diǎn)復(fù)雜度
    聚焦金屬關(guān)鍵點(diǎn)
    烏龜:想不到祖先最早是“宅男”
    肉兔育肥抓好七個(gè)關(guān)鍵點(diǎn)
    一種低復(fù)雜度的慣性/GNSS矢量深組合方法
    始祖鳥不是鳥祖先
    我們的祖先是條魚
    求圖上廣探樹的時(shí)間復(fù)雜度
    某雷達(dá)導(dǎo)51 頭中心控制軟件圈復(fù)雜度分析與改進(jìn)
    誰說我們一定要像祖先一樣過
    出口技術(shù)復(fù)雜度研究回顧與評(píng)述
    久久人人爽人人爽人人片va| 亚洲精品乱码久久久v下载方式| 丝袜喷水一区| 亚洲国产精品合色在线| 我的老师免费观看完整版| 91aial.com中文字幕在线观看| 国产精品三级大全| 美女内射精品一级片tv| 久久国内精品自在自线图片| 男人和女人高潮做爰伦理| 最后的刺客免费高清国语| 久久韩国三级中文字幕| 日韩高清综合在线| 最近的中文字幕免费完整| 一本一本综合久久| videossex国产| 人人妻人人澡人人爽人人夜夜 | 免费看a级黄色片| 日韩在线高清观看一区二区三区| 热99re8久久精品国产| 一级二级三级毛片免费看| 日韩欧美精品v在线| 日韩国内少妇激情av| 尤物成人国产欧美一区二区三区| 国产探花在线观看一区二区| 国内少妇人妻偷人精品xxx网站| 国产精品免费一区二区三区在线| videossex国产| 成年av动漫网址| 久久久久久久久久成人| 美女大奶头视频| 我要看日韩黄色一级片| 三级毛片av免费| 免费观看精品视频网站| 免费观看在线日韩| 久久人人爽人人爽人人片va| 久久久久网色| 中文字幕av在线有码专区| 1000部很黄的大片| 国产高清视频在线观看网站| 春色校园在线视频观看| 可以在线观看毛片的网站| 日本黄色视频三级网站网址| 日韩三级伦理在线观看| 简卡轻食公司| 久久亚洲国产成人精品v| 波多野结衣高清无吗| 欧美一区二区国产精品久久精品| 国产亚洲欧美98| 欧美高清成人免费视频www| 国内少妇人妻偷人精品xxx网站| 天堂√8在线中文| 亚洲欧美日韩高清专用| 天堂网av新在线| av.在线天堂| 97超视频在线观看视频| 可以在线观看的亚洲视频| 一级毛片aaaaaa免费看小| 亚洲中文字幕一区二区三区有码在线看| 国产精品一及| 亚洲欧美日韩高清专用| 亚洲精华国产精华液的使用体验 | 国产精品久久久久久久久免| 欧美日韩国产亚洲二区| 国内揄拍国产精品人妻在线| 日韩av在线大香蕉| 欧美极品一区二区三区四区| 亚洲人成网站在线播放欧美日韩| 精品一区二区免费观看| 男人和女人高潮做爰伦理| 中文字幕久久专区| 日本五十路高清| 舔av片在线| 韩国av在线不卡| 亚洲精华国产精华液的使用体验 | 九九爱精品视频在线观看| 欧美不卡视频在线免费观看| 国内揄拍国产精品人妻在线| 18禁裸乳无遮挡免费网站照片| 国产在视频线在精品| 中文亚洲av片在线观看爽| 免费av毛片视频| 欧美xxxx黑人xx丫x性爽| 国产精品永久免费网站| 熟女电影av网| 爱豆传媒免费全集在线观看| 午夜激情欧美在线| 国产午夜精品论理片| 日韩欧美精品v在线| 最近中文字幕高清免费大全6| 欧美成人免费av一区二区三区| 亚洲最大成人中文| av免费在线看不卡| 国产成人aa在线观看| 欧美变态另类bdsm刘玥| 五月伊人婷婷丁香| 99riav亚洲国产免费| 国产 一区 欧美 日韩| 全区人妻精品视频| 中文欧美无线码| 久久婷婷人人爽人人干人人爱| 国产男人的电影天堂91| 嫩草影院入口| 99热这里只有是精品在线观看| 国产91av在线免费观看| 成人美女网站在线观看视频| 欧美激情久久久久久爽电影| 男人舔奶头视频| 3wmmmm亚洲av在线观看| 亚洲最大成人av| 少妇猛男粗大的猛烈进出视频 | 亚洲av成人精品一区久久| 18+在线观看网站| 黄色配什么色好看| 蜜臀久久99精品久久宅男| 最好的美女福利视频网| 欧美三级亚洲精品| 91狼人影院| 美女被艹到高潮喷水动态| 色综合色国产| 日本免费一区二区三区高清不卡| av在线观看视频网站免费| av国产免费在线观看| 国产私拍福利视频在线观看| 99九九线精品视频在线观看视频| 亚洲最大成人手机在线| 老司机福利观看| 亚洲丝袜综合中文字幕| 熟妇人妻久久中文字幕3abv| 三级国产精品欧美在线观看| eeuss影院久久| 最好的美女福利视频网| 精品国产三级普通话版| 国产精品,欧美在线| 少妇的逼好多水| 午夜亚洲福利在线播放| 亚洲欧美日韩高清专用| 亚洲不卡免费看| av在线亚洲专区| 国内精品美女久久久久久| 亚洲欧洲国产日韩| 国产精品爽爽va在线观看网站| 久久久久九九精品影院| 欧美极品一区二区三区四区| 91精品一卡2卡3卡4卡| 亚洲第一区二区三区不卡| 国产 一区精品| 国产av不卡久久| 男人的好看免费观看在线视频| 蜜桃久久精品国产亚洲av| av.在线天堂| 九九热线精品视视频播放| 一级av片app| 国产精品一区二区在线观看99 | 国产极品精品免费视频能看的| 色综合站精品国产| 特大巨黑吊av在线直播| 两个人的视频大全免费| 久久6这里有精品| 国产高清三级在线| 神马国产精品三级电影在线观看| 日日摸夜夜添夜夜爱| 一本精品99久久精品77| 中文字幕av成人在线电影| 在线观看美女被高潮喷水网站| 别揉我奶头 嗯啊视频| 国产高潮美女av| 青青草视频在线视频观看| 亚洲美女搞黄在线观看| 国产三级中文精品| 色播亚洲综合网| 国产日韩欧美在线精品| 只有这里有精品99| 久久国内精品自在自线图片| 九草在线视频观看| 国产一区二区亚洲精品在线观看| 国产精品久久电影中文字幕| 久久热精品热| 插阴视频在线观看视频| 天天一区二区日本电影三级| 97超视频在线观看视频| 老司机福利观看| 色哟哟哟哟哟哟| 观看美女的网站| 国产 一区 欧美 日韩| 亚洲精品日韩在线中文字幕 | 国产女主播在线喷水免费视频网站 | 婷婷亚洲欧美| 欧美性猛交黑人性爽| 校园春色视频在线观看| av天堂在线播放| 欧美xxxx黑人xx丫x性爽| 亚洲丝袜综合中文字幕| 最新中文字幕久久久久| 麻豆精品久久久久久蜜桃| 国产老妇女一区| 久久久久久大精品| 十八禁国产超污无遮挡网站| 国产 一区精品| 久久国内精品自在自线图片| 白带黄色成豆腐渣| 久久久精品欧美日韩精品| 蜜桃久久精品国产亚洲av| 男的添女的下面高潮视频| 久久6这里有精品| 欧美最黄视频在线播放免费| 色综合亚洲欧美另类图片| 日韩 亚洲 欧美在线| 成年版毛片免费区| 亚洲av一区综合| 亚洲第一电影网av| 少妇人妻一区二区三区视频| 久99久视频精品免费| 婷婷亚洲欧美| 一级毛片久久久久久久久女| 亚洲在线自拍视频| 久久久成人免费电影| 午夜激情欧美在线| 女同久久另类99精品国产91| 国产黄片视频在线免费观看| 久久久欧美国产精品| 菩萨蛮人人尽说江南好唐韦庄 | 九九爱精品视频在线观看| 大型黄色视频在线免费观看| 最近手机中文字幕大全| 婷婷亚洲欧美| 午夜亚洲福利在线播放| 国产在线男女| 亚洲熟妇中文字幕五十中出| 国产精品蜜桃在线观看 | 美女cb高潮喷水在线观看| 日日摸夜夜添夜夜添av毛片| 麻豆国产97在线/欧美| 国产久久久一区二区三区| 日日啪夜夜撸| 男人和女人高潮做爰伦理| 久久鲁丝午夜福利片| 国产成人福利小说| 国产精品一二三区在线看| 三级男女做爰猛烈吃奶摸视频| 免费无遮挡裸体视频| 99热精品在线国产| 亚洲精品自拍成人| 免费人成视频x8x8入口观看| 99久久人妻综合| 12—13女人毛片做爰片一| 国产精品爽爽va在线观看网站| 国产69精品久久久久777片| 日韩成人伦理影院| 亚洲精品成人久久久久久| 成人无遮挡网站| 国产色婷婷99| eeuss影院久久| 国产真实乱freesex| www.av在线官网国产| 精品午夜福利在线看| 又爽又黄无遮挡网站| 精品不卡国产一区二区三区| 国产精品日韩av在线免费观看| 热99re8久久精品国产| 人人妻人人看人人澡| 男女下面进入的视频免费午夜| 在现免费观看毛片| 欧美日韩国产亚洲二区| av免费在线看不卡| 午夜激情欧美在线| 欧美日韩国产亚洲二区| avwww免费| 日本欧美国产在线视频| 在线国产一区二区在线| 黄片wwwwww| 能在线免费看毛片的网站| 精品人妻一区二区三区麻豆| 国产av在哪里看| 亚洲精品国产成人久久av| 国产亚洲欧美98| av福利片在线观看| 亚洲av免费在线观看| 1024手机看黄色片| 亚洲无线观看免费| 99久久精品热视频| 卡戴珊不雅视频在线播放| 亚洲av不卡在线观看| 欧美激情久久久久久爽电影| 久久久成人免费电影| 六月丁香七月| 美女被艹到高潮喷水动态| 久久精品人妻少妇| 69av精品久久久久久| 国产综合懂色| 成人毛片a级毛片在线播放| 国产精品三级大全| 色视频www国产| 久久鲁丝午夜福利片| 婷婷六月久久综合丁香| 午夜福利视频1000在线观看| 成人一区二区视频在线观看| 91午夜精品亚洲一区二区三区| 一级二级三级毛片免费看| 亚洲av不卡在线观看| 国产高清不卡午夜福利| 波多野结衣高清作品| 热99re8久久精品国产| 国产探花极品一区二区| www.色视频.com| 久久久色成人| 久久久久国产网址| 成人午夜高清在线视频| 岛国毛片在线播放| 岛国在线免费视频观看| 看免费成人av毛片| 日本爱情动作片www.在线观看| 人人妻人人看人人澡| 久久精品影院6| 国产又黄又爽又无遮挡在线| 国产精品久久久久久精品电影| 91精品国产九色| 人人妻人人澡欧美一区二区| 非洲黑人性xxxx精品又粗又长| 12—13女人毛片做爰片一| 久久国内精品自在自线图片| 国产一级毛片七仙女欲春2| 成人无遮挡网站| 成年版毛片免费区| 国产成人a∨麻豆精品| 一个人看视频在线观看www免费| 欧美一区二区国产精品久久精品| 赤兔流量卡办理| 国产一区二区在线av高清观看| 亚洲在线观看片| 久久久久久久久大av| 亚洲精品乱码久久久v下载方式| www日本黄色视频网| 久久99热6这里只有精品| 又粗又爽又猛毛片免费看| 欧美色视频一区免费| 亚洲电影在线观看av| 性色avwww在线观看| 在线观看66精品国产| 一个人观看的视频www高清免费观看| 日韩国内少妇激情av| 一级毛片久久久久久久久女| 一个人看视频在线观看www免费| 深爱激情五月婷婷| 一个人看视频在线观看www免费| 欧美性感艳星| 内射极品少妇av片p| 舔av片在线| kizo精华| 日本免费a在线| 伦精品一区二区三区| 偷拍熟女少妇极品色| 18+在线观看网站| 成人特级av手机在线观看| 99久久精品一区二区三区| 精品久久久久久久久av| 国产午夜精品一二区理论片| 成人漫画全彩无遮挡| 在线播放无遮挡| 久久久精品94久久精品| 亚洲欧美成人精品一区二区| 综合色丁香网| 黄色配什么色好看| 亚洲婷婷狠狠爱综合网| 国产精品久久久久久久电影| 国内精品宾馆在线| 国内少妇人妻偷人精品xxx网站| 成人性生交大片免费视频hd| 一进一出抽搐gif免费好疼| 亚洲国产色片| 亚洲精品日韩在线中文字幕 | 成年女人看的毛片在线观看| 久久久久九九精品影院| 国产精品一区二区性色av| 1024手机看黄色片| 欧美+亚洲+日韩+国产| 少妇人妻精品综合一区二区 | 老司机影院成人| 午夜福利在线观看免费完整高清在 | 国产伦在线观看视频一区| 偷拍熟女少妇极品色| 亚洲,欧美,日韩| 超碰av人人做人人爽久久| 国产免费男女视频| 岛国在线免费视频观看| 在线观看66精品国产| 日韩欧美精品免费久久| 国产成人精品久久久久久| 国产精品嫩草影院av在线观看| 人妻夜夜爽99麻豆av| 日韩亚洲欧美综合| 日本免费一区二区三区高清不卡| 国产日本99.免费观看| 最好的美女福利视频网| 人妻久久中文字幕网| 久久国产乱子免费精品| 日本三级黄在线观看| 99热网站在线观看| 国产精品麻豆人妻色哟哟久久 | 亚洲美女视频黄频| 十八禁国产超污无遮挡网站| 精品久久国产蜜桃| 中文资源天堂在线| 亚洲aⅴ乱码一区二区在线播放| 三级经典国产精品| 99久久精品国产国产毛片| 三级国产精品欧美在线观看| 国产中年淑女户外野战色| 日产精品乱码卡一卡2卡三| 久久久国产成人精品二区| 3wmmmm亚洲av在线观看| 一本精品99久久精品77| 国产av不卡久久| 国产在线男女| 日本av手机在线免费观看| www.av在线官网国产| 18禁在线无遮挡免费观看视频| 在线观看免费视频日本深夜| av女优亚洲男人天堂| 精品人妻偷拍中文字幕| 久久99热6这里只有精品| 免费观看a级毛片全部| 小蜜桃在线观看免费完整版高清| 国产毛片a区久久久久| av在线观看视频网站免费| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 久久这里只有精品中国| 在线免费观看不下载黄p国产| 高清午夜精品一区二区三区 | 九草在线视频观看| 日韩强制内射视频| 联通29元200g的流量卡| 色综合亚洲欧美另类图片| 久久精品国产99精品国产亚洲性色| 在线观看av片永久免费下载| 好男人视频免费观看在线| 国产精品乱码一区二三区的特点| 丰满乱子伦码专区| 乱码一卡2卡4卡精品| 91av网一区二区| 午夜激情欧美在线| 色哟哟哟哟哟哟| 亚洲精品国产av成人精品| 成人高潮视频无遮挡免费网站| 黄色视频,在线免费观看| 少妇的逼水好多| 国产成人精品婷婷| 欧美另类亚洲清纯唯美| 97超视频在线观看视频| 国产成人午夜福利电影在线观看| 成人午夜高清在线视频| 久久精品91蜜桃| 给我免费播放毛片高清在线观看| 永久网站在线| 插阴视频在线观看视频| 日韩av不卡免费在线播放| 女人被狂操c到高潮| 搡女人真爽免费视频火全软件| 真实男女啪啪啪动态图| 综合色av麻豆| 白带黄色成豆腐渣| 久久久久网色| 日韩欧美精品v在线| 99久久人妻综合| 又粗又硬又长又爽又黄的视频 | АⅤ资源中文在线天堂| 日韩在线高清观看一区二区三区| 久久韩国三级中文字幕| 悠悠久久av| 成年免费大片在线观看| 精品一区二区免费观看| 天堂av国产一区二区熟女人妻| 免费观看人在逋| 三级男女做爰猛烈吃奶摸视频| 国产淫片久久久久久久久| 2021天堂中文幕一二区在线观| 欧美极品一区二区三区四区| 波多野结衣高清作品| 国产亚洲精品av在线| 少妇猛男粗大的猛烈进出视频 | 干丝袜人妻中文字幕| avwww免费| 午夜精品一区二区三区免费看| 中国国产av一级| 欧美激情久久久久久爽电影| 日韩亚洲欧美综合| 亚洲欧美日韩无卡精品| 国产色爽女视频免费观看| 淫秽高清视频在线观看| 亚洲av二区三区四区| 亚洲国产色片| 日韩中字成人| 亚洲三级黄色毛片| 最近中文字幕高清免费大全6| 人体艺术视频欧美日本| 少妇人妻精品综合一区二区 | 色视频www国产| 99久久精品热视频| 赤兔流量卡办理| 色播亚洲综合网| 边亲边吃奶的免费视频| 亚洲欧美精品综合久久99| 亚洲av.av天堂| 欧美变态另类bdsm刘玥| 国产成人a∨麻豆精品| 边亲边吃奶的免费视频| 精品日产1卡2卡| 中文精品一卡2卡3卡4更新| 欧美人与善性xxx| 高清毛片免费观看视频网站| 亚洲真实伦在线观看| 亚洲精品乱码久久久v下载方式| 变态另类丝袜制服| 岛国毛片在线播放| 成人av在线播放网站| 精品久久久久久久久亚洲| 国产日韩欧美在线精品| 日本av手机在线免费观看| 久久精品91蜜桃| 啦啦啦啦在线视频资源| 97超视频在线观看视频| 久久久久久久久久成人| 美女cb高潮喷水在线观看| 只有这里有精品99| 国产亚洲av片在线观看秒播厂 | 亚洲欧美精品专区久久| 国产在视频线在精品| 国产视频首页在线观看| 国产精品一区二区在线观看99 | av在线天堂中文字幕| 国产老妇女一区| 午夜激情欧美在线| 免费av毛片视频| 在线播放无遮挡| 性色avwww在线观看| 国产亚洲5aaaaa淫片| 精品人妻一区二区三区麻豆| 最近视频中文字幕2019在线8| 一级黄色大片毛片| 99热这里只有是精品在线观看| 91麻豆精品激情在线观看国产| 18+在线观看网站| 能在线免费看毛片的网站| av天堂在线播放| 中文在线观看免费www的网站| 乱人视频在线观看| 久久精品91蜜桃| 亚洲精品456在线播放app| 亚洲18禁久久av| 搞女人的毛片| 在现免费观看毛片| 欧美bdsm另类| 亚洲av中文字字幕乱码综合| 国产精品久久视频播放| 日本五十路高清| 国产高清三级在线| 观看美女的网站| 人妻夜夜爽99麻豆av| 午夜福利成人在线免费观看| 国产精品三级大全| 国产高清不卡午夜福利| 桃色一区二区三区在线观看| 亚洲自偷自拍三级| 国产毛片a区久久久久| 最近2019中文字幕mv第一页| 免费av毛片视频| 麻豆成人av视频| 亚洲最大成人手机在线| 看非洲黑人一级黄片| 国产亚洲av片在线观看秒播厂 | 国产在线精品亚洲第一网站| 亚洲精品成人久久久久久| 极品教师在线视频| 村上凉子中文字幕在线| 99热6这里只有精品| 国产精品综合久久久久久久免费| 国产精品美女特级片免费视频播放器| 永久网站在线| 久久精品国产亚洲网站| 亚洲欧美精品专区久久| 久久精品国产亚洲av天美| 深夜精品福利| 91精品一卡2卡3卡4卡| 色播亚洲综合网| av在线蜜桃| 久99久视频精品免费| 精品人妻视频免费看| 尤物成人国产欧美一区二区三区| 国产亚洲91精品色在线| 色5月婷婷丁香| 国产精品久久久久久av不卡| 欧美日韩一区二区视频在线观看视频在线 | 欧美bdsm另类| 天堂影院成人在线观看| 日韩欧美三级三区| a级一级毛片免费在线观看| 国产精品女同一区二区软件| 成人高潮视频无遮挡免费网站| 欧美成人一区二区免费高清观看| 永久网站在线| 热99re8久久精品国产| 亚洲精品成人久久久久久| 成人美女网站在线观看视频| 麻豆国产97在线/欧美| 国产成人一区二区在线| 欧美成人a在线观看| 一区二区三区高清视频在线| 欧美色欧美亚洲另类二区| 少妇丰满av| 精品久久久久久久久久免费视频| 国产一区二区三区在线臀色熟女| 欧美日韩在线观看h| 色尼玛亚洲综合影院| 天堂√8在线中文| 欧美激情国产日韩精品一区|