2. Graph Decomposition
This section describes a connectivity-based decomposition for graphs that do not have a K3,3 minor containing a fixed edge. This decomposition was introduced in Wagner [3]. For the sake of completeness, the key results are presented and proved here.

The notion of connectivity used here is that of Tutte [4]. A k-separation, for a positive integer k, of a connected graph G is a partition {E1,E2} of the edge set of G such that |E1|≥k≤|E2| and the edge-induced subgraphs G[E1] and G[E2] have at most k nodes in common. A connected graph G is k-connected, for k≥2, if it does not have a k′-separation for any k′<k. A k-separation {E1,E2} of a k-connected graph G is an internal k-separation if |E1|≥k+1≤|E2|.

The next theorem is a well-known result of Wagner [5].

Theorem 2.
Let G be a 3-connected graph. Then, G does not have a K3,3 minor if and only if G is planar or isomorphic to K5.

It is sometimes more convenient to work with subdivisions rather than minors. A graph H is a subdivision of a graph K if it can be obtained from K by a sequence of the following operation: replace an edge xy by edges xz and yz, where z is a new node. If a graph G has a subgraph H that is a subdivision of a graph K, then G is said to have a K subdivision. It is well known and easy to prove that a 3-connected graph has a K3,3 subdivision if and only if it has a K3,3 minor.

If a graph H is a subdivision of a graph K, and x and y are nonadjacent nodes of K, then x and y are independent in H. The next lemma is due to Širáň [6].

Lemma 3.
Let G be a 3-connected graph, and let e=xy be an edge of G. If e is not contained in any K3,3 minor of G, then for any K3,3 subdivision H of G, x and y are independent degree-three nodes of H.

In this paper, 2- and 3-separations play a crucial role, as do the related notions of 2- and 3-sums. First, consider a 2-separation {E1,E2} of a 2-connected graph G. Let {p,q}:=V(G[E1])∩V(G[E2]), and let {t} be a set disjoint from E(G). For i∈{1,2}, define Gi to be the graph obtained from G[Ei] by adding t as an edge joining p and q. Then, {G1,G2} is a 2-sum decomposition of the graph G, and t is the connecting edge.

Now, let {E1,E2} be an internal 3-separation of a 3-connected graph G. Let {x,y,z}:=V(G[E1])∩V(G[E2]), and let S be the set of edges of G that have both end nodes in {x,y,z}. Let R be a set disjoint from E(G) such that |R∪S|=3. For i∈{1,2}, construct a graph Gi from G[Ei∪S] by adding the members of R in such a way that T:=R∪S is a triangle of Gi and such that each edge of R has the same ends in G1 as it does in G2. Then, {G1,G2} is a 3-sum decomposition of G, and T is the connecting triangle.

It is well known that if {G1,G2} is a k-sum decomposition of a k-connected graph G, for k∈{2,3} then both G1 and G2 are k-connected and are isomorphic to proper minors of G.

Two special kinds of internal 3-separations are needed. Both are defined for a given 3-connected graph G relative to a fixed edge e.

First, let {E1,E2} be a internal 3-separation of G. If both ends of e are in V(G[E1])∩V(G[E2]), then the 3-separation {E1,E2} is said to be straddled by e. Observe that in this case, e is in the connecting triangle of the corresponding 3-sum decomposition. The notion of a straddling edge can be found in the work of Tseng and Truemper [7]. It is also related to the concept of “contractibility,” which traces back to the work of Tutte [8]. Specifically, an edge of a 3-connected graph is contractible if its contraction results in a 3-connected graph. It is easy to see that an edge is not contractible if and only if it straddles an internal 3-separation.

The second special internal 3-separation is as follows. Let {E1,E2} be an internal 3-separation of G, and suppose E1 has exactly seven edges, say e,f1,…,f6. Suppose further that {e,f1,f2}, {e,f3,f4}, and {e,f5,f6} are triangles of G such that no two of {f1,…,f6} are parallel. Then, G[E1] is a crown, and {E1,E2} is a crown 3-separation of G with respect to e. Observe that the crown G[E1] has three nodes of degree two, which, by the 3-connectivity of G, constitute the set V(G[E1])∩V(G[E2]). It also has two nodes of degree four, which are the ends of e.

Let {E1,E2} be a crown 3-separation of G with respect to e, and let {G1,G2} be the corresponding 3-sum decomposition. If G2 is planar, then G is said to be crown-planar with respect to e. Crown-planar graphs show up in the decomposition established in Theorem 5. In the context of Theorem 5, crown-planar graphs can alternatively be described as being obtained from a 3-connected planar graph by duplicating a degree-three node x, where the fixed edge e joins x to its twin.

Let G be a graph, and H a subgraph of G. Let P be a path of G, the end nodes of which are nodes of H and the internal nodes of which are not nodes of H. Then, the subgraph H∪P of G is said to be obtained from H by adjoining P, and P is an adjoinable path of G with respect to H.

Let G be a graph, and e an edge of G. Let H be a K3,3 subdivision of G, and suppose that e joins two independent degree-three nodes of H. Since K3,3 has nine edges, the graph H consists of nine paths, each of which is a subdivision of an edge of K3,3. The six such paths that share an end with e are called the principal paths of H with respect to e; the remaining three paths are the support paths of H. The K3,3 subdivision H of G is good (resp., bad) with respect to e if all six (resp., at most five) of the principal paths with respect to e consist of a single edge.

Lemma 4.
Let G be a 3-connected graph, and let e be an edge of G. Then, either (i) G has a K3,3 minor that contains e, (ii) G has an internal 3-separation that is straddled by e, or (iii) every K3,3 subdivision of G is good with respect to e.

Proof.
Let e=xy. Suppose that neither (i) nor (iii) holds. If G is planar or isomorphic to K5, then (iii) holds vacuously, and so, Theorem 2 implies that G has a K3,3 minor, and thus a K3,3 subdivision. By Lemma 3, x and y are independent degree-three nodes in every K3,3 subdivision of G. Since (iii) does not hold, there exists a K3,3 subdivision of G, say H, in which some principal path with respect to e, say Q1, has at least two edges. Let u denote the end node of Q1 not in {x,y}. Let Q2 denote the other principal path that has u as an end node, and let S1 denote the support path that has u as an end node. Denote the other end node of S1 by z. Consistent with the above, assume H and Q1 are chosen so that the number of edges in S1 is as small as possible.

Claim. If an adjoinable path of G with respect to H has one end that is an internal node of either Q1 or Q2, then the other end of the path is a node of V(Q1∪Q2∪S1).

Proof of Claim. If the other end of the path is not in V(Q1∪Q2∪S1), then it is easy to check that adjoining the path to H results in a graph that has a K3,3 minor that contains e, a contradiction. End of Claim.

Observe that {Q1∪Q2∪{e},E(H)-(Q1∪Q2∪{e})} is an internal 3-separation of H straddled by e. Thus, either (ii) holds or there exists an adjoinable path R1 of G, one end of which, say r1, is a internal node of Q1 (say) and the other end of which, say t1, is not in V(Q1∪ Q2). By the Claim, t1 is a node of S1; if it is an internal node of S1, then a contradiction to the choice of H is obtained by adjoining R1 to H and deleting the internal nodes of the ur1-subpath of subpath of Q1. Thus, t1=z.

Observe that {Q1∪Q2∪S1,E(H)-(Q1∪Q2∪S1)} is an internal 3-separation of H straddled by e. Thus, either (ii) holds or there exists an adjoinable path R2 of G with respect to H, one end of which, say r2, is in V(Q1∪Q2∪S1), the other end of which, say t2, is not in V(Q1∪Q2∪S1), and neither end of which is in {x,y,z}. By the Claim, r2 is a node of S1 and t2 is a node of P, where P is one of the principal or support paths of H not in {Q1,Q2,S1}. Moreover, r2 must equal u, for otherwise a contradiction to the choice of H is obtained by adjoining R2 to H and deleting the internal nodes of the zt2-subpath of P. By the Claim, R1 and R2 are node disjoint. Now, H∪R1∪R2 has a K3,3 minor that contains e, a contradiction.

Theorem 5 below is the main result of the section.

Theorem 5.
Let G be a 3-connected graph, and let e be an edge of G. Then, either (i) G is planar, (ii) G is isomorphic to K5, (iii) G has a K3,3 minor that contains e, (iv) G has an internal 3-separation that is straddled by e, or (v) G is crown-planar with respect to e.

Proof.
Lemma 4 and Theorem 2 together imply that either one of (i)–(iv) holds, or every K3,3 subdivision of G is good with respect to e. Assume that none of (i)–(iv) hold and let H denote a K3,3 subdivision of G that is good with respect to e. Let e=xy, and let z denote the common end node of the three support paths of H. Let u, v, and w denote the remaining degree-three nodes of H. Let S1, S2, and S3 denote the three support paths of H with respect to e, and without loss of generality, assume that the ends of S1 are u and z.

Observe that {{S1,ux,uy,e},E(H)-{S1,ux,uy,e}} is an internal 3-separation of H straddled by e. Since (iv) does not hold, there exists an adjoinable path R1 of G with respect to H, one end of which is in V(S1), the other end of which is in V(S2) (say), and neither end of which is equal to z. Similarly, there exists an adjoinable path R2 of G with respect to H, one end of which is V(S3), the other end of which is in V(S1) (say), and neither end of which is equal to z.

Observe that {{e,ux,uy,vx,vy,wx,wy},S1∪S2∪S3∪R1∪R2} is a crown 3-separation with respect to e of H∪R1∪R2. Thus, either G has a crown 3-separation with respect to e or there exists an adjoinable path R3 of G with respect to H∪R1∪R2, one end of which is in {x,y} and the other end of which, call it t, is in V(S1∪S2∪S3∪R1∪R2). If t≠z, then observe that H∪R1∪R3∪R3 contains a bad K3,3 subdivision with respect to e, a contradiction (note, if t∈{u,v,w}, then by the 3-connectivity of G, R3 has at least two edges). Thus, t=z. It can now be checked that H∪R1∪R2∪R3 contains a K3,3 minor containing e, a contradiction.

Finally, it needs to be shown that if G has a crown 3-separation with respect to e, and none of (i)–(iv) hold, then G is crown-planar with respect to e. To see this, let {G1,G2} be the 3-sum decomposition of G corresponding to the crown 3-separation with respect to e, where e∈E(G1). Then, it suffices to show that G2 is planar. If this is not the case, then by Theorem 2, G2 is either isomorphic to K5 or has a K3,3 subdivision. In either case, it is straightforward to see that G has a K3,3 subdivision for which e does not join two independent nodes, contradicting Lemma 3.

The next result is from Wagner [3]. It shows that if G is a simple 2-connected graph having an edge e that is not contained in a K3,3 minor, then the number of edges of G is bounded 5n-12. The proof is a straightforward induction using 2- and 3-sum decompositions, together with Theorem 5 and the well-known fact that any planar graph has at most 3n-6 edges.

Lemma 6.
Let G be a simple 2-connected graph having at least three nodes. If, for some edge e, G does not have a K3,3 minor containing e, then G has at most 5n-12 edges.

3. Admissible Paths
This section presents a proof of Theorem 1. This section begins with two lemmas that relate an e-cut of a graph to that of a member of a k-sum decomposition of the graph.

Lemma 7.
Let G be a 2-connected graph, and let e be an edge of G. Suppose that {E1,E2} is a 2-separation of G with e∈E1. Let {G1,G2} be the corresponding 2-sum decomposition, and let t denote the connecting edge. Let D be an e-cut of G. Then, either D or D-E2∪{t} is an e-cut of G1. Moreover, in the latter case, D-E1∪{t} is a t-cut of G2.

Proof.
Let p and q denote the nodes common to G[E1] and G[E2]. Let {X,Y} denote the node partition of V(G) corresponding to the e-cut D of G.

First, it is shown that D∩E2≠∅ if and only if p∈X (say) and q∈Y. To this end, suppose that p∈X and q∈Y. Observe, there exists a pq-path in G[E2], and any such path must contain an edge from D. Thus, D∩E2≠∅. Now, suppose that D∩E2≠∅, and let f∈D∩E2. Since {e,f}⊆D, there exists two paths, say P and Q, each of which joins an end node of f to an end node of e and such that V(P)⊆X (say) and V(Q)⊆Y. Since e∈E1 and f∈E2, P must go through p (say) and Q through q. Thus, p∈X and q∈Y.

Now, define X1:=X∩V(G1) and Y1:=Y∩V(G1). Then, X1 and Y1 are both nonempty since they each contain an end of e. Also, they are disjoint and their union equals V(G1). By the previous paragraph, it can be seen that the set of edges of G1 that have exactly one end in X1 is D (if {p,q}⊆X1 (say)) or D-E2∪{t} (if p∈X1 (say) and q∈Y1). Thus, the conclusion that either D or D-E2∪{t} is an e-cut of G1 follows provided the subgraphs G1[X1] and G1[Y1] are connected. To this end, let u and v be nodes of X1, and let R be a uv-path in G[X]. If R⊆E1, then R is a path of G1[X1]. Suppose that this is not the case. Then, {p,q}⊆V(R). Moreover, the edges of R∩E2 constitute a pq-subpath S of R. Thus, replacing, in R, the subpath S by the edge t yields a uv-path in G1. Thus, G1[X1] is connected. Similarly, G1[Y1] is connected.

Now, suppose that D-E2∪{t} is an e-cut of G1. Showing that D-E1∪{t} is a t-cut of G2 is done in a manner similar to the above. Specifically, define X2:=X∩V(G2) and Y2:=Y∩V(G2). Then, X2 and Y2 are nonempty since p∈X2 and q∈Y2. Also, they are disjoint and their union equals V(G2). Moreover, the set of edges of G2 that have exactly one end in X2 is precisely D-E1∪{t}. Thus, the conclusion that D-E1∪{t} is a t-cut of G2 follows provided the subgraphs G2[X2] and G2[Y2] are connected. To this end, let u and v be nodes of X2, and let R be a uv-path in G[X]. Since q∈Y2, q∉V(R). Therefore, R⊆E2. Thus, G2[X2] is connected. Similarly, G2[Y2] is connected.

Lemma 8.
Let G be a 3-connected graph, and let e be an edge of G. Suppose that {E1,E2} is a 3-separation of G that is straddled by e. Let {G1,G2} be the corresponding 3-sum decomposition, and let T denote the connecting triangle. Let D be an e-cut of G. Then, D-E2∪{t,e} is an e-cut of G1 for some t∈T-{e}.

Proof.
Let x, y, and z denote the nodes common to G[E1] and G[E2]. Let T:={e,t,t′} with e=xy and t=yz. Let {X,Y} denote the node partition of V(G) corresponding to the e-cut D of G. Without loss of generality, assume {x,z}⊆X and y∈Y. Let X1:=X∩V(G1) and Y1:=Y∩V(G1). Then, X1 and Y1 are both nonempty since they each contain an end of e. Also, they are disjoint and their union equals V(G1). Moreover, the set of edges of G1 that have exactly one end in X1 is precisely D-E2∪{t,e}. The result now follows provided the subgraphs G1[X1] and G1[Y1] are connected. To this end, let u and v be nodes of X1, and let R be a uv-path in G[X]. If R⊆E1, then R is a path of G1[X1]. Suppose that this is not the case. Then, {x,z}⊆V(R). Moreover, the edges of R∩E2 constitute an xz-subpath S of P. Thus, replacing, in R, the subpath S by the edge t′ yields a uv-path in G1. Thus G[X1] is connected. Similarly, G[Y1] is connected.

Let G be a graph, and let e be an edge of G. An e-path of G is called admissible if it intersects every e-cut in exactly one edge. The above two lemmas are now used to show how admissible paths relate to k-sums.

Lemma 9.
Let G be a 2-connected graph, and let e be an edge of G. Suppose that G has a 2-separation {E1,E2} with e∈E1. Let {G1,G2} be the corresponding 2-sum, and let t be the connecting edge. Suppose that P1 is an admissible e-path of G1, and P2 is an admissible t-path of G2. If t∉P1, P1 is an admissible e-path of G, and if t∈P1, then P1-{t}∪P2 is an admissible e-path of G.

Proof.
Let D be an e-cut of G. By Lemma 7, either D or D-E2∪{t} is an e-cut of G1.

First, consider the case that D is an e-cut of G1. Since D is an e-cut of both G and G1, it must be that D⊆E1. In particular, t∉D. Since P1 is an admissible e-path of G1, it follows that |D∩(P1-{t})|=1. Thus, if t∉P1, then P1 is an admissible e-path of G, and if t∈P1, then P1-{t}∪P2 is an admissible e-path of G.

Now, assume that D-E2∪{t} is an e-cut of G1. Since P1 is an admissible e-path of G1, |(D-E2∪{t})∩P1|=1. If t∉P1, then P1⊆E1, from which it follows |D∩P1|=1, implying that P1 is an admissible e-path of G. Thus, assume t∈P1. Since P1 is an admissible e-path of G1, (D-E2∪{t})∩P1={t}. Therefore, (D∩E1)∩(P1-{t})=∅. Since P2 is an admissible t-path of G, by Lemma 7, |(D-E1∪{t})∩P2|=1. It follows that |(D∩P1-{t})∩P2|=1, implying that P1-{t}∩P2 is an admissible e-path of G.

Lemma 10.
Let G be a 3-connected graph, and let e be an edge of G. Suppose that G has an internal 3-separation straddled by e. Let {G1,G2} be the corresponding 3-sum, and let T be the connecting triangle. Let P be an admissible e-path of G1 that is edge disjoint from T-{e}. Then, P is an admissible e-path of G.

Proof.
Since P is edge disjoint from T-{e}, P is a path of G. Let D be an e-cut of G. By Lemma 8, D-E2∪{t,e} is an e-cut of G1 for some t∈T-{e}. By assumption, |(D-E2∪{t,e})∩P|=1, which implies |D∩P|=1, as required.

Below is the re-statement of Theorem 1 in terms of admissible paths.

Theorem 11.
Let G be a graph, and let e be an edge of G. If G∖e is connected, and G does not have a K3,3 minor containing e, then G has an admissible e-path. Moreover, such an e-path can be found in O(m) time in general and in O(n) time if G is 2-connected and simple.

Proof.
The proof is by a series of reductions.

(I) Reduction to the Simple 2-Connected Case. Since G∖e is connected, every e-path of G is contained in the same block of G as e. Therefore, the search for an admissible e-path of G can be restricted to this block. Computing the blocks of G and identifying the one containing e can be done in O(m) time; see Tarjan [9]. Also, since any e-path uses at most one edge from any parallel class, any parallel edges can be deleted, which requires O(m) time. Now, by Lemma 6, m is O(n).

(II) Reduction to the 3-Connected Case. The next step is to show that the admissible-path problem on G can be reduced in linear time to solve a sequence of admissible-path problems, where each problem in the sequence is defined on a graph that is 3-connected and does not contain a K3,3 minor using a specified edge, and such that the total size of this sequence is linear in the size of G.

(IIa) Admissible Paths and 2-Sum Decompositions. The first step in defining this sequence is to examine the relationship between an instance of the admissible-path problem and a 2-sum decomposition in the underlying graph. So, suppose that G is not 3-connected, and let {E1,E2} be a 2-separation of G with e∈E1. Let {G1,G2} be the corresponding 2-sum decomposition, and let t=pq be the connecting edge. It is straightforward to verify that G1 (resp., G2) is 2-connected and does not have a K3,3 minor containing e (resp., t). By Lemma 9, if P1 is an admissible e-path of G1, and P2 is an admissible t-path of G2, then an admissible e-path P of G is equal to either P1, if t∉P1, and P1-{t}∪P2, otherwise.

(IIb) The Reduction Procedure. To turn the above relationship between admissible paths and 2-sum decomposition into a computationally efficient algorithm requires two straightforward ideas. First, one chooses the 2-sum decomposition judiciously, and second one applies this judicious choice recursively. Tutte [4] and Hopcroft and Tarjan [10] showed that one can always find a 2-separation {E1,E2} of G such that e∈E1, and in the resulting 2-sum decomposition {G1,G2}, G2 is either 3-connected, a cycle on three or more edges, or a bond (i.e., the planar dual of a cycle) on three or more edges. Applying this choice of 2-sum decomposition recursively reduces the admissible-path problem on G to solve a sequence of admissible-path problems on a collection of graphs, say {H1,…,Hj}, every member of which is either 3-connected, a cycle, or a bond. Moreover, Hopcroft and Tarjan [10] showed that the sequence of 2-separations necessary to generate {H1,…,Hj} can be found in O(n) time and that the size of the collection, that is, ∑i=1j|V(Hi)|, is O(n). Observe that an admissible path on a cycle or bond can be trivially found in linear time (in the size of the cycle or bond). Thus, in O(n) time, the admissible-path problem on G can be reduced to solve a sequence of admissible-path problems, each of which is on a graph that is 3-connected and does not have a K3,3 minor using a specified edge. Moreover, the total size of the graphs in the sequence is O(n). Thus, it suffices to prove the theorem assuming G is 3-connected.

(III) Reduction to the Planar Case. Assume that G is 3-connected. By Theorem 5, G either is planar, isomorphic to K5, crown-planar with respect to e or has an internal 3-separation straddled by e. These cases are considered one at a time. As a first step, it is shown that one can recognize which case is applicable in O(n) time. Clearly, recognizing if G is isomorphic to K5 can be done in constant time. Also, it is well known that planarity can be recognized in O(n) time; see, for example, Hopcroft and Tarjan [11]. Determining whether G has an internal 3-separation straddled by e can be done by simply first deleting the ends of e and then determining if the resulting graph has a cut vertex; the latter can be done in O(n) time using algorithm of Tarjan [9]. The only other possibility for G is that it is crown-planar with respect to e.

(IIIa) The Base Cases. This subcase considers these cases when G is either planar, isomorphic to K5, or crown-planar with respect to e. For each of these three cases, it is shown how to find an admissible path of G in O(n) time.

First, assume that G is planar. Then, as observed by Ford and Fulkerson [1], it is straightforward to find an admissible e-path of G. This is done as follows. Embed G in the plane, so that e is on the infinite face, and then delete e. Then, there exist two e-paths of G the union of which defines the outer face of G∖e. Ford and Fulkerson [1] showed that each of these paths is an admissible e-path of G (this is also easily seen by planar duality). Observe that if G∖e is 2-connected, these two admissible e-paths are internally node disjoint, a fact that will be used later. Finding an embedding of a planar graph can be done in O(n) time [11, 12], and so for planar graphs, it follows that the two admissible e-paths can be found in O(n) time.

Second, consider the case that G is isomorphic to K5 or is crown-planar with respect to e. In each of these cases, there exist two internally node-disjoint e-paths in G, each of which contains exactly two edges. Since, in general, every e-cut must intersect every e-path in an odd number of edges, it must be that each of these e-paths is admissible. Thus, finding these two admissible e-paths can be done in O(n) time.

(IIIb) 3-Sum Decompositions. The final step is to analyze when G has an internal 3-separation straddled by e. Consider the graph G∖{x,y}, where x and y are the ends of e. Since G has an internal 3-separation, G∖{x,y} has a cut node. Conversely, each cut node of G∖{x,y} corresponds to an internal 3-separation of G straddled by e. Now, choose a block of G∖{x,y} that has exactly one cut node in common with rest of G∖{x,y}, and let {E1,E2} be the corresponding internal 3-separation of G. Let {G1,G2} be the associated 3-sum decomposition of G, and let T be the connecting triangle. Then, by the choice the cut node, G1 (say) does not have an internal 3-separation. Thus, by Theorem 5, G1 is planar, isomorphic to K5, or crown planar with respect to e. Moreover, since G1 is 3-connected, G1∖e is 2-connected. Thus, by Case (IIIa), G1 has two internally node-disjoint admissible e-paths. Since these two paths are internally node disjoint, one of them, call it P, must be edge disjoint from T-{e}. Thus, by Lemma 10, P is an admissible e-path of G. Finding the appropriate internal 3-separation easily reduces to finding the cut nodes of G∖{x,y} and so requires O(n) time using Tarjan [9]. Once the appropriate internal 3-separation is identified, finding the admissible path requires O(n) time by Case (IIIa).

Theorem 11 can be strengthened as follows: if G∖e is 2-connected (resp., 2-edge-connected), then there exist two internally node disjoint (resp., edge-disjoint) admissible e-paths. The proof of this requires a bit more work but follows the same line of reasoning.

Theorem 11 provides a sufficient condition for the existence of an admissible e-path. It is, however, not a necessary condition. For example, take the graph K3,3, and let e be any edge. Now, add a new edge that creates a triangle T containing e. Then, T-{e} is an e-path that intersects every e-cut in exactly one edge. It would be interesting to determine if one excludes triangles containing e, whether the condition is also necessary.

4. The Ford-Fulkerson Algorithm
Let G be a graph, and let x and y be distinguished nodes of G. Assume G has the edge e=xy, and consider an instance of the minimum e-cut problem (equivalently, the maximum-flow problem) defined on G. Ford and Fulkerson [1] provided a very simple algorithm for solving this problem provided that G is planar. This section shows that the Ford-Fulkerson algorithm extends virtually unchanged provided that G does not have a K3,3 minor containing e; the running time of the algorithm is shown to be O(n2). This is within a logarithmic factor of the fastest maximum-flow algorithm, namely the recent (and more complicated) algorithm due Orlin [2]. The only faster algorithm for graphs in this class is the O(n)-time algorithm in Wagner [3].

Consider the following property for the graph G.

Property A. For any subset X of edges with e∈X, if G∖X has an e-path, then it has an admissible e-path.

Algorithm 1 is the Ford-Fulkerson algorithm, stated in terms of solving the minimum e-cut problem. An instance of the minimum e-cut problem is specified by (G,e,c), where c is a vector of nonnegative edge capacities.

<bold>Algorithm 1: </bold>

Algorithm ford-fulkerson;

begin

H:=G;

D:={e};

while D does not contain an e-cut of H do

begin

set P to be an admissible e-path of H;

ϵ:=min{cf∣f∈P};

cf:=cf-ϵ for f∈P;

choose f∈P such that cf=0 and set H←H∖ f;

D←D∪{f};

end;

end;

The next theorem shows that the algorithm is correct provided Property A holds. In particular, Theorem 11, then implies that the algorithm works for any instance (G,e,c) provided G does not have a K3,3 minor containing e.

Theorem 12.
Assume that G satisfies Property A. Then, Algorithm 1 correctly computes a minimum e-cut of (G,e,u). In particular, at termination, the set D contains a unique e-cut of G, and it is a minimum e-cut of G.

Proof.
Each execution of the while loop chooses an admissible e-path. Since, by assumption, G satisfies Property A, this step is well defined. Each execution of the while loop adds exactly one edge to D, and therefore eventually, D will contain an e-cut of G, and so the algorithm will terminate.

Assume that the while loop executes t times, and index the instantiations of H, D, P, f, c, and ϵ by 1,…,t. So, Ht denotes the instantiation of H at termination of the algorithm.

It is first shown that Dt contains a unique e-cut of G. This is equivalent to showing that Ht has exactly two components. Suppose this is not the case; that is, suppose Ht has at least three components. Since Ht was obtained from Ht-1 by deleting exactly one edge, Ht-1 must have at least two components. Let j denote the least index such that Hj has at least two components. Observe that, in Hj, the ends of e are in the same component, for otherwise the algorithm would have terminated at j<t, contradicting the definition of t. By definition, Hj-1 is connected. Since Hj is obtained from Hj-1 by deleting the edge fj-1, this edge must be a cut edge of Hj-1. From the algorithm, fj-1 is contained in the e-path Pj-1. But this is impossible since no path, starting and ending in the same component of a graph, can contain a cut edge of the graph. This Dt contains a unique e-cut of G; denote this e-cut by D*.

Now, consider (H2,e,c2), that is, the minimum e-cut problem that results after one execution of the while loop. The graph H2 has one less edge than H1. Applying Algorithm 1 to (H2,e,c2) will produce the set Dt-{f1}, which, by induction, will contain a unique e-cut of H2 that is also a minimum e-cut of (H2,e,c2); denote this e-cut by D**. Observe that (G,e,u) is obtained from (H2,e,u2) first adding the edge f1 with a capacity of zero and then adding ϵ1 to the capacity of every edge of P1. Consider these steps individually. Adding an edge of capacity zero effectively leaves the minimum e-cut problem unchanged. In particular, either D**∪{f1} or D** is minimum e-cut for the resulting minimum e-cut problem, depending on whether the ends of f1 are in different components of H2∖D** or not. In either case, the capacity of the resultant minimum e-cut is unchanged. The second step also effectively does not change the minimum e-cut problem. In particular, by the algorithm, P1 is an admissible e-path. Therefore, adding ϵ1 to each edge of P1 adds ϵ1 to the capacity of each e-cut. Consequently, either D**∪{f1} or D** (again, depending on whether the ends of f1 are in different components of H2∖D** or not) is a minimum e-cut of (G,e,u). In either case, this minimum e-cut of (G,e,u) is contained in Dt and, thus, by the uniqueness demonstrated in the previous paragraph, is equal to D*, as required.

Corollary 4.
If G does not have a K3,3 minor containing e, then the complexity of Algorithm 1 is O(n2).

Proof.
By Theorem 11, finding the first admissible e-path requires O(m) time. Also, note that the initial step in this first admissible-path computation reduces the graph to a simple 2-connected graph, and so by Lemma 6, the resulting number of edges is O(n). Thus, each subsequent admissible-path computation requires O(n) time. Since the algorithm deletes one edge every iteration, it requires at most O(n) iterations. Thus, the algorithm requires O(n2) time.

As a final note, Algorithm 1 can be dualized, using planar path-cut duality, to an algorithm for finding a shortest e-path in a graph. This dual version of Algorithm 1 can, in fact, be shown to be equivalent to Dijkstra’s shortest-path algorithm.