【发布时间】:2020-01-14 21:54:19
【问题描述】:
给定一个图,是否有一种有效的算法来为它的顶点着色,使得任何两个相邻的顶点是不同的颜色,并且任何两个不相邻的顶点是相同的颜色,并且用最少的颜色数量来做到这一点?
我意识到的是,除了图没有边的琐碎情况,它必须是连通的,否则这样的着色是不可能的:取任何现有的边uv,很明显任何其他顶点x必须是连接到其端点之一,否则 color(x) = u 和 color(x) = v,与 color(u) != color(v) 相矛盾。
关于如何解决这个问题的任何其他想法?
【问题讨论】:
-
这看起来像是图论问题,而不是编码问题
-
这是一道算法题。那你建议我把它贴在哪里?
-
如果您考虑带有边集补集的图形,这会更容易,即当顶点不在原始图形中时它们是相邻的,反之亦然。
-
@cupcake111680 我认为这些中的任何一个都会更好math.stackexchange.com 或mathoverflow.net 或datascience.stackexchange.com 或scicomp.stackexchange.com 我对这些没有那么积极,所以你应该探索他们中的哪一个会成为我认为的最佳选择。
-
这是一个NP完全问题Chrommatic number