This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: 3.11 Applications of Flows 143 of value M in N : x sv i = a i , x v 00 i t = b i , for each i = 1 , 2 ,...,n and x v i v 00 j equals one if v i v j ∈ A * and zero otherwise. Suppose now that x is an integer ( s,t )flow of value M in N and let A * = { v i v j : x v i v 00 j = 1 } . Then D = ( V,A * ) is the desired subdigraph. It follows from our arguments above that we can find the desired subdi graph D in polynomial time using any polynomial algorithm for finding a maximum flow in a network. Observe also that, if we have a cost function c on the arcs of D and let N inherit costs in the obvious way (arcs incident to s or t have cost zero), then finding a minimum cost subdigraph D can be solved using any algorithm for minimum cost flows. ut It follows from Theorem 3.11.5 that we can decide whether a given digraph has a spanning kregular subdigraph for some specified natural number k in polynomial time. In fact, using minimum cost flows we can even find the cheapest such subdigraph in the case that there are costs on the arcs. What happens if we do not require the regular subdigraph to be spanning? If k = 1, then the existence version of the problem is trivial, since such a subdigraph exists unless D is acyclic. Yannakakis and Alon observed that already when k ≥ 2 the existence version of the problem becomes NPcomplete. For details see [279]. 3.11.4 PathCycle Factors in Directed Multigraphs We saw in the last subsection that we can use flows to find a cycle factor in a given digraph or to prove that none exists. We now show that flows are in fact very useful for studying the more general pathcycle factors in digraphs. Finding this type of subdigraph is an important ingredient in several polyno mial algorithms for hamiltonian path and cycle algorithms for generalizations of tournaments (see Chapter 5). We start with three necessary and sufficient conditions for the existence of a cycle factor in a digraph. The reason for giving all three is that in certain cases one of them provides a better way to deal with the problem under consideration than the other two. The first two parts are given in Ore’s book [595]; the last is due to Yeo [748]. Proposition 3.11.6 Let D = ( V,A ) be a directed multigraph. (a) D has a cycle factor if and only if the bipartite representation BG ( D ) of D contains a perfect matching. (b) D has a cycle factor if and only if there is no subset X of V such that either  S v ∈ X N + ( v )  <  X  or  S v ∈ X N ( v )  <  X  . (c) D has a cycle factor if and only if V cannot be partitioned into subsets Y , Z , R 1 , R 2 such that ( Y,R 1 ) = ∅ , ( R 2 ,R 1 ∪ Y ) = ∅ ,  Y  >  Z  and Y is an independent set. 144 3. Flows in Networks Proof: (a): The reader was asked to prove (a) in Exercise 1.62, but we give the proof here for completeness. Suppose BG ( D ) has a perfect matching consisting of edges v 1 v 00 π (1) ,...,v n v 00 π ( n ) , where π is a permutation of the set { 1 ,...,n } . Then the arcs....
View
Full
Document
 Spring '11
 Algorithms

Click to edit the document details