Three-in-a-Tree in Near Linear Time

09/16/2019
by   Kai-Yuan Lai, et al.
0

The three-in-a-tree problem is to determine if a simple undirected graph contains an induced subgraph which is a tree connecting three given vertices. Based on a beautiful characterization that is proved in more than twenty pages, Chudnovsky and Seymour [Com-binatorica 2010] gave the previously only known polynomial-time algorithm, running in O(mn^2) time, to solve the three-in-a-tree problem on an n-vertex m-edge graph. Their three-in-a-tree algorithm has become a critical subroutine in several state-of-the-art graph recognition and detection algorithms. In this paper we solve the three-in-a-tree problem in Õ(m) time, leading to improved algorithms for recognizing perfect graphs and detecting thetas, pyramids, beetles, and odd and even holes. Our result is based on a new and more constructive characterization than that of Chudnovsky and Seymour. Our new characterization is stronger than the original, and our proof implies a new simpler proof for the original characterization. The improved characterization gains the first factor n in speed. The remaining improvement is based on dynamic graph algorithms.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/05/2013

The k-in-a-tree problem for graphs of girth at least k

For all integers k≥ 3, we give an O(n^4) time algorithm for the problem ...
research
09/15/2021

A Characterization of Individualization-Refinement Trees

Individualization-Refinement (IR) algorithms form the standard method an...
research
04/11/2018

Bipartitioning Problems on Graphs with Bounded Tree-Width

For an undirected graph G, we consider the following problems: given a f...
research
08/17/2022

Simplicity in Eulerian Circuits: Uniqueness and Safety

An Eulerian circuit in a directed graph is one of the most fundamental G...
research
10/04/2018

Polynomial-time Recognition of 4-Steiner Powers

The kth-power of a given graph G=(V,E) is obtained from G by adding an e...
research
09/20/2019

Linear-Time Recognition of Double-Threshold Graphs

A graph G = (V,E) is a double-threshold graph if there exist a vertex-we...

Please sign up or login with your details

Forgot password? Click here to reset