A Linear Time Algorithm for Finding Three Edge-Disjoint Paths in Eulerian Networks
Abstract
Consider an undirected graph G = (VG, EG) and a set of six terminals T = s1, s2, s3, t1, t2, t3 ⊂eq VG. The goal is to find a collection 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 := VG, m := EG, n = O(m)). In this paper we consider a special, Eulerian case of G and T. Namely, construct the demand graph H = (VG, s1t1, s2t2, s3t3). The edges of H correspond to the desired paths in . 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 . This, in particular, implies that checking for existence of can be done in O(m) time. Our result is a combinatorial O(m)-time algorithm that constructs (if the latter exists).