Abstract 1 Introduction 2 Preliminaries 3 The strongly-convex-input-and-output case 4 The strongly-convex-input case 5 The general case 6 The dispersion problem References

Maximum Independent Sets in Disk Graphs with Disks in Convex Position

Anastasiia Tkachenko ORCID Kahlert School of Computing, University of Utah, Salt Lake City, UT, USA    Haitao Wang ORCID Kahlert School of Computing, University of Utah, Salt Lake City, UT, USA
Abstract

For a set π’Ÿ of disks in the plane, its disk graph G⁒(π’Ÿ) is the graph with vertex set π’Ÿ, where two vertices are adjacent if and only if the corresponding disks intersect. Given a set π’Ÿ of n weighted disks, computing a maximum independent set of G⁒(π’Ÿ) is NP-hard. In this paper, we present an O⁒(n3⁒log⁑n)-time algorithm for this problem in a special setting in which the disks are in convex position, meaning that every disk appears on the convex hull of π’Ÿ. This setting has been studied previously for disks of equal radius, for which an O⁒(n37/11)-time algorithm was known. Our algorithm also works in the weighted case where disks have weights and the goal is to compute a maximum-weight independent set. As an application of our result, we obtain an O⁒(n3⁒log2⁑n)-time algorithm for the dispersion problem on a set of n disks in convex position: given an integer k, compute a subset of k disks that maximizes the minimum pairwise distance among all disks in the subset.

Keywords and phrases:
disk graphs, independent sets, convex position, dispersion
Copyright and License:
[Uncaptioned image] © Anastasiia Tkachenko and Haitao Wang; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation β†’ Computational geometry
; Theory of computation β†’ Design and analysis of algorithms
Related Version:
Full Version: https://arxiv.org/abs/2604.10828
Editor:
Pierre Fraigniaud

1 Introduction

An independent set in a graph is a subset of vertices with no edges between any two of them. The maximum independent set problem asks for an independent set of maximum cardinality. In weighted graphs, where each vertex is assigned a weight, the maximum-weight independent set problem seeks an independent set of maximum total weight.

In general graphs, these problems are computationally intractable [20]. This hardness has motivated research along two complementary directions. One direction focuses on designing approximation algorithms, which trade exactness for efficiency. The other aims to identify restricted settings, such as specific graph classes or additional structural constraints, under which exact polynomial-time algorithms become possible. Exact polynomial-time algorithms are known for a variety of restricted graph classes, including circular [17, 5], chordal [16], trapezoid [15], outerstring [7], and Burling graphs [28], where the additional structure can be exploited algorithmically.

In light of the above, geometric intersection graphs are of particular interest [1]. In these graphs, vertices represent geometric objects and edges encode their intersections. In this work, we focus on disk graphs, the intersection graphs of disks, which are among the most extensively studied geometric graph families. Beyond their intrinsic theoretical interest, disk graphs provide a natural abstraction for wireless and sensor networks, where connectivity is governed by transmission ranges that are commonly modeled as disks [12, 24, 25, 6].

Formally, let π’Ÿ be a set of disks in the plane. The disk graph G⁒(π’Ÿ) is the graph with vertex set π’Ÿ, where two vertices are adjacent if and only if the corresponding disks intersect. Thus, a subset π’Ÿβ€²βŠ†π’Ÿ is an independent set in G⁒(π’Ÿ) if and only if the disks in π’Ÿβ€² are pairwise disjoint. In addition, each disk is assigned a weight.

The maximum independent set problem in disk graphs remains NP-hard even when all disks have the same radius, in which case the graph is a unit-disk graph [12]. Many approximation algorithms for this problem have been developed; see, for example, [13, 14, 22, 23, 9, 1]. Beyond their algorithmic interest, independent sets in intersection graphs arise in several applications, such as map labeling in computational cartography [3]. For instance, in map labeling one is given a collection of candidate label regions and seeks a largest subset that can be placed without overlap; selecting such a subset is precisely a maximum independent set problem in the corresponding intersection graph.

These results naturally raise the question of whether, and to what extent, geometric structure can impose sufficient constraints to render otherwise intractable combinatorial problems tractable.

1.1 Our result

In this paper, we consider a special setting in which the disks in π’Ÿ are in convex position, meaning that every disk of π’Ÿ contributes to the boundary of the convex hull of π’Ÿ (see Figure 2). Under this assumption, we present an exact algorithm that computes a maximum-weight independent set in G⁒(π’Ÿ) in O⁒(n3⁒log⁑n) time. This setting bridges the gap between the general two-dimensional problem and one-dimensional variants such as circular graphs, which admit near-linear-time algorithms [5].

Figure 1: Illustrating a set of disks in convex position. The red dashed segments are on the boundary of the convex hull of all disks.
Figure 2: Illustrating a set of disks in strongly convex position. The red dashed segments are on the boundary of the convex hull of all disks.

The maximum-weight independent set problem under this convex position assumption has been studied previously, but only for the unit-disk case in which all disks have the same radius [30, 33]; in that setting, the previously best algorithm runs in O⁒(n37/11) time [33]. Our algorithm applies to disks of arbitrary radii and, moreover, improves the running time even in the unit-disk case.

We say that a set of disks is in strongly convex position if every disk has a single maximal disk arc appearing on the boundary of the convex hull of all disks (see Figure 2; but the disks in Figure 2 are not in strongly convex position). We solve the problem gradually as follows.

  1. 1.

    We first consider a very special case in which the disks of π’Ÿ are in strongly convex position and π’Ÿ has a maximum-weight independent set that is itself strongly convex; we refer to this as the strongly-convex-input-and-output case. Our algorithm for this case is based on dynamic programming and can be viewed as an extension of the unit-disk algorithm of [33] to disks of arbitrary radii. Moreover, we identify a new monotonicity property that allows our algorithm to run faster than the previous unit-disk algorithm [33]. Our algorithm for this case is presented in Section 3.

  2. 2.

    We then handle the strongly-convex-input case, in which π’Ÿ is strongly convex but does not necessarily admit a strongly convex maximum-weight independent set. We reduce this case to the first one by adding a set B of O⁒(n) auxiliary points, treated as special disks, such that (i) these special disks appear in any maximum-weight independent set of π’ŸβˆͺB, and (ii) for any subset π’Ÿβ€²βŠ†π’Ÿ, the set π’Ÿβ€²βˆͺB is strongly convex. This case is discussed in Section 4.

  3. 3.

    Finally, we address the most general case in Section 5, where π’Ÿ is not necessarily strongly convex and does not necessarily admit a strongly convex maximum-weight independent set. We reduce this case to the second one by again adding a set of auxiliary points as special disks.

As an application of our independent set algorithm, we also solve a dispersion problem for a set of n disks in convex position: given an integer k, the goal is to find a subset of k disks that maximizes the minimum pairwise distance among all disks in the subset, where the distance between two disks is defined as the minimum distance between any point in one disk and any point in the other. Our algorithm for this problem runs in O⁒(n3⁒log2⁑n) time and is presented in Section 6.

Due to the space limit, many proofs are omitted but can be found in the full paper.

1.2 Related work

Recent developments in geometric algorithms have demonstrated that the convex position constraint can serve as a powerful structural assumption. For a variety of classical problems, it enables exact polynomial-time algorithms, often by exploiting the inherent cyclic structure induced by convexity.

For example, the k-center problem is NP-hard for arbitrary point sets, but becomes polynomial-time solvable when the points are in convex position [11, 33]. Another recent result that exploits convex position concerns dominating sets in disk graphs [33, 31]. Note that for unit-disk graphs, the disk set is in convex position if and only if the centers of the disks are in convex position; this equivalence no longer holds when disks have different radii.

In the literature, related convexity assumptions have also been studied for disk graphs, including settings in which the disk centers are in convex position and settings in which the disks themselves are in convex position. For instance, Herrera and PΓ©rez-Lantero [18] and Huemer and PΓ©rez-Lantero [19] investigate combinatorial properties arising when the centers follow a prescribed convex pattern: each disk uses a distinct side of a convex polygon as its diameter, and its center is the midpoint of that side. Under the convex position assumption on the disks, it has also been reported that a maximum clique in the corresponding disk graph can be computed in polynomial time [8].

The convex position assumption has also been explored for classical problems that are already polynomial-time solvable in general, as it can simplify the structure and lead to faster algorithms. A well-known example is the linear-time algorithm for computing the Voronoi diagram of points in convex position [4]. Additional results for points in convex position can be found in [21, 27, 10, 32, 18].

A closely related problem is dispersion (also known as the maximally separated set problem [2]). Given a set of points in the plane and an integer k, the goal is to select k points that maximize their minimum pairwise distance; the problem is NP-hard in general [34]. When the points are in convex position, however, the problem becomes polynomial-time solvable [30, 33], and the previously best algorithm runs in O⁒(n37/11⁒log⁑n) time [33]. Our dispersion problem generalizes this setting from points to disks and our algorithm is even faster.

2 Preliminaries

In this section, we introduce notation and basic concepts used throughout the paper.

Let π’Ÿ denote a set of n disks Di in the plane ℝ2, for 1≀i≀n. For each disk Di, let pi be its center and let ri be its radius. For any subset π’Ÿβ€²βŠ†π’Ÿ, we use ℋ⁒(π’Ÿβ€²) to denote the convex hull of π’Ÿβ€².

For any region R in the plane, let βˆ‚R denote its boundary (e.g., βˆ‚β„‹β’(π’Ÿ) is the boundary of ℋ⁒(π’Ÿ) and βˆ‚D is the boundary of a disk D). We say that the disks of π’Ÿ are in convex position if the boundary of every disk appears on βˆ‚β„‹β’(π’Ÿ), and they are in strongly convex position if the boundary of every disk has a single (maximal) arc appearing on βˆ‚β„‹β’(π’Ÿ). For simplicity, for any subset π’Ÿβ€²βŠ†π’Ÿ, if the disks of π’Ÿβ€² are in (strongly) convex position, we also say that π’Ÿβ€² is (strongly) convex.

For any two points p and q in the plane, let p⁒q¯ denote the line segment connecting them, and let |p⁒q| denote the Euclidean distance between p and q. For a point p with a weight w⁒(p), define

dp⁒(q)=|p⁒q|+w⁒(p)

for any point q in the plane. We call dp⁒(q) the weighted distance between p and q.

For each disk Diβˆˆπ’Ÿ, we define the weight of its center pi to be βˆ’ri, i.e., the negative of the radius of Di. Hence, for any point qβˆˆβ„2, we have dpi⁒(q)=|pi⁒q|βˆ’ri. If q lies outside Di, then dpi⁒(q) equals the minimum Euclidean distance between q and Di. For this reason, we also refer to dpi⁒(q) as the distance between q and Di (noting that this distance is negative when q lies in the interior of Di).

Two disks Di,Djβˆˆπ’Ÿ are said to be disjoint if |pi⁒pj|>ri+rj. A subset π’Ÿβ€²βŠ†π’Ÿ is an independent set if the disks in π’Ÿβ€² are pairwise disjoint.

Throughout the paper, we assume that the disks of π’Ÿ are in convex position (but not necessarily in strongly convex position), and that each disk Di is assigned a weight Wi. Our goal is to compute a maximum-weight independent set of π’Ÿ, that is, an independent set of disks whose total weight is maximized. Since disks with non-positive weight can be ignored, we assume Wi>0 for all Di. For any subset π’Ÿβ€²βŠ†π’Ÿ, we use W⁒(π’Ÿβ€²) to denote the sum of the weights of the disks in π’Ÿβ€².

For any disk D and any two points a,bβˆˆβˆ‚D, we use βˆ‚[a,b]D to denote the portion of βˆ‚D from a to b in counterclockwise order. Similarly, for any subset π’Ÿβ€²βŠ†π’Ÿ and any two points a,bβˆˆβˆ‚β„‹β’(π’Ÿβ€²), we use βˆ‚[a,b]ℋ⁒(π’Ÿβ€²) to denote the portion of βˆ‚β„‹β’(π’Ÿβ€²) from a to b in counterclockwise order.

Finally, for ease of exposition, we assume general position: no point in the plane is equidistant from four disks of π’Ÿ, and no line is tangent to three disks.

3 The strongly-convex-input-and-output case

We consider the strongly-convex-input-and-output case, in which π’Ÿ is strongly convex and admits a maximum-weight independent set that is itself strongly convex. To simplify the discussion, we assume that each disk in π’Ÿ has positive radius (i.e., no disk degenerates to a point). The same algorithm applies when some disks are points, but handling such degeneracies would require more technical discussion. We present an algorithm that computes a maximum-weight independent set in O⁒(n3⁒log⁑n) time.

We begin with the following lemma (see the full paper for the proof).

Lemma 1.

For any subset of three disks {Di,Dj,Dk}βŠ†π’Ÿ that forms a strongly convex independent set, there exists a unique point vi⁒j⁒kβˆˆβ„2 that is equidistant from the three disks. Furthermore, vi⁒j⁒k lies outside each of the three disks.

In light of the above lemma, for any subset of three disks {Di,Dj,Dk}βŠ†π’Ÿ that forms a strongly convex independent set, there exists a disk centered at vi⁒j⁒k that is tangent to all three disks. We use Di⁒j⁒k to denote this disk, and let ri⁒j⁒k denote its radius. Note that ri⁒j⁒k=dpi⁒(vi⁒j⁒k)=dpj⁒(vi⁒j⁒k)=dpk⁒(vi⁒j⁒k).

Since π’Ÿ is strongly convex, each disk in π’Ÿ contributes a single arc to the convex hull boundary βˆ‚β„‹β’(π’Ÿ), and βˆ‚β„‹β’(π’Ÿ) consists of an alternating sequence of disk arcs and line segments, where each line segment is an outer common tangent of two adjacent disks along βˆ‚β„‹β’(π’Ÿ). Let

π’Ÿ=⟨D1,D2,…,Dn⟩

be a cyclic list of the disks whose arcs appear on βˆ‚β„‹β’(π’Ÿ), ordered counterclockwise. For any iβ‰ j, let π’Ÿβ’(i,j) denote the sublist of π’Ÿ from Di to Dj in counterclockwise order along βˆ‚β„‹β’(π’Ÿ) excluding Di and Dj. That is,

π’Ÿβ’(i,j)={⟨Di+1,Di+2,…,Djβˆ’1⟩,if ⁒i<j,⟨Di+1,Di+2,…,Dn,D1,…,Djβˆ’1⟩,if ⁒i>j.

In addition, we have the following lemma, which will be used later (see the full paper for the proof).

Lemma 2.

For any subset π’Ÿβ€²βŠ†π’Ÿ that is strongly convex, the counterclockwise order of the disks of π’Ÿβ€² along βˆ‚β„‹β’(π’Ÿβ€²) is consistent with the index order of π’Ÿ.

Our algorithm is based on dynamic programming. In Section 3.1, we describe the algorithm, define the subproblems of the dynamic program, and present the dependency relations. We prove the correctness of the algorithm in Section 3.2, and discuss how to implement it efficiently in Section 3.3.

3.1 Algorithm description

For three disk indices i,j,k, we call an ordered triple (i,j,k) a canonical triple if Di, Dj, and Dk appear on βˆ‚β„‹β’(π’Ÿ) in counterclockwise order and {Di,Dj,Dk} is a strongly convex independent set.

For a canonical triple (i,j,k), since {Di,Dj,Dk} is a strongly convex independent set, the disk Di⁒j⁒k exists by Lemma 1. We define π’Ÿk⁒(i,j) as the set of disks Dβˆˆπ’Ÿβ’(i,j) such that D is disjoint from Di, Dj, and Di⁒j⁒k. For convenience, for any two disk indices i and j such that Di is disjoint from Dj, we also treat (i,j,0) as a canonical triple, and define π’Ÿ0⁒(i,j) to be the set of disks Dβˆˆπ’Ÿβ’(i,j) that are disjoint from both Di and Dj.

For a canonical triple (i,j,k), including the case k=0, let π’Ÿk′⁒(i,j) denote the subset of disks Dβˆˆπ’Ÿk⁒(i,j) such that {D,Di,Dj} is strongly convex.

Subproblems.

For a canonical triple (i,j,k), including the case k=0, we define f⁒(i,j,k) to be the maximum total weight of any subset π’Ÿβ€²βŠ†π’Ÿk⁒(i,j) such that π’Ÿβ€²βˆͺ{Di,Dj} forms a strongly convex independent set. If no such subset π’Ÿβ€² exists, we set f⁒(i,j,k)=0.

The following lemma gives the dependency relation among the subproblems. Since the proof is lengthy and technical, we defer it to Section 3.2.

Lemma 3.

For any canonical triple (i,j,k), including the case k=0, the following holds:

f⁒(i,j,k)={maxDlβˆˆπ’Ÿk′⁒(i,j)⁑(f⁒(i,l,j)+f⁒(l,j,i)+Wl),ifΒ β’π’Ÿk′⁒(i,j)β‰ βˆ…,0,otherwise. (1)

We define Wβˆ— to be the optimal objective value of our problem, that is, Wβˆ— equals the total weight of a maximum-weight independent set of π’Ÿ. For convenience, if disks Di and Dj intersect, we define f⁒(i,j,0)=βˆ’Wiβˆ’Wj. The next lemma shows that the optimal value Wβˆ— can be computed using the values f⁒(i,j,0) for all pairs (i,j) (see the full paper for the proof). This explains our choice of f⁒(i,j,k) as the subproblems in the dynamic program.

Lemma 4.

Wβˆ—=max1≀i,j≀n⁑(f⁒(i,j,0)+Wi+Wj).

3.2 Algorithm correctness: Proving Lemma 3

We now prove Lemma 3. Consider a canonical triple (i,j,k). Without loss of generality, we assume that the centers pi and pj of disks Di and Dj lie on the same horizontal line, with pi to the left of pj. This assumption allows us to clearly distinguish the upper and lower (outer) common tangents of Di and Dj.

If kβ‰ 0, then by definition {Di,Dj,Dk} is a strongly convex independent set, and the disk Di⁒j⁒k exists by Lemma 1. In the special case k=0, we let Di⁒j⁒k denote the upper halfplane bounded by the upper common tangent line of Di and Dj. Accordingly, its center vi⁒j⁒k is interpreted as a point with infinitely large y-coordinate and its radius ri⁒j⁒k is taken to be infinite. With this convention, the arguments below apply uniformly to both cases k=0 and kβ‰ 0.

If π’Ÿk′⁒(i,j)=βˆ…, then f⁒(i,j,k)=0 by Corollary 6, which is proved using Lemma 5.

Lemma 5.

For any subset π’Ÿβ€²βŠ†π’Ÿk⁒(i,j) such that π’Ÿβ€²βˆͺ{Di,Dj} is a strongly convex independent set, the set π’Ÿβ€² must contain a disk D for which {D,Di,Dj} is a strongly convex independent set.

Proof.

Let S=π’Ÿβ€²βˆͺ{Di,Dj}. Since S is strongly convex, by Lemma 2, the counterclockwise order of the disks of S along βˆ‚β„‹β’(S) is consistent with the index order of π’Ÿ. Because π’Ÿβ€²βŠ†π’Ÿk⁒(i,j)βŠ†π’Ÿβ’(i,j), the arcs of Di and Dj on βˆ‚β„‹β’(S) must be adjacent; that is, they are connected by a line segment on βˆ‚β„‹β’(S), and this segment is a common tangent of Di and Dj. Since we have assumed that the centers pi and pj lie on a horizontal line, this segment must be the upper common tangent of Di and Dj.

Figure 3: Illustrating the proof of Lemma 5.

The above argument shows that the upper common tangent of Di and Dj must be an edge of ℋ⁒(S). Since S is strongly convex, the lower common tangent of Di and Dj cannot be an edge of ℋ⁒(S) (since otherwise it would not be possible that each disk of S has a single arc appearing on βˆ‚β„‹β’(S), contradicting that S is strongly convex). This implies that at least one disk Dβˆˆπ’Ÿβ€² must have a point lying strictly below the supporting line of the lower common tangent of Di and Dj (see Figure 3). Consequently, the set {D,Di,Dj} is strongly convex. Since S is an independent set, {D,Di,Dj} is also an independent set, completing the proof. β—€

Corollary 6.

If π’Ÿk′⁒(i,j)=βˆ…, then π’Ÿk⁒(i,j) does not contain any subset π’Ÿβ€² such that π’Ÿβ€²βˆͺ{Di,Dj} is a strongly convex independent set. Consequently, f⁒(i,j,k)=0.

Proof.

Suppose, for contradiction, that π’Ÿk⁒(i,j) contains a subset π’Ÿβ€² such that π’Ÿβ€²βˆͺ{Di,Dj} is a strongly convex independent set. By Lemma 5, the set π’Ÿβ€² must contain a disk D such that {D,Di,Dj} is a strongly convex independent set. Since π’Ÿβ€²βŠ†π’Ÿk⁒(i,j), it follows that π’Ÿk⁒(i,j) contains such a disk D, contradicting the assumption that π’Ÿk′⁒(i,j)=βˆ…. The corollary follows. β—€

In the following, we assume that π’Ÿk′⁒(i,j)β‰ βˆ…. We will prove Lemma 3 in two parts: a forward direction and a backward direction.

Let S be an optimal solution defining f⁒(i,j,k); that is, SβŠ†π’Ÿk⁒(i,j), the set Sβˆͺ{Di,Dj} is a strongly convex independent set, and f⁒(i,j,k)=W⁒(S). In the forward direction, we show that S contains a disk Dlβˆˆπ’Ÿk′⁒(i,j) such that S can be partitioned as S=S1βˆͺS2βˆͺ{Dl}, where S1βŠ†π’Ÿj⁒(i,l) and S2βŠ†π’Ÿi⁒(l,j), and both S1βˆͺ{Di,Dl} and S2βˆͺ{Dl,Dj} are strongly convex independent sets. This implies that f⁒(i,j,k)≀maxDlβˆˆπ’Ÿk′⁒(i,j)⁑(f⁒(i,l,j)+f⁒(l,j,i)+Wl).

In the backward direction, we show that for any disk Dlβˆˆπ’Ÿk′⁒(i,j) and any sets S1βŠ†π’Ÿj⁒(i,l) and S2βŠ†π’Ÿi⁒(l,j) such that both S1βˆͺ{Di,Dl} and S2βˆͺ{Dl,Dj} are strongly convex independent sets, the set S1βˆͺS2βˆͺ{Dl} is contained in π’Ÿk⁒(i,j) and S1βˆͺS2βˆͺ{Dl,Di,Dj} is a strongly convex independent set. This implies that f⁒(i,j,k)β‰₯maxDlβˆˆπ’Ÿk′⁒(i,j)⁑(f⁒(i,l,j)+f⁒(l,j,i)+Wl).

Together, the two directions establish Lemma 3.

3.2.1 The forward direction

Let S be an optimal solution defining f⁒(i,j,k); that is, SβŠ†π’Ÿk⁒(i,j), the set Sβˆͺ{Di,Dj} is a strongly convex independent set, and f⁒(i,j,k)=W⁒(S).

Let γi⁒j denote the bisector of Di and Dj, which consists of all points q that are equidistant from Di and Dj. It is well known that γi⁒j is a branch of a hyperbola (degenerating to a line when ri=rj) [29]. Moreover, since we assume that the centers of Di and Dj lie on a horizontal line, γi⁒j is y-monotone.

A total order β‰Ί on πœΈπ’Šβ’π’‹.

For any two points a,b∈γi⁒j, we define a total order aβ‰Ίb if a has a smaller y-coordinate than b. The following lemma will be frequently used.

Figure 4: Illustrating Lemma 7. The three dashed curves (two red and one blue) are edges of Voronoi diagram of the three disks. The blue curve belongs to γi⁒j.
Lemma 7.

Suppose Dhβˆˆπ’Ÿ is a disk such that {Dh,Di,Dj} is a strongly convex independent set, and let v be a point on Ξ³i⁒j. If Dhβˆˆπ’Ÿβ’(i,j), then vi⁒j⁒hβ‰Ίv if and only if dpi⁒(v)<dph⁒(v); see Figure 4. If Dhβˆˆπ’Ÿβ’(j,i), then vβ‰Ίvi⁒j⁒h if and only if dpi⁒(v)<dph⁒(v).

Proof.

We prove only the case where Dhβˆˆπ’Ÿβ’(i,j); the other case can be handled analogously.

Let π’Ÿβ€²={Dh,Di,Dj}. Consider the additively-weighted Voronoi diagram Vor⁒(π’Ÿβ€²) of the three weighted centers of π’Ÿβ€². By Lemma 1, the diagram has a unique Voronoi vertex, namely vi⁒j⁒h. Note that vi⁒j⁒h∈γi⁒j. Since π’Ÿβ€² is strongly convex, Lemma 2 implies that Di, Dh, and Dj appear on βˆ‚β„‹β’(π’Ÿβ€²) in counterclockwise order.

Consequently, the portion of the bisector Ξ³i⁒j above vi⁒j⁒h belongs to the common boundary between the Voronoi cells of pi and pj, while the portion of Ξ³i⁒j below vi⁒j⁒h lies entirely within the Voronoi cell of ph. Therefore, for any point v∈γi⁒j, we have vi⁒j⁒hβ‰Ίv if and only if dpi⁒(v)<dph⁒(v). β—€

By Lemma 5, the set S contains at least one disk D such that {D,Di,Dj} is strongly convex. For each disk Dh∈S with this property, the point vi⁒j⁒h exists by Lemma 1. Among all such disks Dh∈S, let Dl be the one for which vi⁒j⁒l is largest under the order β‰Ί. Due to the general position assumption, Dl is unique. Define S1=Sβˆ©π’Ÿβ’(i,l) and S2=Sβˆ©π’Ÿβ’(l,j). Since SβŠ†π’Ÿk⁒(i,j), the sets S1, S2, and {Dl} form a partition of S. By definition, Dlβˆˆπ’Ÿk′⁒(i,j).

To complete the proof of the forward direction, it remains to show that S1βŠ†π’Ÿj⁒(i,l), S2βŠ†π’Ÿi⁒(l,j), and that both S1βˆͺ{Di,Dl} and S2βˆͺ{Dl,Dj} are strongly convex independent sets. These statements are proved in the next two lemmas.

Lemma 8.

S1βŠ†π’Ÿj⁒(i,l) and S2βŠ†π’Ÿi⁒(l,j).

Proof.

We only prove S1βŠ†π’Ÿj⁒(i,l); the other case can be proved analogously.

Consider a disk Dh∈S1. Our goal is to prove Dhβˆˆπ’Ÿj⁒(i,l). To this end, we need to show that Dh is disjoint from the three disks Di, Dl, and Di⁒j⁒l. Since S1βŠ†S, Dl∈S, and Sβˆͺ{Di,Dj} is an independent set, we know that Dh is disjoint from both Di and Dl. Hence, it remains to prove that Dh is disjoint from Di⁒j⁒l, or equivalently, dph⁒(vi⁒j⁒l)>ri⁒j⁒l; recall that ri⁒j⁒l denotes the radius of Di⁒j⁒l and ri⁒j⁒l=dpi⁒(vi⁒j⁒l). Hence, it suffices to show that dph⁒(vi⁒j⁒l)>dpi⁒(vi⁒j⁒l). Let Sβ€²={Dh,Di,Dj}. Depending on whether Sβ€² is strongly convex, we distinguish two cases.

If Sβ€² is strongly convex, then by Lemma 1, vi⁒j⁒h exists. By the definition of Dl, we have vi⁒j⁒hβ‰Ίvi⁒j⁒l. Consequently, applying Lemma 7 (with v=vi⁒j⁒l) obtains dpi⁒(vi⁒j⁒l)<dph⁒(vi⁒j⁒l).

Figure 5: The disk Dh can only be in one of the two shaded regions. The curve γi⁒j is the bisector of Di and Dj, and γi⁒h is the bisector of Di and Dh. The two bisectors are the only two edges of the Voronoi diagram of the three disks.

We now consider the case in which Sβ€² is not strongly convex. First of all, since π’Ÿ is strongly convex and Sβ€²βŠ†π’Ÿ, Sβ€² must be convex. Since Sβˆͺ{Di,Dj} is strongly convex and SβŠ†π’Ÿβ’(i,j), as argued in the proof of Lemma 5, the upper common tangent of Di and Dj must be on βˆ‚β„‹β’(Sβˆͺ{Di,Dj}). Since Sβ€²βŠ†Sβˆͺ{Di,Dj}, the upper common tangent of Di and Dj must be on βˆ‚β„‹β’(Sβ€²). Let β„“1 and β„“2 be the upper and lower common tangent lines of Di and Dj, respectively.

Since Sβ€² is independent and convex but not strongly convex, Dh must be either in the region to the left of Di, below β„“1, and above β„“2, or in the region to the right of Dj, below β„“1, and above β„“2 (see Figure 5). In either case, if we consider the Voronoi diagram Vor⁒(Sβ€²) of the disks of Sβ€², then the bisector Ξ³i⁒j is a common edge of the Voronoi cells of Di and Dj. This implies that for any point v∈γi⁒j, it holds that dpi⁒(v)<dph⁒(v). Since vi⁒j⁒l∈γi⁒j, we obtain dpi⁒(vi⁒j⁒l)<dph⁒(vi⁒j⁒l). β—€

Lemma 9.

Both S1βˆͺ{Di,Dl} and S2βˆͺ{Dl,Dj} are strongly convex independent sets.

Proof.

See the full paper for the proof. β—€

3.2.2 The backward direction

Consider a disk Dlβˆˆπ’Ÿk′⁒(i,j) together with S1βŠ†π’Ÿj⁒(i,l) and S2βŠ†π’Ÿi⁒(l,j) such that both S1βˆͺ{Di,Dl} and S2βˆͺ{Dl,Dj} are strongly convex independent sets. Our goal is to show that S1βˆͺS2βˆͺ{Dl}βŠ†π’Ÿk⁒(i,j) and S1βˆͺS2βˆͺ{Dl,Di,Dj} is a strongly convex independent set. Let S=S1βˆͺS2βˆͺ{Dl}.

We begin with arguing SβŠ†π’Ÿk⁒(i,j). Let Dh be a disk of S. If Dh is Dl, then since Dlβˆˆπ’Ÿk′⁒(i,j) and π’Ÿk′⁒(i,j)βŠ†π’Ÿk⁒(i,j), we have Dlβˆˆπ’Ÿk⁒(i,j). Otherwise, Dh is either in S1 or in S2. We assume that Dh∈S1 (the other case can be handled analogously). In the following, we argue that Dhβˆˆπ’Ÿk⁒(i,j). To this end, since Dh∈S1βŠ†π’Ÿj⁒(i,l)βŠ†π’Ÿβ’(i,l)βŠ†π’Ÿβ’(i,j), we need to show that Dh is disjoint from Di, Dj, and Di⁒j⁒k.

First of all, since Dh∈S1βŠ†π’Ÿj⁒(i,l), Dh must be disjoint from Di. In the next two lemmas, we prove that Dh is disjoint from Di⁒j⁒k and Dj, respectively.

Lemma 10.

Dh is disjoint from Di⁒j⁒k.

Proof.

It suffices to show that dph⁒(vi⁒j⁒k)>ri⁒j⁒k, or equivalently, dph⁒(vi⁒j⁒k)>dpi⁒(vi⁒j⁒k) as ri⁒j⁒k=dpi⁒(vi⁒j⁒k).

Since Dlβˆˆπ’Ÿk′⁒(i,j), {Dl,Di,Dj} is a strongly convex independent set and thus vi⁒j⁒l exists by Lemma 1. Clearly, both vi⁒j⁒k and vi⁒j⁒l are on the bisector Ξ³i⁒j of Di and Dj. Depending on whether {Di,Dj,Dh} is strongly convex, we distinguish two cases.

  • β– 

    If {Di,Dj,Dh} is not strongly convex, then similarly to the proof of Lemma 8, we can obtain that for any point v∈γi⁒j, dpi⁒(v)<dph⁒(v). As vi⁒j⁒k∈γi⁒j, it follows that dpi⁒(vi⁒j⁒k)<dph⁒(vi⁒j⁒k).

  • β– 

    If {Di,Dj,Dh} is strongly convex, then vi⁒j⁒h exists by Lemma 1. We claim that vi⁒j⁒hβ‰Ίvi⁒j⁒l. To see this, since Dh∈S1βŠ†π’Ÿj⁒(i,l), Dh is disjoint from Di⁒j⁒l, or equivalently, dpi⁒(vi⁒j⁒l)<dph⁒(vi⁒j⁒l). By Lemma 7 (with v=vi⁒j⁒l), we obtain vi⁒j⁒hβ‰Ίvi⁒j⁒l.

    Since Dlβˆˆπ’Ÿk⁒(i,j), following the similar argument as above, we can obtain vi⁒j⁒lβ‰Ίvi⁒j⁒k. Hence, we have vi⁒j⁒hβ‰Ίvi⁒j⁒k. Consequently, applying Lemma 7 again (with v=vi⁒j⁒k) leads to dpi⁒(vi⁒j⁒k)<dph⁒(vi⁒j⁒k).

The lemma thus follows. β—€

Lemma 11.

Dh is disjoint from Dj.

Proof.

See the full paper for the proof. β—€

The above proves that SβŠ†π’Ÿk⁒(i,j). The following lemma finally proves that Sβˆͺ{Di,Dj} is a strongly convex independent set (see the full paper for the proof). This completes the proof of the backward direction.

Lemma 12.

Sβˆͺ{Di,Dj} is a strongly convex independent set.

3.3 Algorithm implementation

We now discuss how to implement the algorithm. We focus on computing Wβˆ—. By slightly modifying the algorithm using a standard backtracking technique, an actual maximum-weight independent set can also be recovered within asymptotically the same time complexity.

To compute Wβˆ—, Lemma 4 implies that it suffices to compute f⁒(i,j,k) for all canonical triples (i,j,k), including the case k=0. To this end, by Equation (1), we must determine an order for solving the subproblems such that, when computing a value f⁒(i,j,k), all values f⁒(i,l,j) and f⁒(l,j,i) for Dlβˆˆπ’Ÿk′⁒(i,j) have already been computed.

We process pairs (i,j) in increasing order of j, and for each fixed j in decreasing order of i: for j=2,…,n, we consider i=jβˆ’1,jβˆ’2,…,1 in this order. If Di∩Djβ‰ βˆ…, we simply set f⁒(i,j,0)=βˆ’Wiβˆ’Wj. Otherwise, we compute f⁒(i,j,0) using Equation (1). Next, for each disk Dkβˆˆπ’Ÿβ’(j,i) such that (i,j,k) is canonical, we compute f⁒(i,j,k) using Equation (1). With this ordering, every f-value appearing on the right-hand side of Equation (1) involves indices that lie between i and j in cyclic order, and hence has already been computed.

Using Equation (1), each subproblem f⁒(i,j,k) can be computed in O⁒(n) time by scanning all disks Dlβˆˆπ’Ÿk′⁒(i,j). Since there are O⁒(n3) subproblems, the total running time of the algorithm is O⁒(n4).

An improved solution.

We now improve the running time to O⁒(n3⁒log⁑n). More specifically, we show that for any fixed pair (i,j), the O⁒(n) subproblems f⁒(i,j,k) for all relevant indices k can be computed in a total of O⁒(n⁒log⁑n) time. This improvement is achieved by exploiting a monotonicity property of the sets π’Ÿk′⁒(i,j) with respect to a suitable ordering of the indices k.

Consider a pair (i,j) such that Di does not intersect Dj, and let (i,j,k) be a canonical triple. For each disk Dlβˆˆπ’Ÿk′⁒(i,j), we define its cost as

π‘π‘œπ‘ π‘‘β’(Dl)=f⁒(i,l,j)+f⁒(l,j,i)+Wl.

Define π’Ÿβ€²β’(i,j) as the set of disks Dβˆˆπ’Ÿβ’(i,j) such that {D,Di,Dj} forms a strongly convex independent set. Then π’Ÿk′⁒(i,j) consists precisely of those disks in π’Ÿβ€²β’(i,j) that are disjoint from the disk Di⁒j⁒k. By Equation (1), computing f⁒(i,j,k) reduces to finding the disk of maximum cost among all disks in π’Ÿβ€²β’(i,j) that are disjoint from Di⁒j⁒k.

We process a fixed pair (i,j) using the following approach, which computes f⁒(i,j,k) for all k∈K, where K denotes the set of indices k such that (i,j,k) is a canonical triple. The total running time of this procedure is O⁒(n⁒log⁑n).

Without loss of generality, we assume that the centers pi and pj lie on the same horizontal line, with pi to the left of pj. We first compute the set K and the set π’Ÿβ€²β’(i,j), which can be done in O⁒(n) time.

For each k∈K, since (i,j,k) is a canonical triple, the set {Di,Dj,Dk} is strongly convex, and thus the vertex vi⁒j⁒k exists by Lemma 1. The following lemma, which establishes a monotonicity property of the sets π’Ÿk′⁒(i,j), is central to our approach.

Lemma 13.

Consider any k,kβ€²βˆˆK with vi⁒j⁒kβ‰Ίvi⁒j⁒kβ€². For any disk Dhβˆˆπ’Ÿβ€²β’(i,j), if Dh is disjoint from Di⁒j⁒k, then Dh is also disjoint from Di⁒j⁒kβ€². Consequently, π’Ÿk′⁒(i,j)βŠ†π’Ÿk′′⁒(i,j).

Proof.

Consider a disk Dhβˆˆπ’Ÿβ€²β’(i,j) such that Dh is disjoint from Di⁒j⁒k. Our goal is to show that Dh is also disjoint from Di⁒j⁒kβ€², or equivalently, dph⁒(vi⁒j⁒kβ€²)>ri⁒j⁒kβ€².

Since Dh is disjoint from Di⁒j⁒k, we have dph⁒(vi⁒j⁒k)>ri⁒j⁒k. As Dhβˆˆπ’Ÿβ€²β’(i,j), {Dh,Di,Dj} is a strongly convex independent set. Therefore, vi⁒j⁒h exists by Lemma 1. Since dph⁒(vi⁒j⁒k)>ri⁒j⁒k=dpi⁒(vi⁒j⁒k), applying Lemma 7 (with v=vi⁒j⁒k) gives vi⁒j⁒hβ‰Ίvi⁒j⁒k.

On the other hand, since vi⁒j⁒kβ‰Ίvi⁒j⁒kβ€², we have vi⁒j⁒hβ‰Ίvi⁒j⁒kβ€². Consequently, applying Lemma 7 (with v=vi⁒j⁒kβ€²) gives dph⁒(vi⁒j⁒kβ€²)>dpi⁒(vi⁒j⁒kβ€²)=ri⁒j⁒kβ€². This proves the lemma. β—€

In light of Lemma 13, our algorithm proceeds as follows. We sort all indices k∈K according to the β‰Ί order on Ξ³i⁒j; let k1,k2,…,kg be the resulting sequence, where g=|K|. Since g≀n, this sorting step takes O⁒(n⁒log⁑n) time. Next, for each disk Dhβˆˆπ’Ÿβ€²β’(i,j), we compute the smallest index t∈[1,g] such that Dh is disjoint from Di⁒j⁒kt. By Lemma 13, this can be done in O⁒(log⁑n) time via binary search on the sequence k1,k2,…,kg. We then assign this value t as a label to Dh.

Recall that our goal is to compute f⁒(i,j,kt) for all t=1,2,…,g, where each f⁒(i,j,kt) is equal to the maximum cost among all disks disjoint from Di⁒j⁒kt. We process the indices in increasing order of t. For convenience, let f⁒(i,j,k0)=0. For each tβ‰₯1, we initialize f⁒(i,j,kt)=f⁒(i,j,ktβˆ’1), and then examine all disks Dlβˆˆπ’Ÿβ€²β’(i,j) whose label is exactly t. For each such disk, if f⁒(i,j,kt)<π‘π‘œπ‘ π‘‘β’(Dl), we update f⁒(i,j,kt)=π‘π‘œπ‘ π‘‘β’(Dl). In this manner, all values f⁒(i,j,kt) for t=1,2,…,g can be computed in a total of O⁒(n) time.

This completes the processing for a fixed pair (i,j), with a total running time of O⁒(n⁒log⁑n). Since there are O⁒(n2) choices of pairs (i,j), the overall running time of the algorithm is O⁒(n3⁒log⁑n). The following lemma summarizes our result.

Lemma 14.

Given a set π’Ÿ of n weighted disks in the plane such that the disks are in strongly convex position and π’Ÿ admits a maximum-weight independent set that is strongly convex, a maximum-weight independent set of π’Ÿ can be computed in O⁒(n3⁒log⁑n) time.

4 The strongly-convex-input case

In this section, we consider the strongly-convex-input case, in which the input disks of π’Ÿ are in strongly convex position but π’Ÿ does not necessarily admit a maximum-weight independent set that is strongly convex (see Figure 6).

Figure 6: Illustrating an example where the input set of disks is strongly convex, but the only maximum-weight independent set (shown in red) is not strongly convex (assuming the weight of each disk is 1).

To handle this case, we reduce it to the setting in Section 3. To this end, we construct a set B of O⁒(n) auxiliary points satisfying the following two properties:

  1. 1.

    No point of B is contained in any disk of π’Ÿ.

  2. 2.

    For any subset π’Ÿβ€²βŠ†π’Ÿ, π’Ÿβ€²βˆͺB is strongly convex (in particular, π’ŸβˆͺB is strongly convex).

Each point of B is treated as a special disk and assigned a weight of 1. Let S=π’ŸβˆͺB. By the first property, any maximum-weight independent set of S must include all points of B. Therefore, if Sβ€² is a maximum-weight independent set of S, then Sβ€²βˆ–B is a maximum-weight independent set of π’Ÿ. In this way, computing a maximum-weight independent set of π’Ÿ reduces to computing a maximum-weight independent set of S. Moreover, by the second property, S is strongly convex and admits a maximum-weight independent set that is strongly convex. Consequently, computing a maximum-weight independent set of S becomes an instance of the case in Section 3 and can be solved in O⁒(n3⁒log⁑n) time by Lemma 14.

In the remainder of this section, we focus on constructing a set B of O⁒(n) auxiliary points satisfying the above two properties, and show that such a set can be computed in O⁒(n⁒log⁑n) time.

To simplify the discussion, we assume that each disk in π’Ÿ has positive radius. The same approach extends to the case where some disks degenerate to points, although the exposition becomes more involved. We also assume that nβ‰₯3, since smaller instances can be handled directly in O⁒(1) time. Because π’Ÿ is strongly convex, each disk contributes exactly one arc to the boundary βˆ‚β„‹β’(π’Ÿ). As in Section 3, let π’Ÿ=⟨D1,…,Dn⟩ denote the cyclic order of disks appearing on βˆ‚β„‹β’(π’Ÿ) in counterclockwise order.

4.1 Defining B

For each disk Diβˆˆπ’Ÿ, Di contributes a single arc Ξ±i to the boundary βˆ‚β„‹β’(π’Ÿ). Let ai denote the midpoint of Ξ±i, and let β„“i be the line through ai that is tangent to Di. Thus, β„“i is also tangent to ℋ⁒(π’Ÿ) at ai. We orient β„“i so that Di lies to the left of β„“i (see Figure 7).

Figure 7: Illustrating the definition of bi.

For each pair of consecutive disks Di and Di+1 along βˆ‚β„‹β’(π’Ÿ) (if i=n, then we let i+1 take modulo n, which equals 1), we proceed as follows. Let ρi,i+1 be the directed common tangent line of Di and Di+1 such that both disks lie to the left of ρi,i+1. By the definition of the disk order along βˆ‚β„‹β’(π’Ÿ), the convex hull ℋ⁒(π’Ÿ) lies entirely to the left of ρi,i+1, and the segment of ρi,i+1 between the two tangency points on Di and Di+1 forms an edge of ℋ⁒(π’Ÿ).

Since β„“i is tangent to Di at the midpoint of Ξ±i, the line β„“i must intersect ρi,i+1. Similarly, β„“i+1 intersects ρi,i+1. Moreover, because nβ‰₯3, the lines β„“i and β„“i+1 intersect at a point bi that lies to the right of ρi,i+1 (see Figure 7).

We define B as the set of all such intersection points bi, for 1≀i≀n. Thus, |B|=n.

If we treat each point bi as a special disk, then this construction places biβˆ’1, Di, and bi in a degenerate configuration, since β„“i is tangent to all three. Note that our algorithm in Section 3 also works for such degenerate cases. Alternatively, if desired, one could perturb each point bi infinitesimally toward ρi,i+1 so that the set S=π’ŸβˆͺB is in general position. In what follows, we retain the definition of B above and allow degeneracies, as this simplifies the exposition.

Since the convex hull ℋ⁒(π’Ÿ) can be computed in O⁒(n⁒log⁑n) time [26], the set B can also be constructed in O⁒(n⁒log⁑n) time.

The following lemma proves that B has the two desired properties.

Lemma 15.

The set B has the two desired properties.

Proof.

See the full paper for the proof. β—€

For reference purpose, the following lemma summarizes our result in this section.

Lemma 16.

Given a set π’Ÿ of n weighted disks in strongly convex position in the plane, a maximum-weight independent set of π’Ÿ can be computed in O⁒(n3⁒log⁑n) time.

5 The general case

In this section, we finally consider the general case in which π’Ÿ is not necessarily strongly convex (but is still convex). In particular, a disk may contribute more than one (maximal) arc to βˆ‚β„‹β’(π’Ÿ).

To solve the problem, we reduce it to the case in Section 4. To this end, we create a set Z of O⁒(n) auxiliary points as special disks with each disk assigned a weight equal to 1 such that the following two properties hold:

  1. 1.

    No point of Z is contained in any disk of π’Ÿ.

  2. 2.

    π’ŸβˆͺZ is strongly convex.

Let S=π’ŸβˆͺZ. As in the reduction in Section 4, due to the first property, it suffices to compute a maximum-weight independent set in S. This is an instance of the problem in Section 4 due to the second property, and thus the problem can be solved in O⁒(n3⁒log⁑n) time by Lemma 16.

In the rest of this section, we will focus on defining a set Z of O⁒(n) points satisfying the above two properties. We will also show that computing Z can be done in O⁒(n2⁒log⁑n) time.

Consider a disk Di that has more than one arc on βˆ‚β„‹β’(π’Ÿ). Note that at most one such arc can have a radian measure larger than or equal to Ο€, and all other arcs have median measures strictly smaller than Ο€. Let Ξ±i be an arc of Di on βˆ‚β„‹β’(π’Ÿ) whose radian measure is less than Ο€.

Let Ξ±iβˆ’1 and Ξ±i+1 be the two disk arcs on ℋ⁒(π’Ÿ) adjacent to Ξ±i clockwise and counterclockwise, respectively; let Diβˆ’1 and Di+1 be the disks where these arcs lie on, respectively (see Figure 8). Note that it is possible that Diβˆ’1 (resp., Di+1) is a single point. We first assume that both Diβˆ’1 and Di+1 have radii larger than 0. We will discuss the other case later, which can be handled similarly. Refer to Figure 8 for an illustration of the notation introduced below.

For each j∈{iβˆ’1,i,i+1}, let xj and yj be the clockwise and counterclockwise endpoints of Ξ±j, respectively. By definition, yiβˆ’1⁒xiΒ― is an edge of ℋ⁒(π’Ÿ) and its supporting line is tangent to Diβˆ’1 at yiβˆ’1 and tangent to Di at xi. Let ρiβˆ’1,i denote the supporting line of yiβˆ’1⁒xiΒ―. We orient ρiβˆ’1,i so that ℋ⁒(π’Ÿ) is on the left side of ρiβˆ’1,i. Similarly, let ρi,i+1 be the oriented supporting line of yi⁒xi+1Β― so that ℋ⁒(π’Ÿ) is on its left side.

Let ℓ⁒(xi⁒yiΒ―) denote the line containing xi and yi. Without loss of generality, we assume that ℓ⁒(xi⁒yiΒ―) is horizontal such that xi is left of yi. Thus, the arc Ξ±i is below ℓ⁒(xi⁒yiΒ―). Since the radian measure of Ξ±i is less than Ο€, ρiβˆ’1,i must intersect ρi,i+1 at a point q strictly below ℓ⁒(xi⁒yiΒ―).

Figure 8: Illustration of the definition of z.

Let aiβˆ’1 be the middle point of the arc Ξ±iβˆ’1. Let β„“iβˆ’1 be an oriented line tangent to Diβˆ’1 at aiβˆ’1 such that ℋ⁒(π’Ÿ) is on the left of β„“iβˆ’1. Similarly, we define ai+1 and β„“i+1 for Di+1.

Note that by definition, q must be to the left of both β„“iβˆ’1 and β„“i+1. Let qβ€² be a point strictly below q but infinitesimally close to q. Then, qβ€² is strictly to the right of both ρiβˆ’1,i and ρi,i+1, and also strictly to the left of both β„“iβˆ’1 and β„“i+1. This means that the region Q is not empty, where Q is the common intersection of the following four open halfplanes: the open halfplane to the right of ρiβˆ’1,i, the open halfplane to the right of ρi,i+1, the open halfplane to the left of β„“iβˆ’1, and the open halfplane to the left of β„“i+1.

We pick an arbitrary point z from Q and use it as an auxiliary point; we show below that z can be used to eliminate the arc Ξ±i.

Let ziβˆ’1 be a point on βˆ‚Diβˆ’1 such that ziβˆ’1⁒zΒ― is tangent to Diβˆ’1 at ziβˆ’1 and Diβˆ’1 is to the left of the directed line containing ziβˆ’1⁒zΒ― with the direction from ziβˆ’1 to z. Since z is strictly to the left of β„“iβˆ’1 and strictly to the right of ρiβˆ’1,i, the tangent point ziβˆ’1 must be in the interior of the arc βˆ‚[aiβˆ’1,yiβˆ’1]Diβˆ’1, which is a subarc of Ξ±iβˆ’1.

Symmetrically, let zi+1 be a point on βˆ‚Di+1 such that zi+1⁒zΒ― is tangent to Di+1 at zi+1 and Di+1 is to the right of the directed line containing zi+1⁒zΒ― with the direction from zi+1 to z. Since z is strictly to the left of β„“i+1 and strictly to the right of ρi,i+1, the tangent point zi+1 must be in the interior of the arc βˆ‚[xi+1,ai+1]Di+1, which is a subarc of Ξ±i+1.

Consider the convex hull ℋ⁒(π’Ÿβˆͺ{z}). Its boundary can be obtained from βˆ‚β„‹β’(π’Ÿ) by replacing βˆ‚[ziβˆ’1,zi+1]ℋ⁒(π’Ÿ) with ziβˆ’1⁒zΒ―βˆͺz⁒zi+1Β―. In particular, no point of Ξ±i appears on βˆ‚β„‹β’(π’Ÿβˆͺ{z}). Hence, every disk of π’Ÿ has the same number of arcs appearing in βˆ‚β„‹β’(π’Ÿβˆͺ{z}) as in βˆ‚β„‹β’(π’Ÿ) except that Di has one less arc than before. Furthermore, since z is vertex of ℋ⁒(π’Ÿβˆͺ{z}), π’Ÿβˆͺ{z} is still convex.

The above assumes that both Diβˆ’1 and Di+1 are disks of radii larger than zero. The other case can be handled similarly. For example, if Diβˆ’1 is a point piβˆ’1, then following the same way as above, we have Ξ±iβˆ’1=xiβˆ’1=yiβˆ’1=aiβˆ’1=ziβˆ’1=piβˆ’1. Hence, piβˆ’1 is still on βˆ‚β„‹β’(π’Ÿβˆͺ{z}). Therefore, it is still the case that π’Ÿβˆͺ{z} is convex and every disk of π’Ÿ has the same number of arcs appearing in βˆ‚β„‹β’(π’Ÿβˆͺ{z}) as in βˆ‚β„‹β’(π’Ÿ) except that Di has one less arc than before. If Di+1 is a point, we can handle the situation similarly.

In summary, we can find a point z such that π’Ÿβˆͺ{z} is convex and every disk of π’Ÿ has the same number of arcs appearing in βˆ‚β„‹β’(π’Ÿβˆͺ{z}) as in βˆ‚β„‹β’(π’Ÿ) except that Di has one less arc than before. As ℋ⁒(π’Ÿ) can be computed in O⁒(n⁒log⁑n) time [26], such a point z can be found in O⁒(n⁒log⁑n) time. We add z to Z. Note that z is outside every disk of π’Ÿ.

If π’Ÿβˆͺ{z} is not strongly convex, then by following the same method we can find another auxiliary point with respect to π’Ÿβˆͺ{z} to eliminate another arc. Since βˆ‚β„‹β’(π’Ÿ) has O⁒(n) disk arcs [26], we can find a set Z of O⁒(n) auxiliary points such that π’ŸβˆͺZ is strongly convex (and no point of Z is inside any disk of π’Ÿ). As computing each auxiliary point can be done in O⁒(n⁒log⁑n) time, computing Z takes O⁒(n2⁒log⁑n) time in total (it may be possible to reduce the time to O⁒(n⁒log⁑n) with a more careful implementation, but O⁒(n2⁒log⁑n) time suffices for our purpose).

The following theorem summarizes our result.

Theorem 17.

Given a set π’Ÿ of n weighted disks in convex position in the plane, a maximum-weight independent set of π’Ÿ can be computed in O⁒(n3⁒log⁑n) time.

The following corollary will be used in Section 6 to solve a dispersion problem.

Corollary 18.

Given a set π’Ÿ of n weighted disks in convex position in the plane and a parameter r>0, one can compute in O⁒(n3⁒log⁑n) time a maximum-cardinality subset π’Ÿβ€²βŠ†π’Ÿ such that the distance between any two disks in π’Ÿβ€² is greater than r.

Proof.

For each disk Dβˆˆπ’Ÿ, let D⁒(r) be the disk with the same center as D and with radius r/2 larger than that of D. For any subset π’Ÿβ€²βŠ†π’Ÿ, define S⁒(π’Ÿβ€²)={D⁒(r):Dβˆˆπ’Ÿβ€²}. It is not difficult to see that for any subset π’Ÿβ€²βŠ†π’Ÿ, the distance between any two disks in π’Ÿβ€² is greater than r if and only if S⁒(π’Ÿβ€²) is an independent set. Hence, the problem reduces to finding a maximum-cardinality independent set from S⁒(π’Ÿ). Since π’Ÿ is in convex position, S⁒(π’Ÿ) must also be in convex position because each disk of π’Ÿ grows by the same radius to obtain S⁒(π’Ÿ). Therefore, if we assign each disk of S⁒(π’Ÿ) a weight equal to 1, then we can compute a maximum-cardinality independent set of S⁒(π’Ÿ) in O⁒(n3⁒log⁑n) time by Theorem 17. β—€

6 The dispersion problem

Let π’Ÿ be a set of n disks in convex position in the plane and let k>0 be an integer. For any two disks D,Dβ€²βˆˆπ’Ÿ, we define the disk distance dist⁒(D,Dβ€²) as the minimum distance between any two points q∈D and qβ€²βˆˆDβ€². The dispersion problem for π’Ÿ asks for a subset π’Ÿβ€²βŠ†π’Ÿ of k disks maximizing the minimum pairwise distance dist⁒(D,Dβ€²) of any two disks D,Dβ€²βˆˆπ’Ÿβ€².

Let rβˆ— denote the optimal objective value. It is not difficult to see that rβˆ— is equal to dist⁒(D,Dβ€²) for two disks D,Dβ€²βˆˆπ’Ÿ. Hence, rβˆ— belongs to the set R={dist⁒(D,Dβ€²):D,Dβ€²βˆˆπ’Ÿ}. Clearly, |R|=O⁒(n2).

Given a number rβ‰₯0, the decision problem is to determine whether r<rβˆ—, or equivalently, whether π’Ÿ has a subset of k disks whose minimum pairwise distance is greater than r. By Corollary 18, the decision problem can be solved in O⁒(n3⁒log⁑n) time. To find rβˆ—, we first compute R and then do binary search in R using the decision algorithm. This yields an O⁒(n3⁒log2⁑n)-time algorithm to compute rβˆ—. We can also find an optimal subset by Corollary 18, as explained in the proof of the following theorem.

Theorem 19.

Given a set of n disks in convex position in the plane and an integer k, one can find a subset of k disks maximizing their minimum pairwise distance in O⁒(n3⁒log2⁑n) time.

Proof.

We first compute rβˆ— as discussed above. Once rβˆ— is computed, we apply the algorithm of Corollary 18 to produce an optimal subset with r=rβˆ—. The algorithm of Corollary 18 will first compute a set S⁒(π’Ÿ) of disks and then apply the algorithm of Theorem 17 on S⁒(π’Ÿ). Here we need to slightly modify the algorithm of Theorem 17 by treating each disk of S⁒(π’Ÿ) as an open disk. For example, two disks are considered to be disjoint if they are outer tangent to each other. β—€

References

  • [1] Pankaj K. Agarwal and Nabil H. Mustafa. Independent set of intersection graphs of convex objects in 2D. Computational Geometry: Theory and Applications, 34(2):83–95, 2006. doi:10.1016/j.comgeo.2005.12.001.
  • [2] Pankaj K. Agarwal, Mark H. Overmars, and Micha Sharir. Computing maximally separated sets in the plane. SIAM Journal on Computing, 36(3):815–834, 2006. doi:10.1137/S0097539704446591.
  • [3] Pankaj K. Agarwal, Marc J. van Kreveld, and Subhash Suri. Label placement by maximum independent set in rectangles. Computational Geometry: Theory and Applications, 11:209–218, 1998. doi:10.1016/S0925-7721(98)00028-5.
  • [4] Alok Aggarwal, Leonidas J. Guibas, James Saxe, and Peter W. Shor. A linear-time algorithm for computing the Voronoi diagram of a convex polygon. Discrete and Computational Geometry, 4:591–604, 1989. doi:10.1007/BF02187749.
  • [5] Alberto Apostolico, Mikhail J. Atallah, and Susanne E. Hambrusch. New clique and independent set algorithms for circle graphs. Discrete Applied Mathematics, 36(1):1–24, 1992. doi:10.1016/0166-218X(92)90200-T.
  • [6] Paul Balister, BΓ©la BollobΓ‘s, Amites Sarkar, and Mark Walters. Connectivity of random k-nearest-neighbour graphs. Advances in Applied Probability, 37(1):1–24, 2005. doi:10.1239/aap/1113402397.
  • [7] 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. Computational Geometry: Theory and Applications, 103:101852, 2022. doi:10.1016/j.comgeo.2021.101852.
  • [8] Onur Γ‡ağı rΔ±cΔ±and Bodhayan Roy. Maximum clique of disks in convex position. In Abstracts of Computational Geometry: Young Researchers Forum (CG:YRF), pages 21:1–21:3, 2018. URL: https://www.computational-geometry.org/old/YRF/cgyrf2018.pdf.
  • [9] Timothy M. Chan. Approximation algorithms for maximum independent set of pseudo-disks. Discrete and Computational Geometry, 48:373–392, 2012. doi:10.1007/s00454-012-9417-5.
  • [10] Bernard Chazelle, Herbert Edelsbrunner, Michelangelo Grigni, Leonidas Guibas, Micha Sharir, and Emo Welzl. Improved bounds on weak Ο΅-nets for convex sets. In Proceedings of the 25th Annual ACM Symposium on Theory of Computing (STOC), pages 495–504, 1993. doi:10.1145/167088.167222.
  • [11] Jongmin Choi, Jaegun Lee, and Hee-Kap Ahn. Efficient k-center algorithms for planar points in convex position. In Proceedings of the 18th Algorithms and Data Structures Symposium (WADS), pages 262–274, 2023. doi:10.1007/978-3-031-38906-1_18.
  • [12] Brent N. Clark, Charles J. Colbourn, and David S. Johnson. Unit disk graphs. Discrete Mathematics, 86:165–177, 1990. doi:10.1016/0012-365X(90)90358-O.
  • [13] Gautam K. Das, Guilherme D. da Fonseca, and Ramesh K. Jallu. Efficient independent set approximation in unit disk graphs. Discrete Applied Mathematics, 280:63–70, 2020. doi:10.1016/j.dam.2018.05.049.
  • [14] Gautam K. Das, Minati De, Sudeshna Kolay, Subhas C. Nandy, and Susmita Sur-Kolay. Approximation algorithms for maximum independent set of a unit disk graph. Information Processing Letters, 115:439–446, 2015. doi:10.1016/j.ipl.2014.11.002.
  • [15] Stefan Felsner, Rudolf MΓΌller, and Lorenz Wernisch. Trapezoid graphs and generalizations, geometry and algorithms. Discrete Applied Mathematics, 74(1):13–32, 1997. doi:10.1016/S0166-218X(96)00013-3.
  • [16] FΔƒnicΔƒ Gavril. Algorithms for minimum coloring, maximum clique, minimum covering by cliques, and maximum independent set of a chordal graph. SIAM Journal on Computing, 1(2):180–187, 1972. doi:10.1137/0201013.
  • [17] FΔƒnicΔƒ Gavril. Algorithms for a maximum clique and a maximum independent set of a circle graph. Networks, 3(3):261–273, 1973. doi:10.1002/net.3230030305.
  • [18] Luis H. Herrera and Pablo PΓ©rez-Lantero. On the intersection graph of the disks with diameters the sides of a convex n-gon. Applied Mathematics and Computation, 411:126472, 2021. doi:10.1016/j.amc.2021.126472.
  • [19] Clemens Huemer and Pablo PΓ©rez-Lantero. The intersection graph of the disks with diameters the sides of a convex n-gon. Discrete Mathematics, 343(2):111669, 2020. doi:10.1016/j.disc.2019.111669.
  • [20] Richard M. Karp. Reducibility among combinatorial problems. Complexity of Computer Computations, pages 85–103, 1972. doi:10.1007/978-1-4684-2001-2_9.
  • [21] Andrzej Lingas. On approximation behavior and implementation of the greedy triangulation for convex planar point sets. In Proceedings of the 2nd Annual Symposium on Computational Geometry (SoCG), pages 72–79, 1986. doi:10.1145/10515.10523.
  • [22] Madhav V. Marathe, Heinz Breu, Harry B. Hunt III, Sekharipuram S. Ravi, and Daniel J. Rosenkrantz. Simple heuristics for unit disk graphs. Networks, 25:59–68, 1995. doi:10.1002/net.3230250205.
  • [23] Tomomi Matsui. Approximation algorithms for maximum independent set problems and fractional coloring problems on unit disk graphs. In Proceedings of the 2nd Japanese Conference on Discrete and Computational Geometry (JCDCG), pages 194–200, 1998. doi:10.1007/978-3-540-46515-7_16.
  • [24] Charles E. Perkins and Pravin Bhagwat. Highly dynamic destination-sequenced distance-vector routing (dsdv) for mobile computers. In Proceedings of the Conference on Communications Architectures, Protocols and Applications (SIGCOMM), pages 234–244, 1994. doi:10.1145/190809.190336.
  • [25] Charles E. Perkins and Pravin Bhagwat. Ad-hoc on-demand distance vector routing. In Proceedings of the 2nd IEEE Workshop on Mobile Computing Systems and Applications (WMCSA), pages 90–100, 1999. doi:10.1109/MCSA.1999.749281.
  • [26] David Rappaport. A convex hull algorithm for discs, and applications. Computational Geometry: Theory and Applications, 1(3):171–187, 1992. doi:10.1016/0925-7721(92)90015-K.
  • [27] Dana S. Richards and Jeffrey S. Salowe. A rectilinear steiner minimal tree algorithm for convex point sets. In Proceedings of the 2nd Scandinavian Workshop on Algorithm Theory (SWAT), pages 201–212, 1990. doi:10.1007/3-540-52846-6_90.
  • [28] PaweΕ‚ RzΔ…ΕΌewski and Bartosz Walczak. Polynomial-time recognition and maximum independent set in burling graphs. In Proceedings of the International Workshop on Graph-Theoretic Concepts in Computer Science (WG), pages 445–460, 2026. doi:10.1007/978-3-032-11835-6_32.
  • [29] Micha Sharir. Intersection and closest-pair problems for a set of planar discs. SIAM Journal on Computing, 14(2):448–468, 1985. doi:10.1137/0214034.
  • [30] Vishwanath R. Singireddy, Manjanna Basappa, and Joseph S.B. Mitchell. Algorithms for k-dispersion for points in convex position in the plane. In Proceedings of the 9th International Conference on Algorithms and Discrete Applied Mathematics (CALDAM), pages 59–70, 2023. doi:10.1007/978-3-031-25211-2_5.
  • [31] Anastasiia Tkachenko and Haitao Wang. Computing dominating sets in disk graphs with centers in convex position. In Proceedings of the 17th Latin American Theoretical Informatics Symposium (LATIN), page to appear, 2025. doi:10.48550/arXiv.2601.22609.
  • [32] Anastasiia Tkachenko and Haitao Wang. Computing maximum cliques in unit disk graphs. In Proceedings of the 37th Canadian Conference on Computational Geometry (CCCG), pages 283–291, 2025. URL: https://cccg-wads-2025.eecs.yorku.ca/cccg-papers/6B2.pdf.
  • [33] Anastasiia Tkachenko and Haitao Wang. Dominating set, independent set, discrete k-center, dispersion, and related problems for planar points in convex position. In Proceedings of the 42nd International Symposium on Theoretical Aspects of Computer Science (STACS), pages 73:1–73:20, 2025. doi:10.4230/LIPIcs.STACS.2025.73.
  • [34] Da-Wei Wang and Yue-Sun Kuo. A study on two geometric location problems. Information processing letters, 28(6):281–286, 1988. doi:10.1016/0020-0190(88)90174-3.