图分区的常见问题是将图(或网格)分成两个分区。
根据其 Github 存储库的 README 文件,KaHyPar支持递归二分法和直接 k-way 分区。
我认为递归二分法只是对由产生两个分区的分区算法产生的图的分区的递归应用,而直接k路分区可能不使用递归,但它只是一种试图将图直接划分为的算法所需的分区数。
如果这是正确的,这两种方法之间还有其他区别吗?如果不是,这两种方法有什么区别?顺便说一句,整个文献中的术语是否一致?
图分区的常见问题是将图(或网格)分成两个分区。
根据其 Github 存储库的 README 文件,KaHyPar支持递归二分法和直接 k-way 分区。
我认为递归二分法只是对由产生两个分区的分区算法产生的图的分区的递归应用,而直接k路分区可能不使用递归,但它只是一种试图将图直接划分为的算法所需的分区数。
如果这是正确的,这两种方法之间还有其他区别吗?如果不是,这两种方法有什么区别?顺便说一句,整个文献中的术语是否一致?
您的直觉是正确的——二分法将(超)图一分为二,递归二分法反复应用此策略,直到进行所需的切割次数。另一方面,直接分区试图立即划分图。
两者之间的部分分歧是历史性的。一些最早成功的图分区启发式算法是基于二等分而不是直接分区。这些二等分方法基于使用图拉普拉斯算子的第二个特征函数(Fielder 向量)。如果您想搜索该术语,则此技术称为光谱二分法。这里也有一些关于光谱二等分的非常好的注释. 在任何情况下,如果分区的数量是 2 的幂,您可以递归地应用频谱二等分并获得可用的(如果不一定是最佳的)分区,但是对于任意数量的分区,如何进行并不立即显而易见。用于直接划分图的良好启发式方法只是后来才出现。他们中的许多人建立在谱图分割背后的思想之上,即不仅使用图拉普拉斯算子的第二个特征函数,而且还使用了许多特征函数。
如今,仍然使用相同的核心思想,尽管借鉴了线性系统的多重网格方法的思想;这就是METIS中底层算法的工作原理。