User:Deriteidavid/sandbox

=Graph Voronoi Diagrams=

Graph Voronoi Diagrams are a generalization of Voronoi diagrams to graphs. Voronoi diagrams are a common way of partitioning metric spaces into regions or cells around a given set of points called seeds or generator points, such that each point of the space belongs to the cell of the closest seed. A similar partitioning can be applied on graphs if we set a few generator nodes, associate positive values to edges and define the distance between any pair of nodes as the shortest path connecting the two nodes. This generalization was first explored by Marin Erwig in.

Definition


Let $$G=(V,E)$$ be a directed and weighted graph with the set $$V$$ of $$N$$ vertices (nodes) and set $$E$$ of $$M$$ edges (links). We denote the length (weight) of an edge connecting nodes $$\nu$$ and $$\mu$$ as $$l(\nu,\mu)>0$$. The length of a path is obtained by summing up the length of edges constituting the path. The distance $$d(\nu_i,\nu_j)$$ between two nodes $$\nu_i$$ and $$\nu_j$$ is the length of the shortest path between the two nodes. Thus, the definition of an edge length assures that the graph can be treated as a metric space. The simplest choice of $$l(\nu,\mu)=1$$ if $$\nu$$ and $$\mu$$ are directly connected, $$0$$ otherwise.

Let us now choose a set $$S\equiv (\gamma_1,\gamma_2,...,\gamma_g)\sub V$$ of generator points or seeds. The Voronoi diagram of graph $$G$$ with respect to $$S$$ is thus the partitioning of $$V$$ into node sets $$V_1,V_2,...,V_g\sub V$$, where each point set or Voronoi cell is associated with a generator point and

1. 	The Voronoi cells cover the original graph with no overlaps: $$\bigcup_{i=1}^g V_i=V $$ and $$ V_i \bigcap V_j= \varnothing $$ where $$i,j=1,2,...,g.$$ 2. 	Nodes that belong to a Voronoi cell are closest to the generator point associated with the cell: $$d(\nu,\gamma_i)\leqslant d(\nu,\gamma_j),$$ for all $$\nu \in V_i $$ where $$ i,j=1,2,...,g $$

Mathematical properties of graph Voronoi diagrams, along with different methods for their identification and their respective computational complexity, are detailed in. This definition has been quoted from.

General
The author of the original paper introducing the concept suggested several applications of graph Voronoi diagrams. These include an alternative solution for the facility location problem, algorithms for collision-free moving and detection algorithms for special structural elements of graphs called anti-centers and furthest points.

Traffic and delivery optimization
A. Okabe and colleagues offered some new algorithms working with graph Voronoi diagrams, also exploring some applications in the traffic of Kyoto. They suggested that most of the time it is not optimal to model traffic within a Euclidean space, but as a weighted graph where intersections serve as nodes and streets connecting the intersections as weighted links. This way, for example delivery services can easily find the right courier, based on their Voronoi cells and the position of the order.

Community detection
In it has been have shown that graph Voronoi diagrams can be used to detect communities. Generator points can be selected arbitrarily, especially if one knows at least one node from each community. Otherwise the method needs rules for: setting the length of edges and choosing the generator nodes. Then communities can be identified as the graph Voronoi cells. The authors of the paper propose one for each rule: the distance measure as the inverse of the edge clustering coefficient, which is large when the two nodes connected have many common neighbors. For detecting communities larger clustering coefficient will indicate smaller distance. In graphs each node is characterized by the link density of its neighborhood. For generator points nodes with the highest local density within a region of a given radius were selected. Varying this radius allows community detection at different scales. Overall, the algorithm has 3 main steps: assigning distances to edges; identifying generator nodes and constructing the Voronoi diagram. When applying the algorithm the best strategy is to gradually increase the radius. This method has shown high reliability compared with other popular community detection methods as well as on benchmark networks.

Computational efficiency
There are many algorithms suggested by papers studying graph Voronoi diagrams, but the theoretical complexity of partitioning a graph into Voronoi cells is $$O(NlogN)$$, where $$N$$ is the number of vertices.