The Maximum Clique Problem in a Disk Graph Made Easy
Abstract
A disk graph is an intersection graph of disks in . 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. In this paper, we provide a new perspective to examine adjacencies in a disk graph that helps obtain the following results.
-
We design an -time algorithm, where hides a polynomial factor, to find a maximum clique in a -vertex disk graph with different sizes of radii. This is polynomial for every fixed , and thus settles the open question for the case when .
-
Given a set of unit disks, we show how to compute a maximum clique inside each possible axis-aligned rectangle determined by the disk centers in -time. This is at least a factor of faster than applying the fastest known algorithm for finding a maximum clique in a unit disk graph for each rectangle independently.
-
We give an -time algorithm to find a maximum clique in a -vertex ball graph with different sizes of radii where the ball centers lie on parallel planes. This is polynomial for every fixed and , and thus contrasts the previously known NP-hardness result for finding a maximum clique in an arbitrary ball graph.
-
We design an -time algorithm to find a maximum clique in the intersection graph of a set of -visible convex polygons, where is the number of distinct shapes in . This contrasts the known hardness result on finding a maximum clique in the intersection graph of unit disks and axis-aligned rectangles.
Keywords and phrases:
Geometric Intersection Graphs, Disk Graphs, Ball Graphs, Maximum CliqueCopyright and License:
![[Uncaptioned image]](x1.png)
2012 ACM Subject Classification:
Theory of computation Computational geometry ; Theory of computation Parameterized complexity and exact algorithmsAcknowledgements:
We thank Soichiro Yamazaki for useful feedback.Funding:
The work is supported in part by the Natural Sciences and Engineering Research Council of Canada (NSERC).Editors:
Oswin Aichholzer and Haitao WangSeries and Publisher:

1 Introduction
A geometric intersection graph consists of a set of geometric objects as vertices and a set of edges that are determined by the intersection of these objects, i.e., two vertices are considered adjacent if and only if the corresponding objects intersect. Geometric objects of different shapes and their intersection graphs are often used to model applied contexts, e.g., unit disks for problems in wireless networks [24, 28], line segments (time intervals) for task scheduling [34], trapezoids for channel routing in VLSI design [23], etc. Many NP-hard graph problems are known to admit polynomial-time solutions on various types of geometric intersection graphs (see e.g., [8, 16]). There also exist cases where a graph problem is known to be NP-hard, but its time complexity status is open for some intersection graph class (see e.g. the open problems posed in [2, 1, 5, 33]). In this paper, we restrict our attention to one such scenario, where the problem of interest is finding a maximum clique, i.e., a maximum subset of pairwise adjacent vertices, and the intersection graph we examine is a disk graph. Here, a disk graph is an intersection graph of disks in , where each vertex of corresponds to a disk and two vertices are adjacent in if and only if their disks intersect.
The maximum clique problem is NP-hard for many well-known intersection graph classes such as intersection graph of rays [13], grounded strings [33], triangles [3], ellipses [3], and a combination of axis-aligned rectangles and unit disks [7, 21], whereas polynomial-time solvable for circle graphs [36], trapezoid graphs [23], circle trapezoid graphs [23], unit disk graphs [16], axis-aligned rectangle intersection graphs [29], and so on. However, determining the time complexity of computing a maximum clique in a disk graph is a long-standing open question [3, 4, 24]. In a seminal paper published in 1990, Clark, Colbourn, and Johnson [16] gave a polynomial-time algorithm for the case of unit disk graphs. However, the time-complexity question for general disk graphs has remained open since then. Although this was not posed as an open problem in [16], it has long been known to be a challenging problem [4], even before it was explicitly posed as an open problem (e.g., by Fishkin [24], Ambühl and Wagner [3] and Cabello [11, 12]). In fact, the problem has been emphasized in various ways in the literature, e.g., as “an intriguing open question”, as “a notorious open question in computational geometry” [5], as being “elusive with no new positive or negative results” [4], and several times as a “long-standing open problem” [21, 25, 27].
Although no polynomial-time exact solution is known for finding a maximum clique in general disk graphs, a 2-approximate solution [3] can be obtained by guessing all stabbing sets of four points. There always exists a stabbing set of at most four points for every set of disks that forms a clique [17, 39, 14]. Therefore, one can take the largest solution obtained from all guesses. However, obtaining a better approximation ratio appears to be a challenge. Cabello [11, 12] even asked whether a 1.99 approximation can be achieved if we restrict the input to disks that have at most two different sizes of radii.
Several recent research has shown interesting progress on various fronts of the problem. The -time algorithm for finding a maximum clique in a unit disk graph [16], which was improved first to -time [9] and then to -time [19], has been improved further in SoCG’23 to [21]. Chan [15] observed that the running time of [21] can be expressed as , where is the time to compute a maximum matching in a bipartite graph that has a biclique cover222A biclique cover of a bipartite graph is a set of complete bipartite subgraphs of that cover the edges of . The size of the cover is the number of elements in the set. of size , and in this context is known to be [31]. One can leverage such a biclique cover to compute a maximum matching in time [22]. Therefore, the overall running time becomes . In FOCS’18, the authors in [6] gave a QPTAS, a randomized EPTAS (and thus a fixed-parameter-tractable algorithm [7]), and a subexponential algorithm for computing a maximum clique in a disk graph. They also showed how to extend these results for unit ball graphs, which are intersection graphs of 3-dimensional balls of unit radius. In SODA’22, the authors in [35] designed further subexponential-time fixed-parameter-tractable algorithms for many other fundamental graph problems on disk graphs. While the maximum clique problem is open for disk graphs with arbitrary radii, it is NP-hard for ball graphs [6]. The hardness result holds in a very restricted setting with all radii falling within the interval , , where even a subexponential-time approximation scheme is unlikely unless the exponential-time-hypothesis [30] fails.
A rich body of research examined the maximum clique problem in the intersection graph of various types of convex shapes. A -directional convex polygon is a polygon with sides parallel to one of the prespecified directions. A -directional convex graph is an intersection graph of -directional polygons. The paper in [10] showed that a maximum clique in -directional convex graphs can be solved in time time, and given a geometric representation, this can be improved to . The maximum-clique problem can be solved in polynomial time for the intersection graph of unit disks and 2-pancakes [26], where a 2-pancake is defined using a segment on the x-axis. Specifically, a 2-pancake is the Minkowski sum of the unit disk centered at and the line segment with endpoints and , i.e., the union of all unit disks with center on the line segment . Bonnet, Grelier, and Miltzow [7] extends the polynomial-time algorithm for unit disks [16] to translates of any fixed convex set. This algorithm does not generalize any further, i.e., no polynomial-time algorithm is known for the translates of two fixed convex sets.
Our Contribution
We show that a maximum clique in a unit disk graph can be obtained by examining slabs (i.e., regions that are bounded by two parallel lines), whereas all prior algorithms depend on a more constrained lens-shaped region. We show how our new slab-based idea can be extended to compute a maximum clique in polynomial time when the number of different radii sizes is fixed, and even to address the case of ball graphs in some restricted settings. Specifically, we obtain the following results, where in all cases, we assume that an arrangement of disks, i.e., a disk representation of the disk graph, is given as an input.
Disk graph with Different Sizes of Radii.
We give an -time algorithm, where hides a polynomial factor, to find a maximum clique in a disk graph where is the number of different types of radii. For every fixed , the running time becomes polynomial. This settles the open question posed by Cabello [11, 12] on whether a polynomial-time algorithm exists when .
Range Query in a Unit disk graph.
We show that our slab-based idea can help the range query version of the maximum clique problem, where the input unit disks should be preprocessed such that several queries that may appear at a later time can be answered efficiently. We examine the case of axis-aligned rectangular query, where a maximum clique needs to be reported over disks with centers in the query rectangle. A natural approach for handling rectangular range queries is to precompute the maximum cliques for all possible axis-aligned rectangles (determined by the given disk centers) such that given a query , a solution can be obtained first by identifying the smallest enclosing rectangle for the disk centers in , and then by a table look-up using . Applying an existing lens-based algorithm on all possible axis-aligned rectangles determined by the input disk centers takes time. In contrast, we can use our slab-based idea to precompute all such solutions in , achieving a speed up by at least a factor of .
Ball graphs with Different Sizes of Radii.
Given a set of balls in the Euclidean plane with different sizes of radii where the ball centers lie on parallel planes, we show how to compute a maximum clique in the corresponding ball graph in time. For fixed and , the running time becomes polynomial in . We then show that the restriction of the planes being parallel can be removed as long as the input planes are all perpendicular to a different plane. This result contrasts the known NP-hardness result [5] for finding a maximum clique in a ball graph where the radii of the balls are very close to each other, i.e., in the interval , where .
Intersection graphs of -visible convex polygons.
Given a set of convex polygons that are -visible, we show how to find a maximum clique in their intersection graph in -time, where is the number of distinct shapes in . This strengthens a result in [7]. Here two points in a polygon are called -visible if the axis parallel rectangle with diagonal is contained in the polygon. We refer to a polygon as a -visible polygon if it contains a point from which every point of the polygon is -visible. For example, a disk and a regular hexagon with one side parallel to x-axis are -visible, whereas a triangle is not necessarily an -visible polygon. Our result implies that the maximum clique can be computed in polynomial time in the intersection graph of the translates of a unit disk and a set of fixed axis-aligned rectangles. In contrast, if the number of rectangle shapes is not bounded then the problem is known to be NP-hard, e.g., consider the case of unit disks and axis-aligned rectangles [7, 21].
2 Preliminaries
In this section we discuss some notation and preliminary results.
By , we denote a disk with a center at point and radius . Given a pair of disks and , we refer to their common intersection region as a lens (Figure 1(a)). Let be a disk graph. For simplicity, sometimes we say a pair of disks are adjacent in , which means that the disks intersect and their corresponding vertices are adjacent in . By , we denote a ball with a center at point and radius .
For a pair of points and , we denote the line passing through them as . By and we denote the line segment with endpoints and the Euclidean distance between and , respectively. By and we denote the horizontal and vertical lines through a point , respectively. By an upper slab of , we denote the region above , which is bounded by the lines and . Similarly, by a lower slab we denote the region below , which is bounded by and .
Lemma 1.
Let be a line segment and let be the upper slab of . Let be a point in and let be a point (not necessarily in ) with a -coordinate equal to or larger than the -coordinate of . Then .
Proof.
We distinguish two scenarios depending on whether is vertical or not.
Scenario 1 (The -coordinates of and are different): Without loss of generality assume that has a strictly smaller -coordinate than that of . Since the coordinate of is equal to or larger than the -coordinate of , the ray that starts at and passes through must hit the boundary of . Let be the point of intersection when the ray exits (e.g., Figure 1(b)–(d)). It suffices to show that .
Consider first the case when lies on (e.g., Figure 1(b)). Let be the point on line that minimizes the distance , i.e., is perpendicular to . We now move away from along line until it hits either or . Since we are moving away from , the length increases monotonically, and the largest length it can attain is .
Consider now the case when lies on the vertical sides of (e.g., Figure 1(c)–(d)). We move downward along the side of until it hits either or . Since has a higher -coordinate than , moving downward increases the length monotonically, and the largest length it can attain is .
Scenario 2 (The -coordinates of and are the same): In this case, is a vertical segment. If has a smaller -coordinate than that of , then . Otherwise, .
3 Maximum Clique in Disk Graphs with Different Radii
In this section we give an -time algorithm to find a maximum clique in a disk graph where is the number of different types of radii.
We first introduce some notation. Let be a disk graph where the number of different types of radii is at most . For convenience, we denote these different types of radii as , where for every , we have . By a type- disk we denote a disk of radius . Let be a maximum clique of . By we denote a maximal clique in where all disks are of type .
The idea of the algorithm is as follows. We guess the number of different types of radii that may appear in a maximum clique and we take the maximum over all the solutions computed from these guesses. We now describe how a solution is computed for a particular guess for a set of radii that may appear in the maximum clique . For each disk type , we guess two disk centers from , where is the leftmost (i.e., with the smallest -coordinate) and is the rightmost (i.e., with the largest -coordinate) over all the disk centers in . Note that may coincide with if contains only one disk, or if the centers of all disks in are on a vertical line. Let be the set of these disks. For every upper slab , we construct a set by taking every disk that has its center in and intersects all the disks of . We show that the union of these disks, i.e., , is a clique in . Similarly, for each lower slab , we construct a set by taking every disk that has its center in and intersects all the disks of . We show that their union is a clique in . Since the disks of are assumed to be in , it is straightforward to observe that is a subset of the disks in . Since the complement of the disk graph determined by the disks is a bipartite graph , we can compute the maximum clique from a maximum bipartite matching in . It now suffices to show that the disks in (similarly, the disks in ) are mutually adjacent.
Lemma 2.
For every , where , the disks in are mutually adjacent.
Proof.
Let and be two disks, where belongs to and belongs to . We now show that and must mutually intersect.
Consider first the case when . Without loss of generality assume that the -coordinate of is larger than or equal to that of . Then by Lemma 1, . By the construction of , the disk intersects and . We thus have , and since and correspond to type- disks, they must intersect.
Consider now the case when .
If the -coordinate of is larger than or equal to that of , then we apply Lemma 1 to obtain . By the construction of , the disk intersects and . We thus have . Consequently, and mutually intersect.
If the -coordinate of is smaller than that of , then we apply Lemma 1 by swapping the role of and , i.e., by using the condition that whereas has a larger -coordinate than that of . We thus have . By the construction of , we have . Consequently, and mutually intersect.
We now consider the running time. There are at most ways to guess the pair of disks for a particular disk type, irrespective of whether these two disks are distinct or not. Therefore, the number of ways we can guess pairs is . For each guess of pairs, it is straightforward to construct the sets and in time. Since the corresponding bipartite graph and its maximum matching can be computed in polynomial time, the overall running time becomes .
The following theorem summarizes the result of this section.
Theorem 3.
Given a set of disks in the Euclidean plane with different types of radii, a maximum clique in the corresponding disk graph can be computed in time.
4 Rectangular Range Query over Unit Disks
In this section, we consider the problem of reporting a maximum clique given a rectangular range query over an arrangement of unit disks. To this end, we show how to compute a maximum clique for every axis-aligned rectangle (determined by the input disk centers) in time, which is at least a factor of faster than applying the algorithm of [21] separately for each axis-aligned rectangle.
To better explain such advantages of our technique, we first give an overview of the existing algorithms to compute a maximum clique in a unit disk graph. The idea of Clark, Colbourn, and Johnson’s -time algorithm [16] is to guess the farthest pair of vertices in the clique, and then to find a maximum clique that contains both and . Since and are the farthest pair, the set of vertices that are adjacent to both must lie in a lens-shaped region, i.e., the common intersection region of the two disks centered at and with radius . They showed that the lens can be partitioned by the line segment into two halves where the disks with centers in the same half are pairwise intersecting. Consequently, the complement of the disk graph corresponding to is a bipartite graph , and the maximum clique can be computed by finding a maximum independent set in . The running time for the unit disk case has subsequently been improved to by using non-trivial data structures [9], then to by examining the lenses in a particular order so that the solution for each lens does not need to be computed from scratch [19, 20], and finally, to by a combination of divide-and-conquer and plane sweep approach using a circular arc [21, 15]. Here is the time to compute a maximum matching in , i.e., the complement of the disk graph inside a lens, and is the size of the biclique cover of . Since [31] and a maximum matching can be computed using a maximum-flow algorithm in time [22], the running time becomes . Consider now the scenario of computing a maximum clique for every possible rectangle determined by the input disk centers. Since lenses examined by these algorithms are not necessarily axis-aligned, finding an order of the lenses to compute solutions for the rectangles by dynamic point insertion and deletion appears to be challenging. A straightforward approach that solves each rectangular region independently takes time.
The idea of our algorithm is to maintain solutions for all possible slabs where one can insert and delete points as necessary to find the solutions for all possible rectangles within the slab. For convenience, we assume that the centers of the disks are in general position, i.e., no two centers have the same -coordinates. We now describe the details.
Consider first an alternative (slower) approach that uses slabs to compute a maximum clique that guesses the leftmost and rightmost points of a maximum clique. For every such guess, one can find a maximum clique by considering the set of disks that are adjacent to both and have their centers in the slab bounded by and . By Lemma 1, the disks of that have their centers in (similarly, in ) are mutually adjacent. Consequently, the complement of the disk graph underlying is a bipartite graph , and a maximum clique can be computed by finding a maximum independent set in .
We now consider maintaining the solutions for all possible slabs under point insertion and deletion. Initially, the solution for each slab is set to null. We now sweep the plane upward with two horizontal lines and in two phases.
In the first phase, is placed so that it passes through the disk center with the lowest -coordinate, and is used to sweep the plane upward starting at . Each time moves to a new point, a point is inserted into the corresponding slabs and their solutions are updated. Every time the horizontal slab between and contains the guessed points of a slab (i.e., the two points determining a slab), we obtain a solution for a new rectangular region, and the corresponding solution is stored in a table. It is straightforward to observe that each insertion changes slabs, and hence we have insertion operations in total.
In the next phase, we sweep the plane upward using . Each time moves to a new point, a point is deleted from the corresponding rectangular regions we considered in the first phase. A deletion changes previous solutions, i.e., the solutions corresponding to slabs and regions in each slab determined by the positions of . Therefore, we have deletion operations in total.
Each insertion and deletion operation updates existing lenses, each of which is determined by a pair of guessed points. It is known that such updates can be done in time by performing an alternating path search to update the maximum independent set in the bipartite graph determined by the complement of the disk graph inside the lens [20, 19]. For update operations, the running time becomes . By we denote the size of a maximum clique inside a rectangle with its left, right, top and bottom sides being determined by the lines through the disk centers , respectively, where is at most two units and appear on the left and right sides of . If is larger than two units, then is 0.
We now compute a maximum clique for each axis-aligned rectangle determined by the input disk centers. We first compute two sorted orders of the disk centers, one based on increasing -coordinates and the other based on increasing -coordinates. We now use a dynamic programming approach, where the base cases are the entries of , and the rectangles that do not contain any disk center in their proper interior. The latter can be computed and stored in a table in time. Let be the maximum clique of a rectangle with its left, right, top and bottom sides being determined by the lines through , respectively. Note that the disk centers of the maximum clique may not appear on the sides of . Let and be the disk centers immediately after and before and , respectively, which can be determined from the precomputed sorted order. Similarly, and are the disk centers immediately before and after and , respectively. We now can find a solution using table look-ups as follows.
Since there are cells in the table and each entry is computed by table look-ups which are determined in time, the overall running time remains .
Theorem 4.
Given a set of unit disks in the Euclidean plane, a maximum clique for every possible axis-aligned rectangle determined by the given disk centers can be computed in time.
5 Maximum Clique in Ball Graphs with Different Radii
We now give an -time algorithm for computing a maximum clique in a ball graph, where the centers of the balls are contained in planes which are all perpendicular to a different plane (Section 5.2). For simplicity, we first consider a scenario when the input planes are parallel to each other (Section 5.1).
5.1 Ball Centers are on Parallel Planes
Without loss of generality, we assume that the input planes are parallel to the xy-plane. We first show that a version of Lemma 1 holds in three dimensions, as follows.
Lemma 5.
Let be a line segment on a plane , where is parallel to the xy-plane, and let be the upper slab of on . Let be a point in . Let be a point (not necessarily on ) with a -coordinate equal to or larger than the -coordinate of . Then .
Proof.
Let be the projection of on (Figure 2(a)). Then the -coordinate of is equal to or larger than the -coordinate of . By Lemma 1, and thus
Let be a ball graph with different types of radii. Similar to Section 3, we guess the number of different types of radii that may appear in a maximum clique and we take the maximum over all the solutions computed from these guesses. For each ball type , we guess at most ball centers from . Here is the leftmost and is the rightmost over all the ball centers in on the th plane, where . Note that may sometimes coincide with . Let be the set of these balls. For every upper slab on the th plane, we construct a set by taking every ball that has its center in and intersects all the balls of . We show that the union of these balls, i.e., , is a clique in . Similarly, for each lower slab , we construct a set by taking every ball that has its center in and intersects all the balls of . We show that their union is a clique in . It now suffices to show that the balls in (similarly, the balls in ) are mutually adjacent.
Lemma 6.
For every , where , the balls in , where , are mutually adjacent.
Proof.
Let and be two balls, where belongs to and belongs to . We now show that and must mutually intersect. If , then the proof follows from Lemma 2. Therefore, we may assume that . However, the proof in this case is the same as that of Lemma 2 except that we use Lemma 5 instead of Lemma 1 for the arguments, as follows.
Consider first the case when . Without loss of generality assume that the -coordinate of is larger than or equal to that of . Then by Lemma 5, . By the construction of , the ball intersects and . We thus have , and since and correspond to type- balls, they must intersect.
Consider now the case when . If the -coordinate of is larger than or equal to that of , then we apply Lemma 5 to obtain . By the construction of , the ball intersects and . We thus have . Consequently, and mutually intersect. If the -coordinate of is smaller than that of , then we apply Lemma 5 by swapping the role of and , i.e., by using the condition that whereas has a larger -coordinate than that of . We thus have . By the construction of , we have . Consequently, and mutually intersect.
We now consider the running time. For a single plane, there are at most ways to guess the pair of balls for a particular ball type, and thus ways for pairs considering all types. Since we have planes, the total number of guesses is . For each guess of pairs, it is straightforward to construct the sets and in time. Since the the ball graph determined by the balls and the corresponding maximum matching can be computed in polynomial time. the running time becomes .
The following theorem summarizes the result of this section.
Theorem 7.
Given a set of balls in the Euclidean plane with different types of radii where the ball centers are contained on parallel planes, a maximum clique in the corresponding ball graph can be computed in time.
5.2 Ball Centers are on Planes that are Perpendicular to Another Plane
We now show that the condition for the input planes being parallel to each other can be relaxed as long as the input planes are all perpendicular to a different plane. Without loss of generality assume that the input planes are perpendicular to the xz-plane (e.g., Figure 2(b)). We first observe the following property of a maximum clique.
Lemma 8.
Let be a ball graph with different radii with centers on planes that are perpendicular to the xz-plane. Let be all the balls of type in a maximum clique of . Let be the projection of the ball centers in on the xz-plane. Then the convex-hull boundary of contains at most vertices (i.e., they correspond to strictly convex corners).
Proof.
If three points of come from the same original plane, then they are collinear in the xz-plane, thus only two of them can appear as strictly convex corners on the convex-hull boundary of . Therefore, the planes can contribute to at most vertices in total.
Let be a set of points in three dimensions. By a convex hull of we denote the smallest convex polyhedra that contains all points in . A lower (upper) envelope of consists of all points that lie at the boundary of the convex hull of such that the rays that start at these points and move along the negative y-axis (positive y-axis) do not contain any interior point of the convex hull. An extended lower envelope of is a three-dimensional region that consists of the points on the lower envelope and all points that are hit by the rays that start at the lower envelope and move along the positive y-axis. Figure 2(c) illustrates an extended lower envelope. We also define an extended upper envelope of symmetrically.
Similar to Section 3, we guess the set of different types of radii that may appear in a maximum clique. For each ball type , we guess at most ball centers from , where is the leftmost and is the rightmost over all the ball centers in (e.g., Figure 2(b)) on the th plane. It is straightforward to observe that the convex hull of the projection of the guessed ball centers on the xz-plane contains the projection of all ball centers of . Let be the set of at most balls that we guess over all radii types.
For every extended lower envelope for the ball centers guessed for type , we construct a set by taking every ball that has its center in and intersects all the balls of . We show that the union of these balls, i.e., , determines a clique. Similarly, for each extended upper envelope , we construct a set by taking every ball that has its center in and intersects all the balls of . We show that their union , determines a clique. It now suffices to show that the balls in (similarly, the balls in ) are mutually adjacent.
Lemma 9.
For every , where , the balls in are mutually adjacent.
Proof.
Let and be two balls, where belongs to and belongs to . We now show that and must mutually intersect.
The argument in the rest of the proof works irrespective of whether or not. Without loss of generality assume that the -coordinate of is larger than or equal to that of . Let be the ray that starts at and passes through , and let be the intersection point of when exits the extended lower envelope . Figure 2(d) illustrates this when .
Assume first that hits a face of the lower envelope, and let be the plane determined by . Let be the point of that minimizes the distance . Since is convex, moving away from on would increase the length monotonically and hit a vertex of . Since intersects , and since , the balls and must intersect.
Assume now that does not belong to the lower envelope but hits a side of the extended lower envelope, and let be the plane determined by . Let be the point of that minimizes the distance . Since is convex, moving towards negative y-axis and away from on would increase the length monotonically and hit a vertex of . Since intersects , and since , the balls and must intersect.
The following theorem summarizes the result of this section.
Theorem 10.
Given a set of balls in the Euclidean plane with different types of radii where the ball centers are contained on planes that are perpendicular to a single different plane, a maximum clique in the corresponding ball graph can be computed in time.
6 Maximum Clique in Disk-Like Graphs
In this section we give an -time algorithm to compute a maximum clique in the intersection graph of -visible convex polygons with distinct shapes. Figure 3(a) illustrates an -visible polygon, where every point of the polygon is -visible from a center point .
We first introduce some notation. Let be an intersection graph of -visible polygons, where the number of different types of shapes is at most . For convenience, we denote these shapes as and for each shape , designate a center , i.e., all points of are -visible from . Let be a maximum clique of . By we denote a maximal clique in where all shapes are of type . We also use the following properties of -visible shapes which are straightforward to verify using the concept of Minkowski sum of two convex polygons [18].
Remark 11.
Let and be two -visible convex shapes with centers and , respectively. Let be the region that consists of points where can be placed to intersect . Then is convex (Figure 3(b)).
The idea of the algorithm is similar to that of Section 3. We guess the set of different types of shapes that may appear in a maximum clique and we take the maximum over all the solutions computed from these guesses. For each type , we guess the leftmost and rightmost shape centers and , respectively, over the shapes in . Let be the set of these shapes. For every upper slab , we construct a set by taking every shape that has its center in and intersects all the shapes of . We show that the union of these shapes, i.e., , is a clique in . Similarly, for each lower slab , we construct a set by taking every shape that has its center in and intersects all the shapes of . We show that their union is a clique in . A maximum clique can then be found from a maximum bipartite matching in the complement of the intersection graph of . The time to compute the graph and the matching is polynomial in and , where is the shape complexity, i.e., upper bound on the number of smooth curves on the boundary of a shape.
Lemma 12.
For every , where , the shapes in are mutually adjacent.
Proof.
Let and be two shapes with centers and , respectively. We now show that and must mutually intersect.
Consider first the case when , i.e., and both belong to the upper slab . Without loss of generality assume that the -coordinate of is larger than or equal to that of . We now consider two scenarios.
If the ray starting at passing through does not intersect , then assume without loss of generality that it intersects the left side of after passing through (Figure 3(c)). Let be a point that is common to both and . Let be the axis-aligned rectangle with diagonal . We can then consider moving the center along the left side of until we reach the -coordinate of , and then move horizontally until it coincides with (Figure 3(d)–(e)). Throughout the process the axis-aligned rectangle with diagonal maintains an intersection region with . Hence must intersect .
If the ray starting at passing through intersects at a point (Figure 3(f)), then we prove the adjacency of and as follows. By Remark 11, is convex. Since intersects and , also contains and . By the convexity of , the segment belongs to . We now move the center to along the line . Since , throughout the process intersects . We now move from to along the line . Since -visible shapes are convex, moving a pair of intersecting -visible shapes closer along the the line determined by their centers keeps them intersected. Therefore, throughout the process maintains an intersection with . Hence must intersect .
Consider now the case when . If the -coordinate of is larger than or equal to that of , then the proof above still applies. The only difference is that can now be outside of , but this leaves the above argument the same as we only used the property that the -coordinate of is larger than or equal to that of . If the -coordinate of is smaller than that of , then we can swap the role of and , i.e., by using the condition that whereas has a larger -coordinate than that of .
The running time can now be computed in the same way as in Section 3.
Theorem 13.
Given a set of -visible convex shapes in the Euclidean plane where the number of distinct shapes is , a maximum clique in the corresponding intersection graph can be computed in time.
7 Direction for Future Research
We gave an -time algorithm to find a maximum clique in a -vertex disk graph with different radii. Designing faster algorithms is a natural direction to explore. Existing techniques [38] that computes maximum clique on unit disk graphs even when a geometric representation is not given do not generalize to our context. Therefore, finding efficient algorithms when a geometric representation of the disk graph is not given would be interesting.
We showed that given a set of unit disks, one can compute a maximum clique for each possible axis-aligned rectangle determined by the input disk centers in time. Consequently, given a rectangular range query , the maximum clique inside can be reported in time, where the term is to locate the rectangle (using range searching data structures [37]) for which a solution is precomputed. Improving the running time or establishing tight time-space trade-offs can be interesting.
For ball graphs, we gave an -time algorithm to find a maximum clique, where is the number of different radii and the ball centers are contained in planes that are perpendicular to a single different plane. One may attempt to relax our perpendicularity constraint. The NP-hardness reduction for computing a maximum clique in a ball graph [6] allows for arbitrary radii whereas our result provides polynomial-time algorithms when . The case when can be explored. Finally, can we find a polynomial-time algorithm for computing maximum clique in the intersection graph of convex shapes that are not necessarily -visible, where the number of distinct shapes is fixed?
References
- [1] Ranendu Adhikary, Kaustav Bose, Satwik Mukherjee, and Bodhayan Roy. Complexity of maximum cut on interval graphs. In Proceedings of the 37th International Symposium on Computational Geometry, (SoCG), volume 189 of LIPIcs, pages 7:1–7:11, 2021. doi:10.4230/LIPICS.SOCG.2021.7.
- [2] Ranendu Adhikary, Kaustav Bose, Satwik Mukherjee, and Bodhayan Roy. Complexity of maximum cut on interval graphs. Discret. Comput. Geom., 70(2):307–322, 2023. doi:10.1007/S00454-022-00472-Y.
- [3] Christoph Ambühl and Uli Wagner. The clique problem in intersection graphs of ellipses and triangles. Theory of Computing Systems, 38(3):279–292, 2005. doi:10.1007/s00224-005-1141-6.
- [4] J. Bang-Jensen, B. Reed, M. Schacht, R. Šámal, B. Toft, and U. Wagner. Topics in Discrete Mathematics, Dedicated to Jarik Nešetřil on the Occasion of his 60th birthday, volume 26 of Algorithms and Combinatorics, pages 613–627. Springer, 2006.
- [5] Marthe Bonamy, Édouard Bonnet, Nicolas Bousquet, Pierre Charbit, Panos Giannopoulos, Eun Jung Kim, Pawel Rzazewski, Florian Sikora, and Stéphan Thomassé. EPTAS and subexponential algorithm for maximum clique on disk and unit ball graphs. J. ACM, 68(2):9:1–9:38, 2021. doi:10.1145/3433160.
- [6] Marthe Bonamy, Edouard Bonnet, Nicolas Bousquet, Pierre Charbit, and Stéphan Thomassé. EPTAS for max clique on disks and unit balls. In Mikkel Thorup, editor, Proceedings of the 59th IEEE Annual Symposium on Foundations of Computer Science (FOCS), pages 568–579. IEEE Computer Society, 2018. doi:10.1109/FOCS.2018.00060.
- [7] É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. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2020. doi:10.4230/LIPICS.FSTTCS.2020.17.
- [8] Prosenjit Bose, Paz Carmi, J. Mark Keil, Anil Maheshwari, Saeed Mehrabi, Debajyoti Mondal, and Michiel Smid. Computing maximum independent set on outerstring graphs and their relatives. Comput. Geom., 103:101852, 2022. doi:10.1016/j.comgeo.2021.101852.
- [9] Heinz Breu. Algorithmic aspects of constrained unit disk graphs. PhD thesis, University of British Columbia, 1996.
- [10] Valentin E Brimkov, Konstanty Junosza-Szaniawski, Sean Kafer, Jan Kratochvíl, Martin Pergel, Paweł Rzążewski, Matthew Szczepankiewicz, and Joshua Terhaar. Homothetic polygons and beyond: Maximal cliques in intersection graphs. Discrete Applied Mathematics, 247:263–277, 2018. doi:10.1016/J.DAM.2018.03.046.
- [11] Sergio Cabello. Maximum clique for disks of two sizes. Open problems from Geometric Intersection Graphs: Problems and Directions CG Week Workshop, Eindhoven, June 25, 2015.
- [12] Sergio Cabello. Open problems presented at the algorithmic graph theory. Adriatic Coast workshop, Koper, Slovenia, June 16–19, 2015.
- [13] 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.
- [14] Paz Carmi, Matthew J. Katz, and Pat Morin. Stabbing pairwise intersecting disks by four points. Discret. Comput. Geom., 70(4):1751–1784, 2023. doi:10.1007/S00454-023-00567-0.
- [15] Timothy Chan. Personal communication. June 6, 2023.
- [16] Brent N. Clark, Charles J. Colbourn, and David S. Johnson. Unit disk graphs. Discret. Math., 86(1-3):165–177, 1990. doi:10.1016/0012-365X(90)90358-O.
- [17] Ludwig Danzer. Zur lösung des gallaischen problems über kreisscheiben in der euklidischen ebene. Studia Sci. Math. Hungar, 21(1-2):111–134, 1986.
- [18] Mark De Berg, Marc Van Kreveld, Mark Overmars, and Otfried Schwarzkopf. Computational geometry: Algorithms and applications. Springer Science & Business Media, 2000.
- [19] David Eppstein. Graph-theoretic solutions to computational geometry problems. In Christophe Paul and Michel Habib, editors, Proceedings of the 35th International Workshop on Graph-Theoretic Concepts in Computer Science (WG), pages 1–16, 2009. doi:10.1007/978-3-642-11409-0_1.
- [20] David Eppstein and Jeff Erickson. Iterated nearest neighbors and finding minimal polytopes. Discret. Comput. Geom., 11:321–350, 1994. doi:10.1007/BF02574012.
- [21] Jared Espenant, J. Mark Keil, and Debajyoti Mondal. Finding a maximum clique in a disk graph. In Erin W. Chambers and Joachim Gudmundsson, editors, Proceedings of the 39th International Symposium on Computational Geometry (SoCG), volume 258 of LIPIcs, pages 30:1–30:17. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2023. doi:10.4230/LIPICS.SOCG.2023.30.
- [22] Tomás Feder and Rajeev Motwani. Clique partitions, graph compression and speeding-up algorithms. J. Comput. Syst. Sci., 51(2):261–272, 1995. doi:10.1006/JCSS.1995.1065.
- [23] Stefan Felsner, Rudolf Müller, and Lorenz Wernisch. Trapezoid graphs and generalizations, geometry and algorithms. Discret. Appl. Math., 74(1):13–32, 1997. doi:10.1016/S0166-218X(96)00013-3.
- [24] Aleksei V. Fishkin. Disk graphs: A short survey. In Klaus Jansen and Roberto Solis-Oba, editors, Proceedings of Approximation and Online Algorithms, First International Workshop (WAOA), volume 2909 of Lecture Notes in Computer Science, pages 260–264. Springer, 2003. doi:10.1007/978-3-540-24592-6_23.
- [25] Nicolas Grelier. Computing a maximum clique in geometric superclasses of disk graphs. J. Comb. Optim., 44(4):3106–3135, 2022. doi:10.1007/S10878-022-00853-2.
- [26] Nicolas Grelier. Computing a maximum clique in geometric superclasses of disk graphs. Journal of Combinatorial Optimization, 44(4):3106–3135, 2022. doi:10.1007/S10878-022-00853-2.
- [27] Nicolas Grelier. Maximum Clique in Generalisations of Disk Graphs and Plane Geometric Graphs on Degenerate Point Sets. PhD thesis, ETH Zurich, Zürich, Switzerland, 2022. doi:10.3929/ETHZ-B-000574739.
- [28] Mark L. Huson and Arunabha Sen. Broadcast scheduling algorithms for radio networks. In Proceedings of MILCOM’95, volume 2, pages 647–651. IEEE, 1995.
- [29] Hiroshi Imai and Takao Asano. Finding the connected components and a maximum clique of an intersection graph of rectangles in the plane. J. Algorithms, 4(4):310–323, 1983. doi:10.1016/0196-6774(83)90012-3.
- [30] Russell Impagliazzo, Ramamohan Paturi, and Francis Zane. Which problems have strongly exponential complexity? In Proceedings of the 39th Annual Symposium on Foundations of Computer Science (FOCS), pages 653–663. IEEE Computer Society, 1998. doi:10.1109/SFCS.1998.743516.
- [31] Matthew J. Katz and Micha Sharir. An expander-based approach to geometric optimization. SIAM J. Comput., 26(5):1384–1408, 1997. doi:10.1137/S0097539794268649.
- [32] J. Mark Keil and Debajyoti Mondal. The maximum clique problem in a disk graph made easy, 2024. doi:10.48550/arXiv.2404.03751.
- [33] J. Mark Keil, Debajyoti Mondal, Ehsan Moradi, and Yakov Nekrich. Finding a maximum clique in a grounded 1-bend string graph. Journal of Graph Algorithms and Applications, 26(4), 2022. doi:10.7155/JGAA.00608.
- [34] Jon Kleinberg and Éva Tardos. Algorithm Design. Addison Wesley, 2006.
- [35] Daniel Lokshtanov, Fahad Panolan, Saket Saurabh, Jie Xue, and Meirav Zehavi. Subexponential parameterized algorithms on disk graphs (extended abstract). In Joseph (Seffi) Naor and Niv Buchbinder, editors, Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 2005–2031. SIAM, 2022. doi:10.1137/1.9781611977073.80.
- [36] Nicholas Nash and David Gregg. An output sensitive algorithm for computing a maximum independent set of a circle graph. Inf. Process. Lett., 110(16):630–634, 2010. doi:10.1016/j.ipl.2010.05.016.
- [37] Yakov Nekrich. New data structures for orthogonal range reporting and range minima queries. In Dániel Marx, editor, Proceedings of the 2021 ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 1191–1205. SIAM, 2021. doi:10.1137/1.9781611976465.73.
- [38] Vijay Raghavan and Jeremy P. Spinrad. Robust algorithms for restricted domains. J. Algorithms, 48(1):160–172, 2003. doi:10.1016/S0196-6774(03)00048-8.
- [39] L Stachó. A gallai-féle körletüzési probléma megoldása, mat. Lapok, 32:19–47, 1981.