【问题标题】:Weighted n-coloring problem algorithms加权 n 着色问题算法
【发布时间】:2010-10-20 04:34:14
【问题描述】:

我有 100 个顶点和一个计算顶点 x 和顶点 y 之间边的权重的函数 f(x,y)。 f 并不是特别昂贵,因此如果需要,我可以生成一个带权重的索引邻接列表。

通过最小化或最大化连接相同颜色顶点的所有边的权重之和来优化这些顶点的 n 着色有哪些有效且易于处理的方法?

我想模拟退火在这种情况下会很有用。

代码包的链接也非常有用,所以我不必重写轮子!

谢谢!

【问题讨论】:

  • 您似乎无法同时最大化或最小化所有颜色...

标签: algorithm optimization graph


【解决方案1】:

NetworkX 是一个非常方便的用于试验图形的 python 包。如果你更喜欢 C++,还有 boost,但是在 NetworkX 之后在 boost 中使用图表会显得非常笨拙。

模拟退火不是一个坏主意。您可以先进行常规着色以找到有助于指导搜索的下限。不过,您应该更准确地定义您的问题。您的意思是为传入边的总和选择一些枢轴值并尝试围绕枢轴划分颜色吗?

【讨论】:

  • 感谢您的推荐 - 我会检查一下!我不认为我试图围绕总和的价值。我试图绝对最大化总和。基本上,着色的质量等于着色相同的顶点之间的边的总和。我正在尝试最大限度地提高着色质量。
  • 通常在en.wikipedia.org/wiki/Graph_coloring 中不会有“颜色相同的顶点之间的边”。你的意思是你想最大化边缘的权重接触相同颜色的顶点?
  • 不,在这种情况下,图是完整的,因此每个顶点之间和所有顶点之间都有边。没错,我正在重新解释传统的“图形着色”问题,其中邻接列表具有二进制值(边存在或不存在)。在这种情况下,边是整数,表示将顶点着色相同的成本或收益。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-21
  • 1970-01-01
  • 2014-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多