Abstract 1 Introduction 2 Approximating the Maximum Clique in a co-Bipartite Disk Graph 3 Unit Disk Graphs 4 Disk graphs with different radii References

Near-Linear and Parameterized Approximations for Maximum Cliques in Disk Graphs

Jie Gao ORCID Computer Science Department, Rutgers University, Piscataway, NJ, USA    Paweł Gawrychowski ORCID Institute of Computer Science, University of Wrocław, Poland    Panos Giannopoulos ORCID Department of Computer Science, City St George’s, University of London, UK    Wolfgang Mulzer ORCID Institut für Informatik, Freie Universität Berlin, Germany    Satyam Singh ORCID Department of Computer Science, Aalto University, Finland    Frank Staals ORCID Department of Information and Computing Sciences, Utrecht University, The Netherlands    Meirav Zehavi ORCID Institute for the Theory of Computing, Ben Gurion University of the Negev, Beer-Sheva, Israel
Abstract

A disk graph is the intersection graph of (closed) disks in the plane. We consider the classic problem of finding a maximum clique in a disk graph. For general disk graphs, the complexity of this problem is still open, but for unit disk graphs, it is well known to be in P. The currently fastest algorithm runs in time O(n7/3+o(1)), where n denotes the number of disks [19, 28]. Moreover, for the case of disk graphs with t distinct radii, the problem has also recently been shown to be in XP. More specifically, it is solvable in time O(n2t) [28]. In this paper, we present algorithms with improved running times by allowing for approximate solutions and by using randomization:

  1. (i)

    for unit disk graphs, we give an algorithm that, with constant success probability, computes a (1ε)-approximate maximum clique in expected time O~(n/ε2); and

  2. (ii)

    for disk graphs with t distinct radii, we give a parameterized approximation scheme that, with a constant success probability, computes a (1ε)-approximate maximum clique in expected time O~(f(t)(1/ε)O(t)n), for some (exponential) function f(t).

Keywords and phrases:
Maximum Clique, Disk Graphs, Unit Disk Graphs, FPT Approximation
Funding:
Jie Gao: Research on this paper was supported by NSF under grants CNS-2515159, IIS-2229876, DMS-2220271, DMS-2311064, and CCF-2118953.
Paweł Gawrychowski: Research on this paper was supported by the Polish National Science Centre under grant 2023/51/B/ST6/01505.
Satyam Singh: Research on this paper was supported by the Research Council of Finland, Grant 363444.
Meirav Zehavi: Research on this paper was supported by he Israel Science Foundation under grant 1470/24, and European Research Council under grant 101039913 (PARAPATH).
Copyright and License:
[Uncaptioned image] © Jie Gao, Paweł Gawrychowski, Panos Giannopoulos, Wolfgang Mulzer, Satyam Singh, Frank Staals, and Meirav Zehavi; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Design and analysis of algorithms
Related Version:
Full Version: https://arxiv.org/pdf/2512.09899
Acknowledgements:
The work in this paper was initiated at the Lorentz Center workshop on Fine-Grained & Parameterized Computational Geometry, held in February 2025.
Editor:
Pierre Fraigniaud

1 Introduction

A disk graph is the intersection graph of closed disks in the plane, where the vertices are the disks, and two vertices are connected by an edge if and only if the two corresponding disks intersect. A unit disk graph is a disk graph in which all disks have the same radius, which can be assumed to be 1. Disk graphs and unit disk graphs are probably the most extensively studied classes of geometric intersection graphs [5, 6, 8, 15, 22, 35]. In particular, they are popular models of wireless communication networks, where each disk represents a wireless station, and the respective radii encode the transmission ranges. Theoretically, unit disk graphs and disk graphs are of special interest, because they generalize the familiar class of planar graphs. Indeed, the well-known circle-packing theorem (also called the the Koebe–Andreev–Thurston theorem [30]) shows that every planar graph is a disk graph. Unlike planar graphs, disk graphs (or unit disk graphs) can be dense, with potentially Θ(n2) edges. Thus, algorithms on disk graphs often use an implicit representation (of the coordinates and radii of the disks) and derive edges on-demand.

Due to the special structure of disk graphs, it is an active research direction to study efficient approximation algorithms for classical NP-hard problems on disk graphs or unit disk graphs, such as maximum independent set [12, 25] and minimum dominating set [23, 32]. In this paper, we study the maximum clique problem on unit disk graphs and disk graphs. For a given graph G=(V,E), the problem asks for a vertex set SV of maximum cardinality such that the induced subgraph on S is a clique. The maximum clique problem on general graphs is a classical NP-hard problem and is also hard to approximate [20]. However, maximum clique can be solved in polynomial time on unit disk graphs and the problem has been actively studied recently. We first review prior work on this problem and then present our new results.

Related work.

Clark, Colbourn, and Johnson [15] gave an elegant O(n4.5)-time algorithm for finding a maximum clique in a unit disk graph. The algorithm guesses in quadratic time the pair of most distant (diameter) disk centers in a maximum clique and considers the subgraph induced by all the disks whose centers are at most as distant from both candidate diameter centers. The induced graph is co-bipartite, hence computing a maximum clique is equivalent to finding a maximum independent set in the complement bipartite graph. This in turn reduces to finding a maximum matching. By reducing the necessary number of pairs of centers to search for and/or reducing the running time for finding a maximum independent set, the running time has been successively improved to O(n3.5logn) by Breu [7], O(n3logn) by Eppstein [18], O(n2.5logn) by Espenant, Keil and Mondal [19] and, most recently, to O(n7/3+o(1)) by Chan [11] as noted in Keil and Mondal [28]. In particular, the latter result is based on the clever divide and conquer approach by Espenant, Keil and Mondal [19], which considers only a linear number of center pairs, and on the observation that, for each such pair, one can use a small bi-clique cover of size111The standard O~() notation hides polylog factors in n. O~(n4/3) of the resulting bipartite graph to compute a maximum matching in time almost linear to the size of cover. Very recently, Tkachenko and Wang [35] gave an algorithm that runs in time O(nlogn+nK4/3+o(1)), where K is the size of the maximum clique; this is an improvement to the above bound by Chan [11] when K=o(n).

For general disk graphs, the complexity of computing the maximum clique has been a long-standing open problem [3, 19, 22]. Recently, Keil and Mondal [28] considered the case where there are t distinct disk radii and gave an algorithm that runs in polynomial time for every constant t. In particular, the running time is O(2tn2t(f(n)+n2)), where f(n) is the time to compute a maximum matching in an n-vertex bipartite graph. A maximum matching in a bipartite graph can be computed in time O~(m), where m is the number of edges in the graph, using the near-linear time max-flow algorithm in the recent breakthrough in [13] with standard reductions to bipartite matching, e.g., the O(mlogm)-time fractional flow rounding technique in [26]; alternatively, it can be computed in time O~(n2) by a combinatorial algorithm [14]. Further, the problem admits a randomized EPTAS222EPTAS stands for efficient polynomial-time approximation scheme. with a running time of 2O~(1/ε3)nO(1) and an exact sub-exponential time algorithm [5].

Finally, the problem has also been studied for intersection graphs of other classes of objects in the plane and has been shown to be NP-hard for rays [9], strings [29], ellipses and triangles [3], and for sets of both rectangles and unit disks [6].

Our contribution.

The above recent exciting results and the absence of any non-trivial lower bounds for the problem leave some natural open questions.

For improving the currently best O(n7/3+o(1))-time bound for unit disk graphs, any algorithm that follows the classical line of approach by Clark, Colbourn, and Johnson [15] would effectively need to reduce the number of candidate disk centers to o(n) or compute a maximum matching in the resulting complement bipartite graph in o(n4/3) time. Both of these options seem challenging. On the other hand, the algorithm by Tkachenko and Wang [35] does not bring an improvement for instances with Ω(n)-size cliques, and dense instances are in fact the hardest for the problem, see for example [5].

In this paper, we show that further improvement is possible, albeit by allowing for (1ε)-approximate solutions and by using randomization. Our first result is as follows:

  1. (i)

    For unit disk graphs, there is an algorithm that computes with constant success probability a (1ε)-approximate maximum clique in expected time O~(n/ε2); this result is presented in Section 3.

In particular, we first random sample two disk centers inside a constant-size neighborhood of a properly defined grid-cell. We show that these centers can help us identify a small region that contains (the centers of) a (1ε)-approximate maximum clique of the neighborhood, with Ω(ε) probability. Moreover, the disks with centers in that small region induce a co-bipartite graph. To save time, our second step, which is given in Section 2, is to actually compute a (1ε)-approximate maximum clique in this co-bipartite graph in time that is almost linear in the number of disks of the graph.

Our second result is for the general disk graph setting. As mentioned above, the EPTAS in [5] runs in 2O~(1/ε3)O(n4) time while, for disk graphs with t distinct radii, the algorithm by Keil and Mondal [28] runs in O(n2t) time333The standard notation O() hides polynomial factors.. This raises the question of whether such exponential dependencies w.r.t. t (on n) and ε can be improved or even removed altogether. We show that this is possible by considering parameterized (1ε)-approximations w.r.t. t and ε and, as in the case of unit disk graphs, by using randomization.

  1. (ii)

    For disk graphs with t distinct radii, there is an efficient parameterized approximation scheme (EPAS)444An efficient parameterized approximation scheme (EPAS), for some parameter k, is a (1ε)-approximation algorithm that runs in f(k,ε)nO(1) expected time [21]. that computes with a constant success probability a (1ε)-approximate maximum clique in O~(f(t)(1/ε)O(t)n) time, for some (exponential) function f(t); this result is presented in Section 4.

Our algorithm is based on the main idea behind the exact algorithm by Keil and Mondal. Suppose that for each of the radii one can guess the leftmost and rightmost disks in an optimal solution. Then, one can find two sets of disks L and R such that LR induces a co-bipartite graph and contains a maximum clique. The algorithm by Keil and Mondal [28] enumerates all possible choices to find the leftmost and rightmost disks for each radius. To speed up the running time for (1ε)-approximation, we bring in three more ideas. First, we can assume w.l.o.g that for disks of radius ri that appear in the optimal clique, at least Θ(εk/t) of them appear in the max clique, where k is the optimal clique size, which can be approximated by a factor of 1/5 in O(nlogn) time (see Section 4.2) – otherwise, we can skip disks of radius ri completely without losing more than ε fraction. Second, for each radius ri we can randomly sample two disks ai and bi – if we repeat this enough times, one such pair is close to, in terms of rank, the leftmost and rightmost disks of radius ri in the optimal solution. Last, as in the case of unit disks, we compute a (1ε)-approximate clique in the resulting co-bipartite graph using the algorithm from Section 2.

We note here that our result for unit disk graphs is not subsumed by the one for t distinct radii since the latter gives a worse dependency on ε for t=1.

Definitions and notation

Let 𝒟 be a set of n disks in the plane, and let G(𝒟) be the intersection graph or disk graph of 𝒟 where

G(𝒟)=(𝒟,{{D,D}D,D𝒟,DD,andDD}).

A unit disk graph is a disk graph where all disks have unit radius, which we will assume to be 1. We will focus on unit disk graphs and on disk graphs where the disks have t different radii, for some given t>1.

Let D(c,r) be a disk with center c and radius r. If the radius is clear from the context, we may simply write D(c). We refer to the intersection of two disks D(c,r)D(c,r) as their lens. The line through c and c (oriented towards c) splits this lens into two half-lenses; a region left of this line and a region right of this line. See Figure 1.

Figure 1: The lens D(c,r)D(c,r) of two intersecting disks D(c,r),D(c,r).

Let a and b be two points in the plane. The Euclidean distance between a and b is denoted by dist(a,b). The vertical slab of a and b is the region between the vertical lines through a and b, that is, the set of all points whose x-coordinates lie between the x-coordinates of a and b.

A graph is co-bipartite if its complement is bipartite. Let X and Y be sets of disks such that G(X) and G(Y) are both cliques. As observed in [15], G(XY) is co-bipartite. Let A be a set. We denote its cardinality by |A|. Let X𝒟 be a maximum-size clique in G(𝒟), i.e., a subset of disks that all pairwise intersect. A clique X𝒟 of size at least (1ε)|X| is a (1ε)-approximate (maximum) clique.

2 Approximating the Maximum Clique in a co-Bipartite Disk Graph

In this section, we give a near-linear-time algorithm for computing a (1ε)-approximate clique in a co-bipartite disk graph G:=G(XY). In such a graph, every x,xX and every y,yY are adjacent, while xX and yY are adjacent if and only if the distance between the corresponding centres is at most the sum of the corresponding radii. We begin with the straightforward transformation: a clique in G corresponds to an independent set in the complement of G¯, which is bipartite. Thus, it is enough to compute a (1ε)-approximate independent set in a bipartite graph G¯. In this graph, we have an edge (x,y), for xX and yY, if and only if dist(x,y)>r(x)+r(y), where r() denotes the radius and dist(,) is the distance between the centres.

We first focus on computing the cardinality of a (1ε)-approximate independent set in G¯. Recovering the corresponding independent set is a bit more involved and will be explained later. For any graph, the complement of an independent set is a vertex cover. Denoting by n the number of nodes in G¯, this immediately gives us that the cardinality of the maximum independent set I is equal to n minus the cardinality of the minimum vertex cover C. We first observe that a similar property holds for their approximations.

Proposition 1.

Let c be an (1+ε)-approximation of |C|, that is, |C|c(1+ε)|C|. Then, nc is an (1ε)-approximation of |I|, that is, (1ε)|I|nc|I|.

Proof.

Because |C|=n|I|, we have nc|I|. We observe that |I|n/2, as one of the sides of G¯ consists of at least n/2 nodes forming an independent set. Then, ncn(1+ε)|C|=n(1+ε)(n|I|)=|I|εn+ε|I|(1ε)|I|.

We now focus on obtaining a (1+ε)-approximation of |C|. For a bipartite graph, Kőnig’s theorem states that the cardinality of the minimum vertex cover is equal to the cardinality of the maximum matching. Thus, denoting by M the maximum matching, it is enough to compute a (1ε/2)-approximation of |M|, denoted m. Indeed, we can assume ε1, and then (1ε/2)|M|m|M| implies |M|m/(1ε/2)|M|/(1ε/2)(1+ε)|M|, so m/(1ε/2) can be returned as a (1+ε)-approximation of |C|.

To design the algorithm, we need an efficient data structure for maintaining a dynamic set of points S2. Each sS has its associated weight ws, and we define a distance function δ:2×S as δ(p,s)=ws+dist(p,s). The query returns, for a given point x2, the furthest point in S, that is, argmaxsSδ(x,s). This can be seen as a point location query in the furthest site additively weighted Voronoi diagram of S.

Lemma 2.

We can maintain a dynamic set of of weighted points S of size n such that an insertion takes amortized expected time O(log2n), a deletion takes amortized expected time O(log4n), and so that a point location query in the furthest site additively weighted Voronoi diagram of S can be answered in worst-case deterministic time O(log2n).

Proof.

As explained by Agarwal, Efrat, and Sharir [2, Section 9.1], the problem reduces to maintaining the upper envelope of a set of n totally defined continuous bivariate functions of constant description complexity in three dimensions, under insertions, deletions, and vertical ray shooting queries. The discussion of Agarwal, Efrat, and Sharir [2, Section 9.1] also shows that the complexity of these upper envelopes (and thus of the corresponding farthest-site Voronoi diagrams) is linear. Thus, the result follows from the data structure given in [27, Theorem 8.3] and its subsequent improvement [31].

With the above data structure in hand, we can describe the algorithm for computing a (1ε)-approximate matching in G¯. As explained above, returning n minus its cardinality gives us the cardinality of a (1ε)-approximate clique in G.

Lemma 3.

Let G be a co-bipartite disk graph on n vertices. A (1ϵ)-approximate matching of G¯ can be computed in expected O((n/ε)log4n) time.

Proof.

Let the given co-bipartite graph be G(XY). We will call X the left side, and Y the right side. We recall that the algorithm of Hopcroft and Karp [24] proceeds in phases while maintaining the current matching M (initially empty). In the beginning of each phase, we run a breadth-first search to partition the nodes of the graph into layers. We start the search from the unmatched nodes on the left side of the graph that form layer 0. On even layers of the search, we can traverse any unmatched edge. On odd layers of the search, we can only traverse a matched edge. The search terminates after the first layer containing an unmatched node on the right side of the graph (or when no further layers can be created, meaning that the current matching M is a maximum matching). This gives us the length k of a shortest augmenting path. Next, the algorithm finds a maximal set of node-disjoint augmenting paths of length k. This can be implemented by running a depth-first search from the unmatched nodes in the last layer. The depth-first search is only allowed to follow an edge leading to a yet unvisited node in the previous layer, and the paths in its tree must alternate between matched and unmatched edges, as in the breadth-first search.

The breadth-first search and the depth-first search run in time linear in the size of the graph, and the length of a shortest augmenting path increases by at least 2 in every phase. It is well-known that if the shortest augmenting path is of length at least 2/ε then the current matching M is a (1ε)-approximate maximum matching. Thus, it is enough to execute 1/ε phases to obtain such a matching. However, the number of edges in our graph might be even quadratic in n, so to finish the proof we need to show how to implement a single phase in O(nlog4n) expected time.

We first explain how to implement the breadth-first search in expected O(nlog4n) time. To this end, we maintain an instance of the data structure from Lemma 2, initially containing the set S of all points corresponding to the nodes on the right side of the graph. We set ws=r for a point sS corresponding to a disk of radius r. Then, on every even layer, we iterate over the nodes there, and for each such node u corresponding to a disk D(c,r), we need to iterate over the yet unvisited nodes v such that (u,v) is an edge. This is equivalent to obtaining (and removing) all points sS such that δ(c,s)>r, which in turn can be implemented by repeatedly retrieving argmaxsSδ(c,s), checking if δ(c,s)>r, and if so, removing s from S and repeating. On every odd layer, we do not need the data structure, as each node has at most one incident matched edge. The overall number of operations on the data structure is O(n), and the deletions dominate, so the total time for the breadth-first search is as claimed. For the depth-first search, we maintain a separate instance of the data structure from Lemma 2 for each even layer , initially containing the set S of all points corresponding to its nodes. Then, if we are currently at node v on an odd layer , we need to iterate over the yet unvisited nodes u from layer 1 such that uv is an edge. Let the disk corresponding to v be D(c,r), Then, this is again equivalent to retrieving (and removing) all points sS1 such that δ(c,s)>r, and it can be implemented as above. The overall number of operations on all data structures is O(n), making the total time as required.

For the case of unit disk graphs, Lemma 3 can be improved. For this, we just need a data structure that plays the role of the one in Lemma 2 and that is optimized for unit disk graphs. The following lemma shows how to do this, adapting a method by Efrat, Itai, and Katz [17] to our setting:

Lemma 4.

Let S be a set of n unit disks. Then, we can preprocess S in O(nlogn) time into a data structure that supports the following operations:

  • find(q): given q2, find a disk in the data structure that does not contain q, or report that no such disk exists (i.e., q lies in the intersection of all the disks in the data structure); and

  • delete(s): delete the unit disk s from the data structure.

The time for a find-operation is O(logn), and the total time to delete all the disks from the data structure is O(nlogn).

Proof sketch.

Our data structure is very similar to the structure by Efrat, Itai, and Katz [17, Section 5.1], and we refer the reader to their paper for further details.

Let 𝒢 be a regular grid with cells of edge length 1/2. During the preprocessing phase, we locate for every disk center in S the cell of 𝒢 that contains it. Let C be a nonemtpy grid cell, and let SC be the unit disks whose centers lie in C. Since the diameter of C is less than 1, the disks in SC have non-empty intersection (e.g., the center of C must lie in all the disks of SC). We compute the intersection PC of SC. The intersection PC is a convex polygon-like structure whose boundary consists of arcs from SC, where every disk from SC contributes at most one arc. The arcs appear along the upper and the lower boundary of PC in reverse order of the x-coordinates of the corresponding disk centers. Thus, the total complexity of PC is O(|SC|), and it can be computed in time O(|SC|log|SC|), using a divide-and-conquer strategy. As in the data structure by Efrat, Itai, and Katz, we compute for each PC two binary trees that represent the structure of the upper and the lower boundary of PC, respectively, as in the well-known data structure by Overmars and van Leeuwen [33]. In these trees, the leaves correspond to the disks from SC, in reverse x-order of their centers. The inner nodes represent the upper (or the lower) boundary of the intersection of the disks in the corresponding subtree. The boundary of each inner node is obtained by intersecting the boundaries of the two children. These boundary curves intersect in a single point. With each inner node, we store the intsersection point of the boundary curves of its children, as well as the part of the boundary curve for this node that does not appear on the parent boundary . The binary trees can be computed in O(nlogn) time, and the total time for the preprocessing phase is thus O(nlogn) (see the paper by Efrat, Itai, and Katz for the details).

A find-query can be answered as follows: given q2, we first check if there is a non-empty grid cell C that is far enough from q such that q must lie outside of PC. If such a cell C exists, we report an arbitrary disk from PC and are done (this takes O(logn) time, assuming that the nonempty grid cells are stored in a suitable data structure). Otherwise, there is a constant number of remaining candidate cells, and for each such candidate cell C, we determine whether q lies outside of PC. This can be done using the tree structures for C to determine whether q lies above or below the upper and the lower boundary of PC, by descending into the binary tree, using the intersection points of the child boundaries as a guidance. If q lies outside of PC, we can use the result of the tree-searches to obtain a disk in SC that does not contain q, as desired. Again, this takes O(logn) time.

To delete a a disk s from S, we find the cell C that contains the center of s, and we delete s from SC. For this, we must update the tree structures that represent the intersection PC. The details for the algorithm and its analysis are given by Efrat, Itai, and Katz. Briefly, the idea is to find the parts of the boundary that are occluded by the deleted disk, and to promote these parts up in the tree. The main observation is that every piece of the boundary can rise only upwards into the tree, and that the tree has only O(logn) levels, resulting in a total deletion time of O(nlogn).

Using Lemma 4, we get the following improved version of Lemma 3 for unit disk graphs:

Lemma 5.

Let G be a co-bipartite unit disk graph on n vertices. A (1ϵ)-approximate matching of G¯ can be computed in expected O((n/ε)logn) time.

Proof.

The proof is identical to the proof of Lemma 3, but using the data structure from Lemma 4 instead of Lemma 2.

Lemma 3 and Lemma 5 allow us to compute the cardinality of the sought (1ε)-approximate clique. Computing the corresponding subset of nodes is a bit more involved.

Theorem 6.

Let G be a co-bipartite disk graph with n vertices. We can compute a (1ε)-approximate clique of G in expected O((n/ε)log4n) time. When G is a unit disk graph, such a clique can be computed in expected O((n/ε)logn) time.

Proof.

We provide the analysis for general disk graphs. The case of unit disk graphs is handled in the same way, using the faster data structure from Lemma 4.

Our strategy is to find a (1+ε)-approximate vertex cover in G¯ in O((n/ε)log4n) expected time, and we return its complement. By Proposition 1, this constitutes a (1ε)-approximate clique in G.

To obtain the approximate vertex-cover, we proceed as follows: recall that X and Y are the nodes on the left and on the right side of G. As in the proof of Lemma 3, we start with executing =1/ε phases of the Hopcroft-Karp algorithm. This takes expected time O((n/ε)log4n), and it produces a (1ε)-approximate maximum matching M. Next, we again run a breadth-first search to partition the nodes into layers. Now, however, we do not need to terminate the search after reaching the first layer containing an unmatched node of Y. The BFS gives us a partition of X and Y into subsets

X0,Y0,X1,Y1,X2,Y2,

corresponding to the consecutive layers, where X0,X1,X, and Y0,Y1,Y, as well as the remaining part X=XiXi and Y=YiYi. Because we have run phases of the Hopcroft-Karp algorithm, the layers Y0,Y1,,Y1 do not contain any unmatched nodes, and hence i|Yi|=|M|. We choose i{0,1,,1} such that |Yi||M|/, and we define the following set K:

K:=(X(X0X1Xi))(Y0Y1Yi).

We will now establish that K is a vertex cover for G, with size (1+ε)|M|.

Consider an edge e=xy, where xX and yY. We need to show that xK or yK. If xK, we are done. Thus, suppose that xK, and we need to establish that yK. Since xK, we have xXj, for some j{0,1,,i}. We consider two cases.

  • Case 1: eM: Because xXj is matched, we must have j1 and we have reached x through an augmenting path ending with e. Thus, yYj1K.

  • Case 2: eM: We can extend an augmenting path ending at x with e to obtain an augmenting path ending at y. Thus, yY0Y1YjK.

This shows that K is a vertex cover.

We now move to analyzing the size of K. First, we argue that every node in K is an endpoint of an edge in M. We prove this separately for the nodes in X and in Y.

  • Case 1: xX𝟎X𝟏Xi: Such a node is matched, as it does not belong to X0.

  • Case 2: yY𝟎Y𝟏Yi: None of the sets Y0,Y1,,Y1 contain an unmatched node, so such a node is matched.

Next, we consider the situation when an edge xyM has two endpoints in K. Then, xX0X1Xi and yYj, for some j{0,1,,i}. Now, it is possible to extend an augmenting path ending at y by the matched edge yx to obtain an augmenting path ending at x, so xXj+1. Thus, j=i, and the considered matched edge connects xXi+1 and yYi. By the choice of i, there are at most |M|/ such edges. This allows us to bound the number of nodes in K by |M|+|M|/=(1+ε)|M|.

Together, this shows that K is an (1+ε)-approximate vertex cover.

As in Lemma 3, running the breadth-first search takes O(nlog4n) expected time. After that, constructing K can easily be done in additional linear time.

3 Unit Disk Graphs

We describe an algorithm that computes an (1ε)-approximate clique in a unit disk graph with probability at least 1δ in O((n/ε2)log(n)log(1/δ)) expected time. Let P be a set of n points in the plane, and let 𝒟(P)={D(p,1)pP} be the set of unit disks whose centers are given by P. For convenience, we will sometimes identify disks with their centers. A set XP is said to form a clique if all the disks in 𝒟(X) intersect pairwise.

Let 𝒢 be a regular grid where each grid cell has diameter 2, and let 𝒞 be the collection of grid cells that contain at least one point from P. Let C𝒞 be such a nonempty cell. The extension of C, denoted by C+, is the 5×5-block of grid cells whose central cell is C. Furthermore, let PCP be the set of disk centers that lie in any cell of the extension C+; for an illustration, see Figure 2. Each point of PC is uniquely assigned to exactly one cell of C+: if a point lies on the boundary shared by multiple cells of C+, it is assigned arbitrarily to one of them. Then, a simple diameter argument shows that every clique in P must be contained within the extension of some nonempty cell.

Figure 2: A cell C (the central cell) and its extension C+, where each cell in C+ has a diameter 2. All points (both solid and hollow) belong to P, while the hollow points also belong to PC.
Claim 7.

Let X be a clique in P. Then, there exists a cell C𝒞 such that XPC.

Proof.

Let pX, and let C𝒞 be the cell that contains p. Since every other disk center in X has distance at most 2 from p, it follows that X must lie in C+. Hence, we have XPC, as claimed.

Furthermore, a simple packing argument shows that every extension of a nonempty cell C contains a clique of size linear in |PC|.

Claim 8.

Let X be a maximum clique in PC. Then, we have |X||PC|/25.

Proof.

The extension C+ consists of 25 grid cells with pairwise disjoint interiors, where each cell has diameter 2. Hence, for any such cell CC+, the set PCC must form a clique, since all these disks are pairwise intersecting. Recall that if a disk center lies on the boundary of a cell, it is assigned arbitrarily to one of the adjacent cells so that each point in PC is uniquely assigned to exactly one cell in C+. Since there are 25 such cells, there exists at least one cell in C+ containing at least |PC|/25 disk centers. It follows that PC contains a clique of size at least |PC|/25, and therefore the maximum clique X is at least of size |PC|/25.

Now, let C𝒞. We select two disk centers p1,p2PC independently and uniformly at random. Let s be the line segment of length 2 that starts at p2 and is directed toward p1, so that p1 lies either on s or on its extension along the same direction. Let x be the other endpoint of s, and let L=D(x,2)D(p2,2) be the lens with axis s; see Figure 3 for an illustration. We determine the set PL=LPC of disks centers that lie in L, and we find an (1ε/2)-approximate maximum clique X for PL, using Theorem 6 from Section 2. The lens L is partitioned by segment s into two parts: the part to the left of s and the part to the right of s. Without loss of generality, the points on s belong to the left part. Any two points in the same part have a distance at most 2. Thus, all disks with centers in the same part form a clique. In other words, the intersection graph of unit disks centered at PL is a co-bipartite graph. Consequently, as we show below, the clique X is an (1ε)-approximate clique for PC with probability Ω(ε).

Figure 3: The cell C is represented by the light-blue colored cell with p1,p2C. The thick black line denotes the line segment s=p2x¯ of length 2, passing through p1. The dotted disk represents D(x,2), while the dash-dotted disk represents D(p2,2). The yellow-shaded region corresponds to the lens L=D(x,2)D(p2,2), formed along the axis s.
Lemma 9.

Let X be a maximum clique in PC. Then, with probability Ω(ε), we have |X|(1ε)|X|.

Proof.

First, by Claim 8, we know that |X||PC|/25. Thus, with probability at least 1/25, we have that p1X. Now, we sort the centers in X in the increasing order of their distances from p1, and let π be the resulting ordering of X. Let X+ be those centers from X that have rank at least (1ε/2)|X| in π, and let X=XX+ (in other words, X+ contains the (ε/2)|X| points in X that are furthest away from p1, and X contains the (1ε/2)|X| remaining points). Since

|X+|=ε2|X|ε50|PC|,

it follows that with probability at least ε/50, the second sampled center p2 lies in X+.

Since p1 and p2 are sampled independently, we can conclude that with probability at least ε/1250, it holds that p1X and that p2X+. Henceforth, we assume that indeed this is the case. Since p1 and p2 both lie in X, the distance dist(p1,p2) between p1 and p2 is at most 2. From this, it follows that D(p1,dist(p1,p2))D(x,2) since by the choice of x, we have dist(x,p1)+dist(p1,p2)=2, which implies that for every point yD(p1,dist(p1,p2)), the triangle inequality gives

dist(x,y)dist(x,p1)+dist(p1,y)dist(x,p1)+dist(p1,p2)=2,

as needed.

As p2X+, and since all the points in X+ are at least as far away from p1 as all the points in X, it follows that XD(p1,dist(p1,p2))D(x,2). Moreover, since XX and p2X, we also have XD(p2,2). This implies that X lies in the lens L defined by D(x,2) and D(p2,2). In particular, PL contains a clique of size (1ε/2)|X|, and since X is a (1ε/2)-approximate clique for PL, we have

|X|(1ε/2)(1ε/2)|X|=(1ε+ε2/4)|X|(1ε)|X|.

This means that X is an (1ε)-approximate maximum clique for PC, as claimed.

We can now present the complete algorithm.

Theorem 10.

Let P be a set of n points in the plane, let ε>0 be a parameter. There is a randomized algorithm that runs in expected time O((n/ε2)logn) and computes an (1ε)-approximate clique for 𝒟(P) with probability at least 1/2.

Proof.

Let C𝒞 be a nonempty grid cell. By Lemma 9, and using Theorem 6, one can compute, in O((|PC|/ε)logn) expected time, a clique for PC that, with probability Ω(ε), is an (1ε)-approximate clique for PC. By repeating this process O(1/ε) times, and selecting the largest of the resulting cliques, one can compute in O((|PC|/ε2)logn) expected time, a clique that is an (1ε)-approximate clique for PC with probability at least 1/2.

We do this for PC of every nonempty cell C𝒞, and we return the largest of the resulting cliques. (Note that all non-empty cells can be easily found in O(nlogn) time [36]). By Claim 7, there exists a cell C𝒞 such that PC contains a max-clique of P, so with probability at least 1/2, this gives an (1ε)-approximate maximum clique for P. The total running time is proportional to

C𝒞|PC|ε2logn=C𝒞|PC|ε2logn=O((n/ε2)logn),

since every point from P appears in O(1) sets PC. The theorem follows.

By a standard argument, for any value δ>0, we can raise the probability of success to 1δ by independently repeating the algorithm of Theorem 10 O(log(1/δ)) times and by taking the best solution. This increases the running time by an O(log(1/δ)) factor.

4 Disk graphs with different radii

We first review the algorithm by Keil and Mondal [28]. The main idea is simple and elegant, and it goes as follows. Suppose that there are t distinct radii r1,,rt, in increasing order. One can enumerate all radii that appear in a maximum clique and, for each radius ri, enumerate all disk pairs to find the one with centers ai,bi that are, respectively, leftmost and rightmost (in the optimum) along the x-axis. Let X be the set of these 2t disks. For each pair of centers ai,bi, consider their vertical slab and find the set Li of all radius-ri disks that intersect all disks in X and have their centers within the slab and above the line segment aibi. Similarly, find the set Ri of all radius-ri disks that intersect all disks in X and have their centers in the slab and below the line segment aibi. Take L=L1L2Lt and R=R1R2Rt. A simple geometric argument shows that the graph induced by LR is co-bipartite, and thus, similar to the case of unit disks, one can find a maximum clique by finding a maximum matching. The algorithm runs in time O(2tn2t(f(n)+n2)), where f(n) is the time to compute a maximum matching in an n-vertex bipartite graph. The factor n2t comes from the enumeration to find the leftmost and rightmost disks in the optimal solution for every radius ri.

In this section, we give an efficient parameterized approximation scheme w.r.t. the number t of different radii and ε. There are two places where we can speed up the algorithm described above if approximate solutions are allowed. First, instead of finding the leftmost and rightmost disks for each radius by enumeration, we use random sampling to find two centers ai,bi that are close (in terms of rank) to the leftmost and rightmost disks in the optimal clique. Second, as in the case of unit disk graphs, we can replace finding a maximum clique by finding an approximate maximum clique using Theorem 6.

Let 𝒟i be the set of disks of radius ri and let D be a maximum clique, with |𝒟|=k. In the next subsection, we will assume that 𝒟 contains at least εk disks from each 𝒟i, for some parameter k. Later, in Section 4.2, we will drop this assumption using brute-force.

4.1 A special case: Disks of every radius contribute to the maximum clique

In this section, we will compute an (1ε)-approximate maximum clique that has at least one disk from each radius.

Our algorithm is simple: we (independently) pick a disk D(o,r1) uniformly at random m1=Θ(n/kε) times and compute the subset of disks 𝒟 that intersect D(o,r1), where r1 is the smallest radius. With each choice of D(o,r1) and the corresponding 𝒟, we repeat the following procedure m2=Θ((k/kε2)2t) times:

  1. 1.

    For each radius ri: uniformly at random pick two disks D(ai,ri) and D(bi,ri) from 𝒟i=𝒟i𝒟. Let X denote the set of the selected disks for all ri. Without loss of generality, assume that ai is to the left of bi. We interpret ai as the leftmost disk of radius ri in the clique, and bi as the rightmost disk in the clique.

  2. 2.

    Compute the subset of disks 𝒟′′𝒟 that intersect all disks in X (by explicitly checking if a disk D(c,r)𝒟 intersects all disks in X).

  3. 3.

    Form two sets of disks L and R. For each vertical slab with ai,bi on the boundary, find all the radius-ri disks Li𝒟′′ with center within the slab and above the line segment aibi. Similarly, find all the radius-ri disks Ri𝒟′′ with centers in the slab and below the line segment aibi. Take L=L1L2Lt and R=R1R2Rt.

  4. 4.

    Use the algorithm from Theorem 6 to compute an (1ε/2)-approximate clique in G(LR). Note that this is possible, as G(LR) is co-bipartite, see Lemma 12 below.

We finally return the largest clique among all the repeated m1m2 runs.

For the analysis, we start with the following observation.

Lemma 11.

For a disk D(o,r1), let 𝒟 be the set of disks that intersect D(o,r1), Then, |𝒟|6k.

Proof.

Consider the six cones of angle π/3 that partition 2 and have their apex at o. Any two disks D(ci,ri) and D(cj,rj) with the centers in the same cone and such that both intersect D(o,r1) must also pairwise intersect. To see that, we have dist(o,ci)r1+ri and dist(o,cj)r1+rj. We also have that ciocjπ/3. Thus, dist(ci,cj)max{dist(o,ci),dist(o,cj)}ri+rj, since r1ri,rj. Hence, the disks from 𝒟 that are in a single cone form a clique. There must be a cone containing at least |𝒟|/6 centers from 𝒟, and, consequently, we have k|𝒟|/6.

The probability that by random sampling one selects a specific disk D(o,r1) in 𝒟 is at least εk/n. Since we repeat the algorithm m1=Θ(n/kε) times, with a constant probability D(o,r1)𝒟. In the following, we assume that D(o,r1) indeed appears in 𝒟, and then use a similar argument as in the unit disk case to argue that from each radius ri, we discard at most an ε/2-fraction of the disks from 𝒟𝒟i in our clique.

Let c1,,ch be the centers of the disks in 𝒟Di, ordered from left to right, and note that by our assumption on 𝒟, we have hεk. By Lemma 11, the probability that ai{c1,,c(ε/4)h} is

(ε/4)h|Di|(ε/4)h|D|εh24kε2k24k.

Similarly, the probability that bi is among the rightmost (ε/4)h centers of 𝒟𝒟i is also at least ε2k/24k.

The following technical lemma, stated for our setting, asserts that we include at least h2(ε/4)h=(1ε/2)h disks from 𝒟𝒟i in LR.

Lemma 12.

Assume that D(o,r1) and D(ai,ri), D(bi,ri), for all i are from 𝒟. The disks in L form a clique. Similarly, the disks in R form a clique. Further, for every i, all disks in 𝒟 of radius ri with centers within the vertical slab within ai and bi are included in LR.

Proof.

The proof that L and R form a clique respectively follows directly from [28, Lemma 3.1]. Next, all disks in D intersect D(o,r1), and D(ai,ri),D(bi,ri), for all i. Thus the disks of radius ri of D with the conditions specified in the lemma meet the requirements for Li or Ri and thus are included in LR.

Hence, with probability at lest (ε2k/24k)2 we include at least a (1ε/2) fraction of the disks of 𝒟Di in LR. The probability that we include (1ε/2) fraction of all disks (e.g. over all t radii) is thus at least (ε2k/24k)2t.

We now compute a (1ε/2)-approximate clique in G(LR), so the size is at least (1ε/2)(1ε/2)k(1ε)k.

Repeating this m2=Θ((k/kε2)2t) times, the algorithm succeeds with a constant probability. If k=Θ(k), then m2=O(1/ε4t).

Now we can conclude with the full algorithm and its runtime.

Lemma 13.

With a constant success probability, we can compute a (1ε)-approximate maximum clique of n disks of t distinct radii, in which every radius appears at least εk times, in expected time

O(nlogn+nkε(tlogn+k)+nkkε(kkε2)2t(t+log4kε))

where k is the size of the maximum clique.

Proof.

For each disk D(o,r1), finding the disks that intersect it can be done easily in O(n) time. But if we repeat this step m1=Θ(n/kε) times, this will be too costly. Instead, we pre-process the disks into a data structure and answer a 2D circular range query, which returns the points within a query disk. In particular, for each radius ri we process the centers of the disks in 𝒟i into a size O(|𝒟i|) data structure using the construction in [1] such that one can report all centers of the disks in 𝒟i within distance r1+ri from o in O(logn+i) time, where i is the size of the output. The construction time for the data structure for 𝒟i is O(|𝒟i|log|𝒟i|). Thus total construction time for all t different radii is O(nlogn). We answer tm1 queries and the total query time is O(tm1logn+m1k).

Note that Steps 1–4 of our algorithm operate on 𝒟 for each choice of D(o,r1) with |𝒟|=O(k) disks. Thus, the running time for Steps 1–4 is O(2tk+fε/2(k)), where fε(n) is the time for computing a (1ε)-approximate clique in an n-by-n co-bipartite disk graph. Applying Theorem 6, we have fε(n)=O((n/ε)log4n) expected time, so we have one iteration of Steps 1–4 to be O(tk+(k/ε)log4k). Summing all the computation costs, we have,

O(nlogn+nkε(tlogn+k)+nkkε(kkε2)2t(t+log4kε)).

4.2 The complete algorithm

Theorem 14.

Let 𝒟 be a set of n disks, let t be the number of distinct radii in 𝒟, and let ε(0,1) be a parameter. With a constant success probability, we can compute a (1ε)-approximate maximum clique in G(𝒟) in expected time O~((tε)O(t)n).

Proof.

First, we compute a 1/5-approximate maximum clique D^. This can be achieved in O(nlogn) time as follows. It is well-known that every set of pairwise intersecting disks can be stabbed by four points [16, 34]. This implies that there exists a point that is covered by at least 1/4 of the disks in a maximum clique555Carmi, Katz and Morin [10] showed that given a set of pairwise intersecting disks one can compute a set of four stabbing points in linear time but it’s not obvious how to find a point as above in the same time.. Thus, a point of maximum depth is covered by at least so many disks as well. Computing a point of maximum depth in an arrangement of disks is 3SUM-hard [4]; however, a point of (1ε)-approximate maximum depth can be computed, with high probability, in O((1/ε)2nlogn) expected time [4]. We therefore run this algorithm for ε=1/2 and get the approximate clique of the desired size. Thus, we take k=|D^|, where k/5kk.

Consider the optimal solution D with k disks and assume that all disks of radius ri are removed from D if there are at most εk/(2t) of them in it. This leaves a clique D¯D with (1ε/2)k|D¯|k. Note that D¯ has at least εk/2tεk/2t of disks in radius ri, if ri appears at all. We now aim to find a 1ε/5 approximation to D¯, which is a 1ε approximation to D. Of course, we do not know in advance what those radii are that appear less than εk/(2t) in D, which is some (fixed but unknown) optimal solution, and therefore we will brute-force through all subsets of radii, at the cost of an extra factor of 2t in the running time.

Let denote the ordered set of distinct radii appearing in 𝒟. For each subset R of radii, we run the algorithm from Lemma 13 with parameters ε/2 and k/t. We output the best solution. The correctness and the approximation factor follow immediately from Lemma 13 and the fact that we enumerate all radius subsets, one of which matches the set of radii that appear more than εk/(2t) times in the optimal solution D. For that particular run, Lemma 13 guarantees that we find a 1ε approximation to D with a constant probability.

The running time comes from repeating Lemma 13 with parameters ε/2 and k/t, for 2t times. Notice that the construction of the circular range query data structure is only done once at the initialization step. But all other steps will be repeated 2t times. Further, k/5kk. The total running time is obtained from applying Lemma 13.

O(nlogn+2tt2nlognkε+t2tnε+27tt2t+1nlog4kε4t+2+nt24t+1ε4t+1)=O~((tε)O(t)n).

As in the case of unit disks, we can increase the probability of success to any desired value by independently repeating the algorithm sufficiently many times.

References

  • [1] Peyman Afshani and Timothy M. Chan. Optimal halfspace range reporting in three dimensions. In Proceedings of the 20th Annual ACM-SIAM Symposium on Discrete Algorithms, (SODA 2009), pages 180–186, 2009. doi:10.1137/1.9781611973068.21.
  • [2] Pankaj K. Agarwal, Alon Efrat, and Micha Sharir. Vertical decomposition of shallow levels in 3-dimensional arrangements and its applications. SIAM Journal on Computing, 29(3):912–953, 2000. doi:10.1137/S0097539795295936.
  • [3] Christoph Ambühl and Uli Wagner. The clique problem in intersection graphs of ellipses and triangles. Theory Comput. Syst., 38(3):279–292, 2005. doi:10.1007/S00224-005-1141-6.
  • [4] Boris Aronov and Sariel Har-Peled. On approximating the depth and related problems. SIAM J. Comput., 38(3):899–921, 2008. doi:10.1137/060669474.
  • [5] Marthe Bonamy, Édouard Bonnet, Nicolas Bousquet, Pierre Charbit, Panos Giannopoulos, Eun Jung Kim, Paweł Rzążewski, Florian Sikora, and Stéphan Thomassé. EPTAS and subexponential algorithm for maximum clique on disk and unit ball graphs. J. ACM, pages 1–38, 2021. doi:10.1145/3433160.
  • [6] Édouard Bonnet, Nicolas Grelier, and Tillmann Miltzow. Maximum clique in disk-like intersection graphs. In Proceedings of the 40th IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2020), volume 182 of LIPIcs, pages 17:1–17:18, 2020. doi:10.4230/LIPIcs.FSTTCS.2020.17.
  • [7] Heinz Breu. Algorithmic Aspects of Constrained Unit Disk Graphs. PhD thesis, Department of Computer Science, University of British Columbia, 1996. doi:10.14288/1.0051600.
  • [8] Heinz Breu and David G. Kirkpatrick. Unit disk graph recognition is NP-hard. Computational Geometry, 9(1):3–24, 1998. Special Issue on Geometric Representations of Graphs. doi:10.1016/S0925-7721(97)00014-X.
  • [9] Sergio Cabello, Jean Cardinal, and Stefan Langerman. The clique problem in ray intersection graphs. Discret. Comput. Geom., 50(3):771–783, 2013. doi:10.1007/s00454-013-9538-5.
  • [10] Paz Carmi, Matthew J Katz, and Pat Morin. Stabbing pairwise intersecting disks by four points. Discret. Comput. Geom., pages 1751–1784, 2023. doi:10.1007/s00454-023-00567-0.
  • [11] Timothy M Chan. Personal communication with the authors of [28], 2023. arXiv:2404.03751.
  • [12] Timothy M Chan and Sariel Har-Peled. Approximation algorithms for maximum independent set of pseudo-disks. Discret. Comput. Geom., 48(2):373–392, 2012. doi:10.1007/s00454-012-9417-5.
  • [13] Li Chen, Rasmus Kyng, Yang Liu, Richard Peng, Maximilian Probst Gutenberg, and Sushant Sachdeva. Maximum flow and minimum-cost flow in almost-linear time. J. ACM, 72(3):19:1–19:103, 2025. doi:10.1145/3728631.
  • [14] Julia Chuzhoy and Sanjeev Khanna. Maximum bipartite matching in n2+o(1) time via a combinatorial algorithm. In Proceedings of the 56th Annual ACM Symposium on Theory of Computing, (STOC 2024), pages 83–94, 2024. doi:10.1145/3618260.3649725.
  • [15] Brent N. Clark, Charles J. Colbourn, and David S. Johnson. Unit disk graphs. Discret. Math., 86(1):165–177, 1990. doi:10.1016/0012-365X(90)90358-O.
  • [16] Ludwig W. Danzer. Zur Lösung des Gallaischen Problems über Kreisscheiben in der Euklidischen Ebene. Stud. Sci. Math. Hungar., 21(1-2):111–134, 1986.
  • [17] Alon Efrat, Alon Itai, and Matthew J. Katz. Geometry helps in bottleneck matching and related problems. Algorithmica, 31(1):1–28, 2001. doi:10.1007/S00453-001-0016-8.
  • [18] David Eppstein. Graph-theoretic solutions to computational geometry problems. In Proceedings of the 35th International Workshop on Graph-Theoretic Concepts in Computer Science, (WG 2009), volume 5911 of LNCS, pages 1–16, 2009. doi:10.1007/978-3-642-11409-0_1.
  • [19] Jared Espenant, J. Mark Keil, and Debajyoti Mondal. Finding a maximum clique in a disk graph. In Proceedings of the 39th International Symposium on Computational Geometry, (SoCG 2023), volume 258 of LIPIcs, pages 30:1–30:17, 2023. doi:10.4230/LIPIcs.SOCG.2023.30.
  • [20] Uriel Feige, Shafi Goldwasser, László Lovász, Shmuel Safra, and Mario Szegedy. Approximating clique is almost NP-complete (preliminary version). In Proceedings of the 32nd Annual Symposium on Foundations of Computer Science, (FOCS 1991), pages 2–12, 1991. doi:10.1109/SFCS.1991.185341.
  • [21] Andreas Emil Feldmann, Karthik C. S., Euiwoong Lee, and Pasin Manurangsi. A survey on approximation in parameterized complexity: Hardness and Algorithms. Algorithms, 13(6):146, 2020. doi:10.3390/A13060146.
  • [22] Aleksei V. Fishkin. Disk graphs: A short survey. In Proceedings of the 1st International Workshop on Approximation and Online Algorithms, (WAOA 2003), volume 2909 of LNCS, pages 260–264, 2003. doi:10.1007/978-3-540-24592-6_23.
  • [23] Matt Gibson and Imran A. Pirwani. Algorithms for dominating set in disk graphs: Breaking the logn barrier. In Proceedings of the 18th Annual European Symposium on Algorithms, (ESA 2010), Part I, volume 6346 of LNCS, pages 243–254, 2010. doi:10.1007/978-3-642-15775-2_21.
  • [24] John E. Hopcroft and Richard M. Karp. An n5/2 algorithm for maximum matchings in bipartite graphs. SIAM Journal on Computing, 2(4):225–231, 1973. doi:10.1137/0202019.
  • [25] Harry B. Hunt III, Madhav V. Marathe, Venkatesh Radhakrishnan, S. S. Ravi, Daniel J. Rosenkrantz, and Richard Edwin Stearns. A unified approach to approximation schemes for NP- and PSPACE-hard problems for geometric graphs. In Proceedings of the 2nd Annual European Symposium on Algorithms, (ESA 1994), volume 855 of LNCS, pages 424–435, 1994. doi:10.1007/BFB0049428.
  • [26] Donggu Kang and James Payor. Flow rounding. arXiv, 2015. arXiv:1507.08139.
  • [27] Haim Kaplan, Wolfgang Mulzer, Liam Roditty, Paul Seiferth, and Micha Sharir. Dynamic planar Voronoi diagrams for general distance functions and their algorithmic applications. Discret. Comput. Geom., 64(3):838–904, 2020. doi:10.1007/S00454-020-00243-7.
  • [28] J. Mark Keil and Debajyoti Mondal. The maximum clique problem in a disk graph made easy. In Proceedings of the 41st International Symposium on Computational Geometry, (SoCG 2025), volume 332 of LIPIcs, pages 63:1–63:16, 2025. doi:10.4230/LIPIcs.SOCG.2025.63.
  • [29] J. Mark Keil, Debajyoti Mondal, Ehsan Moradi, and Yakov Nekrich. Finding a maximum clique in a grounded 1-bend string graph. J. Graph Algorithms Appl., 26(1):553–575, 2022. doi:10.7155/JGAA.00608.
  • [30] Paul Koebe. Kontaktprobleme der konformen abbildung. Ber. Sächs. Akad. Wiss. Leipzig, Math.-Phys. Kl., 88:141–164, 1936.
  • [31] Chih-Hung Liu. Nearly optimal planar k nearest neighbors queries under general distance functions. SIAM J. Comput., 51(3):723–765, 2022. doi:10.1137/20M1388371.
  • [32] Tim Nieberg, Johann L. Hurink, and Walter Kern. Approximation schemes for wireless networks. ACM Trans. Algorithms, 4(4):49:1–49:17, 2008. doi:10.1145/1383369.1383380.
  • [33] Mark H. Overmars and Jan van Leeuwen. Maintenance of configurations in the plane. Journal of Computer and System Sciences, 23(2):166–204, 1981. doi:10.1016/0022-0000(81)90012-X.
  • [34] Lajos Stachó. A solution of Gallai’s problem on pinning down circles. Mat. Lapok, 32(1-3):19–47, 1981–84.
  • [35] Anastasiia Tkachenko and Haitao Wang. Computing maximum cliques in unit disk graphs. In Proceedings of the 37th Canadian Conference on Computational Geometry, (CCCG 2025), pages 283–291, 2025.
  • [36] Haitao Wang. Unit-disk range searching and applications. J. Comput. Geom., 14(1):343–394, 2023. doi:10.20382/JOCG.V14I1A13.