210 likes | 416 Views
Computing Minimum Directed Feedback Vertex Set in O(1.9977 n ). Igor Razgon Computer Science Department University College Cork Ireland. Definitions.
E N D
Computing Minimum Directed Feedback Vertex Set in O(1.9977n) Igor Razgon Computer Science Department University College Cork Ireland
Definitions Directed Feedback Vertex Set (DFVS) is a subset of vertices of a directed graph which participates in all the directed cycles. A minimum DFVS is the smallest possible DFVS. The complement of a minimum DFVS is a Maximum Acyclic Subset (MAS), i.e. the largest subset of vertices inducing a Directed Acyclic Graph (DAG) In the above graph, black vertices form a minimum DFVS, white vertices form a MAS
Overview Computing a minimum DFVS is a well-known NP-hard problem A minimum DFVS can be computed straightforwardly by exploring all 2n subsets of vertices of the given graph We propose an algorithm computing a minimum DFVS in O(1.9977n) The proposed algorithm computes a MAS of the given graph. A minimum DFVS is obtained by taking the complement of the returned MAS
A general template of the Branch-and-Prune (B&P) algorithm for computing the largest subset of vertices of the given graph G subject to the given property ALG(G) 1) Do the preprocessing. 2) If G satisfies a stopping condition then compute the desired set efficiently and return it 3) Select a vertex v of G (Remark: this arbitrary vertex selection may be replaced by a particular rule for the given problem) 4) Let G1be the residual graph obtained from G by the selection of v (Remark: the structure of the residual graph depends on the considered problem. ) 5) S1:={v} U ALG(G1) 6) S2:=ALG(G\v) 7) Return the largest set among S1 and S2
Complexity EvaluationMethod of real pruning Applicable when |V(G)|-|V(G1)|>1 Denote by T(n) the complexity of ALG applied to a graph with n vertices Then T(n)=T(n-k)+T(n-1) where k=min(|V(G)|-|V(G1)|) T(n)=O(cn) where c-k+c-1=1 Remark: For example, for the Maximum Independent Set problem, we can always select a vertex of degree at least 3 (otherwise the problem can be solved efficiently). This means that min(|V(G)|-|V(G1)|)=4. Accordingly T(n)=T(n-4)+T(n-1)=O(1.3803n)
Complexity EvaluationMethod of amortised pruning For many problems, it is hard to guarantee that every node of the search tree is associated with a real pruning operation. For these problems, assessment by the real pruning method would not result in anything better than O(2n). To make the assessment more precise, the vertices are associated with weights. At every branch, the weights of the vertices which are likely to be removed in the near future are decreased. Thus the effect of vertex removal is amortised among many iterations yet retaining the ability to decrease the overall complexity
Complexity EvaluationMethod of amortised pruning (cont.) Let m be the sum of weights of vertices of graph G, T(m) be the complexity of ALG(G) in terms of m. Then T(m)=T(m-k1)+T(m-k2) where k1 and k2 are the minimal weight reduction on the first and second branches, respectively. T(m)=O(cm) where c-k1+c-k2=1. Let d be the largest weight of a vertex. Then T(m)=O(cdn). The weights are selected so that cd<2.
Back to the Computing of MASSpecifying the components of the B&P algorithm The preprocessing removes all loop vertices. The stopping condition is that graph G is acyclic. The residual graph is obtained from G by removal of the selected vertex v and making each entering neighbour of v an entering neighbour of each leaving neighbour of v.
Real pruning actions which may be caused by variable selection A cycle of length 2 induced by vertices u and v. Selection of u causes removal of v. A vertex u with out-degree (or in-degree) at most 3 If u is removed then at least one its leaving neighbour and at least one entering neighbour have to be selected.
The terminology related to the weight reduction operations The weight of a vertex depends on its category. The vertices with the initial weight are unmarked. The vertices whose weight is reduced are marked. The marked vertices are partitioned into a number of subcategories, most important of them are left-marked and right-marked
Initial weight reduction On the selection branch - four of the entering neighbours of the selected vertex are made left-marked - four of the leaving neighbours of the given vertex are made right-marked
Invariant properties of left-marked and right-marked vertices Each left-marked vertex is an entering neighbour of each right-marked vertex. The number of left-marked and right-marked vertices differs by at most 3.
The main branching rule of weight reduction(designed to preserve the invariants) If there are no more left-marked vertices than right-marked ones then a left-marked vertex is selected. Otherwise a right-marked vertex is selected. On selection of a left-marked vertex v, four entering unmarked are made left-marked. The residual graph creation rule makes them entering neighbours of all the right-marked vertices, preserving the first invariant. Selection of a right-marked vertex is symmetric, only leaving neighbours are considered instead entering ones. One removal of a vertex, one vertex of the other side is made unmarked to preserve the second invariant.
Why are the invariant properties helpful? Eventually one of the following two cases occur: 1) There is an edge from a right-marked vertex to a left-marked vertex. 2) There is no path from right-marked vertices to left-marked vertices. In the first case a cycle of length 2 occurs, according to the first invariant. In the second case, left-marked and right-marked vertices belong to different strongly connected components. The second invariant helps to handle them efficiently.
Handling the case where left-marked and right-marked vertices belong to distinct strongly connected components First branch. Select a left-marked vertex u and a right-marked vertex v. Second branch. Remove u and v. For each component select the largest MAS obtained on the branches and return their union. Remark. The real pruning effect is achieved on the account of selection (or removal) of two vertices per branch instead only one. Although these vertices have lost some of their weight, this pruning effect is sufficient for breaking the O(2n) barrier
Handling the case where left-marked and right-marked vertices belong to distinct strongly connected components (cont.) The above process repeats until one of the sides is empty. Then the “redundant” vertices on the bigger side are unmarked, i.e. their weight is increased and the algorithm is applied to the remaining graph from its initial phase. Remark.If there are too many redundant vertices, their unmarking neutralizes the pruning effect achieved by the previous weight reduction. Hence, it is important that the number of left-marked and right-marked vertices is approximately equal, what is guaranteed by the second invariant.
The main obstacle to the proposed weight reduction method Occurs if, for example, it is the turn to select a left-marked vertex but all left-marked vertices have -at most 3 unmarked entering neighbours -many left-marked entering neighbours. This case is bad because - the weight reduction of a small number of unmarked vertices is insufficient for breaking the O(2n) barrier -many left-marked entering neighbours do not allow to apply the pruning rule for the case with a small number of entering neighbours.
A way to overcome the obstacle Branch over selection/non-selection of all subsets of {v1,v2,v3}. One the branch where all the vertices of {v1,v2,v3} are removed, further reduce the weight of u by relating it to the category of left-marked disconnected vertices. Remark. We prove that if all vertices of either side become disconnected then left-marked and right-marked vertices belong to distinct strongly connected components, which causes a real pruning operation. However, the achieved pruning effect is tiny because the above operation admits weight reduction only on one branch out of 8. This is the reason why the resulting runtime is close to O(2n).
Concluding Remarks An O(1.9977n) algorithm for computing MAS (and minimum DFVS) is proposed. The tiny improvement over O(2n) is caused by one bad case. That the algorithm can get non-strongly connected during execution of the algorithm is heavily used for the complexity evaluation. As a consequence, the algorithm can be applied for faster enumeration of all minimal DFVSes but cannot guarantee any non-trivial upper bound on their amount.