假设我们有一个有向图G = (V,E),我们想要找到一个图G' = (V,E'),它具有以下特性:
1. G'与G具有相同的连通分量。 2. G'与G具有相同的分量图。 3. E'被最小化。也就是说,E'尽可能小。
首先,运行强连通分量算法。现在我们有了强连通分量。现在进入每个强连通分量,在该SCC内形成一个简单的循环;也就是说,只重复起始/结束节点的循环。这将最小化每个SCC内的边缘。
现在,我们需要最小化SCCs之间的边缘。不幸的是,我想不出一种方法来做到这一点。
我的两个问题是:(1) 在最小化SCCs之间的边缘部分之前,算法是否正确?(2) 如何最小化SCCs之间的边缘。
对于(2),我知道这等价于最小化DAG中的边数。(将SCCs视为顶点)。但这似乎对我没有帮助。
1. G'与G具有相同的连通分量。 2. G'与G具有相同的分量图。 3. E'被最小化。也就是说,E'尽可能小。
首先,运行强连通分量算法。现在我们有了强连通分量。现在进入每个强连通分量,在该SCC内形成一个简单的循环;也就是说,只重复起始/结束节点的循环。这将最小化每个SCC内的边缘。
现在,我们需要最小化SCCs之间的边缘。不幸的是,我想不出一种方法来做到这一点。
我的两个问题是:(1) 在最小化SCCs之间的边缘部分之前,算法是否正确?(2) 如何最小化SCCs之间的边缘。
对于(2),我知道这等价于最小化DAG中的边数。(将SCCs视为顶点)。但这似乎对我没有帮助。