用于组合优化问题的树搜索库

hig*_*dth 5 optimization graph-theory a-star generic-programming tree-search

我注意到我遇到的一些“困难” 组合问题可以用某种类型的树搜索来表示,例如 alpha-beta 剪枝、波束搜索或类似的算法。然而,对它们进行编程似乎是重复编码相同的东西,而且也很容易出错。在我看来应该有一个库来实现这些算法,而我应该被要求写的是

  1. 解决方案的编码,即如何从不完整的解决方案中获得更具体的解决方案。这将给出树/图结构。
  2. 给定部分解决方案,如何获得最大/最小成本,以及可能的成本估计。
  3. 初始解决方案/部分解决方案。
  4. 也许是某种验证解决方案。

很抱歉我没有给出任何具体的代码,但我想我已经解释了这个问题。如果我可以为上述函数编写代码,我是否应该能够轻松运行许多树/图搜索算法?是否有任何用户友好的库/框架可以轻松支持这一点?我希望它能用 Python 或 C/C++ 编写,但也有兴趣听到任何建议。

编辑:更准确地说,我正在谈论知情树搜索算法。

Fan*_*ius 1

Fuego 是一个开源蒙特卡洛树搜索(与 alpha-beta 树搜索相反)平台,可以针对 2 人全信息游戏(最初是为了针对围棋而创建的)。它甚至可能比这更普遍。

http://fuego.sourceforge.net/

编辑:我刚刚了解到它还具有 alpha-beta 搜索器。这是最近的一篇论文: http://webdocs.cs.ualberta.ca/~mmueller/ps/fuego-TCIAIG.pdf