C++ 图顶点着色库或源代码

问题描述 投票:0回答:4

是否有一个 C++(或任何其他语言)库,其中包含解决图形着色问题的算法组合?

当然有幼稚的贪婪顶点着色算法,但我对更有趣的算法感兴趣,例如:

  1. wiki 的“精确算法”部分提到的算法
  2. 利用特殊图形属性的近似算法,例如图形是
  3. 平面单位圆盘图
  4. 找到图形的
  5. 分数着色的算法。
最后一项对我来说特别重要。

到目前为止我发现的是

此页面上的列表,但它们都没有上述任何算法。此外,最好的一个是 Joe Culberson 的图形着色代码,它是在 90 年代末实现的,因此在没有记录的 API 方面已经非常过时了(并不是说这对于这个问题的内容很重要,但我认为我会提一下)。

有一个

Koala 图形着色库,它具有我正在寻找的精神,但是如果你查看他们的 源代码,它还没有兑现承诺。它似乎处于开发的早期阶段。

其他通用图形库在

这个 stackoverflow 问题中提到。它们包括:

  1. 图形可视化
  2. Boost 图形库
  3. 柠檬
  4. igraph
  5. OGDF
我应该注意,我使用

Boost Graph Library 来做很多事情。事实上,它提供了一种简单的顶点着色实现。 Joe Clberson 的代码(上面提到的)的作用远不止于此。

以下是我发现(并在大多数情况下测试过)的图形着色代码列表,但它们在上述三个算法类方面仍然大多不足。

  1. GraphCol - 文档不是英文的,叹息。
  2. Planarity - 包含一种着色算法,可保证平面图的 5 种着色或更好。
  3. 图形着色 - 似乎是 Joe Culberson 已经实现的少量算法的重新实现(上图)。
c++ algorithm graph graph-theory
4个回答
3
投票
http://rhydlewis.eu/gcol/

有一些不错的。这些对应于我书中审查和测试的算法组合: Lewis, R. (2021)

图形着色指南:算法和应用

(第二版)。施普林格。国际标准书号:978-3-030-81053-5。 https://link.springer.com/book/10.1007/978-3-030-81054-2 其中包括贪婪、回溯和元启发式方法。我在上面的链接中包含了编译说明等。


1
投票
Boost Graph Library

来帮助自己。


0
投票
GCol

是一个用于图形着色的开源 Python 库。它具有精确的启发式算法,用于节点着色、边缘着色、公平着色、加权着色、预着色和最大独立集识别。 完全披露:我编写并维护了该库。它基于我 2021 年的书:

Lewis, R. (2021)

图形着色指南:算法和应用

(第二版)。施普林格。国际标准书号:978-3-030-81053-5。


-1
投票
CXXGraph

库。它包含一些关于 Graph 的有用算法

© www.soinside.com 2019 - 2024. All rights reserved.