寻找超图最小顶点覆盖的软件

计算科学 优化 图论 组合学
2021-12-05 07:57:06

超图H=(V,E)由一组有限的顶点组成,比如说V={1,,n}和一组超边EP(V). 我们称之为H一种k- 超图如果全部|e|=k对所有人eE. 一个顶点覆盖H是一个集合VV这样对于所有人eE有一些vV这样ve. 我希望通过计算解决的问题是找到一个最小尺寸的顶点覆盖(最小顶点覆盖)k- 超图k>2.

是否有任何软件(例如 Python 包)可以解决这个问题k-超图H? 对于普通图(2 超图),Mathematica具有函数FindVertexCover,但它似乎不支持具有更高基数边的超图。我可以编写自己的程序来解决这个问题,但是,由于找到最小顶点覆盖的问题很难,如果有人能找到已经实现了大多数当前已知优化的东西,我会更喜欢它。

1个回答

我通常将SageMath用于与图表相关的研究工作但是,我无法找到一个现成的算法来找到超图的最小顶点覆盖(参见相应名称的小节)

无论如何,将 Sage 与 Python 一起使用应该会大大简化您的生活,因为它可以访问许多方便且经过测试的图论数据结构和算法。

现在,关于顶点覆盖。我偶然发现了以下公开的博士学位。论文:

在那里,在附录 D 中,作者有用于顶点覆盖计算的代码(Python+Sage 由 C++ 生成),它应该处理超图(因为它被表述为覆盖理想,请参阅第 6.1 节“超图的边缘和覆盖理想”) . 我自己没有使用过该代码,但这是迄今为止我所了解的最好的代码。