Abstract
The longest path problem asks for a path with the largest number of vertices in a given graph. In contrast to the Hamiltonian path problem, until recently polynomial algorithms for the longest path problem were known only for small graph classes, such as trees. Recently, a polynomial algorithm for this problem on interval graphs has been presented in Ioannidou et al. (2011) [19] with running time O(n4) on a graph with n vertices, thus answering the open question posed in Uehara and Uno (2004) [32]. Even though interval and circular-arc graphs look superficially similar, they differ substantially, as circular-arc graphs are not perfect; for instance, several problems– e.g. coloring –are NP-hard on circular-arc graphs, although they can be efficiently solved on interval graphs. In this paper, we prove that for every path P of a circular-arc graph G, we can appropriately “cut” the circle, such that the obtained (not induced) interval subgraph G′ of G admits a path P′ on the same vertices as P. This non-trivial result is of independent interest, as it suggests a generic reduction of a number of path problems on circular-arc graphs to the case of interval graphs with a multiplicative linear time overhead of O(n). As an application of this reduction, we present the first polynomial algorithm for the longest path problem on circular-arc graphs. In addition, by exploiting deeper the structure of circular-arc graphs, we manage to get rid of the linear time overhead of the reduction, and thus this algorithm turns out to have the same running time O(n4) as the one on interval graphs. Our algorithm, which significantly simplifies the approach of Ioannidou et al. (2011) [19], computes in the same time an n-approximation of the (exponentially large in worst case) number of different vertex sets that provide a longest path; in the case where G is an interval graph, we compute the exact number. Moreover, in contrast to Ioannidou et al. (2011) [19], this algorithm can be directly extended with the same running time to the case where every vertex has an arbitrary positive weight.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.