A Linear Time Algorithm for Finding Three Edge-Disjoint Paths in Eulerian Networks
Consider an undirected graph G=(VG,EG) and a set of six \emph{terminals} T={s1,s2,s3,t1,t2,t3}⊆VG. The goal is to find a collection $\calP$ of three edge-disjoint paths P1, P2, and P3, where Pi connects nodes si and ti (i=1,2,3). Results obtained by Robertson and Seymour by graph minor techniques imply a polynomial time solvability of this problem. The time bound of their algorithm is O(m3) (hereinafter we assume $n := \abs{VG}$, $m := \abs{EG}$, n=O(m)). In this paper we consider a special, \emph{Eulerian} case of G and T. Namely, construct the \emph{demand graph} H=(VG,{s1t1,s2t2,s3t3}). The edges of H correspond to the desired paths in $\calP$. In the Eulerian case the degrees of all nodes in the (multi-) graph G+H (=(VG,EG∪EH)) are even. Schrijver showed that, under the assumption of Eulerianess, cut conditions provide a criterion for the existence of $\calP$. This, in particular, implies that checking for existence of $\calP$ can be done in O(m) time. Our result is a combinatorial O(m)-time algorithm that constructs $\calP$ (if the latter exists).