Elsevier

Pattern Recognition

Volume 34, Issue 11, November 2001, Pages 2163-2172
Pattern Recognition

Fast algorithms for computing β-skeletons and their relatives

https://doi.org/10.1016/S0031-3203(00)00144-8Get rights and content

Abstract

In this paper we present fast algorithms for computing β-skeletons (Kirkpatrick and Radke, in: Toussaint (Ed.), Computational Geometry, North-Holland, Amsterdam, 1985, pp. 217–248) and two of its relatives, namely, -skeletons, and additively weighted β-skeletons. A β-skeleton is a generalization of the Relative Neighborhood Graph, introduced by Toussaint (Toussaint, Pattern Recognition 12 (1980) 261–268). Our algorithms are in O(n3/2logn) for β⩾1 and in O(n5/2logn) for β∈[0,1) under the metric Lp for 1<p<∞. In the L1 and L metrics our algorithms are in O(n5/2logn). Given the Delaunay triangulation, the linear time algorithms known todate for computing β-skeleton are restricted to the range 1⩽β⩽2 under the metric Lp for 1<p<∞, provided β=2 or p=2.

Introduction

In a seminal paper, Toussaint introduced the concept of a neighborhood graph called the relative neighborhood graph (RNG), and argued its utility in extracting a “perceptually meaningful structure” from a given set of points in the plane [1]. Ever since there has been a growing body of research articles on neighborhood graphs and their applications [2], [3], [4], [5], [6], [7], [8], [9], [10]. For an extensive survey of the RNG and its relatives see Ref. [10].

In this paper, we focus on a generalization by Kirkpatrick and Radke who defined a spectrum of neighborhood graphs called β-skeleton, parameterized by β [11].

Let P={p1,p2,…,pn} be a set of n points in the plane. The β-skeleton [11] of P is a geometric graph (P,E) such that for every pi,pjP, the edge pipj∈E if and only if the β-lune, luneβ(pi,pj), is empty. The region luneβ(pi,pj) is defined as follows: for β⩾1, it is the interior of the intersection of two circles of radius β|pipj|/2, centered at the points (1−β/2)pi+(β/2)pj and (β/2)pi+(1−β/2)pj, respectively. For β∈[0,1], it is the interior of the intersection of two circles of radius |pipj|/(2β), passing through pi and pj.

The β-skeleton, for β⩾1, is known to be a subgraph of the Delaunay triangulation of P. Lingas [6], Jaromczyk et al. [7] have used this fact to obtain a linear time algorithm for constructing a β-skeleton in the range 1⩽β⩽2 under the distance-metric Lp (1<p<∞), provided β=2 or p=2.

Recently, Rao and Mukhopadhyay [12] presented an O(nlogn+K) time output-sensitive algorithm for computing β-skeleton for any β⩾2 under the metric L1 and L, where K is size of the output graph.

In this paper, we present a sweepline algorithm for constructing a β-skeleton for any β⩾0. The time complexity of our algorithm is in O(n3/2logn) for β⩾1 and in O(n5/2logn) for β∈[0,1) under the metric Lp for 1<p<∞. In the metrics L1 and L our algorithm takes O(n5/2logn) time for any β⩾0.

The above algorithms are based on an efficient solution of the following n-circle problem:

Given a set C of n circles and a set P of n points, report all the circles in C that are empty.

The concept of a β-skeleton have natural generalizations to that of a -skeleton and to additively weighted β-skeleton. We show that the above method can be extended to construct these geometric graphs too.

This paper is organized as follows. In the next section, we present an efficient algorithm for the n-circle problem. In the third section we show how this can be used to compute a β-skeleton for any β⩾0. In the following section, we define the notions of a -skeleton and additively weighted β-skeleton. Algorithms for computing these are presented in 4 , 5 Weighted neighborhood graphs, respectively. We discuss some applications in the sixth section. We conclude in the seventh and final section, providing some pointers to further research.

Section snippets

Preliminaries

One way of solving the n-circle problem is to find, for each circle, a point of P nearest to its centre. This naturally suggests that we compute the Voronoi diagram of P and locate the centre of the circle in a Voronoi polygon. If the site corresponding to this polygon is outside the circle, it is empty; otherwise not. The time complexity of this algorithm is in O(nlogn). The difficulty of applying this solution to our problem is that a lune lacks the central symmetry of a circle.

Another

β-Skeleton

It is well-known that the Delaunay triangulation (DT) [14], is a super-graph of a β-skeleton for β⩾1. Therefore, to compute the β-skeleton, for some β⩾1, we construct DT(P) and prune the edges whose β-lunes are not empty. The Delaunay triangulation can be constructed by any standard algorithm in O(nlogn) time. What remains is to find a way to prune the non-empty lunes.

It is easy to extend the solution to the n-circle problem, if circles are replaced by lunes. This was also observed by Su and

-Skeleton

We can generalize the notion of a β-skeleton by relaxing the emptiness criterion and allow the interior of a lune to contain up to k−1 points; we get what is called a -skeleton. The geometric graphs that we get for different values of β⩾1 are all subgraphs of what is called the k-Delaunay graph [16].

The k-Delaunay graph is a generalization of the Delaunay triangulation on n points. The triangulation in this case can be characterized this way: a triangle belongs to the k-Delaunay graph if its

Weighted neighborhood graphs

In this section, we discuss various additively weighted neighborhood graphs. We assign a positive weight wi to each point piP. The weight wi expresses the power of the point pi in the sense that each weighted point pi can be treated as a circle Bi, centered at pi, with radius equal to the weight wi. Thus the weighted distance dw(pi,x), between a point piP and an arbitrary point x, is d(pi,x)−wi if x is outside Bi, and zero otherwise. The weighted distance dw(pi,pj), between any two points pi,p

Applications

An interesting application of the k-RNG has been made to the Euclidean bottleneck matching problem by Chang et al. [17]. In this problem a matching has to be found among n points in the Euclidean plane that minimizes the longest edge. The results of this paper on computing the k-RNG gives an immediate improvement of this result to O(n3/2logn).

Mirzaian [18] made a very interesting application of the weighted RNG to the problem of Minimum Weight Euclidean Matching. In this problem we are given 2n

Conclusion

In this paper, we have presented an efficient sweepline algorithm for the n-circle problem, and used this to compute β-skeleton, -skeleton, and weighted β-skeleton under the metric Lp for 1<p<∞. In the metrics L1 and L, the size of these geometric graphs are in O(n2) for any β. We can compute these graphs in O(n5/2logn) time by starting with the complete graph and pruning the non-empty lunes, following the technique of this paper.

The algorithms presented in this chapter are not optimal. It

About the Author—S.V. RAO received a Bachelors degree in Computer Science and Engineering from Andhra University, Visakhapatnam, India in 1990, a Masters and a Ph.D. degrees in Computer Science and Engineering from Indian Institute of Technology, Kanpur, India, respectively in 1993 and 1999. Presently, he is an Assistant Professor in the Department of Computer Science and Engineering, Indian Institute of Technology, Guwahati, India. His research interests includes Computational Geometry and

References (18)

There are more references available in the full text version of this article.

Cited by (2)

About the Author—S.V. RAO received a Bachelors degree in Computer Science and Engineering from Andhra University, Visakhapatnam, India in 1990, a Masters and a Ph.D. degrees in Computer Science and Engineering from Indian Institute of Technology, Kanpur, India, respectively in 1993 and 1999. Presently, he is an Assistant Professor in the Department of Computer Science and Engineering, Indian Institute of Technology, Guwahati, India. His research interests includes Computational Geometry and Applications: Geographical Information Systems, Image processing, and Pattern Recognition.

About the Author—ASHISH MUKHOPADHYAY received a Masters degree in Applied Mathematics from Calcutta University in 1975 and a Ph.D. from the Indian Institute of Science in 1984. Currently, he is a faculty member in the School of Computer Science, University of Windsor, Canada. His research interests include Computational Geometry, Algorithms and Discrete Mathematics.

1

On leave from IIT Kanpur, India.

View full text