圖數據庫核心算法
時間:2022-03-27 07:18:01 | 來源:行業(yè)動態(tài)
時間:2022-03-27 07:18:01 來源:行業(yè)動態(tài)
圖數據庫算法是一系列的函數,用于計算圖、圖內頂點及其相互關系的指標和特征。 它可以從內部揭示出某個圖中的各個實體之間的角色及其關聯(lián)關系。
TigerGraph GSQL圖算法庫包含了一系列性能卓越的GSQL查詢,所以GSQL的圖形算法本質上是GSQL查詢。每種算法都可以作為一個獨立的查詢使用,而每個查詢都可以實現(xiàn)某種標準的圖算法。
在算法運行中,用戶可以選擇三種不同格式的輸出結果,包括 JSON格式流輸出、 輸出值寫入表格類文件,以及保存為頂點屬性值。
目前,GSQL的圖形算法庫中開源的核心算法可分為三類:路徑搜尋的算法、衡量中心度的算法以及衡量群體度的算法。
路徑搜尋的算法,用于幫助用戶找到最短路徑或評估某條路徑的可行性或質量。其中主要包括:
- 無權重單起點最短路徑算法(Single-Source Shortest Path)。這種算法在大量應用中都有廣泛運用,例如估計事件影響、評估知識傳播,或者用于調查犯罪的方法等。
- 含權重單起點最短路徑算法(Single-Source Shortest Path)。 這種算法在尋找更優(yōu)路線的應用中非常普遍,例如在GPS導航的路徑規(guī)劃中尋找兩個地點之間的最短路徑。
衡量中心度的算法,用于幫助確定網絡中某個頂點對于總體的重要性,可以用來解釋位置有多靠中心這樣的問題。其中主要包括:
- 頁面排名算法(PageRank)。這種算法主要用于測量每個頂點對于其他頂點的影響力,例如能夠揭示個人在社交網絡中的社會影響力大小、尋找復雜網絡分析中的源頭和權威性等。
- 接近中心度算法(Closeness Centrality)。這種算法可以幫助精確地衡量某一個頂點到底多靠近中心,例如在復雜的社交網絡中,確定出中心度越高的個體,越有可能是網絡中的一個中心。
衡量群體度的算法,主要用于評估一個網絡結構中個體組合或分裂的程度,同時也能夠獲得網絡的組織程度正在加強或削弱的趨勢。其中主要包括:
- 連通分量算法(Connected Components)。這種算法能夠幫助確定互相連通的一組頂點和邊的最大范圍,例如在社會網絡分析領域用于尋找網絡中的有聯(lián)系的小團體或個體。
- 標簽傳播算法(Label Propagation)。這種算法是一種啟發(fā)性算法,利用頂點間的關系建立關系完全圖模型,用于確定社群內部關系,例如廣泛地應用到多媒體信息分類、虛擬社區(qū)挖掘等領域。
圖:TigerGraph算法庫總覽