【问题标题】:Algorithm to Partition Graph into groups将图划分为组的算法
【发布时间】:2013-11-27 01:23:00
【问题描述】:

我正在寻找一种算法,将图划分为最大大小为 n 的顶点组(如果它是自己的图,则每个顶点都是连接的),同时保持组的数量最小化。我需要此算法将 delaunay 三角剖分划分为每个区域中顶点数相等的区域。如果有人对解决这个问题有更好的想法,请告诉我!

【问题讨论】:

    标签: algorithm optimization graph-theory partitioning delaunay


    【解决方案1】:

    您似乎正在寻找统一k-way graph partitioning problem 的解决方案,其中,给定图形G(V,E),目标是将顶点集V 划分为一系列k 不相交的子集@ 987654326@ 使得每个子集Vi 的大小约为|V|/k。此外,通常需要“好的”分区,其中任何两个子集ViVj 之间的边权重之和被最小化。

    首先,众所周知,这个问题是NP-complete,排除了高效精确算法的存在。从好的方面来说,已经开发了许多有效的启发式方法,它们在许多实际问题上表现良好。

    具体来说,基于迭代多级方法的方案在实践中非常成功。在这样的方法中,通过逐渐合并相邻顶点以在层次结构的每个级别形成较小的“粗略”图来创建图的层次结构。当粗略图变得足够小时,就会形成一个初始分区,然后这个分区会沿着层次结构“映射”回原始图。分区的迭代细化通常作为此映射过程的一部分执行,通常会导致伪最优分区。

    此类算法的实现并不简单,但许多现有的包都支持此类例程。具体来说,METIS 包被广泛使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-25
      • 1970-01-01
      • 2017-11-20
      • 2021-11-03
      • 1970-01-01
      • 2012-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多