用法:
cugraph.linear_assignment.hungarian(G, workers, epsilon=None)
针对对称的加权二分图执行匈牙利算法。
作为二分图,图的顶点集可以划分为两个不相交的集合,使得所有边都将一个集合的顶点连接到另一个集合的顶点。工人变量标识一组顶点,另一组是不在工人集中的所有顶点(V - 工人)。
边权重反映了将特定工作分配给工人的成本。
匈牙利算法识别出最低成本的顶点匹配,这样所有可以分配工作的工人都被准确地分配到工作中。
- G:cugraph.Graph
cuGraph 图说明符,应包含连接信息作为边列表。边权重是必需的。如果未提供边列表,则将对其进行计算。
- workers:cudf.Series 或 cudf.DataFrame
一个序列或列,用于标识工作集中顶点的顶点 ID。如果是multi-column 顶点,它应该是一个 cudf.DataFrame。 G 中所有不在工作集中的顶点都被隐式分配给工作集。
- epsilon:float/double(匹配图中的权重),可选(默认=无)
用于确定值何时足够接近零以考虑 0。在 C++ 代码中默认(如果未指定)为 1e-6。不用于整数权重类型。
- cost:匹配 cost.dtype
整体任务的成本
- df:cudf.DataFrame
df[‘vertex’][i] 给出第 i 个顶点的顶点 ID。此列中仅定义工作人员列表中的顶点。
df[‘assignment’][i] 给出分配给相应顶点的“job” 的顶点id。
参数:
返回:
例子:
>>> # Download dataset from https://github.com/rapidsai/cugraph/datasets/.. >>> # M = cudf.read_csv(datasets_path / 'bipartite.csv', delimiter=' ', >>> # dtype=['int32', 'int32', 'float32'], header=None) >>> # G = cugraph.Graph() >>> # G.from_cudf_edgelist(M, source='0', destination='1', edge_attr='2') >>> # cost, df = cugraph.hungarian(G, workers)
相关用法
- Python cugraph.link_prediction.jaccard.jaccard用法及代码示例
- Python cugraph.link_prediction.wjaccard.jaccard_w用法及代码示例
- Python cugraph.link_analysis.pagerank.pagerank用法及代码示例
- Python cugraph.link_prediction.woverlap.overlap_w用法及代码示例
- Python cugraph.link_prediction.overlap.overlap用法及代码示例
- Python cugraph.link_prediction.jaccard.jaccard_coefficient用法及代码示例
- Python cugraph.link_analysis.hits.hits用法及代码示例
- Python cugraph.community.spectral_clustering.spectralBalancedCutClustering用法及代码示例
- Python cugraph.community.ecg.ecg用法及代码示例
- Python cugraph.Graph.from_cudf_adjlist用法及代码示例
- Python cugraph.community.louvain.louvain用法及代码示例
- Python cugraph.tree.minimum_spanning_tree.maximum_spanning_tree用法及代码示例
- Python cugraph.centrality.betweenness_centrality.betweenness_centrality用法及代码示例
- Python cugraph.dask.community.louvain.louvain用法及代码示例
- Python cugraph.traversal.bfs.bfs用法及代码示例
- Python cugraph.community.egonet.batched_ego_graphs用法及代码示例
- Python cugraph.tree.minimum_spanning_tree.minimum_spanning_tree用法及代码示例
- Python cugraph.Graph.from_cudf_edgelist用法及代码示例
- Python cugraph.centrality.betweenness_centrality.edge_betweenness_centrality用法及代码示例
- Python cugraph.components.connectivity.strongly_connected_components用法及代码示例
注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cugraph.linear_assignment.hungarian。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。