当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。