English

The Maximum Clique Problem in a Disk Graph Made Easy

Computational Geometry 2024-07-17 v2 Data Structures and Algorithms

Abstract

A disk graph is an intersection graph of disks in R2\mathbb{R}^2. Determining the computational complexity of finding a maximum clique in a disk graph is a long-standing open problem. In 1990, Clark, Colbourn, and Johnson gave a polynomial-time algorithm for computing a maximum clique in a unit disk graph. However, finding a maximum clique when disks are of arbitrary size is widely believed to be a challenging open problem. The problem is open even if we restrict the disks to have at most two different sizes of radii, or restrict the radii to be within [1,1+ε][1,1+\varepsilon] for some ϵ>0\epsilon>0. In this paper, we provide a new perspective to examine adjacencies in a disk graph that helps obtain the following results. - We design an O(2kn2kpoly(n))O(2^k n^{2k} poly(n))-time algorithm to find a maximum clique in a nn-vertex disk graph with kk different sizes of radii. This is polynomial for every fixed kk, and thus settles the open question for the case when k=2k=2. - Given a set of nn unit disks, we show how to compute a maximum clique inside each possible axis-aligned rectangle determined by the disk centers in O(n5logn)O(n^5\log n)-time. This is at least a factor of n4/3n^{4/3} faster than applying the fastest known algorithm for finding a maximum clique in a unit disk graph for each rectangle independently. - We give an O(2kn2rkpoly(n,r))O(2^kn^{2rk} poly(n,r))-time algorithm to find a maximum clique in a nn-vertex ball graph with kk different sizes of radii where the ball centers lie on rr parallel planes. This is polynomial for every fixed kk and rr, and thus contrasts the previously known NP-hardness result for finding a maximum clique in an arbitrary ball graph.

Keywords

Cite

@article{arxiv.2404.03751,
  title  = {The Maximum Clique Problem in a Disk Graph Made Easy},
  author = {J. Mark Keil and Debajyoti Mondal},
  journal= {arXiv preprint arXiv:2404.03751},
  year   = {2024}
}
R2 v1 2026-06-28T15:44:36.161Z