Abstract 1 Introduction 2 Preliminaries 3 The dominating set problem 4 The discrete š’Œ-center problem 5 The independent set problem 6 The dispersion problem 7 The size-šŸ‘ weighted independent set for points in arbitrary position References

Dominating Set, Independent Set, Discrete k-Center, Dispersion, and Related Problems for Planar Points 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

Given a set P of n points in the plane, its unit-disk graph G⁢(P) is a graph with P as its vertex set such that two points of P are connected by an edge if their (Euclidean) distance is at most 1. We consider several classical problems on G⁢(P) in a special setting when points of P are in convex position. These problems are all NP-hard in the general case. We present efficient algorithms for these problems under the convex position assumption.

  • ā– 

    For the problem of finding the smallest dominating set of G⁢(P), we present an O⁢(k⁢n⁢log⁔n) time algorithm, where k is the smallest dominating set size. We also consider the weighted case in which each point of P has a weight and the goal is to find a dominating set in G⁢(P) with minimum total weight; our algorithm runs in O⁢(n3⁢log2⁔n) time. In particular, for a given k, our algorithm can compute in O⁢(k⁢n2⁢log2⁔n) time a minimum weight dominating set of size at most k (if it exists).

  • ā– 

    For the discrete k-center problem, which is to find a subset of k points in P (called centers) for a given k, such that the maximum distance between any point in P and its nearest center is minimized. We present an algorithm that solves the problem in O⁢(min⁔{n4/3⁢log⁔n+k⁢n⁢log2⁔n,k2⁢n⁢log2⁔n}) time, which is O⁢(n2⁢log2⁔n) in the worst case when k=Θ⁢(n). For comparison, the runtime of the current best algorithm for the continuous version of the problem where centers can be anywhere in the plane is O⁢(n3⁢log⁔n).

  • ā– 

    For the problem of finding a maximum independent set in G⁢(P), we give an algorithm of O⁢(n7/2) time and another randomized algorithm of O⁢(n37/11) expected time, which improve the previous best result of O⁢(n6⁢log⁔n) time. Our algorithms can be extended to compute a maximum-weight independent set in G⁢(P) with the same time complexities when points of P have weights.

    • –

      If we are looking for an (unweighted) independent set of size 3, we derive an algorithm of O⁢(n⁢log⁔n) time; the previous best algorithm runs in O⁢(n4/3⁢log2⁔n) time (which works for the general case where points of P are not necessarily in convex position).

    • –

      If points of P have weights and are not necessarily in convex position, we present an algorithm that can find a maximum-weight independent set of size 3 in O⁢(n5/3+Γ) time for an arbitrarily small constant Γ>0. By slightly modifying the algorithm, a maximum-weight clique of size 3 can also be found within the same time complexity.

  • ā– 

    For the dispersion problem, which is to find a subset of k points from P for a given k, such that the minimum pairwise distance of the points in the subset is maximized. We present an algorithm of O⁢(n7/2⁢log⁔n) time and another randomized algorithm of O⁢(n37/11⁢log⁔n) expected time, which improve the previous best result of O⁢(n6) time.

    • –

      If k=3, we present an algorithm of O⁢(n⁢log2⁔n) time and another randomized algorithm of O⁢(n⁢log⁔n) expected time; the previous best algorithm runs in O⁢(n4/3⁢log2⁔n) time (which works for the general case where points of P are not necessarily in convex position).

Keywords and phrases:
Dominating set, k-center, geometric set cover, independent set, clique, vertex cover, unit-disk graphs, convex position, dispersion, maximally separated sets
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: http://arxiv.org/abs/2501.00207
Funding:
This research was supported in part by NSF under Grant CCF-2300356.
Editors:
Olaf Beyersdorff, Michał Pilipczuk, Elaine Pimentel, and Nguyį»…n Kim ThįŗÆng

1 Introduction

Let P be a set of n points in the plane. The unit-disk graph of P, denoted by G⁢(P), is the graph with P as its vertex set such that two points are connected by an edge if their (Euclidean) distance is at most 1. Equivalently, G⁢(P) is the intersection graph of congruent disks with radius 1/2 and centered at the points in P (i.e., two disks have an edge if they intersect). This model is particularly useful in applications such as wireless sensor networks, where connectivity is determined by signal ranges, represented by unit disks [19, 42, 43, 6].

1.1 Our results

We consider several classical problems on G⁢(P). These problems are all NP-hard. However, little attention has been given to special configurations of points, such as when the points are in convex position, despite the potential for significant algorithmic simplifications in such cases. In this paper, we systematically study these problems under the condition that the points of P are in convex position (i.e., every point of P appears as a vertex in the convex hull of P) and present efficient algorithms. We hope our results can lead to efficient solutions to other problems in this setting.

Dominating set.

A dominating set of G⁢(P) is a subset S of vertices of G⁢(P) such that each vertex of G⁢(P) is either in S or adjacent to a vertex in S. The dominating set problem, which seeks a dominating set of the smallest size, is a classical NP-hard problem [19, 29, 31]. In the weighted case, each point of P has a weight and the problem is to find a dominating set of minimum total weight. The dominating set problem has been widely studied, with various approximation algorithms proposed [27, 55, 41, 23].

To the best of our knowledge, we are not aware of any previous work under the convex position assumption. For the unweighted case, we present an algorithm of O⁢(k⁢n⁢log⁔n) time, where k is the smallest dominating set size of G⁢(P). For the weighted case, we derive an algorithm of O⁢(n3⁢log2⁔n) time. In particular, given any k, our algorithm can compute in O⁢(k⁢n2⁢log2⁔n) time a minimum-weight dominating set of size at most k.

Discrete š’Œ-center.

A closely related problem is the discrete k-center problem. Given a number k, the problem is to compute a subset of k points in P (called centers) such that the maximum distance between any point in P and its nearest center is minimized. The problem, which is NP-hardĀ [49], is also a classical problem with applications in clustering, facility locations, and network design. An algorithm for the dominating set problem can be used to solve the decision version of the discrete k-center problem: Given a value r and k, decide whether there exists a subset of k centers such that the distance from any point in P to its nearest center is at most r. Indeed, if we define the unit-disk graph of P with respect to r, then a dominating set of size k in the graph is a discrete k-center of P for r, and vice versa.

For the convex position case, we are not aware of any previous work. We propose an algorithm of O⁢(min⁔{n4/3⁢log⁔n+k⁢n⁢log2⁔n,k2⁢n⁢log2⁔n}) time.

Independent set.

An independent set of G⁢(P) is a subset of vertices such that no two vertices have an edge. The maximum independent set problem is to find an independent set of the largest cardinality. The problem of finding a maximum independent set in G⁢(P) is NP-hard [19]. Many approximation algorithms for the problem have been developed in the literature, e.g., [21, 22, 37, 38].

Under the convex position assumption, using the technique of Singireddy, Basappa, and Mitchell [47] for a dispersion problem (more details to be discussed later), one can find a maximum independent set in G⁢(P) in O⁢(n6⁢log⁔n) time. We give a new algorithm of O⁢(n7/2) time,111Throughout the paper, the algorithm runtime is deterministic unless otherwise stated. and another randomized algorithm of O⁢(n37/11) expected time using the recent randomized result of Agarwal, Ezra, and Sharir [1]. Furthermore, our algorithm can be extended to compute a maximum-weight independent set of G⁢(P) within the same time complexity when points of P have weights; specifically, a maximum-weight independent set is an independent set whose total vertex weight is maximized. Since the vertices of a graph excluding an independent set form a vertex cover, our algorithm also computes a minimum-weight vertex cover of G⁢(P) in O⁢(n7/2) time or in randomized O⁢(n37/11) expected time.

Furthermore, we consider a small-size case that is to find an (unweighted) independent set of size 3 in G⁢(P). If P is not necessarily in convex position, the problem has been studied by Agarwal, Overmars, and Sharir [2], who presented an O⁢(n4/3⁢log2⁔n) time algorithm. We consider the convex position case and derive an algorithm of O⁢(n⁢log⁔n) time. Note that finding an independent set of size 2 is equivalent to computing a farthest pair of points of P, which can be done in O⁢(n⁢log⁔n) time using the farthest Voronoi diagram [45].

In addition, we consider a more general small-size case that is to find a maximum-weight independent set of size 3 in G⁢(P) when points of P have weights and are not necessarily in convex position. Our algorithm runs in O⁢(n5/3+Ī“) time; Ī“ refers to an arbitrarily small positive constant. Our technique can also be used to find a maximum-weight clique of size 3 in G⁢(P) within the same time complexity. In addition, we show that a maximum-weight independent set or clique of size 2 can be found in n4/3⁢2O⁢(logāˆ—ā”n) time. All these algorithms also work for computing the minimum-weight independent set or clique. We are not aware of any previous work on these weighted problems. As mentioned above, the problem of finding an (unweighted) independent set of size 3 can be solved in O⁢(n4/3⁢log2⁔n) timeĀ [2]. It is also known that finding an (unweighted) clique of size 3 in a disk graph (not necessarily unit-disk graph) can be done in O⁢(n⁢log⁔n) timeĀ [30].

The dispersion problem.

A related problem is the dispersion problem (also called maximally separated set problem [2]). Given P and a number k, we wish to find a subset of k points from P so that their minimum pairwise distance is maximized. The problem is NP-hard [50]. An algorithm for the independent set problem of G⁢(P) can be used as a decision algorithm for the dispersion problem: Given a value r, we can decide whether P has a subset of k points whose minimum pairwise distance is larger than r using the independent set algorithm (i.e., by defining an edge for two points in the graph if their distance is at most r).

Under the convex position assumption, Singireddy, Basappa, and MitchellĀ [47] previously gave an O⁢(n4⁢k2) time algorithm for the problem. Using our independent set algorithm as a decision procedure and doing binary search among the interpoint distances of P, we present a new algorithm that can solve the problem in O⁢(n7/2⁢log⁔n) time, or in randomized O⁢(n37/11⁢log⁔n) expected time. For a special case where k=3, the algorithm of [2] solves the problem in O⁢(n4/3⁢log3⁔n) time even if the points of P are not in convex position. Our new algorithm, which works on the convex-position case only, runs in O⁢(n⁢log2⁔n) time. This is achieved using parametric searchĀ [20, 39] with our independent set algorithm as a decision algorithm. In addition, with our decision algorithm and Chan’s randomized techniqueĀ [11], we can obtain a randomized algorithm of O⁢(n⁢log⁔n) expected time. We note that a recent workĀ [35] proposed another algorithm of O⁢(n2) time, apparently unaware of the result in [2].

1.2 Related work

Unit-disk graphs are a fundamental model in wireless networks, particularly where coverage and connectivity are governed by proximity [19, 42, 43, 6]. However, many classical graph problems, including coloring, vertex cover, independent set, and dominating set, remain NP-hard even when restricted to unit-disk graphs [19]. One exception is that finding a maximum clique in a unit-disk graph can be done in polynomial time [19, 25, 26] and the current best algorithm runs in O⁢(n2.5⁢log⁔n) time [26] (see [34] for a comment about improving the runtime to O⁢(n7/3+o⁢(1))).

The assumption that points are in convex position can simplify certain problems that are otherwise NP-hard for general point sets in the plane. This has motivated the exploration of other computational problems under similar assumptions. For example, the continuous k-center problem where centers can be anywhere in the plane is NP-hard for arbitrary points but become polynomial time solvable under the convex position assumption [18]. The convex position constraint was even considered for classical problems that are already polynomial time solvable in the general case. For instance, Aggarwal, Guibas, Saxe, and ShorĀ [4] gave a renowned linear time algorithm for computing the Voronoi diagram for a set of planar points in convex position. Refer to [36, 44, 15] for more work for points in convex position.

The k-center problem under a variety of constraints has received much attention. Particularly, when k, the number of centers, is two and the centers can be anywhere in the plane (referred to as the continuous 2-center problem), several near-linear time algorithms have been developed [46, 12, 24, 51], culminating in an optimal O⁢(n⁢log⁔n) time [17]. The problem variations under other constraints were also considered. For example, the k-center problem can be solved in O⁢(n⁢log⁔n) time if centers are required to lie on the same line [53, 16] or two lines [10]. The continuous one-center problem is the classical smallest enclosing circle problem and can be solved in linear time [40].

For the convex position case of the continuous k-center problem, Choi, Lee, and AhnĀ [18] proposed an O⁢(min⁔{k,log⁔n}ā‹…n2⁢log⁔n+k2⁢n⁢log⁔n) time algorithm. For comparison, the worst-case runtime of their algorithm is cubic, while our discrete k-center algorithm runs in near quadratic time.

The discrete 2-center problem also gets considerable attention. Agarwal, Sharir, and Welzl gave the first subquadratic O⁢(n4/3⁢log5⁔n) time algorithm [3]; the logarithmic factor was slightly improved by Wang [52]. As the continuous two-center problem can be solved in O⁢(n⁢log⁔n) time [17] while the current best discrete two-center algorithm runs in Ω⁢(n4/3) time [3, 52], the discrete problem appears more challenging than the continuous counterpart. This makes our discrete k-center algorithm even more interesting because it is almost a linear factor faster than the continuous k-center algorithm in [18]. Therefore, it is an intriguing question whether the algorithm in [18] can be further improved.

Other variations of the discrete k-center problem for small k were recently studied by Chan, He, and YuĀ [13], improving over previous resultsĀ [8, 9, 32].

The dispersion problem and some of its variants have also been studied before. The general planar dispersion problem can be solved by an exact algorithm in nO⁢(k) timeĀ [2]. If all points of P lie on a single line, Araki and NakanoĀ [5] gave an algorithm of O⁢((2⁢k2)kā‹…n) time (assuming that the points are not given sorted), which is O⁢(n) for a constant k. For a circular case where all points of P lie on a circle and the distance between two points is measured by their distance along the circle, the problem is solvable in O⁢(n) timeĀ [48], provided that the points are given sorted along the circle. We note that this implies that the line case problem, which can be viewed as a special case of the circular case, is also solvable in O⁢(n) time after the points are sorted on the line.

1.3 Our approach

The weighted dominating set problem reduces to the following problem: Given any k, find a minimum weight dominating set of size at most k. This is equivalent to finding a minimum weight subset of at most k points of P such that the union of the unit disks centered at these points covers P. Let S be an optimal solution for the problem (points of S are called centers). If we consider P as a cyclic list of points along the convex hull of P, then for each center p∈S, its unit disk Dp may cover multiple maximal contiguous subsequences (called sublists) of P. We prove that it is possible to assign at most two such sublists to each center p∈S such that (1) p belongs to at least one of these sublists; (2) the union of the sublists assigned to all centers is P; (3) for every two centers pi,pj∈S, the sublists of the points assigned to pi can be separated by a line from the sublists assigned to pj. Using these properties, we further obtain the following structural property (called ordering property; see FigureĀ 1) about the optimal solution S: There exists an ordering of the centers of S as pi1,pi2,…,pik such that (1) pi1 (resp., pik) is only assigned one sublist; (2) if a center pij, 1<j<k, is assigned two sublists, then one of them is on P1, the portion of P from pi1 to pik clockwise, and the other is on P2, the portion of P from pi1 to pik counterclockwise; (3) the order of the centers of the sublists along P1 (resp., P2) from pi1 to pik is a (not necessarily contiguous) subsequence of the above ordering.

Figure 1: Illustrating the ordering property of S (the centers of the disks).

The above ordering property is crucial to the success of our method. Using the property, we develop a dynamic programming algorithm of O⁢(k⁢n2⁢log2⁔n) time. Setting k=n leads to an O⁢(n3⁢log2⁔n) time algorithm for the original weighted dominating set problem. These properties are also applicable to the unweighted case, which is essentially a special case of the weighted problem. Using an additional greedy strategy, the runtime of the algorithm can be improved by roughly a linear factor for the unweighted case.

To solve the discrete k-center problem, we use the algorithm for the unweighted dominating set problem as the decision problem: Given any value r, determine whether r≄rāˆ—, where rāˆ— is the optimal objective value, i.e., the minimum value for which there exist k centers such that the maximum distance from any point of P to its closest center is at most rāˆ—. Observe that rāˆ— must be equal to the distance of two points of P. As such, by doing binary search on the pairwise distances of points of P and applying the distance selection framework inĀ [54] with our unweighted dominating set algorithm, we can compute rāˆ— in O⁢(n4/3⁢log⁔n+k⁢n⁢log2⁔n) time. Furthermore, using parametric searchĀ [20, 39], we develop another algorithm of O⁢(k2⁢n⁢log2⁔n) time, which is faster than the first algorithm when k=o⁢(n1/6/log⁔n).

For the independent set problem, our algorithm is a dynamic program, which is in turn based on the observation that the Voronoi diagram of a set of points in convex position forms a treeĀ [4]. The (unweighted) size-3 case is solved by new observations and developing efficient data structures. As discussed above, we tackle the dispersion problem by using the independent set algorithm as a decision procedure. For computing a maximum-weight independent set of size 3 for points in arbitrary position, our algorithm relies on certain interesting observations and a tree-structured biclique partition of P. Biclique partition has been studied before, e.g., [33, 54]. However, to our best knowledge, tree-structured biclique partitions have never been introduced before. Our result may find applications elsewhere.

Outline.

The rest of the paper is organized as follows. After introducing notation in SectionĀ 2, we present our algorithms for the dominating set, the discrete k-center, the independent set, and the dispersion problems for points in convex position in SectionsĀ 3, 4, 5 and 6, respectively. As the only problem for points in arbitrary position studied in this paper, the size-3 weighted independent set problem is discussed in SectionĀ 7. Due to the space limit, many details and proofs are omitted but can be found in the full paper.

2 Preliminaries

We introduce some notations that will be used throughout the paper, in addition to those already defined in Section 1, e.g., P, n, G⁢(P).

A unit disk refers to a disk with radius 1; the boundary of a unit disk is a unit circle. For any point p in the plane, we use Dp to denote the unit disk centered at p. For any two points p and q in the plane, we use |p⁢q| to denote their (Euclidean) distance and use p⁢qĀÆ to denote the line segment connecting them. Let p⁢q→ to denote the directed segment from p to q.

Let ℋ⁢(P) be the convex hull of P. If the points in P are in convex position, then we can consider P as a cyclic sequence. Specifically, let P=⟨p1,p2,…,pn⟩ represent a cyclic list of the points ordered counterclockwise along ℋ⁢(P). We use a sublist to refer to a contiguous subsequence of P. Multiple sublists are said to be consecutive if their concatenation is also a sublist. For any two points pi and pj in P, we define P⁢[i,j] as the sublist of P from pi counterclockwise to pj, inclusive, i.e., if i≤j, then P⁢[i,j]=⟨pi,pi+1,…,pj⟩; otherwise, P⁢[i,j]=⟨pi,pi+1,…,pn,p1,…,pj⟩. We also denote by P⁢(i,j] the sublist P⁢[i,j] excluding pi, and similarly for other variations, e.g., P⁢[i,j) and P⁢(i,j).

For simplicity of the discussion, we make a general position assumption that no three points of P are collinear and no four points lie on the same circle. This assumption is made without loss of generality as degenerate cases can be handled through perturbations.

3 The dominating set problem

In this section, we present our algorithms for the dominating set problem on a set P of n points in convex position. The weighted and unweighted cases are discussed in SectionsĀ 3.2 and 3.3, respectively. We first prove in SectionĀ 3.1 the structural properties that our algorithms rely on and then present these algorithms.

3.1 Structural properties

We examine the structural properties of the dominating sets in the unit-disk graph G⁢(P) for the weighted case, which are also applicable to the unweighted case.

Let š’œ represent a partition of P into consecutive, nonempty, and disjoint sublists. Suppose SāŠ†P is a dominating set of G⁢(P); points of S are called centers. It is not difficult to see that the union of the collection š’Ÿ of unit disks centered at the points in S covers P.

We say that a collection š’Ÿ of unit disks covers š’œ if every sublist Ī±āˆˆš’œ is covered by at least one disk from š’Ÿ. An assignment Ļ•:š’œā†’S is a mapping from sublists in š’œ to points in S, such that each sublist α is assigned to exactly one center pi∈S with Ī±āŠ†Dpi. For each pi∈S, we define Gpi as the set of points in the sublists Ī±āˆˆš’œ that are assigned to pi; Gpi is called the group of pi. Depending on the context, Gpi may also represent the collection of sublists assigned to pi. By definition, the groups of two centers of S are disjoint.

An assignment Ļ• is said to be line separable if, for every two groups of Ļ•, there exists a line ā„“ that separates the points from the two groups, that is, the points of one group lie on one side of ā„“ or on ā„“ while those of the other group lie strictly on the other side of ā„“.

As discussed in SectionĀ 1.3, our main target is to prove the ordering property. This is achieved by proving a series of lemmas. We start with the lemma that proves a line separable property.

Lemma 1.

Let S be a dominating set of G⁢(P). There exist a partition š’œ of P and a line-separable assignment Ļ•:š’œā†’S such that for any center pi∈S, pi∈Gpi, meaning that a sublist of pi contains pi.

For the assignment Ļ• from LemmaĀ 1, for each center pi∈S, we refer to the sublist of pi that contains pi as the main sublist of pi.

Lemma 2.

Let S be a dominating set for G⁢(P). Then there exist a partition š’œ of P and an assignment Ļ•:š’œā†’S with the following properties: (1) Ļ• is line separable; (2) each center of S is assigned at most two sublists, one of which is a main sublist.

Lemma 3.

Let S be an optimal dominating set and Ļ•:š’œā†’S be the assignment given by LemmaĀ 2. There exists a pair of centers (pi,pj) in S, called a decoupling pair, such that the following hold: (1) each of pi and pj has only one sublist; (2) for any center S that has two sublists, one sublist is in P⁢(i,j) while the other is in P⁢(j,i).

Let S be an optimal dominating set and Ļ•:š’œā†’S be the assignment given by LemmaĀ 2. Let (pi,pj) be a decoupling pair from LemmaĀ 3. For any center of Sāˆ–{pi,pj}, each of its sublist must be either entirely in P⁢(i,j) or in P⁢(j,i), and by LemmaĀ 3, the center has at most one sublist in P⁢(i,j) and at most one sublist in P⁢(j,i). We finally prove in the following lemma the ordering property discussed in SectionĀ 1.3.

Lemma 4.

(The ordering property) Let S be an optimal dominating set and Ļ•:š’œā†’S be the assignment given by LemmaĀ 2. Let (pi,pj) be a decoupling pair from LemmaĀ 3. Then, there exists an ordering of all centers of S as pi1,pi2,…,pik with k=|S| such that (see FigureĀ 1)

  1. 1.

    pi=pi1 and pj=pik, i.e., pi1 and pik are the first and last points in the ordering, respectively.

  2. 2.

    The sequence of the centers of S that have at least one sublist in P⁢[i,j] (resp., P⁢[j,i]) ordered by the points of their sublists appearing in P⁢[i,j] (resp., P⁢[j,i]) from pi to pj is a (not necessarily contiguous) subsequence of the ordering.

  3. 3.

    For any t, 1≤t≤k, the sublists of the first t centers in the ordering are consecutive (i.e., their union, which is ā‹ƒl=1tGil, is a sublist of P).

  4. 4.

    For any t, 2≤t≤k, ā‹ƒl=1tāˆ’1GilāŠ†ā‹ƒl=1tGil.

  5. 5.

    For any t, 1≤t≤k, each sublist of pit appears at one end of ā‹ƒl=1tGil (if t=k, then ā‹ƒl=1tGil becomes the cyclic list of P; for convenience, we view ā‹ƒl=1tGil as a list by cutting it right after the clockwise endpoint of Gik).

Proof.

First of all, notice that the first two properties imply the last three. Therefore, it suffices to prove the first two properties.

Let S1 (resp., S2) be the subset of centers of Sāˆ–{pi,pj} that have a sublist in P⁢(i,j) (resp., P⁢(j,i)). By LemmaĀ 3, each center of S1 has at most one sublist in P⁢(i,j) and each center of S2 has at most one sublist in P⁢(j,i). We add pi and pj to both S1 and S2. We sort all centers of S1 as a sequence (called the sorted sequence of S1) by the points of their sublists appearing in P⁢[i,j] from pi to pj (and thus pi is the first center and pj is the last one in the sequence). Similarly, we sort all centers of S2 as a sequence (called the sorted sequence of S2) by the points of their sublists appearing in P⁢[j,i] from pi to pj (and thus pi is the first center and pj is the last one in the sequence). To prove the first two properties of the lemma, it suffices to show the following statement: There exists an ordering of S such that (1) pi is the first one in the ordering and pj is the last one; (2) the sorted sequence of S1 (resp., S2) is a subsequence of the ordering.

We say that two centers pj1,pj2∈S are conflicting if pj1 appears in front of pj2 in the sorted sequence of S1 while pj2 appears in front of pj1 in the sorted sequence of S2. It is not difficult to see that if no two centers of S are conflicting then the above statement holds. Assume to the contrary that there exist two centers pj1,pj2∈S that are conflicting. Then, since the two centers are in both S1 and S2, each of them has two sublists. Since they are conflicting, by the definition of the sorted sequences of S1 and S2 and due to the convexity of P, the group of pj1 cannot be separated from the group of pj2 by a line, a contradiction with the line separable property of Ļ•. ā—€

3.2 The weighted dominating set problem

For each point pi∈P, let wi denote its weight. We assume that each wi>0, since otherwise pi could always be included in the solution. For any subset SāŠ†P, let w⁢(S) denote the total weight of all points of S. We mainly consider the following bounded size problem: Given a number k, compute a dominating set S of minimum total weight with |S|≤k in the unit-disk graph G⁢(P). If we have an algorithm for this problem, then applying the algorithm with k=n can compute a minimum weight dominating set for G⁢(P). Let Sāˆ— denote an optimal dominating set for the above bounded size problem. Define Wāˆ—=w⁢(Sāˆ—).

In what follows, we first describe the algorithm and then discuss how to implement the algorithm efficiently.

Algorithm description.

We begin by introducing the following definition.

Definition 5.

For two points pi,pj∈P (pi=pj is possible), define aij as the index of the first point p of P counterclockwise from pj such that |pi⁢p|>1, and bij the index of the first point p of P clockwise from pj such that |pi⁢p|>1 (if |pi⁢pj|>1, then aij=bij=j). If |pi⁢p|≤1 for all points p∈P, then let aij=bij=0.

For a subset Pā€²āŠ†P, let š’Ÿā¢(P′) denote the union of the unit disks centered at the points of P′. Note that a subset SāŠ†P is a dominating set if and only if PāŠ†š’Ÿā¢(S).

Our algorithm has k iterations. In each t-th iteration with 1≤t≤k, we compute a set ā„’t of O⁢(n2) sublists of P, and each sublist Lāˆˆā„’t is associated with a weight w′⁢(L) and a set SLāŠ†P of at most t points. Our algorithm maintains the following invariant: For each sublist Lāˆˆā„’t, w⁢(SL)≤w′⁢(L) and points of L are all covered by š’Ÿā¢(SL). Suppose that there exists a set SāŠ†P of k points such that PāŠ†š’Ÿā¢(S). Then we will show that ā„’k contains a sublist L that is P and w′⁢(L)≤Wāˆ—. As such, after k iterations, we only need to find all sublists of ā„’k that are P and then return the one with the minimum weight.

In the first iteration, for each point pi∈P, we compute the two indices aii and bii; we show in LemmaĀ 7 that this can be done in O⁢(log⁔n) time after O⁢(n⁢log⁔n) time preprocessing. Then, let ā„’1={P⁢(bii,aii)|pi∈P}. For each sublist L=P⁢(bii,aii) of ā„’1, we set SL={pi} and w′⁢(L)=wi. Clearly, the algorithm invariant holds on all sublists of ā„’1. This finishes the first iteration. Although |ā„’1|=O⁢(n), as will be seen next, |ā„’t|=O⁢(n2) for all t≄2.

In general, suppose that we have a set ā„’tāˆ’1 of O⁢(n2) sublists and each sublist Lāˆˆā„’tāˆ’1 is associated with a weight w′⁢(L) and a set SLāŠ†P of at most tāˆ’1 points such that the algorithm invariant holds, i.e., w⁢(SL)≤w′⁢(L) and points of L are all covered by š’Ÿā¢(SL). We now describe the t-th iteration of the algorithm.

For each point pi∈P, we perform a counterclockwise processing procedure as follows. For each point pj∈P, we do the following. Compute the minimum weight sublist from ā„’tāˆ’1 that contains P⁢[aii,j]; we call this step a minimum-weight enclosing sublist query. We show later that each such query can be answered in O⁢(log2⁔n) time after O⁢(n2⁢log⁔n) time preprocessing on the sublists of ā„’tāˆ’1. Let P⁢[ji⁢1,ji⁢2] be the sublist computed above. Then, we compute the index aiji⁢2+1. By definition, the union of the following three sublists is a sublist of P: P⁢(bii,aii), P⁢[ji⁢1,ji⁢2], and P⁢(ji⁢2,aiji⁢2+1); denote by L the sublist. We set SL=SLā€²āˆŖ{pi} and w′⁢(L)=w′⁢(L′)+wi, where L′=P⁢[ji⁢1,ji⁢2]. We add L to ā„’t. We next argue that the algorithm invariant holds for L, i.e., points of L are covered by š’Ÿā¢(SL), |SL|≤t, and w⁢(SL)≤w′⁢(L). Indeed, by definition, all the points of P⁢(bii,aii)∪P⁢(ji⁢2,aiji⁢2+1) are covered by the disk Dpi. Since the sublist L′ is from ā„’tāˆ’1, by our algorithm invariant, L′ is covered by š’Ÿā¢(SL′), |SL′|≤tāˆ’1, and w⁢(SL′)≤w′⁢(L′). Therefore, L is covered by š’Ÿā¢(SLā€²āˆŖ{pi}) and |SL|≤t. In addition, we have w⁢(SL)≤w⁢(SL′)+wi≤w′⁢(L′)+wi=w′⁢(L). As such, the algorithm invariant holds on L.

The above counterclockwise processing procedure for pi will add O⁢(n) sublists to ā„’t. Symmetrically, we perform a clockwise processing procedure for pi, which will also add O⁢(n) sublists to ā„’t. We briefly discuss it. Given pi∈P, for each point pj∈P, we compute the minimum weight sublist from ā„’tāˆ’1 that contains P⁢[j,bii]. Let P⁢[ji⁢3,ji⁢4] be the sublist computed above. Then, we compute the index biji⁢3āˆ’1. Let L be the sublist that is the union of the following three sublists: P⁢(bii,aii), P⁢[ji⁢3,ji⁢4], and P⁢(biji⁢3āˆ’1,ji⁢3). We let SL=SLā€²āˆŖ{pi} and w′⁢(L)=w′⁢(L′)+wi, where L′=P⁢[ji⁢3,ji⁢4]. As above, the algorithm invariant holds on L. We add L to ā„’t. In this way, the t-th iteration computes O⁢(n2) sublists in ā„’t.

After the k-th iteration, we find from all sublists of ā„’k that are P the one Lāˆ— whose weight w′⁢(Lāˆ—) is the minimum. Based on the ordering property in LemmaĀ 4, the next lemma shows that SLāˆ— is an optimal dominating set.

Lemma 6.

SLāˆ— is an optimal dominating set and Wāˆ—=w′⁢(Lāˆ—).

Time analysis.

In each iteration, we perform O⁢(n2) operations for computing indices aij and bij, and perform O⁢(n2) minimum-weight enclosing sublist queries. We show later that each query takes O⁢(log2⁔n) time after O⁢(n2⁢log⁔n) time preprocessing. As such, each iteration of the algorithm takes O⁢(n2⁢log2⁔n) time and the total time of the algorithm is thus O⁢(k⁢n2⁢log2⁔n).

Algorithm implementation.

The following lemma provides a data structure for computing the indices aij and bij.

Lemma 7.

We can construct a data structure for P in O⁢(n⁢log⁔n) time such that the indices aij and bij can be computed in O⁢(log⁔n) time for any two points pi,pj∈P.

Given a set ā„’ of m sublists of P, each sublist has a weight. We wish to build a data structure to answer the following minimum-weight enclosing sublist queries: Given a sublist L, compute the minimum weight sublist of ā„’ that contains L. We have the following lemma.

Lemma 8.

We can construct a data structure for ā„’ in O⁢(m⁢log⁔m) time, with m=|ā„’|, so that each minimum-weight enclosing sublist query can be answered in O⁢(log2⁔m) time.

TheoremĀ 9 summarizes our result. Applying TheoremĀ 9 with k=n leads to CorollaryĀ 10.

Theorem 9.

Given a number k and a set P of n weighted points in convex position in the plane, we can find in O⁢(k⁢n2⁢log2⁔n) time a minimum-weight dominating set of size at most k in the unit-disk graph G⁢(P), or report no such dominating set exists.

Corollary 10.

Given a set P of n weighted points in convex position in the plane, we can compute a minimum-weight dominating set in the unit-disk graph G⁢(P) in O⁢(n3⁢log2⁔n) time.

3.3 The unweighted case

In this section, we consider the unweighted dominating set problem. The goal is to compute the smallest dominating set in the unit-disk graph G⁢(P). Note that all properties for the weighted case are also applicable here. In particular, by setting all point weights to 1 and applying Theorem 9, one can solve the unweighted problem in O⁢(n3⁢log2⁔n) time. We provide an improved algorithm of O⁢(k⁢n⁢log⁔n) time, where k is the smallest dominating set size.

Algorithm description.

We follow the iterative algorithmic scheme of the weighted case, but incorporate a greedy strategy using the property that all points of P have the same weight.

In each t-th iteration of the algorithm, t≄1, we compute a set ā„’t of O⁢(n) sublists and each list Lāˆˆā„’t is associated with a set SLāŠ†P of at most t points. Our algorithm maintains the following invariant: For each sublist Lāˆˆā„’t, all points of L are covered by š’Ÿā¢(SL), i.e., the union of the unit disks centered at the points of SL. If k is the smallest dominating set size, we show in LemmaĀ 11 that after k iterations, ā„’k is guaranteed to contain a sublist that is P. Thus, we can stop the algorithm as soon as the first sublist that is P is computed.

Initially, we compute the indices aii and bii for all points pi∈P. By LemmaĀ 7, this takes O⁢(log⁔n) time after O⁢(n⁢log⁔n) time preprocessing. In the first iteration, we have ā„’1={P⁢(bii,aii)|pi∈P}. For each sublist L=P⁢(bii,aii)āˆˆā„’1, we set SL={pi}. Clearly, the algorithm invariant holds.

In general, suppose that we have a set ā„’tāˆ’1 of O⁢(n) sublists such that the algorithm invariant holds. We assume that no sublist of ā„’tāˆ’1 is P. Then, the t-th iteration of the algorithm works as follows. For each point pi∈P, we perform the following counterclockwise processing procedure. We first compute the sublist of ā„’tāˆ’1 that contains paii and has the most counterclockwise endpoint. This is done by a counterclockwise farthest enclosing sublist query. We show later in SectionĀ 3.3 that each such query takes O⁢(log⁔n) time after O⁢(n⁢log⁔n) time preprocessing for ā„’tāˆ’1. Let P⁢[ji⁢1,ji⁢2] be the sublist computed above. Then, we compute the index aiji⁢2+1 in O⁢(log⁔n) time by LemmaĀ 7. Note that the union of the following three sublists is a sublist L of P: P⁢(bii,aii), P⁢[ji⁢1,ji⁢2], and P⁢(ji⁢2,aiji⁢2+1). We add L to ā„’t and set SL=SLā€²āˆŖ{pi} with L′=P⁢[ji⁢1,ji⁢2]. By our algorithm invariant, points of L′ are covered by š’Ÿā¢(SL′). By definition, points of P⁢(bii,aii)∪P⁢(ji⁢2,aiji⁢2+1) are covered by Dpi. Therefore, all points of L are covered by š’Ÿā¢(SL). Hence, the algorithm invariant holds for L. In addition, if L is P, we stop the algorithm and return SL as an optimal dominating set.

Symmetrically, we perform a clockwise processing procedure for pi. We compute the sublist from ā„’tāˆ’1 that contains bii and has the most clockwise endpoint; this is done by a clockwise farthest enclosing sublist query. Let P⁢[ji⁢3,ji⁢4] be the sublist computed above. Then, we compute the index biji⁢3āˆ’1. Let L be the sublist that is the union of the following three sublists: P⁢(bii,aii), P⁢[ji⁢3,ji⁢4], and P⁢(ji⁢3,biji⁢3āˆ’1). Let SL=SLā€²āˆŖ{pi} with L′=P⁢[ji⁢3,ji⁢4]. As above, the algorithm invariant holds on L. We add L to ā„’t. If L is P, then we stop the algorithm and return SL as an optimal dominating set.

The following lemma proves the correctness of the algorithm.

Lemma 11.

If the algorithm first time computes a sublist L that is P, then SL is the smallest dominating set of G⁢(P).

Time analysis.

In each iteration, we perform O⁢(n) operations for computing indices aij and bij and O⁢(n) counterclockwise/clockwise farthest enclosing sublist queries. Computing indices aij and bij takes O⁢(log⁔n) time by Lemma 7. We show in Lemma 12 that each counterclockwise/clockwise farthest enclosing sublist query can be answered in O⁢(log⁔n) time after O⁢(n⁢log⁔n) time preprocessing. As such, each iteration runs in O⁢(n⁢log⁔n) time and the total time of the algorithm is O⁢(k⁢n⁢log⁔n), where k is the smallest dominating set size.

Algorithm implementation.

It remains to describe the data structure for answering counterclockwise/clockwise farthest enclosing sublist queries. We only discuss the counterclockwise case as the clockwise case can be handled analogously. Given a set ā„’ consisting of n sublists of P, the goal is to build a data structure to answer the following counterclockwise farthest enclosing sublist queries: Given a point p∈P, find a sublist in ā„’ that contains p with the farthest counterclockwise endpoint from p. We have the following lemma.

Lemma 12.

We can construct a data structure for ā„’ in O⁢(n⁢log⁔n) time such that each counterclockwise farthest enclosing sublist query can be answered in O⁢(log⁔n) time.

We conclude with the following theorem and corollary, which will be used in SectionĀ 4 to solve the discrete k-center problem.

Theorem 13.

Given a set P of n points in convex position in the plane, the smallest dominating set of the unit-disk graph G⁢(P) can be computed in O⁢(k⁢n⁢log⁔n) time, where k is the size of the smallest dominating set.

Corollary 14.

Given k, r, and a set P of n points in convex position in the plane, one can do the following in O⁢(k⁢n⁢log⁔n) time: determine whether there exists a subset SāŠ†P of at most k points such that the distance from any point of P to its closest point in S is at most r, and if so, find such a subset S.

Proof.

We redefine the unit-disk graph of P with a parameter r, where two points in P are connected by an edge if their distance is at most r. We then apply the algorithm of TheoremĀ 13. If the algorithm finds a sublist L that is P within k iterations, then we return S=SL; otherwise such a subset S as in the lemma statement does not exist. Since we run the algorithm for at most k iterations, the total time of the algorithm is O⁢(k⁢n⁢log⁔n). ā—€

4 The discrete š’Œ-center problem

In this section, we present our algorithm for the discrete k-center problem. Let P be a set of n points in convex position in the plane. Given a number k, the goal is to compute a subset SāŠ†P of at most k points (called centers) so that the maximum distance between any point in P and its nearest center is minimized. Let rāˆ— denote the optimal objective value.

Given a value r, the decision problem is to determine whether r≄rāˆ—, or equivalently, whether there exist a set of k centers in P such that the distance from any point of P to its closest center is at most r. By CorollaryĀ 14, the problem can be solved in O⁢(k⁢n⁢log⁔n) time. Clearly, rāˆ— is equal to the distance of two points of P, that is rāˆ—āˆˆR, where R is defined as the set of all pairwise distances between points in P. If we explicitly compute R and then perform a binary search on R using the algorithm of CorollaryĀ 14 as a decision algorithm, then rāˆ— can be computed in O⁢(n2+k⁢n⁢log2⁔n) time. We can improve the algorithm by using the distance selection algorithms, which can find the k-th smallest value in R in O⁢(n4/3⁢log⁔n) time for any given kĀ [33, 54]. In fact, by applying the algorithmic framework of Wang and ZhaoĀ [54] with our decision algorithm, rāˆ— can be computed in O⁢(n4/3⁢log⁔n+n⁢k⁢log2⁔n) time.

In the following, we present another algorithm of O⁢(k2⁢n⁢log2⁔n) time using the parametric search [20, 39]. This algorithm is faster than the above one when k=o⁢(n1/6/log⁔n).

We simulate the decision algorithm over the unknown optimal value rāˆ—. The algorithm maintains an interval (r1,r2] that contains rāˆ—. Initially, r1=āˆ’āˆž and r2=āˆž. During the algorithm, the decision algorithm is invoked on certain critical values r to determine whether r≄rāˆ—; based on the outcome, the interval (r1,r2] is shrunk accordingly so that the new interval still contains rāˆ—. Upon completion, we can show that rāˆ—=r2 must hold.

Algorithm overview.

For any r, certain variables in our decision algorithm are now defined with respect to r as the radius of unit disks and therefore may be considered as functions of r. For example, we use aij⁢(r) to represent aij when the unit disk radius is r. The algorithm has k iterations. We wish to compute the sublist set ā„’t⁢(rāˆ—) in each t-th iteration, 1≤t≤k. Specifically, the set ā„’1⁢(rāˆ—) relies on aii⁢(rāˆ—) and bii⁢(rāˆ—) for all points pi∈P. As such, in the first iteration, we will compute aii⁢(rāˆ—) and bii⁢(rāˆ—) for all pi∈P. The computation process will generate certain critical values r, call the decision algorithm on these values, and shrink the interval (r1,r2] accordingly. After that, ā„’1⁢(rāˆ—) can be computed.

In a general t-th iteration, our goal is to compute the set ā„’t⁢(rāˆ—). We assume that the set ā„’tāˆ’1⁢(rāˆ—) is already available with an interval (r1,r2] containing rāˆ—. Then, for each pi∈P, we perform a counterclockwise processing procedure. We first compute the sublist of ā„’tāˆ’1⁢(rāˆ—) with the farthest counterclockwise endpoint and containing aii⁢(rāˆ—). This procedure depends solely on aii⁢(rāˆ—) and ā„’tāˆ’1⁢(rāˆ—), which are already available, and thus no critical values are generated. Suppose that P⁢[ji⁢1⁢(rāˆ—),ji⁢2⁢(rāˆ—)] is the sublist computed above. The next step is to compute aiji⁢2⁢(rāˆ—)+1⁢(rāˆ—). This step will again generate critical values and shrink the interval (r1,r2]. After that, we add to ā„’t⁢(rāˆ—) the sublist that is the union of the following three sublists: P⁢(bii⁢(rāˆ—),aii⁢(rāˆ—)), P⁢[ji⁢1⁢(rāˆ—),ji⁢2⁢(rāˆ—)], and P⁢(ji⁢2⁢(rāˆ—),aiji⁢2⁢(rāˆ—)+1). Similarly, we perform a clockwise processing procedure for each point pi∈P. After that, the set ā„’t⁢(rāˆ—) is computed. The details can be found in the full version.

In summary, the algorithm can compute rāˆ— in O⁢(k2⁢n⁢log2⁔n) time. Combining with the O⁢(n4/3⁢log⁔n+k⁢n⁢log2⁔n) time algorithm discussed earlier, we obtain the following result.

Theorem 15.

Given a set P of n points in convex position in the plane and a number k, we can compute in O⁢(min⁔{n4/3⁢log⁔n+k⁢n⁢log2⁔n,k2⁢n⁢log2⁔n}) time a subset SāŠ†P of size at most k, such that the maximum distance from any point of P to its nearest point in S is minimized.

5 The independent set problem

In this section, we present our algorithms for the independent set problem, assuming that the points of P are in convex position. In SectionĀ 5.1, we present the algorithm for computing a maximum-weight independent set. SectionĀ 5.2 gives the algorithm for computing an (unweighted) independent set of size 3.

5.1 The maximum-weight independent set problem

Recall that P=⟨p1,p2,…,pn⟩ is a cyclic list ordered along ℋ⁢(P) in counterclockwise order. For each point pi∈P, let wi denote its weight. We assume that each wi>0 since otherwise pi can be simply ignored, which would not affect the optimal solution. For any subset Pā€²āŠ†P, let w⁢(P′) denote the total weight of all points of P′.

For any three points p1,p2,p3, let D⁢(p1,p2,p3) denote the disk whose boundary contains them. Thus, āˆ‚D⁢(p1,p2,p3) is the unique circle through these points. For any compact region B in the plane, we use āˆ‚B to denote its boundary and use BĀÆ to denote the complement region of B in the plane. In particular, for a disk D in the plane, āˆ‚D is its bounding circle, and DĀÆ refers to the region of the plane outside D.

In what follows, we first describe the algorithm and explain why it is correct, and then discuss how to implement the algorithm efficiently.

5.1.1 Algorithm description and correctness

To motivate our algorithm and demonstrate its correctness, we first examine the optimal solution structure and develop a recursive relation on which our dynamic program is based.

Let S be a maximum-weight independent set of G⁢(P), or equivalently, S is a maximum-weight subset of P such that the minimum pairwise distance of the points of S is larger than 1. Let š’Ÿā¢š’Æā¢(S) denote the Delaunay triangulation of S. If (p,q) is the closest pair of points of S, then p⁢qĀÆ must be an edge of š’Ÿā¢š’Æā¢(S) and in fact, the shortest edge of š’Ÿā¢š’Æā¢(S)Ā [45]. As such, finding a maximum-weight independent set of G⁢(P) is equivalent to finding a maximum-weight subset SāŠ†P such that the shortest edge of š’Ÿā¢š’Æā¢(S) has length larger thanĀ 1. The algorithm inĀ [47] is based on this observation, which also inspires our algorithm.

Figure 2: Illustrating š’Ÿā¢š’Æā¢(S), the solid segments, and š’±ā¢š’Ÿā¢(S), the dotted segments.
Figure 3: Illustrating LemmaĀ 18.

Consider a triangle △⁢pi⁢pj⁢pk of š’Ÿā¢š’Æā¢(S) such that the points pi,pj,pk are in the counterclockwise order of P (i.e., ordered counterclockwise on ℋ⁢(P)). Due to the property of Delaunay triangulation, the disk D⁢(pi,pj,pk) does not contain any point of Sāˆ–{pi,pj,pk}Ā [45]. Since the points of S are in convex position, we have the following observation.

Observation 16.

š’Ÿā¢š’Æā¢(S) does not contain an edge connecting two points from any two different subsets of {P⁢(i,j),P⁢(j,k),P⁢(k,i)}; see FigureĀ 3.

ObservationĀ 16 implies the following: To find an optimal solution S, if we know that △⁢pi⁢pj⁢pk is a triangle in š’Ÿā¢š’Æā¢(S), since no point of Sāˆ–{pi,pj,pk} lies in the disk D⁢(pi,pj,pk), we can independently search P⁢(i,j)∩D⁢(pi,pj,pk)ĀÆ, P⁢(j,k)∩D⁢(pi,pj,pk)ĀÆ, and P⁢(k,i)∩D⁢(pi,pj,pk)ĀÆ, respectively. This idea forms the basis of our dynamic program.

Let Wāˆ— denote the total weight of a maximum-weight independent set of G⁢(P).

For any pair of indices (i,j) with |pi⁢pj|>1, we call (i,j) a canonical pair and define f⁢(i,j) as the total weight of a maximum-weight subset P′ of P⁢(i,j) such that Pā€²āˆŖ{pi,pj} forms an independent set of G⁢(P); if no such subset P′ exists, then f⁢(i,j)=0. Computing f⁢(i,j) is a subproblem in our dynamic program. For simplicity, we let f⁢(i,j)=āˆ’(wi+wj) if (i,j) is not canonical, i.e., |pi⁢pj|≤1. LemmaĀ 17 explains why we are interested in f⁢(i,j).

Lemma 17.

Wāˆ—=max1≤i,j≤n⁔(f⁢(i,j)+wi+wj).

By LemmaĀ 17, to compute Wāˆ—, it suffices to compute f⁢(i,j) for all pairs of indices 1≤i,j≤n and the one with the largest f⁢(i,j)+wi+wj leads to the optimal solution. To compute f⁢(i,j), we define another type of subproblems that will be used in our algorithm.

For any three points pi,pj,pk such that they are ordered counterclockwise in P and their minimum pairwise distance is larger than 1, we call (i,j,k) a canonical triple.

For a canonical triple (i,j,k), by slightly abusing the notation, we define f⁢(i,j,k) as the total weight of a maximum-weight subset P′ of P⁢(i,j)∩D⁢(pi,pj,pk)ĀÆ such that Pā€²āˆŖ{pi,pj} is an independent set; if no such subset P′ exists, then f⁢(i,j,k)=0. For any canonical pair (i,j), if we consider p0 a dummy point to the left of pi⁢pj→ and infinitely far from the supporting line of pi⁢pjĀÆ so that D⁢(pi,pj,p0) becomes the left halfplane of pi⁢pj→, then f⁢(i,j,0) following the above definition is exactly f⁢(i,j); for convenience, we also consider (i,j,0) a canonical triple. To make the discussion concise, we often use f⁢(i,j,0) instead of f⁢(i,j) since the way we compute f⁢(i,j,0) is consistent with the way we compute f⁢(i,j,k) for k≠0.

For any canonical triple (i,j,k), define Pk⁢(i,j)={p|p∈P⁢(i,j),pāˆ‰D⁢(pi,pj,pk),|p⁢pi|>1,|p⁢pj|>1}. For any canonical pair (i,j), define P0⁢(i,j)={p|p∈P⁢(i,j),|p⁢pi|>1,|p⁢pj|>1}. Note that P0⁢(i,j) is consistent with Pk⁢(i,j) if we consider p0 a dummy point as defined above. Observe also that Pk⁢(i,j)=P0⁢(i,j)∩D⁢(pi,pj,pk)ĀÆ for any canonical triple (i,j,k). By definition, f⁢(i,j,k) (including the case k=0) is the total weight of a maximum-weight independent set Pā€²āŠ†Pk⁢(i,j); this is the reason we introduce the notation Pk⁢(i,j).

The following lemma gives the recursive relation of our dynamic programming algorithm.

Lemma 18.

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

f⁢(i,j,k)={maxpl∈Pk⁢(pi,pj)⁔(f⁢(i,l,j)+f⁢(l,j,i)+wl),ifĀ Pk⁢(i,j)ā‰ āˆ…0,otherwise. (1)

With Lemma 18, it remains to find an order to solve the subproblems so that when computing f⁢(i,j,k), the values f⁢(i,l,j) and f⁢(l,j,i) for all pl∈Pk⁢(pi,pj) are available.

For any two points pi,pj∈P, we call pi⁢pj¯ a diagonal.

We process the diagonals pi⁢pjĀÆ for all 1≤i,j≤n in the following way. For each j=2,…,n in this order, we enumerate i=jāˆ’1,jāˆ’2,…,1 to process pi⁢pjĀÆ as follows. If |pi⁢pj|≤1, then we set f⁢(i,j)=āˆ’(wi+wj). Otherwise, (i,j) is a canonical pair, and we compute f⁢(i,j), i.e., f⁢(i,j,0), by EquationĀ (1); one can check that the values f⁢(i,l,j) and f⁢(l,j,i) for all pl∈P0⁢(pi,pj) have already been computed. Next, for each point pk∈P⁢(j,i) with |pi⁢pk|>1 and |pj⁢pk|>1, (i,j,k) is a canonical triple and we compute f⁢(i,j,k) by EquationĀ (1); again, the values f⁢(i,l,j) and f⁢(l,j,i) for all pl∈Pk⁢(pi,pj) have already been computed. Finally, by LemmaĀ 17, we can return the largest f⁢(i,j)+wi+wj among all canonical pairs (i,j) as Wāˆ—. The algorithm only computes the value Wāˆ—, but by the standard back-tracking technique a maximum-weight independent set can also be obtained.

5.1.2 Algorithm implementation

We can easily implement the algorithm in O⁢(n4) time. Indeed, there are O⁢(n3) subproblems f⁢(i,j,k). Each subproblem can be computed in O⁢(n) time by checking every point pl∈Pk⁢(i,j). As such, the total time is O⁢(n4). We give a better algorithm below.

Specifically, we show that for each canonical pair (i,j) we can compute the subproblems f⁢(i,j,k) for all pk∈P⁢(j,i) in a total of O⁢(n3/2) time. To this end, we reduce the problem to an offline outside-disk range max-cost query problem. For each point pl∈Pk⁢(i,j), we define the cost of pl as c⁢o⁢s⁢t⁢(pl)=f⁢(i,l,j)+f⁢(l,j,i)+wl. Recall that P0⁢(i,j)={p|p∈P⁢(i,j),|p⁢pi|>1,|p⁢pj|>1} and Pk⁢(i,j)=P0⁢(i,j)∩D⁢(pi,pj,pk)¯. As such, computing f⁢(i,j,k) is equivalent to finding the maximum-cost point of P0⁢(i,j) outside the query disk D⁢(pi,pj,pk). Our goal is to answer all such disk queries for all pk∈P⁢(j,i). We note that this problem can be solved in O⁢(n15/11) expected time by applying the recent randomized algorithm of Agarwal, Ezra, and Sharir [1]. In the full version, we present a deterministic algorithm of O⁢(n3/2) time by using cuttings [14]. We thus have the following result.

Theorem 19.

Given a set P of n weighted points in convex position in the plane, a maximum-weight independent set in the unit-disk graph of P can be computed in O⁢(n7/2) deterministic time, or in O⁢(n37/11) randomized expected time.

Using the randomized result of [1], the problem can be solved in O⁢(n37/11) expected time.

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

Corollary 20.

Given a set P of n points in convex position in the plane and a number r>0, one can find in O⁢(n7/2) deterministic time or in O⁢(n37/11) randomized expected time a maximum subset of P such that the distance of every two points of the subset is larger than r.

5.2 Computing an independent set of size šŸ‘

To facilitate the discussion in SectionĀ 6 for the dispersion problem, we consider the following problem: Given a set P of n points in convex position and a number r>0, find three points from P whose minimum pairwise distance is larger than or equal to r.

We follow the notation in SectionĀ 2. In particular, P=⟨p1,p2,…,pn⟩ is a cyclic list ordered along ℋ⁢(P) counterclockwise. In the following definition, for each point pi∈P, we define ai similarly to aii in DefinitionĀ 5 with respect to r (i.e., change ā€œ>1ā€ to ā€œā‰„rā€).

Definition 21.

For each point pi∈P, define ai as the index of the first point p of P counterclockwise from pi such that |pi⁢p|≄r; similarly, define bi∈P as the index of the first point p clockwise from P such that |pi⁢p|≄r. If |pi⁢p|<r for all points p∈P, then let ai=bi=0.

We will make use of the following lemma, which has been proved previously in [35].

Lemma 22 (​​[35]).

P has three points whose minimum pairwise distance is at least r if and only if there exists a point pi∈P such that P⁢[ai,bi] has two points whose distance is at least r.

If pi is a point of P such that P⁢[ai,bi] has two points whose distance is at least r, we say that pi is a feasible point. By Lemma 22, it suffices to find a feasible point (if it exists). Our algorithm comprises two procedures. In the first procedure, we compute ai and bi for all points pi∈P. This can be done in O⁢(n⁢log⁔n) time by slightly changing the algorithm of Lemma 7. The second procedure finds a feasible point. In the following, we present an O⁢(n⁢log⁔n) time algorithm. We start with the following easy but crucial observation.

Observation 23.

A point pi∈P is a feasible point if and only if there is a point pk∈P⁢[ai,bi] such that pak is also in P⁢[ai,bi] and (pi,pk,pak) is in counterclockwise order in P.

For each point pi∈P, note that ai≠i must hold; we define ai′={ai,ifĀ i<aiai+n,otherwise. By definition, i<ai′ always holds and ai′=ai if ai′≤n. Note that if ai=bi, then P⁢[ai,bi] has only one point, and therefore pi cannot be a feasible point. As such, we only need to focus on the points pi with ai≠bi. Our algorithm is based on the following lemma, which in turn relies on ObservationĀ 23.

Lemma 24.

For each pi∈P, we have the following.

  1. 1.

    If ai<bi, then pi is a feasible point if and only if mink∈[ai,bi]⁔ak′≤bi.

  2. 2.

    If ai>bi, then pi is a feasible point if and only if mink∈[ai,n]⁔ak′≤bi+n or mink∈[1,bi]⁔ak′≤bi.

Define an array A⁢[1⁢⋯⁢n] such that A⁢[k]=ak′ for each 1≤k≤n. In light of LemmaĀ 24, for each point pi∈P, we can determine whether pi is a feasible point using at most two range-minima queries of the following type: Given a range [i,j] with i≤j, find the minimum number in the subarray A⁢[i⁢⋯⁢j]. It is possible to answer each range-minima query in O⁢(1) time after O⁢(n) time preprocessing on AĀ [7, 28]. For our problem, since it suffices to have O⁢(log⁔n) query time and O⁢(n⁢log⁔n) preprocessing time, we can use a simple solution by constructing an augmented binary search tree. As such, in O⁢(n⁢log⁔n) time we can find a feasible point or report that no such point exists.

In summary, in O⁢(n⁢log⁔n) time we can determine whether P has three points whose minimum pairwise distance is at least r. If the answer is yes, then these three points can also be found within the same time complexity according to the proofs of Lemmas 22 and 24. We conclude with the following theorem.

Theorem 25.

Given a set P of n points in convex position in the plane and a number r, in O⁢(n⁢log⁔n) time one can find three points of P whose minimum pairwise distance is at least r or report that no such three points exist.

6 The dispersion problem

Given a set P of n points in convex position in the plane and a number k, the dispersion problem is to find a subset of k points from P so that the minimum pairwise distance of the points of the subset is maximized.

Let rāˆ— be the minimum pairwise distance of the points in an optimal solution subset. The value rāˆ—āˆˆR, where R is the set of pairwise distances of the points of P. Given a value r, the decision problem is to determine whether r<rāˆ—, or equivalently, whether P has a subset of k points whose minimum pairwise distance is larger than r. By CorollaryĀ 20, the decision problem can be solved in O⁢(n7/2) time. Using the decision algorithm and doing binary search on the sorted list of R, rāˆ— can be computed in O⁢(n7/2⁢log⁔n) time.

Theorem 26.

Given a set of n points in convex position in the plane and a number k, one can find a subset of k points whose minimum pairwise distance is maximized in O⁢(n7/2⁢log⁔n) deterministic time, or in O⁢(n37/11⁢log⁔n) randomized expected time.

The size-šŸ‘ case.

We now consider the case where k=3. Given a number r, the decision problem is to determine whether r≤rāˆ—, that is, whether P has three points whose minimum pairwise distance is at least r. With TheoremĀ 25 as our decision algorithm, the decision problem is solvable in O⁢(n⁢log⁔n) time. To compute rāˆ—, we follow the standard parametric search frameworkĀ [39] and simulate the decision algorithm on the unknown optimal value rāˆ— with an interval [r1,r2) that contains rāˆ—. In fact, Cole’s techniqueĀ [20] can be applied here. In addition, we observe that Chan’s randomized techniqueĀ [11] is applicable here. Consequently, applying the technique with our O⁢(n⁢log⁔n) time decision algorithm leads to a randomized algorithm of O⁢(n⁢log⁔n) expected time for the problem.

Theorem 27.

Given a set of n points in convex position in the plane, one can find three points whose minimum pairwise distance is maximized in O⁢(n⁢log2⁔n) deterministic time or in O⁢(n⁢log⁔n) randomized expected time.

7 The size-šŸ‘ weighted independent set for points in arbitrary position

Given a set P of n weighted points in the plane in arbitrary position, the problem is to find a maximum-weight independent set of size 3 in G⁢(P). As the size of our target independent set is fixed, we allow points to have negative weights.

Define G⁢(P)¯ as the complement graph of G⁢(P). The problem is equivalent to finding a maximum-weight clique of size 3 in G⁢(P)¯. We want to partition G⁢(P)¯ into bicliques, i.e., complete bipartite graphs. We give the formal definition below.

Definition 28 (Biclique partition).

Define a biclique partition of G⁢(P)ĀÆ as a collection of edge-disjoint bicliques Γ⁢(P)={AtƗBt|At,BtāŠ†P} such that the following are satisfied:

  1. 1.

    For each pair (a,b)∈AtƗBtāˆˆĪ“, |a⁢b|>1.

  2. 2.

    For any points a,b∈P with |a⁢b|>1, Ī“ has a unique biclique AtƗBt that contains (a,b).

In our problem, we need a stronger version of the partition, called a tree-structured biclique partition, and LemmaĀ 30 explains why we introduce the concept.

Definition 29 (Tree-structured biclique partition).

A biclique partition Γ⁢(P)={AtƗBt|At,BtāŠ†P} is tree-structured if all the subsets At’s form a tree š’ÆA such that for each internal node At, all its children subsets form a partition of At.

Lemma 30.

Let Γ⁢(P)={AtƗBt|At,BtāŠ†P} be a tree-structured biclique partition of G⁢(P)ĀÆ and š’ÆA is the tree formed by the subsets At’s. Then, the triple a,b,c∈P forms an independent set in G⁢(P) if and only if Γ⁢(P) has a biclique (At,Bt) that contains a pair (a,b), and At has an ancestor subset At′ in š’ÆA such that c∈Bt′ and |b⁢c|>1.

With this, we obtain the following result; see the full version for the details.

Theorem 31.

Given a set P of n weighted points in the plane, one can find a maximum-weight (or minimum-weight) independent set (or clique) of size 3 in the unit-disk graph G⁢(P) in O⁢(n5/3+Γ) time, for any arbitrarily small constant Γ>0.

References

  • [1] PankajĀ K. Agarwal, Esther Ezra, and Micha Sharir. Semi-algebraic off-line range searching and biclique partitions in the plane. In Proceedings of the 40th International Symposium on Computational Geometry (SoCG), pages 4:1–4:15, 2024. doi:10.4230/LIPIcs.SoCG.2024.4.
  • [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, Micha Sharir, and Emo Welzl. The discrete 2-center problem. Discrete and Computational Geometry, 20:287–305, 1998. doi:10.1007/PL00009387.
  • [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] Tetsuya Araki and Shin-ichi Nakano. Max–min dispersion on a line. Journal of Combinatorial Optimization, 44(3):1824–1830, 2022. doi:10.1007/s10878-020-00549-5.
  • [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:doi:10.1239/aap/1113402397.
  • [7] MichaelĀ A. Bender and MartĆ­n Farach-Colton. The LCA problem revisited. In Proceedings of the 4th Latin American Symposium on Theoretical Informatics, pages 88–94, 2000. doi:10.1007/10719839_9.
  • [8] Sergei Bespamyatnikh and DavidĀ G. Kirkpatrick. Rectilinear 2-center problems. In Proceedings of the 11th Canadian Conference on Computational Geometry (CCCG), 1999. URL: http://www.cccg.ca/proceedings/1999/fp55.pdf.
  • [9] Sergei Bespamyatnikh and Michael Segal. Rectilinear static and dynamic discrete 2-center problems. In Proceedings of the 6th Workshop on Algorithms and Data Structures (WADS), pages 276–287, 1999. doi:10.1007/3-540-48447-7_28.
  • [10] Binay Bhattacharya, Ante Ćustić, Sandip Das, Yuya Higashikawa, Tsunehiko Kameda, and Naoki Katoh. Geometric p-center problems with centers constrained to two lines. In Proceedings of the 18th Japan Conference on Discrete and Computational Geometry, Graphs, and Games (JCDCGG), pages 24–36, 2015. doi:10.1007/978-3-319-48532-4_3.
  • [11] TimothyĀ M. Chan. Geometric applications of a randomized optimization technique. Discrete and Computational Geometry, 22(4):547–567, 1999. doi:10.1007/PL00009478.
  • [12] TimothyĀ M. Chan. More planar two-center algorithms. Computational Geometry: Theory and Applications, 13:189–198, 1999. doi:10.1016/S0925-7721(99)00019-X.
  • [13] TimothyĀ M. Chan, Qizheng He, and Yuancheng Yu. On the fine-grained complexity of small-size geometric set cover and discrete k-center for small k. In Proceedings of th 50th International Colloquium on Automata, Languages, and Programming (ICALP), pages 34:1–34:19, 2023. doi:10.4230/LIPIcs.ICALP.2023.34.
  • [14] Bernard Chazelle. Cutting hyperplanes for divide-and-conquer. Discrete and Computational Geometry, 9(2):145–158, 1993. doi:10.1007/BF02189314.
  • [15] 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.
  • [16] DannyĀ Z. Chen, Jian Li, and Haitao Wang. Efficient algorithms for the one-dimensional k-center problem. Theoretical Computer Science, 592:135–142, 2015. doi:10.1016/j.tcs.2015.05.028.
  • [17] Kyungjin Cho, Eunjin Oh, Haitao Wang, and Jie Xue. Optimal algorithm for the planar two-center problem. In Proceedings of the 40th International Symposium on Computational Geometry (SoCG), pages 40:1–40:15, 2024. doi:10.4230/LIPIcs.SoCG.2024.40.
  • [18] 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.
  • [19] 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.
  • [20] Richard Cole. Slowing down sorting networks to obtain faster sorting algorithms. Journal of the ACM, 34:200–208, 1987. doi:10.1145/7531.7537.
  • [21] 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.
  • [22] 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.
  • [23] Minati De and Abhiruk Lahiri. Geometric dominating-set and set-cover via local-search. Computational Geometry, 113(C):102007, 2023. doi:10.1016/j.comgeo.2023.102007.
  • [24] David Eppstein. Faster construction of planar two-centers. In Proceedings of the 8th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 131–138, 1997. URL: http://dl.acm.org/citation.cfm?id=314161.314198.
  • [25] David Eppstein. Graph-theoretic solutions to computational geometry problems. In 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.
  • [26] Jared Espenant, J.Ā Mark Keil, and Debajyoti Mondal. Finding a maximum clique in a disk graph. In Proceedings of the 39th International Symposium on Computational Geometry (SoCG), pages 30:1–30:17, 2023. doi:10.4230/LIPIcs.SoCG.2023.30.
  • [27] Matt Gibson and ImranĀ A. Pirwani. Algorithms for dominating set in disk graphs: Breaking the log⁔n barrier. In Proceedings of the 18th Annual European Symposium on Algorithms (ESA), pages 243–254, 2010. doi:10.1007/978-3-642-15775-2_21.
  • [28] Dov Harel and RobertĀ E. Tarjan. Fast algorithms for finding nearest common ancestors. SIAM Journal on Computing, 13:338–355, 1984. doi:10.1137/0213024.
  • [29] Wen-Lian Hsu and GeorgeĀ L. Nemhauser. Easy and hard bottleneck location problems. Discrete Applied Mathematics, 1(3):209–215, 1979. doi:10.1016/0166-218X(79)90044-1.
  • [30] Haim Kaplan, Katharina Klost, Wolfgang Mulzer, Liam Roditty, Paul Seiferth, and Micha Sharir. Triangles and girth in disk graphs and transmission graphs. In Proceedings of the 27th Annual European Symposium on Algorithms (ESA), pages 64:1–64:14, 2019. doi:10.4230/LIPIcs.ESA.2019.64.
  • [31] RichardĀ M. Karp. Reducibility among combinatorial problems. Complexity of Computer Computations, pages 85–103, 1972. doi:10.1007/978-3-540-68279-0_8.
  • [32] MatthewĀ J. Katz, Klara Kedem, and Michael Segal. Discrete rectilinear 2-center problems. Computational Geometry, 15(4):203–214, 2000. doi:10.1016/S0925-7721(99)00052-8.
  • [33] MatthewĀ J. Katz and Micha Sharir. An expander-based approach to geometric optimization. SIAM Journal on Computing, 26(5):1384–1408, 1997. doi:10.1137/S0097539794268649.
  • [34] J.Ā Mark Keil and Debajyoti Mondal. The maximum clique problem in a disk graph made easy. arXiv:2404.03751, 2024. URL: https://arxiv.org/abs/2404.03751, doi:10.48550/arXiv.2404.03751.
  • [35] Yasuaki Kobayashi, Shin-ichi Nakano, Kei Uchizawa, Takeaki Uno, Yutaro Yamaguchi, and Katsuhisa Yamanaka. An O⁢(n2)-time algorithm for computing a max-min 3-dispersion on a point set in convex position. IEICE Transactions on Information and Systems, 105(3):503–507, 2022. doi:10.1587/transinf.2021FCP0013.
  • [36] 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 (SoSG), pages 72–79, 1986. doi:10.1145/10515.10523.
  • [37] 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.
  • [38] 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.
  • [39] Nimrod Megiddo. Applying parallel computation algorithms in the design of serial algorithms. Journal of the ACM, 30(4):852–865, 1983. doi:10.1145/2157.322410.
  • [40] Nimrod Megiddo. Linear-time algorithms for linear programming in R3 and related problems. SIAM Journal on Computing, 12(4):759–776, 1983. doi:10.1137/0212052.
  • [41] NabilĀ H. Mustafa and Saurabh Ray. Improved results on geometric hitting set problems. Discrete and Computational Geometry, 44:883–895, 2010. doi:10.1007/s00454-010-9285-9.
  • [42] 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.
  • [43] 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.
  • [44] 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), volume 447, pages 201–212, 1990. doi:10.1007/3-540-52846-6_90.
  • [45] MichaelĀ I. Shamos and Dan Hoey. Closest-point problems. In Proceedings of the 16th Annual Symposium on Foundations of Computer Science (FOCS), pages 151–162, 1975. doi:10.1109/SFCS.1975.8.
  • [46] Micha Sharir. A near-linear algorithm for the planar 2-center problem. Discrete and Computational Geometry, 18:125–134, 1997. doi:10.1007/PL00009311.
  • [47] 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.
  • [48] Kuo-Hui Tsai and Da-Wei Wang. Optimal algorithms for circle partitioning. In Proceedings of the Third Annual International Computing and Combinatorics Conference (COCOON), pages 304–310, 1997. doi:10.1007/BFb0045097.
  • [49] VijayĀ V. Vazirani. Approximation Algorithms. Springer, Berlin Heidelberg, 1st edition, 2001.
  • [50] 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.
  • [51] Haitao Wang. On the planar two-center problem and circular hulls. Discrete and Computational Geometry, 68:1175–1226, 2022. doi:10.1007/S00454-021-00358-5.
  • [52] Haitao Wang. Unit-disk range searching and applications. Journal of Computational Geometry, 14(1):343–394, 2023. doi:10.20382/jocg.v14i1a13.
  • [53] Haitao Wang and Jingru Zhang. Line-constrained k-median, k-means, and k-center problems in the plane. International Journal of Computational Geometry and Application, 26(3):185–210, 2016. doi:10.1142/S0218195916600049.
  • [54] Haitao Wang and Yiming Zhao. Improved algorithms for distance selection and related problems. In Proceedings of the 31st Annual European Symposium on Algorithms (ESA), pages 101:1–101:14, 2023. doi:10.4230/LIPIcs.ESA.2023.101.
  • [55] Frank Ɓngel HernĆ”ndezĀ Mira, ErnestoĀ Parra Inza, JosĆ© MarĆ­aĀ Sigarreta Almira, and Nodari Vakhania. A polynomial-time approximation to a minimum dominating set in a graph. Theoretical Computer Science, 930:142–156, 2022. doi:10.1016/j.tcs.2022.07.020.