當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python cugraph.community.ktruss_subgraph.ktruss_subgraph用法及代碼示例


用法:

cugraph.community.ktruss_subgraph.ktruss_subgraph(G, k, use_weights=True)

返回特定 k 的圖的 K-Truss 子圖。

注意:此函數目前在 CUDA 11.4 係統上不可用。

圖的k-truss 是一個子圖,其中每條邊都是至少 (k-2) 個三角形的一部分。 K-trusses 用於在圖中查找緊密編織的頂點組。 k-truss 是圖中 k-clique 的鬆弛,在 [1] 中定義。尋找派係對計算的要求很高,並且找到最大的 k-clique 已知為 NP-Hard。

相比之下,找到k-truss 在計算上是易於處理的,因為它的關鍵構建塊,即三角形計數計數,可以在多項式時間內執行。通常,三角形計數需要多次迭代才能找到圖形的k-truss。然而,這些迭代在弱單調收縮圖上運行。因此,可以在相當合理的時間內找到圖表的k-truss。 cuGraph 中的解決方案基於 [2] 中首次顯示的 GPU 算法,並使用 [3] 中的三角形計數算法。

參數

GcuGraph.Graph

帶有連接信息的 cuGraph 圖說明符。 k-Trusses 僅針對無向圖定義,因為它們是針對圖中的無向三角形定義的。

kint

用於提取 k-truss 子圖的所需 k。

use_weights布爾,可選(默認=真)

如果 G 有邊權重,則輸出是否應包含邊權重

返回

G_trusscuGraph.Graph

具有給定 k 的 k-truss 子圖的 cugraph 圖說明符。

參考

[1] Cohen, J.,“桁架:社交網絡分析的內聚子圖”,國家安全局技術報告,2008 年

[2] O. Green、J. Fox、E. Kim、F. Busato 等人。 “在幹草堆中快速找到桁架”IEEE 高性能極限計算會議 (HPEC),2017 https://doi.org/10.1109/HPEC.2017.8091038

[3] O. Green、P. Yalamanchili、L.M. Munguia,“GPU 上的快速三角形計數”不規則應用:架構和算法 (IA3),2014

例子

>>> gdf = cudf.read_csv(datasets_path / 'karate.csv', delimiter=' ',
...                     dtype=['int32', 'int32', 'float32'], header=None)
>>> G = cugraph.Graph()
>>> G.from_cudf_edgelist(gdf, source='0', destination='1')
>>> k_subgraph = cugraph.ktruss_subgraph(G, 3)

相關用法


注:本文由純淨天空篩選整理自rapids.ai大神的英文原創作品 cugraph.community.ktruss_subgraph.ktruss_subgraph。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。