kernighan_lin_bisection#

kernighan_lin_bisection(G, partition=None, max_iter=10, weight='weight', seed=None)[源代码]#

使用Kernighan–Lin算法将图划分为两个块。

该算法通过迭代交换节点对将网络划分为两个集合,以减少两个集合之间的边割。这些对是根据Kernighan-Lin的一种改进形式来选择的,它可以单独移动节点,在两边交替以保持平分平衡。

参数
G图表
partition元组

包含初始分区的一对迭代变量。如果未指定,则使用随机平衡分区。

max_iter集成

在放弃之前尝试掉期以找到改进的最大次数。

weight钥匙

要用作权重的边数据关键点。如果没有,则所有权重都设置为1。

seed整数、随机状态或无(默认)

随机数生成状态的指示符。看见 Randomness 。仅在分区为None时使用

返回
partition元组

表示二分的一对节点集。

加薪
NetworkXError

如果分区不是图的节点的有效分区。

工具书类

1

Kernighan,B.W.;Lin,Shen(1970年)。”对图进行分区的有效启发式过程。” 贝尔系统技术杂志 49:291—307。牛津大学出版社2011年。