Polígonos de ThiessenLos polígonos de Thiessen, nombrados en honor al meteorólogo estadounidense Alfred H. Thiessen, son una construcción geométrica que permite construir una partición del plano euclídeo. Estos objetos también fueron estudiados por el matemático ucraniano Gueorgui Voronói en 1907, de donde toman el nombre alternativo de Diagramas de Voronoi o Teselación de Voronoi, y por el matemático alemán Gustav Lejeune Dirichlet en 1850, de donde toman el nombre de Teselación de Dirichlet. Los Diagramas de Voronoi son uno de los métodos de interpolación más simples, basados en la distancia euclidiana, especialmente apropiada cuando los datos son cualitativos. Se crean al unir los puntos entre sí, trazando las mediatrices de los segmento de unión. Las intersecciones de estas mediatrices determinan una serie de polígonos en un espacio bidimensional alrededor de un conjunto de puntos de control, de manera que el perímetro de los polígonos generados sea equidistante a los puntos vecinos y designan su área de influencia. Diagramas de Voronói en el plano euclidianoLa forma más fácil e intuitiva de visualizar a los diagramas de Voronói es a través de su representación en el plano euclídeo. En la literatura clásica se supone el hecho de contar con un conjunto de establecimientos que se desean colocar sobre una cierta región geográfica de tal manera que las ubicaciones sean lo más rentables posible. Por tanto, se debe hallar una configuración que permita que el número de clientes atraídos sea el más factible. La suposición lógica indica que los clientes irían al establecimiento más cercano a su domicilio y no a aquellos que sean muy lejanos. Con base en esto, los diagramas de Voronói otorgan la configuración deseada por los establecimientos. El diagrama de Voronói induce una subdivisión del plano euclidiano (la región geográfica) en función de un conjunto de sitios (los establecimientos), donde a cada sitio se le asocia una y solamente una subdivisión. Además, cada subdivisión engloba todos los puntos más cercanos al sitio asociado a los sitios restantes, a esto se lo denomina un modelo de asignamiento de Voronói.[1] Definición formalEn primera instancia, denotemos a la distancia euclidiana entre dos puntos y por . En el plano entonces se tiene:
Sea el conjunto de puntos distintos en el plano que son denominados como sitios. Se define el diagrama de Voronói de como la subdivisión del plano en regiones, una para cada , cumpliendo la propiedad de proximidad en la que un punto pertenece a la región de un sitio si y sólo si para cada . Se denotará al diagrama de Voronói de mediante . Cada región que corresponde a un sitio se denotará como y será llamada región de Voronói de . La región de Voronói para un sitio está construida a partir de las intersecciones de los semiplanos formados al trazar los bisectores de hacia los sitios . Tomando el caso donde únicamente hay dos sitios y , se traza el segmento de recta y posteriormente se traza el bisector de . Este bisector parte el plano en dos semiplanos, donde el semiplano que contiene a (representado como ) representa el lugar geométrico de todos los puntos más cercanos a que a ; y el semiplano que contiene a () alberga a todos los puntos más próximos a que a . De acuerdo con esto, entonces se puede establecer de forma general cómo se define la región de Voronói para un sitio .
PropiedadesA continuación se enunciarán un conjunto de propiedades[1][2] del Diagrama de Voronói donde se asume que no puede haber cuatro puntos del conjunto original en posición cocircular. En caso de que esta situación no sea contemplada, entonces se deben considerar una gran cantidad de detalles que deben ser agregados a las diferentes propiedades.
La siguiente propiedad ayuda a caracterizar los vértices y aristas que componen el diagrama de Voronói. Sin embargo, es necesario definir qué significa el círculo vacío más grande de , denotado como . Para un punto , se define como el círculo más grande que tiene a como su centro y no contiene ningún otro sitio de en su interior.
Algoritmos para la construcción del Diagrama de VoronóiAlgoritmo por fuerza brutaUna primera aproximación para la construcción del diagrama de Voronói consiste en explotar la geometría de cada región de Voronói. Por cada sitio se construirá su región de Voronói mediante el cálculo explícito de los semiplanos originados debido a los bisectores trazados con respecto a los demás sitios. Posteriormente, se computará la intersección de estos semiplanos para, finalmente, dar origen a . Este algoritmo tiene muchas desventajas de entre las cuales se tienen las que a continuación se describen. En primera instancia, el cálculo explícito de los semi-planos y su intersección puede provocar problemas de precisión en la computadora generado, evidentemente, una versión incorrecta de . El segundo inconveniente involucra que no se produce información inmediata y que se pueda aprovechar acerca del vecindario de cada sitio. Finalmente, dado que se trata del algoritmo de un algoritmo ineficiente, no resulta extraño descubrir que su complejidad computacional sea alta. El algoritmo está en el orden de Algoritmo divide y vencerásEste algoritmo está fundamentado sobre el paradigma de diseño de algoritmos divide y vencerás. Dado el problema de construir el diagrama de Voronói para el conjunto de sitios, ahora se dividirá a este último en dos subconjuntos y , con aproximadamente el mismo tamaño, de los que se debe encontrar su diagrama de Voronoi independientemente. Finalmente, y deben ser unidos para poder obtener . Sin embargo, ¿qué razón existe para que se crea que y tengan alguna relación con ? Para que se pueda contestar la última pregunta, es necesario definir construcciones geométricas que serán de vital importancia. Definición 1. Dado una petición de , sea el conjunto de aristas de Voronoi que son compartidas por pares de regiones de Voronoi y . La colección de aristas tiene las siguientes propiedades. Teorema 7 es el conjunto de aristas de una subgráfica de con las siguientes propiedades:
Con el fin de separar a en dos subconjuntos se le deberá ordenar con respecto a las abcisas y tomar la recta que pase por la mediana, de tal suerte que se tengan dos subconjuntos de aproximadamente el mismo tamaño. Adicionalmente, dada esta elección de recta de separación, se puede decir que parte al plano en una porción izquierda y una porción derecha . Con base en esto, se tiene la siguiente propiedad: Teorema 8. Si y son linealmente separados por una línea vertical con a la izquierda y a la derecha, entonces el diagrama de Voronoi es la unión de y . A partir del último teorema es que se puede responder la pregunta inicial acerca de cómo se vinculan dos diagramas de Voronoi de dos particiones para generar el diagrama de Voronoi de todo el conjunto de sitios. El siguiente algoritmo[2] establece la forma de calcular el diagrama de Voronoi mediante la técnica divide y vencerás.
Paso 1. Partir a en dos subconjunto y , de aproximadamente el mismo tamaño, mediante la mediana en las coordenadas x. Paso 2. Construir y recursivamente. Paso 3. Construir la cadena polígona , separando a y . Paso 4. Descartar todas las aristas de que estén a la izquierda de . El resultado es , el diagrama de Voronoi del diagrama entero. Algoritmo de Fortune (barrido de recta)InspiraciónEl algoritmo de fuerza bruta previamente revisado tiene una complejidad , sin embargo, debido al teorema 2, se puede suponer que hay una forma mucho más eficiente de encontrar el diagrama de Voronoi pues sus elementos constituyentes tienen complejidad .[1] En efecto, existe este algoritmo y es llamado Algoritmo de Fortune[3] en honor a Steven Fortune quien lo inventó en 1986 y cuya complejidad es .[1] El algoritmo de Fortune está basado en una de las técnicas clave dentro de la geometría computacional denominada barrido de recta. La esencia de esta técnica yace en suponer que existe una recta que recorre el plano de arriba hacia abajo (o de izquierda a derecha, incluso en direcciones opuestas) y que a lo largo de su recorrido se interseca con las estructuras que deseamos procesar. Cuando se da esta intersección, se guarda cierta información de tal forma que ayude en los cálculos. Es necesario que la información que se haya obtenido en regiones ya visitadas por la recta sea invariante. Es muy común que está técnica utilice dos tipos de estructuras de datos: cola de prioridades donde se guardan eventos que no son más que puntos donde la recta debe detenerse y un árbol binario de búsqueda donde se almacenan los elementos geométricos que se han intersecado con la recta y se necesita recordar para el procesamiento futuro. Cabe resaltar que debido a que en la computadora no se puede emular tal cual el movimiento continuo de la recta de barrido, se requiere idear una forma de discretización del movimiento de la recta que sea procesable en la computadora, de ahí que los eventos sean tal discretización. Propiedades combinatoriasPara aplicar el barrido de recta al diagrama de Voronoi, intuitivamente, se podría tomar al conjunto de sitios como los eventos y de esta manera llevar la intersección de la recta de barrido con el diagrama de Voronoi. No obstante, debido a que el cálculo de depende de la intersección de planos, entonces no se podría mantener el invariante de la técnica ya que aun cuando ya haya procesado un sitio, la información con respecto a su región de Voronoi seguirá cambiando debido a los sitios restantes por procesar. Con base en esto, es imperativo cambiar la perspectiva y en lugar de mantener la intersección de con se necesita mantener la información acerca de aquellos sitios sobre que ya no podrá cambiar debido a los sitios debajo de . Se denotará al semi-plano cerrado sobre como . Se busca cuál es la parte del diagrama de Voronoi sobre que ya no podrá cambiar jamás, para lo cual se tiene lo siguiente. Dado un punto , la distancia de éste a cualquier punto debajo de es más grande que la distancia de a propiamente. Además, el sitio más cercano no puede estar debajo de si es al menos tan cercano a algún sitio como lo es a . Por tanto, el lugar geométrico de puntos más cercanos de algún sitio que a está limitado por una parábola. Siguiendo esta línea, el lugar geométrico de todos los puntos más cercanos a algún sitio sobre que a en sí misma está acotado por un conjunto de a lo más [1] arcos parabólicos. Este conjunto de arcos se denomina línea de playa. Cada sitio sobre la línea de barrido define una parábola completamente. La línea de playa cuenta con la propiedad de monotonicidad ya que si se hace pasar cualquier recta vertical por ella, ésta la interseca en exactamente un punto.[1] Entonces, en lugar de mantener la intersección de con , se mantendrá la línea de playa conforme la línea de barrido se mueva. Evidentemente, no se puede representar explícitamente la línea de playa ya que es continua y se transforma cada que cambia de posición. Un arco puede aparecer en la línea de playa cuando procesa un nuevo sitio, de ahí que esto tome el nombre de evento de sitio. En este momento una nueva parábola (en forma de línea vertical pues el lado recto es infinitesimalmente pequeño) rompe sobre la línea de playa. Conforme la línea de playa comienza a bajar, la recientemente creada parábola comienza a hacerse más amplía. Además, conforme va creciendo la parábola se generan intersecciones con otras parábolas en la línea de playa, lo cual comienza a trazar las aristas[1] del diagrama de Voronoi. Un segundo evento de la línea de barrido surge cuando un arco se hace tan pequeño que se convierte en un punto. Cuando se presenta esto, las intersecciones que tenía con los otros arcos ( a la izquierda y a la derecha) se juntan. Este encuentro de los puntos de intersección implica que dos aristas del diagrama se están encontrado. En consecuencia, se ha formado un vértice del diagrama de Voronoi. Gráficamente, es el centro de un círculo que pasa por los sitios y correspondientes a y , respectivamente. Cuando alcanza el punto más bajo de este círculo, se ostenta un evento de círculo. Estructuras de datos y algoritmoEl algoritmo de Fortune necesita de tres tipos de estructuras de datos:
El siguiente pseudocódigo se basa en el que se presenta en la obra de Mark de Berg et al.[1] Algoritmo Entrada. Conjunto de sitios en el plano. Salida dentro de una caja de restricción en .
ComplejidadEl algoritmo se ejecuta en y usa almacenamiento. Esto se debe a que las operaciones sobre y en toman .[4] Las operaciones en la DCEL toman tiempo constante.[1] Cuando se procesa un evento se ejecuta un número constante de operaciones de tales operaciones. Y dado que se tiene eventos (debido al teorema 2), entonces la complejidad es . Por su parte, el almacenamiento es lineal nuevamente debido al teorema 2. Generalización aPara cada conjunto topológico discreto S de puntos en un espacio euclídeo y para casi todo punto x, existe un punto de S que es el más cercano a x. (Aquí, el término casi se usa para indicar que existen excepciones en las cuales x puede equidistar de dos o más puntos de S.) Si S contiene sólo dos puntos, a y b, entonces el conjunto de todos los puntos que equidistan de ambos es un hiperplano de codimensión 1. Ese hiperplano es la frontera entre los puntos más cercanos a a que a b, y los puntos más cercanos a b que a a. De hecho, ese hiperplano es el plano bisector del segmento que une a y b. Más en general, el conjunto de puntos más cercanos a un punto c de S que a ningún otro punto de S (cuenca de atracción de c) es el interior de un politopo convexo (posiblemente no acotado) llamado dominio de Dirichlet o celda de Voronói de c. El conjunto de todos esos politopos constituye una teselación completa del espacio euclídeo, llamada teselación de Voronói asociada a S. Si la dimensión del espacio euclídeo es sólo 2, como en el plano euclídeo, entonces resulta muy sencillo dibujar teselaciones de Voronoi, como las de la figura adjunta. AplicacionesLos diagramas de Voronoi encuentran aplicaciones en áreas tales como gráficos por computadora, geografía, epidemiología, geofísica y meteorología. Un uso particularmente notable fue en el análisis de la epidemia de cólera de 1854 en Londres llevado a cabo por el médico John Snow, el cual determinó una fuerte correlación de muertes con la proximidad a una determinada bomba de agua —a la postre contaminada— en Broad Street (en el distrito de Soho).[5] Su conocido mapa del cólera constituye hoy en día uno de los ejemplos clásicos de uso del método geográfico. Se han utilizado para el análisis de datos meteorológicos (estaciones pluviométricas), aunque en la actualidad también se aplican en estudios en los que hay que determinar áreas de servicio (centros hospitalarios, estaciones de bomberos, bocas de metro, centros comerciales, control del tráfico aéreo, telefonía móvil, análisis de poblaciones de especies vegetales, etcétera). Es una de las funciones de análisis básicas en los Sistemas de Información Geográfica (SIG). Una aplicación más avanzada es la de su uso en el geomarketing y el análisis geoespacial, para hacerlo primero se deben recopilar datos de latitud y longitud de los puntos que se requieren a estudiar, luego por medio de algoritmos no supervisados de machine learning como K-Means en conjunto con Voronoi sea pueden obtener clusters de dicho algoritmo no supervisado pero con la diferencia de que estos estarán delimitados por una región de Voronoi, entonces se puede obtener la "dominancia del cluster". Caso similar también aplica para el marketing, por ejemplo, en lugar de tener «latitud» o «longitud» de datos geoespaciales podríamos tener una relación entre ingresos de un grupo de usuarios y lo que suelen gastar, de forma que se pueda optimizar la publicidad de forma más eficiente usando la región de Voronoi como una ayuda extra para delimitar una publicidad de marketing a un grupo de usuarios.[6] Véase tambiénEnlaces externos
Referencias
|