• 沒有找到結果。

多筆圖型探勘常見子圖樣式技術

第二章 文獻探討

2.2 多筆圖型探勘常見子圖樣式技術

從以往的研究整理出來,圖型探勘拜訪圖的方式有廣度優先順序(BFS)以及深 度優先順序(DFS)兩種。多筆圖型探勘演算法採用 BFS 的圖型探勘演算法有 AGM

[9]以及 FSG[10],而其他的 gSpan[19]、FFSM[8]、GASTON[18]皆採用 DFS。

因為 BFS 以起點開始走訪圖型,必須收集該點的鄰邊而形成的子圖候選樣式 集,接著收集大於門檻值之常見子圖樣式集,並從該集合取出任兩兩大小為 k-1 常見子圖樣式組合成大小為 k 的子圖候選樣式,每次成長時加入一個節點或一條 邊產生下一級的候選子圖樣式。比如 AGM 以加入節點的方式產生 k 的子圖候選 樣式集,而 FSG 則以加入邊的方式,因此 AGM 使子圖候選樣式產生的個數多於

FSG,以致於處理時間和儲存空間也相對多。另外 BFS 的做法甚至可能產生不存 在於多筆圖型資料中的子圖樣式,但優點是可從前一層常見子圖樣式快速列舉出 下一層可能組合的子圖候選樣式以及做交集運算支持度。然而以 DFS 走訪圖型時,

每次列舉子圖候選樣式集必須從多筆圖型資料中參考常見子圖樣式的位置,由大 小為 k-1 的常見子圖樣式經由鄰點,收集並且產生大小為 k 的子圖候選樣式,故 產生的子圖候選樣式較於 BFS 更少,因此自 gSpan 之後的圖型探勘多採 DFS 方 式走訪圖型結構。

視為常見子圖樣式,可被斷定為是否重要結構或常見結構。另外,設定門檻值的 用意為刪除不常見之子圖樣式以減少搜尋空間,因此減少了計算時間並且符合使 用者之研究目的。但有一問題發生於產生子圖候選樣式時,在計算支持度前,圖 型所產生的子圖候選樣式可能重複列舉,因此檢查圖型同構的機制一直為以往的 圖型探勘重要議題,其解決方式為不外乎對子圖樣式做特殊編碼,加入避免重複 列舉的機制並檢查兩圖型編碼字串是否相同。

比如 gSpan 演算法[19](graph-based Substructure pattern),為了減少重複列舉 子圖候選樣式,它先以 DFS 拜訪所有圖型並且編碼,接著定義一個 DFS 字典編 纂(DFS Lexicographic Order)的機制計算出圖型的最小 DFS 編碼,因此可以藉由兩 兩圖型的最小 DFS 編碼來比對字串是否相同。但此方法無法避免全部的圖型同構,

有少部分的圖型同構必須從 DFS 刪除機制來避免,每次從最右邊的路徑延伸出子 圖候選樣式,延伸出去的鄰邊加入後不得違反最小 DFS 編碼的定義。另外,gSpan 作法在儲存候選樣式時只儲存每一個圖型編號,使得下一個鄰接邊無法確切得知。

而 gSpan 其主要貢獻來自於第一個使用深度優先的方式應用於圖型探勘,同時也 創造獨特的編碼方式來避免大量的圖型同構檢查,其深度優先搜尋圖型標準化的 機制避免了剩下例外的圖型同構問題。

FFSM[8]利用上/下三角矩陣來儲存圖型,此方式可節省儲存空間,並由左到 右、上到下產生出矩陣編碼,同時根據字典編纂順序(Lexicographic Order),使得 圖型同構會具有相同的矩陣編碼,其稱為 CAM (Canonical Adjacency Matrix)。

FFSM 成長方式有兩種,其一是以往由兩兩圖型具有相同性質的 n-1 條邊組合方 式,另一個延伸方式是補足因為組合所無法產生的圖型樣式,因此增加了延伸的 方式,其延伸的方式需要在 CAM 的最後一個點經過成長步驟,FFSM 會對已產 生的圖型樣式做重新排列,確保成長過程中不需要圖型同構的檢查。也因為 FFSM 採用了資訊內嵌的方式來記錄圖型拜訪的資訊,這是為了加速組合及延伸的成長 方式,能夠輕易做交集運算,但要不停更新內嵌的資訊。

GASTON[18]利用內嵌資訊的方式儲存所有列舉圖型樣式,以減少子圖同構 的檢查,其效率遠比上述方法更好,原因於 GASTON 分為三個階段(路徑、樹、

以及包含迴圈的圖型)各自處理,在前面兩個階段要進行重複列舉的檢查比一般圖 型探勘要簡單且快速,在最後圖型的檢查時,也只需考慮會形成迴圈之子圖樣式,

並依照自定義順序加入,更可以減少圖型同構的檢查,最後儲存時檢查圖型同構 是否重複,將重複的部分刪除。簡而言之,將圖型成長樣式分為這三個區塊,將 每個區塊各自的問題最佳化解決,無非使 GASTON 成為有效率的圖型探勘演算 法。

相關文件