A geometric proof of Okamura-Seymour

After using it in the last post on non-positively curved surfaces, I thought it might be nice to give a simple proof of the Okamura-Seymour theorem in the dual setting. This argument arose out of conversations in 2007 with Amit Chakrabarti and former UW undergrad Justin Vincent. I was later informed by Yuri Rabinovich that he and Ilan Newman discovered a similar proof.

Note that establishing a node-capacitated version of the Okamura-Seymour theorem was an open question of Chekuri and Kawarabayashi. Resolving it positively is somewhat more difficult.

Theorem 1 Given a weighted planar graph {G = (V,E)} and a face {F} of {G} , there is a non-expansive embedding {\varphi:V\rightarrow L_1} such that {\varphi|_F} is an isometry.

By rational approximation and subdivision of edges, we may assume that {G} is unweighted. The following proof is constructive, and provides an explicit sequence of cuts on {G} whose characteristic functions form the coordinates of the embedding {\varphi} . Each such cut is obtained by applying the following lemma. Note that for a subset {S} of vertices, we use the notation {G/\partial S} , for the graph obtained from {G} by contracting the edges across {S}

Lemma 2 (Face-preserving cut lemma) Let {G = (V,E)} be a {2} -connected bipartite planar graph and {F} be the boundary of a face of {G} . There exists a cut {S\subseteq V} such that

\displaystyle \forall\, u,v\in F,~ d_G(u,v) - d_{G/\partial S}(u,v) ~=~ |\mathbf{1}_S(u) - \mathbf{1}_S(v)| \, .

Proof: Fix a plane embedding of {G} that makes {F} the boundary of the outer face. Since {G} is {2} -connected, {F} is a cycle, and since {G} is bipartite and has no parallel edges, {\mathrm{len}(F)\geq 4} .

Consider an arbitrary pair {(a,b)} of distinct vertices on {F} . There is a unique path from {a} to {b} that runs along {F} counterclockwise; call this path {\lambda_{ab}} . Consider a path {\gamma\in\mathcal P_{ab}} and a vertex {w\in V} . We say that {w} lies below {\gamma} if, in the plane embedding of {G} , {w} lies in the closed subset of the plane bounded by {\gamma} and {\lambda_{ab}} .

(Note that the direction of {\gamma} is significant in the definition of “lying below,” i.e., belowness with respect to a path in {\mathcal P_{ab}} is not the same as belowness with respect to the reverse of the same path in {\mathcal P_{ba}} .)

We say that {w} lies strictly below {\gamma} if {w} lies below {\gamma} and {w\notin\gamma} . We use this notion of “lying below” to define a partial order on the paths in {\mathcal P_{ab}} : for {\gamma,\gamma'\in\mathcal P_{ab}} we say that {\gamma'} is lower than {\gamma} if every vertex in {\gamma'} lies below {\gamma} .

We now fix the pair {(a,b)} and a path {\pi\in\mathcal P_{ab}} so that the following properties hold:

  1. {\mathrm{len}(\pi) = d_G(a,b) < \mathrm{len}(\lambda_{ab})} .
  2. If {a',b'\in\lambda_{ab}} are distinct vertices with {a'} preceding {b'} and {d_G(a',b') < \mathrm{len}(\lambda_{a'b'})} , then {a' = a} and {b' = b} .
  3. If {\pi'\in\mathcal P_{ab}} is lower than {\pi} and {\mathrm{len}(\pi') = \mathrm{len}(\pi)} , then {\pi' = \pi} .

OKS cut

Note that a suitable pair {(a,b)} exists because {\mathrm{len}(F)\ge4} . Finally, we define the cut {S\subseteq V} as follows: {S = \{v\in V:\, v} does not lie strictly below {\pi\}} .

Claim 1 The cut {S} satisfies the conditions of the lemma.

For the rest of this section, we fix the pair {(a,b)} , the path {\pi} and the cut {S} as defined in the above proof.

Lemma 1 Let {x} and {y} be distinct vertices on {\pi} and {\beta\in\mathcal P_{xy}} be such that {\emptyset\ne\mathrm{int}(\beta)\subseteq\bar S} . Then {\mathrm{len}(\beta) - 2 \ge d_G(x,y)} .

Proof: If {x = y} the lemma holds trivially, so assume {x \ne y} . Also assume without loss of generality that {x} precedes {y} in the path {\pi} . The conditions on {\beta} imply that all vertices in {\mathrm{int}(\beta)} lie strictly below {\pi} . Therefore, the path {\pi' := \pi[a:x]\circ\beta\circ\pi[y:b]} is lower than {\pi} and distinct from {\pi}

By property (3), we have {\mathrm{len}(\pi') > \mathrm{len}(\pi)} , which implies {\mathrm{len}(\beta) > \mathrm{len}(\pi[x:y])} . Since {G} is bipartite, the cycle formed by {\beta} and {\pi[x:y]} must have even length; therefore, {\mathrm{len}(\beta) \ge \mathrm{len}(\pi[x:y]) + 2 = d_G(x,y) + 2} . \Box

Lemma 2 Let {x} and {y} be distinct vertices on {\pi} and {\gamma\in\mathcal P_{xy}} . Then {\mathrm{len}(\gamma) - |\gamma\cap\partial S| \ge d_G(x,y)} .

Proof: If {\gamma\cap\partial S = \emptyset} there is nothing to prove. If not, we can write

\displaystyle \gamma ~=~ \alpha_1 \circ \beta_1 \circ \alpha_2 \circ \beta_2 \circ \cdots \circ \alpha_k \circ \beta_k \circ \alpha_{k+1}

for some {k\ge1} where, for all {i} , {\alpha_i\subseteq S} and {\emptyset\ne\mathrm{int}(\beta_i)\subseteq \bar S} . Let {x_i} and {y_i} denote the endpoints of {\beta_i} with {x_i} preceding {y_i} in the path {\gamma} . Further, define {y_0 := x} and {x_{k+1} := y} .

By Lemma 1, we have {d_G(x_i,y_i) \le \mathrm{len}(\beta_i) - 2} for {1\le i\le k} . Since {\pi} is a shortest path, we have {d_G(y_{i-1},x_i) \le \mathrm{len}(\alpha_i)} for {1\le i\le k+1} . Therefore

\displaystyle d_G(x,y) ~\le~ \sum_{i=1}^k d_G(x_i,y_i) + \sum_{i=1}^{k+1} d_G(y_{i-1},x_i) ~\le~ \sum_{i=1}^k (\mathrm{len}(\beta_i) - 2) + \sum_{i=1}^{k+1} \mathrm{len}(\alpha_i)\,.

The latter quantity is precisely {\mathrm{len}(\gamma) - 2k}  which completes the proof since {|\gamma\cap\partial S| = 2k} . \Box

Proof of Claim 1: Let {u,v\in F} be arbitrary and distinct. It is clear that {d_{G/\partial S}(u,v) \le d_G(u,v) - |\mathbf{1}_S(u) - \mathbf{1}_S(v)|} , so it suffices to prove the opposite inequality. We begin by observing that

\displaystyle d_{G/\partial S}(u,v) ~=~ \min\left\{ \mathrm{len}(\gamma) - |\gamma\cap\partial S|:\, \gamma\in\mathcal P_{uv}\right\} \, .

Let {\gamma} be a path in {\mathcal P_{uv}} that achieves the minimum in the above expression. First, suppose {\gamma\cap\partial S = \emptyset} . Then we must have {\mathbf{1}_S(u) = \mathbf{1}_S(v)} . Now, {d_{G/\partial S}(u,v) = \mathrm{len}(\gamma) \ge d_G(u,v)} , which implies {d_{G/\partial S}(u,v) = d_G(u,v)} and we are done.

Next, suppose {\gamma\cap\partial S \ne \emptyset} . Then, there exists at least one vertex in {\gamma} that lies on {\pi} . Let {x} be the first such vertex and {y} the last (according to the ordering in {\gamma} ) and assume that {x} precedes {y} in the path {\pi} . Let {\hat\gamma := \gamma[x:y]} . Note that {\hat\gamma} may be trivial, because we may have {x = y} . Now, {\gamma\cap\partial S = (\gamma[u:x]\cap\partial S) \cup (\hat\gamma\cap\partial S) \cup (\gamma[y:v]\cap\partial S)} , whence

\displaystyle |\gamma\cap\partial S| ~=~ (1 - \mathbf{1}_S(u)) + |\hat\gamma\cap\partial S| + (1 - \mathbf{1}_S(v)) \, . \ \ \ \ \ (1)


This gives

{\displaystyle \begin{array}{rcl} d_{G/\partial S}(u,v) & = & \mathrm{len}(\gamma) - (1 - \mathbf{1}_S(u)) - |\hat\gamma\cap\partial S| - (1 - \mathbf{1}_S(v)) \\ &\geq & \mathrm{len}(\gamma[u:x]) + \mathrm{len}(\hat\gamma) + \mathrm{len}(\gamma[y:v]) + (\mathbf{1}_S(u) + \mathbf{1}_S(v) - 2) - |\hat\gamma\cap\partial S| \nonumber \\ &\geq & \mathrm{len}(\gamma[u:x]) + d_G(x,y) + \mathrm{len}(\gamma[y:v]) + (\mathbf{1}_S(u) + \mathbf{1}_S(v) - 2) \, \ \ \ \ \ (**) \\ &\geq & d_G(u,v) + (\mathbf{1}_S(u) + \mathbf{1}_S(v) - 2) \end{array}}

where the first line follows from Eq. (1) and the definition of {\gamma} and the third line is obtained by applying Lemma 2 to the path {\hat\gamma} . If at least one of {u,v} lies in {S} , then {\mathbf{1}_S(u) + \mathbf{1}_S(v) - 2 = -|\mathbf{1}_S(u) - \mathbf{1}_S(v)|} and we are done.

Therefore, suppose {u,v\in\bar S} . Let {\beta = \lambda_{ab}} . For a path {\alpha} and vertices {w,z} on {\alpha} , let us use {|wz|_\alpha} as shorthand for {\mathrm{len}(\alpha[w:z])} . By property (1), we have {|ab|_\beta > |ab|_\pi} and since {G} is bipartite, this means {|ab|_\beta - |ab|_\pi \ge 2} . By property (2), we have {d_G(u,b) = |ub|_\beta} and {d_G(a,v) = |av|_\beta} . Using these facts, we now derive

\displaystyle \begin{array}{rcl} \mathrm{len}(\gamma[u:x]) + d_G(x,y) + \mathrm{len}(\gamma[y:v]) & = & |ux|_\gamma + |xy|_\pi + |yv|_\gamma \\ & = & |ux|_\gamma + |xb|_\pi + |ay|_\pi + |yv|_\gamma - |ab|_\pi \\ &\ge& d_G(u,b) + d_G(a,v) - |ab|_\pi \\ & = & |ub|_\beta + |av|_\beta - |ab|_\pi \\ & = & |uv|_\beta + |ab|_\beta - |ab|_\pi \\ &\ge& |uv|_\beta + 2 \, . \end{array}

Using this in (**) above and noting that {\mathbf{1}_S(u) = \mathbf{1}_S(v) = 0} , we get {d_{G/\partial S}(u,v) \ge |uv|_\beta + 2 - 2 = d_G(u,v)} . This completes the proof. \Box

Proof of Theorem 1: Assume that {G} is {2} -connected. We may also assume that {G} is bipartite. To see why, note that subdividing every edge of {G} by introducing one new vertex per edge leaves the metric {d_G} essentially unchanged except for a scaling factor of {2} .

We shall now prove the stronger statement that for every face {f} of {G} there exists a sequence of cuts {S_1,S_2,\ldots,S_k} of {G} such that for all {u,v} on {f} , we have {d_G(u,v) = \sum_{i=1}^k |\mathbf{1}_{S_i}(u) - \mathbf{1}_{S_i}(v)|} and that for {i\ne j} , {\partial S_i\cap\partial S_j = \emptyset} . We prove this by induction on {|V|} .

The result is trivial in the degenerate case when {G} is a single edge. For any larger {G} and any cut {S\subseteq V} , the graph {G/\partial S} is either a single edge or is {2} -connected. Furthermore, contracting a cut preserves the parities of the lengths of all closed walks; therefore {G/\partial S} is also bipartite.

Apply the face-preserving cut lemma (Lemma 1) to obtain a cut {S_1\subseteq V} . By the above observations, we can apply the induction hypothesis to {G/\partial S_1} to obtain cuts {\hat S_2,\ldots,\hat S_k} of {G/\partial S_1} corresponding to the image of {f} in {G/\partial S_1} . Each cut {\hat S_i} induces a cut {S_i} of {G} . Clearly {\partial S_1\cap\partial S_i = \emptyset} for any {i > 1} . Finally, for any {u,v\in f} , we have

{\displaystyle d_G(u,v) = d_{G/\partial S_1}(u,v) + |\mathbf{1}_{S_1}(u) - \mathbf{1}_{S_1}(v)| = \sum_{i=2}^k |\mathbf{1}_{S_i}(u) - \mathbf{1}_{S_i}(v)| + |\mathbf{1}_{S_1}(u) - \mathbf{1}_{S_1}(v)|}

where the first equality follows from the property of {S_1} and the second follows from the induction hypothesis. This proves the theorem. \Box

4 thoughts on “A geometric proof of Okamura-Seymour

  1. Ah, it looks like you’re having the same LaTeX rendering issue that I have too – as of about 24 hours ago, it appears that the wordpress latex renderer is offline (other than from any cached images for latex fragments that had previously been rendered before this time period). I’ll try to report the issue.

  2. Dear James,
    this is a cute proof indeed. András Sebö also gave a different proof of OS in the dual that you might not be aware of. You can find it here : http://link.springer.com/chapter/10.1007%2F978-3-540-76796-1_12

    And right after our discussion about the L_1 embeddability of Busemann spaces, I found yet another proof in the primal setting : http://assert-false.net/callcc/Guyslain/Works/okamura_seymour

    Actually our work on Busemann spaces followed a paper by Victor Chepoi and Bernard Fichet http://link.springer.com/article/10.1023/A:1004907919611 from which the dual OS follows easily.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s