简体   繁体   English

未加权有向图中的最小非相交简单循环数

[英]Minimum number of non-intersecting simple cycles in unweighted directed graph

I decided to try implement some assignment problem algorithms.我决定尝试实现一些分配问题算法。 I already did some, but I got stuck on the problem described below:我已经做了一些,但我遇到了下面描述的问题:

To put it simply, I need to cover all its vertices with the minimum number of non-intersecting simple cycles.简单地说,我需要用最少数量的非相交简单循环覆盖它的所有顶点。

But I don't understand how, does anyone have any ideas?但我不明白怎么做,有人有什么想法吗? I would be especially glad to see an explanation.我会特别高兴看到解释。

This problem is NP-hard via a reduction from the Hamiltonian cycle problem.这个问题是通过从哈密顿循环问题减少而来的 NP-hard 问题。 More specifically, if a graph has a Hamiltonian cycle, then you can cover all the vertices with a single simple cycle, namely the Hamiltonian cycle, and otherwise the graph requires multiple cycles to cover its nodes (if it can even be done at all).更具体地说,如果一个图有一个哈密顿循环,那么你可以用一个简单的循环覆盖所有顶点,即哈密顿循环,否则图需要多个循环来覆盖它的节点(如果它甚至可以完成的话) .

As a result, unless P = NP, there are no polynomial-time algorithms for this problem.因此,除非 P = NP,否则没有针对此问题的多项式时间算法。 You can still solve it using either heuristic searches or brute force, but those approaches won't necessarily be fast on all inputs.您仍然可以使用启发式搜索或蛮力来解决它,但这些方法不一定在所有输入上都很快。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM