Beta skeleton

In computational geometry and geometric graph theory, a β-skeleton or beta skeleton is an undirected graph defined from a set of points in the Euclidean plane. Two points p and q are connected by an edge whenever all the angles prq are sharper than a threshold determined from the numerical parameter β.

Circle-based definition
Let β be a positive real number, and calculate an angle θ using the formulas


 * $$\theta = \begin{cases} \sin^{-1} \frac{1}{\beta}, & \text{if }\beta \ge 1 \\ \pi - \sin^{-1}{\beta}, & \text{if }\beta\le 1\end{cases}$$

For any two points p and q in the plane, let Rpq be the set of points for which angle prq is greater than θ. Then Rpq takes the form of a union of two open disks with diameter βd(p,q) for β ≥ 1 and θ ≤ π/2, and it takes the form of the intersection of two open disks with diameter d(p,q)/β for β ≤ 1 and θ ≥ π/2. When β = 1 the two formulas give the same value θ = π/2, and Rpq takes the form of a single open disk with pq as its diameter.

The β-skeleton of a discrete set S of points in the plane is the undirected graph that connects two points p and q with an edge pq whenever Rpq contains no points of S. That is, the β-skeleton is the empty region graph defined by the regions Rpq. When S contains a point r for which angle prq is greater than θ, then pq is not an edge of the β-skeleton; the β-skeleton consists of those pairs pq for which no such point r exists.

Lune-based definition
Some authors use an alternative definition in which the empty regions Rpq for β > 1 are not unions of two disks but rather lenses (more often called in this context "lunes"), intersections of two congruent disks with diameter βd(pq), such that line segment pq lies on a radius of both disks and such that the points p and q both lie on the boundary of the intersection. As with the circle-based β-skeleton, the lune-based β-skeleton has an edge pq whenever region Rpq is empty of other input points. For this alternative definition, the relative neighborhood graph is a special case of a β-skeleton with β = 2. The two definitions coincide for β ≤ 1, and for larger values of β the circle-based skeleton is a subgraph of the lune-based skeleton.

One important difference between the circle-based and lune-based β-skeletons is that, for any point set that does not lie on a single line, there always exists a sufficiently large value of β such that the circle-based β-skeleton is the empty graph. In contrast, if a pair of points p and q has the property that, for all other points r, one of the two angles pqr and qpr is obtuse, then the lune-based β-skeleton will contain edge pq no matter how large β is.

History
β-skeletons were first defined by as a scale-invariant variation of the alpha shapes of. The name, "β-skeleton", reflects the fact that in some sense the β-skeleton describes the shape of a set of points in the same way that a topological skeleton describes the shape of a two-dimensional region. Several generalizations of the β-skeleton to graphs defined by other empty regions have also been considered.

Properties
If β varies continuously from 0 to ∞, the circle-based β-skeletons form a sequence of graphs extending from the complete graph to the empty graph. The special case β = 1 leads to the Gabriel graph, which is known to contain the Euclidean minimum spanning tree; therefore, the β-skeleton also contains the Gabriel graph and the minimum spanning tree whenever β ≤ 1.

For any constant β, a fractal construction resembling a flattened version of the Koch snowflake can be used to define a sequence of point sets whose β-skeletons are paths of arbitrarily large length within a unit square. Therefore, unlike the closely related Delaunay triangulation, β-skeletons have unbounded stretch factor and are not geometric spanners.

Algorithms
A naïve algorithm that tests each triple p, q, and r for membership of r in the region Rpq can construct the β-skeleton of any set of n points in time O(n3).

When β ≥ 1, the β-skeleton (with either definition) is a subgraph of the Gabriel graph, which is a subgraph of the Delaunay triangulation. If pq is an edge of the Delaunay triangulation that is not an edge of the β-skeleton, then a point r that forms a large angle prq can be found as one of the at most two points forming a triangle with p and q in the Delaunay triangulation. Therefore, for these values of β, the circle-based β-skeleton for a set of n points can be constructed in time O(n log n) by computing the Delaunay triangulation and using this test to filter its edges.

For β < 1, a different algorithm of allows the construction of the β-skeleton in time O(n2). No better worst-case time bound is possible because, for any fixed value of β smaller than one, there exist point sets in general position (small perturbations of a regular polygon) for which the β-skeleton is a dense graph with a quadratic number of edges. In the same quadratic time bound, the entire β-spectrum (the sequence of circle-based β-skeletons formed by varying β) may also be calculated.

Applications
The circle-based β-skeleton may be used in image analysis to reconstruct the shape of a two-dimensional object, given a set of sample points on the boundary of the object (a computational form of the connect the dots puzzle where the sequence in which the dots are to be connected must be deduced by an algorithm rather than being given as part of the puzzle). Although, in general, this requires a choice of the value of the parameter β, it is possible to prove that the choice β = 1.7 will correctly reconstruct the entire boundary of any smooth surface, and not generate any edges that do not belong to the boundary, as long as the samples are generated sufficiently densely relative to the local curvature of the surface. However in experimental testing a lower value, β = 1.2, was more effective for reconstructing street maps from sets of points marking the center lines of streets in a geographic information system. For generalizations of the β-skeleton technique to reconstruction of surfaces in three dimensions, see.

Circle-based β-skeletons have been used to find subgraphs of the minimum weight triangulation of a point set: for sufficiently large values of β, every β-skeleton edge can be guaranteed to belong to the minimum weight triangulation. If the edges found in this way form a connected graph on all of the input points, then the remaining minimum weight triangulation edges may be found in polynomial time by dynamic programming. However, in general the minimum weight triangulation problem is NP-hard, and the subset of its edges found in this way may not be connected.

β-skeletons have also been applied in machine learning to solve geometric classification problems and in wireless ad hoc networks as a mechanism for controlling communication complexity by choosing a subset of the pairs of wireless stations that can communicate with each other.