Английская Википедия:Greedy geometric spanner

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Файл:Greedy geometric spanner 2.svg
Greedy geometric spanner of 100 random points with stretch factor Шаблон:Mvar = 2
Файл:Greedy geometric spanner 1.1.svg
Greedy geometric spanner of the same points with stretch factor Шаблон:Mvar = 1.1

In computational geometry, a greedy geometric spanner is an undirected graph whose distances approximate the Euclidean distances among a finite set of points in a Euclidean space. The vertices of the graph represent these points. The edges of the spanner are selected by a greedy algorithm that includes an edge whenever its two endpoints are not connected by a short path of shorter edges. The greedy spanner was first described in the PhD thesis of Gautam DasШаблон:R and conference paperШаблон:R and subsequent journal paper by Ingo Althöfer et al.Шаблон:R These sources also credited Marshall Bern (unpublished) with the independent discovery of the same construction.

Greedy geometric spanners have bounded degree, a linear total number of edges, and total weight close to that of the Euclidean minimum spanning tree. Although known construction methods for them are slow, fast approximation algorithms with similar properties are known.Шаблон:R

Construction

The greedy geometric spanner is determined from an input consisting a set of points and a parameter <math>t\ge 1</math>. The goal is to construct a graph whose shortest path distances are at most <math>t</math> times the geometric distances between pairs of points. It may be constructed by a greedy algorithm that adds edges one at a time to the graph, starting from an edgeless graph with the points as its vertices. All pairs of points are considered, in sorted (ascending) order by their distances, starting with the closest pair. For each pair <math>(u,v)</math> of points, the algorithm tests whether the graph constructed so far already contains a path from <math>u</math> to <math>v</math> with length at most <math>t\cdot d(u,v)</math>. If not, the edge <math>uv</math> with length <math>d(u,v)</math> is added to the graph. By construction, the resulting graph is a geometric spanner with stretch factor at most <math>t</math>.Шаблон:R

A naive implementation of this method would take time <math>O(n^3\log n)</math> on inputs with <math>n</math> points. This is because the considerations for each of the <math>O(n^2)</math> pairs of points involve an instance of Dijkstra's algorithm to find a shortest path in a graph with <math>O(n)</math> edges. It uses <math>O(n^2)</math> space to store the sorted list of pairs of points. More careful algorithms can construct the same graph in time <math>O(n^2\log n)</math>,Шаблон:R or in space <math>O(n)</math>.Шаблон:R A construction for a variant of the greedy spanner that uses graph clustering to quickly approximate the graph distances runs in time <math>O(n\log n)</math> in Euclidean spaces of any bounded dimension, and can produce spanners with (approximately) the same properties as the greedy spanners.Шаблон:R The same method can be extended to spaces with bounded doubling dimension.Шаблон:R

Properties

The same greedy construction produces spanners in arbitrary metric spaces, but in Euclidean spaces it has good properties some of which do not hold more generally.Шаблон:R

The greedy geometric spanner in any metric space always contains the minimum spanning tree of its input, because the greedy construction algorithm follows the same insertion order of edges as Kruskal's algorithm for minimum spanning trees. If the greedy spanner algorithm and Kruskal's algorithm are run in parallel, considering the same pairs of vertices in the same order, each edge added by Kruskal's algorithm will also be added by the greedy spanner algorithm, because the endpoints of the edge will not already be connected by a path. In the limiting case when <math>t</math> is large enough (e.g. <math>t>n</math>, where <math>n</math> is the number of vertices in the graph) the two algorithms produce the same output.Шаблон:R

In Euclidean spaces of bounded dimension, for any constant <math>t</math>, the greedy geometric <math>t</math>-spanners on sets of <math>n</math> points have bounded degree, implying that they also have <math>O(n)</math> edges.Шаблон:R This property does not extend even to well-behaved metric spaces: there exist spaces with bounded doubling dimension where the greedy spanner has unbounded vertex degree.Шаблон:R However, in such spaces the number of edges is still <math>O(n)</math>.Шаблон:R

Greedy geometric spanners in bounded-dimension Euclidean spaces also have total weight at most a constant times the total weight of the Euclidean minimum spanning tree.Шаблон:R This property remains true in spaces of bounded doubling dimension.Шаблон:R

References

Шаблон:Reflist