We give an algorithm to route a multicommodity flow in a planar graph $G$ with congestion $O(\log k)$, where $k$ is the maximum number of terminals on the boundary of a face, when each demand edge lie on a face of $G$. We also show that our specific method cannot achieve a substantially better congestion.
Deep Dive into Congestion in planar graphs with demands on faces.
We give an algorithm to route a multicommodity flow in a planar graph $G$ with congestion $O(\log k)$, where $k$ is the maximum number of terminals on the boundary of a face, when each demand edge lie on a face of $G$. We also show that our specific method cannot achieve a substantially better congestion.
Let G be a planar graph. Without loss of generality, we suppose that G is 2-connected. This means that the boundaries of its faces are circuits. For any instance (G, H, r, c), we define r(e) = 0 for every edge e / ∈ E(H). We say that two demand edges s 1 t 1 , s 2 t 2 are crossed if they both lie on the same face of G and s 1 , s 2 , t 1 , t 2 appears in that order around the boundary of the face. Let m be the minimum of r(s 1 t 1 ) and r(s 2 t 2 ), we call uncrossing (G, H) by s 1 t 1 , s 2 t 2 and denote (G, H, r, c)⊕ (s 1 t 1 , s 2 t 2 ) the instance (G, H ′ , r ′ , c) where:
-r ′ (s 1 t 1 ) = r(s 1 t 1 ) -m and r ′ (s 2 t 2 ) = r(s 2 t 2 ) -m, -r ′ (s 1 s 2 ) = r(s 1 s 2 ) + m and r ′ (t 1 t 2 ) = r(t 1 t 2 ) + m, -r ′ (e) = r(e) for every other edge e, -H ′ = {uv : r ′ (uv) > 0}.
Lemma 1.1. Let G be an embedded planar graph, H a demand graph for G, and s 1 t 1 , s 2 t 2 two demands of H lying on the same face of G. If (G, H, r, c) satisfies the cut condition, so does
Proof. It follows from the fact that the cut condition is satisfied iff it is satisfied for central cuts only (i.e. cuts C = δ(X) where X and its complement are both connected in G). But the intersection of a central cut and the boundary of a face is a path. From this, the proposition can be easily checked.
As a consequence, for any set of disjoint crossed demand edges, the cut condition for (G, H) implies the cut condition for the uncrossing of (G, H) by these crossed demand edges.
From now on, we suppose the cut condition is satisfied by (G, H, r, c). Let F be any face of G that contains some demand edges H F . If G + H f is planar, then by doubling r and c and applying the Eulerian part of Theorem 0.2, G + H f has congestion two. Note that actually, for any number of faces H F1 , . . . , H Fi , if G + H F1 + . . . + H Fi is planar, its congestion is 2. For convenience, we will only look at one face at a time, but all the arguments can (and must) be applied simultaneously on all the faces. We use this principle to decrease by half the maximum number of terminals on one face of the demand graph. Note that when a face F has a single or no demand, G + H F is obviously planar.
Let F be a face with a least two demands. For convenience, we only consider the vertices of the boundary of F that are terminals of the demand lying in F , call them u 1 , u 2 , . . . , u m (in the order of appearance on the boundary), where
We want to route all the bilateral demands with a congestion of 2. Then we would add an edge of capacity 0 between u k and u m , completing the proof. Actually, we will not solve these demands, but we will uncross all of them in such a way that the new demands will have their two extremities both in L or both in R.
We define iteratively crossed pairs of bilateral edges of H F . Let i be the minimum index such that there is a bilateral edge u i u j in H F , with j maximal. Let j ′ be the maximum index such that there is a bilateral edge u i ′ u j ′ in H f , with i minimal. Note that i exists iff j ′ exists. Let m = min{r(u i u j ), r(u i ′ u j ′ )}. We distinguish two cases:
-either i = i ′ and j = j ′ , then we mark u i u j in white, -or we select the crossed edges u i u j and u i ′ u j ′ , and mark u i u j ′ in white.
In both cases, we decrease the requests on the edges u i v j and v k , u l by m and remove the demand edges with capacity 0. We repeat this procedure until there is no more edges between u 1 , . . . , u m and v 1 , . . . , v m .
Thus, we have a set S of selected crossed disjoint pairs of demands and a set W of white edges. By induction, it is easy to see that there are no two crossed white edges. Moreover, by Lemma 1.1, the two following instances satisfies the cut condition:
By (i), (G, W ) also satisfies the cut condition (by simply removing the non-white demand edges). By Theorem 0.2, (2G, 2W ) admits an integer solution. From this solution, we only keep two paths for each unit of capacity of the edge u i u j ′ , for each (u i u j , u i ′ u j ′ ) ∈ S. For all the edges u i v j ∈ W \ E(S), we keep as many paths as the capacity. This means that now we only have to find paths for each of the demands u i u i ′ and u j u j ′ (and combine them with the two (u i , u j ′ )-paths), for each selected pair (u i u j , u i ′ u j ′ ), plus paths for all the non-bilateral demands. It corresponds to (ii) without the edges in W \ E(S), thus it satifies the cut condition, and there is no bilateral demand edge. By adding one supply edge with capacity 0 between u m and u k (it obviously does not violate the cut condition, nor does it changes the feasibility of the instance), we obtain two new faces with at most half the number of terminals of the original face.
By applying this procedure simultaneously (that is with only one invocation of Theorem 0.2) to every face, the maximal number of terminals in one face is divided by two. Now, by induction, as each step uses 2G, the Theorem 0.1 is proved.
We now prove that one can
…(Full text truncated)…
This content is AI-processed based on ArXiv data.