1. 基本概念 在一個有向無環(huán)圖中,可達性查詢r(u, v)是指u到v是否有一條路徑,當u到v存在一條路徑時,r(u, v)返回true,即u到v可達;反之返回false,即不可達。 任意一個有向圖均可轉(zhuǎn)化為有向無環(huán)圖,詳細轉(zhuǎn)化方法可參考(http://blog.csdn.net/woniu317/art
在一個有向無環(huán)圖中,可達性查詢r(u, v)是指u到v是否有一條路徑,當u到v存在一條路徑時,r(u, v)返回true,即u到v可達;反之返回false,即不可達。
任意一個有向圖均可轉(zhuǎn)化為有向無環(huán)圖,詳細轉(zhuǎn)化方法可參考(http://blog.csdn.net/woniu317/article/details/23658301)。易得處于同一個強連通分量中的節(jié)點轉(zhuǎn)換后成為了一個節(jié)點,當查詢可達性的時候可以先轉(zhuǎn)化為有向無環(huán)圖中的結(jié)點再進行查詢即可。因此所有的可達性查詢只需要研究有向無環(huán)圖。
對于任意一個圖的任意一種拓撲序列進行分析可得:
若結(jié)點u到結(jié)點v可達,則必然有u的拓撲序號小于v的拓撲序號;也就是說當結(jié)點u的拓撲序號大于v的拓撲序號時,則u一定不可達v。
如圖2-1所示,表2-1中T1列為圖的一種拓撲序列。例如a到h可達,a的序號小于h的序號;g的序號大于h的序號,因此g不可達h,從圖2-1中可驗證。È得注意的是,即使u的序號小于v的序號,u也不一定可達v,例如結(jié)點a與b。
不難發(fā)現(xiàn)利用表2-1中的拓撲順序會存在很多的不能修剪的結(jié)點對,比如(a,b),(a,g),(a,f)。即使換一種拓撲順序也會出現(xiàn)同樣的狀況。因此,同時采用兩種拓撲順序進行修剪效果更佳。但如何求得兩種拓撲順序使得剪枝效果最好是NPC問題,因此采用一種近似的方式求得第二個拓撲序列。
圖2-1 圖G
表2-1 圖2-1的拓撲序列
vc6szdjGy9DywdC1xLn9wsvQp7n7oaPNvDItMcv5x/O1xLXatv60zrXEzdjGy9DyusXI57HtMi0x1tBUMsHQy/nKvqGjPC9wPgo8cD7I9HW1vXa/ybTvo6zU8rHYyLvT0HW1xMG9uPbN2MbL0PK6xbfWsfC21NOm0KHT2na1xM3YxsvQ8rrFoaPNrNH5xOO38cP8zOKjrMj0dbXEwb249s3YxsvQ8rrFsru2vNCh09p2tcTN2MbL0PK6xaOs1PJ10ru2qLK7v8m073ahozwvcD4KPGgzPjMuIL/JtO/Q1LLp0a88L2gzPgo8cD6/ybTv0NSy6dGvssnTw8nutsjTxc/IsenA+rXEt73KvaOssunRr8H3s8zI5828My0xy/nKvqGjPC9wPgo8cCBhbGlnbj0="center">
圖3-1 可達性查詢流程圖
參考論文
ReachabilityQueries in Very Large Graphs A Fast Refined Online Search Approach
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com