Sección 1: Introducción.

En este tema veremos como los diagrama de Voronoi constituyen una herramienta que, al almacenar toda la información referente a proximidad en una nube de puntos, nos permitirá resolver numerosos problemas en ámbitos muy diversos. En la proxima sección veremos algunos de dichos problemas y en la sección tercera los solucionaremos.


 

Sección 2: Una colección de problemas de proximidad.

Damos a continuación una serie de problemas que, a pesar de su aparente  disparidad, tienen el denominador común de que la modelización de todos ellos lleva a un problema donde nos preguntamos acerca de relaciones de proximidad entre puntos:

A las hora de resolver estos problemas, en primer lugar, es necesario modelizarlos, a ello nos disponemos: en todos los problemas, supondremos que S es una colección de N puntos en el plano:

 


Sección 3: Resolución de los problemas de proximidad mediante diagramas de Voronoi

Tal y como se ha mencionado anteriormente, todos los problemas mencionados (y muchos más) pueden ser resueltos de forma eficiente utilizando los diagramas de Voronoi, veamos la pueculiaridad de cada caso (S sigue siendo una colección de N puntos en el plano):

Teorema 3.1: Todos los vecinos más cercanos de S puede ser resuelto en tiempo óptimo lineal conociendo Vor(S).

Demostración: Como se ha visto en la Proposición 3.3 del Tema 2, cada vecino de un punto de S define una arista del diagrama de Voronoi, así que sólo debemos buscar entre los vecinos de cada punto y, por la fórmula de Euler, el numero total de vecinos es lineal.                                  qed.gif (941 bytes)

Evidentemente, a partir de todos los vecinos más cercanos, se resuelve el par más cercano en tiempo lineal, tenemos por tanto:

Corolario 3.1: El par más cercano de S puede ser resuelto en tiempo óptimo lineal conociendo Vor(S).

Teorema 3.2: El vecino más cercano   de p puede ser resuelto en tiempo óptimo O(log N) a partir de Vor(S).

Demostración: Basta con encontrar en qué región de Vor(S) se encuentra p y ello como se vió en el Tema 1 puede ser realizado en tiempo O(log N).qed.gif (941 bytes)

Lema 3.1: Dado una partición de S en dos subconjuntos disjuntos S1 y S2 la arista más corta que une un vértice de S1 con uno de S2 es entre dos vecinos de Vor(S).

Como una consecuencia del Lema 3.1, obtenemos:

Teorema 3.3: El árbol generador mínimo se puede construir en tiempo lineal óptimo a partir de Vor(S).

Por último, nos quedaría por resolver el problema de la triangulación pero a ello le dedicaremos el próximo tema.