Many algorithms which exactly solve hard problems require branching on more or less complex structures in order to do their job. Those who design such algorithms often find themselves doing a meticulous analysis of numerous different cases in order to identify these structures and design suitable branching rules, all done by hand. This process tends to be error prone and often the resulting algorithm may be difficult to implement in practice. In this work, we aim to automate a part of this process and focus on simplicity of the resulting implementation. We showcase our approach on the following problem. For a constant $d$, the $d$-Path Vertex Cover problem ($d$-PVC) is as follows: Given an undirected graph and an integer $k$, find a subset of at most $k$ vertices of the graph, such that their deletion results in a graph not containing a path on $d$ vertices as a subgraph. We develop a fully automated framework to generate parameterized branching algorithms for the problem and obtain algorithms outperforming those previously known for $3 \le d \le 8$. E.g., we show that $5$-PVC can be solved in $O(2.7^k\cdot n^{O(1)})$ time.
翻译:真正解决难题的多种算法都要求以多或少复杂的结构进行分支化,以便完成任务。设计这种算法的人往往发现自己对许多不同的案例进行了仔细分析,以便确定这些结构,设计适当的分支规则,所有这些都是手工完成的。这一过程往往容易出错,因此产生的算法可能难以在实践中实施。在这项工作中,我们的目标是使这一过程的一部分自动化,并侧重于由此产生的实施过程的简单性。我们展示了我们对于以下问题的方法。对于一个不变的 $ 美元, 美元- Path Vertex 覆盖问题 $d- PVC 的问题如下: 在未定向的图表和整数美元的情况下, 找到一个最多为 $k$ 的图表子项, 以便其删除结果在图表中不包含以美元为顶点的路径, 作为子图。 我们开发一个完全自动化的框架, 以生成问题参数化的分支化算法, 并获得比以前已知的3\le d\ le 8$. E. g. 我们显示5- PV\\\\\\ y time.