我正在寻找一种算法来将图分成最大大小为n的顶点组(每个顶点都是连接的,如果它是自己的图),同时保持组数最小化。我需要这个算法来将delaunay三角剖分分割成每个区域中顶点数相等的区域。如果有人有解决这个问题的更好的想法,让我知道!将图分成图组的算法
3
A
回答
7
看来你正在寻找一个解决方案来统一k-way graph partitioning problem,其中,给定图G(V,E)
,我们的目标是分区顶点集V
成一系列的k
分离子集V1, V2, ..., Vk
使得各个子集的大小Vi
大约是|V|/k
。另外,通常需要“好”分区,其中任何两个子集Vi
和Vj
之间的边权重的总和被最小化。首先,众所周知的是,这个问题是完全的,排除了高效精确算法的存在。另一方面,已经开发了许多有效的启发式方法,在许多实际问题上表现得相当出色。
具体来说,基于迭代多级方法的方案在实践中已经非常成功。在这样的方法中,通过递增地合并相邻的顶点来创建图的层次结构,以在层次结构的每个层上形成较小的“粗略”图。初始分区在粗略图变得足够小时形成,然后该分区“映射”回层次结构到原始图上。分区的迭代改进通常作为该映射过程的一部分来执行,通常导致伪最优分区。
这种算法的实现是非平凡的,但一些现有的软件包支持这样的例程。具体来说,METIS包被广泛使用。
相关问题
- 1. 算法将列表分成组
- 2. 二分图算法
- 3. 拆分图算法
- 4. 算法将一组对象分成一定数量的组?
- 5. 地图生成算法
- 6. C#算法重构将数组分成3部分?
- 7. 图算法负载分配
- 8. 群组成员分配算法
- 9. 将图像分成区域
- 10. 将图片分割成多个图片
- 11. Java - 将图像分成4张图像
- 12. 将图像分割成多张图像
- 13. 将多个图组合成单个图
- 14. 将两个图组合成一个图
- 15. 生成alpha图片轮廓的算法?
- 16. 生成区间图的算法
- 17. 组生成算法?
- 18. 将图像分组到一个图像
- 19. 并行/集群图节点分组的高效算法
- 20. CAD的分解视图算法
- 21. 过度分割图像的算法
- 22. Delphi的时间图分裂算法
- 23. MATLAB中的图像分割算法
- 24. 查找图算法的封闭部分
- 25. 子分组算法
- 26. Java分组算法
- 27. 将文本分组为段算法
- 28. 算法:将孩子分组为四人
- 29. olap4J - 计算成员分组
- 30. 如何将图像分成2部分?