Geometric spanner

A geometric spanner or a $t$-spanner graph or a $t$-spanner was initially introduced as a weighted graph over a set of points as its vertices for which there is a $t$-path between any pair of vertices for a fixed parameter $t$. A $t$-path is defined as a path through the graph with weight at most $t$ times the spatial distance between its endpoints. The parameter $t$ is called the stretch factor or dilation factor of the spanner.

In computational geometry, the concept was first discussed by L.P. Chew in 1986, although the term "spanner" was not used in the original paper.

The notion of graph spanners has been known in graph theory: $t$-spanners are spanning subgraphs of graphs with similar dilation property, where distances between graph vertices are defined in graph-theoretical terms. Therefore geometric spanners are graph spanners of complete graphs embedded in the plane with edge weights equal to the distances between the embedded vertices in the corresponding metric.

Spanners may be used in computational geometry for solving some proximity problems. They have also found applications in other areas, such as in motion planning, telecommunication networks, network reliability, optimization of roaming in mobile networks, etc.

Different spanners and quality measures
There are different measures which can be used to analyze the quality of a spanner. The most common measures are edge count, total weight and maximum vertex degree. Asymptotically optimal values for these measures are $$O(n)$$ edges, $$O(MST)$$ weight and $$O(1)$$ maximum degree (here MST denotes the weight of the minimum spanning tree).

Finding a spanner in the Euclidean plane with minimal dilation over n points with at most m edges is known to be NP-hard.

Many spanner algorithms exist which excel in different quality measures. Fast algorithms include the WSPD spanner and the Theta graph which both construct spanners with a linear number of edges in $$O(n \log n)$$ time. If better weight and vertex degree is required the Greedy spanner can be computed in near quadratic time.

The Theta graph
The Theta graph or $$\Theta$$-graph belongs to the family of cone-based spanners. The basic method of construction involves partitioning the space around each vertex into a set of cones, which themselves partition the remaining vertices of the graph. Like Yao Graphs, a $$\Theta$$-graph contains at most one edge per cone; where they differ is how that edge is selected. Whereas Yao Graphs will select the nearest vertex according to the metric space of the graph, the $$\Theta$$-graph defines a fixed ray contained within each cone (conventionally the bisector of the cone) and selects the nearest neighbour with respect to orthogonal projections to that ray.

The greedy spanner
The greedy spanner or greedy graph is defined as the graph resulting from repeatedly adding an edge between the closest pair of points without a t-path. Algorithms which compute this graph are referred to as greedy spanner algorithms. From the construction it trivially follows that the greedy graph is a t-spanner.

The greedy spanner was first described in the PhD thesis of Gautam Das and conference paper and subsequent journal paper by Ingo Althöfer et al. These sources also credited Marshall Bern (unpublished) with the independent discovery of the same construction.

The greedy spanner achieves asymptotically optimal edge count, total weight and maximum vertex degree and also performs best on these measures in practice. It can be constructed in $$O(n^2 \log n)$$ time using $$O(n^2)$$ space.

The Delaunay triangulation
Chew's main result was that for a set of points in the plane there is a triangulation of this pointset such that for any two points there is a path along the edges of the triangulation with length at most $$\sqrt{10}$$ the Euclidean distance between the two points. The result was applied in motion planning for finding reasonable approximations of shortest paths among obstacles.

The best upper bound known for the Euclidean Delaunay triangulation is that it is a $$1.998$$-spanner for its vertices. The lower bound has been increased from $${{\pi}/2}$$ to just over that, to 1.5846 .

Well-separated pair decomposition
A spanner may be constructed from a well-separated pair decomposition in the following way. Construct the graph with the point set $$S$$ as vertex set and for each pair $$\{A, B\}$$ in a WSPD, add an edge from an arbitrary point $$a \in A$$ to an arbitrary point $$b \in B$$. Note that the resulting graph has a linear number of edges because a WSPD has a linear number of pairs.

It is possible to obtain an arbitrary value for $$t$$ by choosing the separation parameter of the well-separated pair decomposition accordingly.