查找图形的最小顶点着色

时间:2019-12-08 18:48:09

标签: algorithm networkx graph-coloring

我想通过将NetworkX中的Sudoku难题简化为顶点着色问题来解决。图形具有Sudoku网格的每个单元的顶点,并且当且仅当相应的单元属于同一行,列或块时,两个顶点才相邻。线索由图中的其他边表示,图表的9种颜色表示解决难题的方法。

但是,似乎NetworkX中的所有顶点着色算法都是启发式的,因此不能保证找到最小的顶点着色。在我的实验中,即使知道存在9种颜色,我也可以得到10种颜色的顶点着色。

如何使用NetworkX找到最小的顶点着色?

1 个答案:

答案 0 :(得分:1)

很遗憾,networkx中没有chromatic number problem的确切算法。
这意味着您必须自己实现(或找到一些可用的实现)。

您可以使用精确的算法(例如Lawler算法),也可以使用基于ILP的算法。