English

Three-in-a-Tree in Near Linear Time

Data Structures and Algorithms 2022-01-06 v3 Discrete Mathematics Combinatorics

Abstract

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 [Combinatorica 2010] gave the previously only known polynomial-time algorithm, running in O(mn2)O(mn^2) time, to solve the three-in-a-tree problem on an nn-vertex mm-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 O~(m)\tilde{O}(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 nn in speed. The remaining improvement is based on dynamic graph algorithms.

Keywords

Cite

@article{arxiv.1909.07446,
  title  = {Three-in-a-Tree in Near Linear Time},
  author = {Kai-Yuan Lai and Hsueh-I Lu and Mikkel Thorup},
  journal= {arXiv preprint arXiv:1909.07446},
  year   = {2022}
}

Comments

46 pages, 12 figures, accepted to STOC 2020

R2 v1 2026-06-23T11:17:11.999Z