1 / 34

Trazado de grafos mediante m todos dirigidos por fuerzas

Andr

Leo
Download Presentation

Trazado de grafos mediante m todos dirigidos por fuerzas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Trazado de grafos mediante métodos dirigidos por fuerzas Revisión del estado del arte y presentación de algoritmos para grafos donde los vértices son regiones geográficas

    2. Andrés Aiello y Rodrigo I. Silveira

    3. Andrés Aiello y Rodrigo I. Silveira Contenido Introducción al trazado de grafos. Revisión del estado del arte de los métodos dirigidos por fuerzas. Algoritmos para grafos donde los vértices son regiones geográficas. Conclusiones y trabajo futuro.

    4. Andrés Aiello y Rodrigo I. Silveira Consiste en encontrar para cada vértice del grafo una posición en el plano. Si las aristas se dibujan como segmentos, esto define un dibujo o trazado del grafo. Hay infinitas formas de dibujar un grafo. La intención es que el dibujo resultante sea estéticamente bueno. Qué es el trazado de grafos

    5. Andrés Aiello y Rodrigo I. Silveira Ejemplo Dos trazados del mismo grafo:

    6. Andrés Aiello y Rodrigo I. Silveira Criterios estéticos Definen qué hace que un trazado sea estéticamente bueno. Los más comunes: Minimizar cruces. Minimización de área. Distribuir vértices uniformemente. Maximización del ángulo entre ejes. Mostrar simetría. Longitud uniforme de aristas.

    7. Andrés Aiello y Rodrigo I. Silveira Pueden entrar en conflicto Ej. simetría vs. evitar cruces.

    8. Andrés Aiello y Rodrigo I. Silveira Familias de algoritmos Para clases específicas de grafos Arboles. Grafos dirigidos. Planares. Para grafos generales Para trazado ortogonal. Algoritmos dirigidos por fuerzas. Algoritmos espectrales.

    9. Métodos dirigidos por fuerzas: revisión del estado del arte

    10. Andrés Aiello y Rodrigo I. Silveira Métodos dirigidos por fuerzas Modelan al grafo con un sistema físico. El trazado es obtenido buscando un equilibrio de ese sistema físico. Tienen dos partes bien diferenciadas: Un modelo físico. Un algoritmo para buscar un equilibrio.

    11. Andrés Aiello y Rodrigo I. Silveira Métodos dirigidos por fuerzas (2) El primero fue el spring embedder. Plantea una analogía con resortes (Eades, 84). Veinte años después del algoritmo de Eades, existen cientos de variantes distintas. El objetivo de la primer parte del trabajo es presentar de manera organizada todas las publicaciones relevantes de la literatura.

    12. Andrés Aiello y Rodrigo I. Silveira Ventajas Intuitivos Sencillos de programar: AlgoritmoDF(Grafo G) Asignar posición inicial a los vértices. Repetir hasta que el sistema esté en equilibrio: Seleccionar un vértice v en G. Mover v de manera que las fuerzas del sistema disminuyan. Dan buenos resultados Muy flexibles ¿Desventajas? Más adelante…

    13. Andrés Aiello y Rodrigo I. Silveira Spring embedder (Eades, 84) Presentó la analogía de los resortes. Modelo físico: Fuerzas atractivas: Fuerza repulsivas: Criterios estéticos que considera: Distribución de nodos uniforme. Longitud de aristas uniforme.

    14. Andrés Aiello y Rodrigo I. Silveira Spring embedder (2) Algoritmo: SpringEmbedder(Grafo G) Asignar una posición al azar a cada vértice de G. Repetir M veces: Para cada v?V Calcular f(v) (usando las fuerzas de la diapositiva anterior) Para cada v?V pv= pv+C4f(v) Complejidad: O(n3)

    15. Andrés Aiello y Rodrigo I. Silveira Mejoras del SE FR (Fruchterman y Reingold, 91) Otras fuerzas Atractivas: cuadráticas en la distancia (sin logaritmo). Repulsivas: inversas a la distancia. Temperatura global para acelerar convergencia. GEM (Frick et al., 95) Fuerzas similares a las de FR. Temperatura local para cada vértice. Detección de oscilaciones y rotaciones. Misma complejidad que FR y SE. Pero en la práctica es uno de los más rápidos.

    16. Andrés Aiello y Rodrigo I. Silveira Mejoras del SE (2) SM (Sugiyama y Misue, 95) Algunos resortes están magnetizados. Hay campos magnéticos que influyen en la dirección de esos resortes.

    17. Andrés Aiello y Rodrigo I. Silveira KK (Kamada y Kawai, 89) Un único tipo de fuerzas (resortes) entre todos los pares de vértices, con longitudes ideales distintas. Criterio estético que considera: La distancia entre vértices debe ser igual a la distancia teórica. Mantiene implícitamente los dos criterios anteriores.

    18. Andrés Aiello y Rodrigo I. Silveira KK (2) Enfoque basado en energía: Equivalente a usar fuerzas lineales. Para encontrar el mínimo de la energía usan Newton-Raphson.

    19. Andrés Aiello y Rodrigo I. Silveira DH (Davidson y Harel, 89) Enfoque basado en energía. Modelo: definido por una suma de potenciales Distribución de nodos. Longitud de aristas. Cruces de aristas. Distancia nodo arista. Espacio de dibujo. Extremadamente flexible.

    20. Andrés Aiello y Rodrigo I. Silveira DH (2) Algoritmo: utiliza Simulated Annealing Idea básica: Para cada v?V Elegir al azar una nueva posición para v. Si la energía disminuye con esa posición, la acepto. Sino, con cierta probabilidad, la acepto igual. Cuánto moverse en cada paso depende de una temperatura que va decreciendo. Al comienzo los movimientos son grandes. Y se van haciendo cada vez más cortos. Es de los algoritmos más lentos.

    21. Andrés Aiello y Rodrigo I. Silveira Comparación No hay muchos estudios que los comparen. Los pocos que hay (Brandenburg, 95), (Behzadi, 99) concluyen que: Todos obtienen trazados estéticamente agradables. El más flexible es DH. GEM y KK son los más rápidos, mientras que DH es el más lento. Conclusión: no hay un ganador universal.

    22. Andrés Aiello y Rodrigo I. Silveira Ejemplos Mismo grafo, distintos algoritmos

    23. Andrés Aiello y Rodrigo I. Silveira Desventajas Tres puntos débiles: Alto costo computacional (en tiempo). Pueden caer en mínimos locales pobres. Encontrar los óptimos globales es NP-Hard. Falta de fundamentos teóricos.

    24. Andrés Aiello y Rodrigo I. Silveira Aspectos numéricos Todos los algoritmos dirigidos por fuerzas minimizan una función. La forma en que lo hacen marca las diferencias entre cada uno. Todos usan alguna técnica numérica. Aunque en la mayoría de los casos, está implícita. ¡Hacerla explícita es importante!

    25. Andrés Aiello y Rodrigo I. Silveira Fuerzas vs. energía Los algoritmos se dedican a: Buscar un equilibrio de un sistema físico (ej. spring embedder, FR, GEM). O a minimizar una función de energía (ej. KK, DH). Pero son equivalentes La fuerza neta que afectan a un nodo constituye el gradiente (negativo) de su energía. Mínimos de energía son equilibrios del sistema de fuerzas.

    26. Andrés Aiello y Rodrigo I. Silveira Método del gradiente Consiste en moverse siempre hacia (menos) la dirección del gradiente. La función que estamos minimizando es la energía del trazado. El spring embedder mueve cada nodo en la dirección de la fuerza neta Que es igual a moverse en la dirección opuesta al gradiente. El spring embedder y sus derivados (FR, SM, etc.) usan el método del gradiente.

    27. Andrés Aiello y Rodrigo I. Silveira Otros métodos de optimización KK usa Newton-Raphson para buscar un equilibrio. DH usa Simulated Annealing. Tunkelang (99) usa gradiente conjugado. Branke et al. (96) usan algoritmos genéticos. El algoritmo baricéntrico de Tutte resuelve un sistema lineal con Gauss-Seidel. ¡Muchos otros son posibles!

    28. Andrés Aiello y Rodrigo I. Silveira Trazados 3D En lugar de buscar posiciones en el plano, buscamos en el espacio. Ventajas: Más libertad “de movimiento”. Es más fácil llegar a un equilibrio Los cruces de aristas no son un problema. Desventajas: Es necesario proyectar los resultados a 2D. ¡Pueden aparecer cruces!

    29. Andrés Aiello y Rodrigo I. Silveira A pesar de todo... Pruebas empíricas indican que se puede trasmitir más información (Dwyer, 00) El uso de programas interactivos de visualización hace que el usuario visualice el trazado 3D desde cualquier ángulo. Se hace necesario diseñar algoritmos para trazar grafos en 3D.

    30. Andrés Aiello y Rodrigo I. Silveira Adaptar algoritmos a 3D Algunos son difíciles de llevar a 3D (ej. ortogonales, por capas) ¡Los dirigidos por fuerzas no requieren casi adaptaciones! Los que modelan con resortes no tienen ningún problema. Tampoco los que usan funciones generales Otros como KK, GEM y SM requieren adaptar algunas partes. Pero sigue siendo relativamente fácil.

    31. Andrés Aiello y Rodrigo I. Silveira Hay muchas otras adaptaciones posibles Para trazar grafos dinámicos. Para trazar grafos con restricciones: Vértices con forma y tamaño. Aristas especiales (curvas, con pesos). Restricciones en la posición de los vértices. Para trazar grafos con clusters. Para trazar grafos grandes. Comentaremos muy brevemente sobre ellos.

    32. Andrés Aiello y Rodrigo I. Silveira Grafos dinámicos Grafos que cambian a lo largo del tiempo Se quiere ir trazando el grafo a medida que cambia. Preservando el “mapa mental”:

    33. Andrés Aiello y Rodrigo I. Silveira Grafos dinámicos (2) Los algoritmos dirigidos por fuerzas se adaptan muy bien a esta situación: Se pueden agregar vértices ficticios (fijos) en las posiciones anteriores de cada vértices, conectados por resortes a sus respectivos vértices (Brandes et al., 00). Si se usa DH o similar, se agrega un potencial que penalice ubicar a un vértice lejos de su posición anterior. También suelen animarse los movimientos El spring embedder y derivados son ideales para esto.

    34. Andrés Aiello y Rodrigo I. Silveira Restricciones Los grafos que se deben trazar en las aplicaciones concretas suelen “venir” con restricciones. Una muy común es forma y tamaño: los vértices suelen ser dibujados con figuras geométricas. El tamaño y la forma deben ser considerados por los algoritmos, sino: Algunos vértices pueden solaparse Algunas aristas pueden atravesar vértices

    35. Andrés Aiello y Rodrigo I. Silveira Restricciones (2) Ejemplo:

    36. Andrés Aiello y Rodrigo I. Silveira Restricciones (3) Posibles soluciones: Adaptar las longitudes ideales de los resortes para contemplar forma y tamaño (Wang y Miyamoto, 95), (Harel y Koren, 02). Agregar potenciales o fuerzas que penalicen el solapamiento de vértices (Kamps et al., 95). Trazar el grafo normalmente, luego “arreglar” los solapamientos (Gasner y North, 98). Usar campos potenciales (Chuang et. al, 04).

    37. Andrés Aiello y Rodrigo I. Silveira Restricciones (4) Otras consideraciones: Aristas con pesos. Se pueden adaptar las longitudes ideales para contemplarlos (Ej. Erbacher et. al, 04). Aristas curvas. Se toman los puntos de control de las curvas como vértices, y se traza el grafo “normalmente”. (Ej. Finkel, 04)

    38. Andrés Aiello y Rodrigo I. Silveira Restricciones (5) También puede haber restricciones en la posición de los vértices: Un vértice debe estar fijo. Un vértice debe estar dentro de una región. La distancia entre dos vértices debe ser fija. Y muchas otras. Muchas soluciones posibles: Son fáciles de integrar al spring embedder. Ej: Antes de mover cada vértice, controlo que no se viole ninguna restricción. Si uso DH o similar, puedo agregar un potencial que penalice la violación de las restricciones.

    39. Andrés Aiello y Rodrigo I. Silveira Ejemplos Aristas curvas (Finkel, 04) Restricciones en los vértices (He y Marriot, 98)

    40. Andrés Aiello y Rodrigo I. Silveira Grafos con clusters Los grafos pueden tener clusters. Objetivo: que el trazado refleje las agrupaciones entre vértices. Solución sencilla: agregar vértices atractores (ej. Huang y Eades, 00):

    41. Andrés Aiello y Rodrigo I. Silveira Clusters (2) Ejemplos: (Wang y Miyamoto, 95) (Huang y Eades, 00)

    42. Andrés Aiello y Rodrigo I. Silveira Grafos grandes La complejidad cúbica de los algoritmos “clásicos” los hace poco prácticos para grafos de más de unos pocos cientos de nodos. Dos formas de lidiar con grafos grandes: Simulación de N-cuerpos. Algoritmos multinivel/multidimensionales.

    43. Andrés Aiello y Rodrigo I. Silveira Grafos grandes (2) Simulación de N-cuerpos Problema común en la física. En nuestro caso, los cuerpos son los vértices. Objetivo: evitar calcular todas las fuerzas repulsivas, que es O(n2). Motivación: a medida que los vértices se alejan, las fuerzas repulsivas dejan de tener peso en la fuerza neta. No calcular todos los pares de fuerzas, sino sólo los de los vértices “más cercanos”.

    44. Andrés Aiello y Rodrigo I. Silveira Grafos grandes (3) Algoritmos multinivel Separan el grafo en distintos niveles de abstracción. Partiendo del grafo original, se lo va simplificando hasta llegar a un grafo de unos pocos vértices. Se hace el trazado de ese grafo simple, se fijan los nodos ubicados y se agregan los del nivel siguiente (Gajer, 00), (Walshaw, 03) (Hachul 04). La cantidad de nodos “no fijos” es siempre pequeña.

    45. Andrés Aiello y Rodrigo I. Silveira Ejemplos Grafos de unos 1.000 vértices (Gajer et al., 00) Grafos de 5.000, 15.000 y 88.000 vértices (Walshaw, 03):

    46. Andrés Aiello y Rodrigo I. Silveira Trazado inicial La mayoría de los algoritmos parten de un trazado inicial al azar. El trazado inicial influye en dos factores: Velocidad de convergencia. Calidad del resultado. Ej.:

    47. Andrés Aiello y Rodrigo I. Silveira Trazado inicial (2) Se pueden realizar trazados más elaborados. Ej.: Para obtener trazados planos de grafos planares (Harel y Sardas, 95). Para evitar mínimos pobres (Behzadi, 99). Para acelerar la convergencia (Mutton y Rodgers, 02).

    48. Andrés Aiello y Rodrigo I. Silveira Comentarios La flexibilidad y sencillez de los algoritmos dirigidos por fuerzas ha hecho que surgieran cientos de variantes. Sin existir (hasta ahora) un compendio ordenado y completo de los algoritmos existentes. En esta tesis se intentó abarcar a todos los trabajos relevantes. En esta presentación sólo hemos mencionado algunas de las principales variantes.

    49. Algoritmos para grafos donde los vértices son regiones geográficas De aquí en adelante dejaremos de lado las generalidades de trazado de grafos para focalizarnos en nuestro problema particular que es cuando los vértices son regiones geográficas. De aquí en adelante dejaremos de lado las generalidades de trazado de grafos para focalizarnos en nuestro problema particular que es cuando los vértices son regiones geográficas.

    50. Andrés Aiello y Rodrigo I. Silveira Contenido Introducción. Análisis y definición de los criterios estéticos. Algoritmos propuestos. Primero vamos a plantear una pequeña introducción definiendo el problema, para luego poder hacer un analisis de los criterios estéticos estudiados y con estos propondremos algoritmos que satisfagan dichos criterios.Primero vamos a plantear una pequeña introducción definiendo el problema, para luego poder hacer un analisis de los criterios estéticos estudiados y con estos propondremos algoritmos que satisfagan dichos criterios.

    51. Andrés Aiello y Rodrigo I. Silveira Nuestro problema “Dado un grafo G = (V,E) y un conjunto de regiones R, donde R es la región (no vacía) del plano representada por el vértice , encontrar un trazado de G en el plano que sea estéticamente bueno y donde para todo vértice ” Formalmente nuestro problema se define de la siguiente forma: dado un grafo G=(VE) y un conjunto de regiones R donde Rv es una región del plano no vacía que es representada por el vértice v, encontrar un trazado de G en el plano que sea estéticamente bueno y donde cada vértice se ubique dentro de su región correspondiente. Notar la importancia de la palabra representada, visto que existe bibliografía en la cual se limitan los movimientos a una región, pero como veremos más adelante esto no alcanza para representarla de forma efectiva.Formalmente nuestro problema se define de la siguiente forma: dado un grafo G=(VE) y un conjunto de regiones R donde Rv es una región del plano no vacía que es representada por el vértice v, encontrar un trazado de G en el plano que sea estéticamente bueno y donde cada vértice se ubique dentro de su región correspondiente. Notar la importancia de la palabra representada, visto que existe bibliografía en la cual se limitan los movimientos a una región, pero como veremos más adelante esto no alcanza para representarla de forma efectiva.

    52. Andrés Aiello y Rodrigo I. Silveira Nuestro problema (2) Consideraciones generales Regiones representadas por polígonos o discos. Presentamos nuevas soluciones. Los algoritmos se basaron en SE y DH pero pueden utilizarse las mismas ideas en cualquier otro. Algunas aclaraciones generales sobre nuestro trabajo. Por simplicidad consideramos solo 2 tipos de regiones: polígonos y discos. Esto se debe a la simplicidad de estas regiones y a que cualquier figura podría ser aproximada por un polígono se así se desea. Es importante aclarar que nosotros presentamos soluciones para un problema aun no tratado por lo tanto no son necesariamente óptimas, pero aportan un nuevo punto de vista. Y justamente, como lo importante que presentamos es el nuevo punto de vista, pese a que basamos nuestros algoritmos en DH y SE, las mismas ideas pueden aplicarse a cualquier otro algoritmo de trazado de grafos de forma relativamente sencilla.Algunas aclaraciones generales sobre nuestro trabajo. Por simplicidad consideramos solo 2 tipos de regiones: polígonos y discos. Esto se debe a la simplicidad de estas regiones y a que cualquier figura podría ser aproximada por un polígono se así se desea. Es importante aclarar que nosotros presentamos soluciones para un problema aun no tratado por lo tanto no son necesariamente óptimas, pero aportan un nuevo punto de vista. Y justamente, como lo importante que presentamos es el nuevo punto de vista, pese a que basamos nuestros algoritmos en DH y SE, las mismas ideas pueden aplicarse a cualquier otro algoritmo de trazado de grafos de forma relativamente sencilla.

    53. Andrés Aiello y Rodrigo I. Silveira Nuestro problema (3) Trabajo previo No encontramos trabajos previos para nuestra problema particular, sino para restricciones parecidas pero que no alcanzan. Restricciones sobre la posición de vértices Restricciones respecto a otros vértices. (Kamps et al., 95) (Wang y Miyamoto, 82). Restricciones lineales arbitrarias. (He y Marriot, 98). Restricciones no lineales. (Hansen et al., 02). Limitar los movimientos. (DiBattista et al., 99). No hemos encontrado trabajo previo sobre nuestro problema, lo más semejante que se encuentra son trabajos sobre restricciones en la posición de los nodos. Es muy importante notar la diferencia entre restringir un nodo a una región y buscar que éste la represente, cuando veamos los criterios estéticos veremos cuan diferente es.No hemos encontrado trabajo previo sobre nuestro problema, lo más semejante que se encuentra son trabajos sobre restricciones en la posición de los nodos. Es muy importante notar la diferencia entre restringir un nodo a una región y buscar que éste la represente, cuando veamos los criterios estéticos veremos cuan diferente es.

    54. Andrés Aiello y Rodrigo I. Silveira Nuestro problema (4) Ejemplo: Para ilustrar, un pequeño ejemplo de un mapa de españa muestra la red IRISPara ilustrar, un pequeño ejemplo de un mapa de españa muestra la red IRIS

    55. Andrés Aiello y Rodrigo I. Silveira Similitudes y diferencias Representar una región vs. estar dentro. Criterios estéticos. Algoritmos. Similutudes y diferencias de nuestro problema con el problema general. Como hemos venido diciendo, existen diferencias entre nuestro problema y el problema general que no permiten aplicar de forma directa los algoritmos existentes. Uno de los principales problemas como puede verse en la figura es que no es lo mismo representar una región que estar dentro de ella. En la figura todos los vértices cumplen estar dentro de la región, pero claramente no representan bien la relación entre éstas. Este problema se debe a que los criterios estéticos que debe cumplir no son los mimos que antes, sino que se agregan algunos propios de nuestro nuevo dominio. Los algoritmos para conseguir estos criterios son adaptaciones de los algoritmos clásicos visto que no tiene sentido reinventar la rueda y como ya hemos visto los algoritmos dirigidos por fuerzas son muy flexibles.Similutudes y diferencias de nuestro problema con el problema general. Como hemos venido diciendo, existen diferencias entre nuestro problema y el problema general que no permiten aplicar de forma directa los algoritmos existentes. Uno de los principales problemas como puede verse en la figura es que no es lo mismo representar una región que estar dentro de ella. En la figura todos los vértices cumplen estar dentro de la región, pero claramente no representan bien la relación entre éstas. Este problema se debe a que los criterios estéticos que debe cumplir no son los mimos que antes, sino que se agregan algunos propios de nuestro nuevo dominio. Los algoritmos para conseguir estos criterios son adaptaciones de los algoritmos clásicos visto que no tiene sentido reinventar la rueda y como ya hemos visto los algoritmos dirigidos por fuerzas son muy flexibles.

    56. Andrés Aiello y Rodrigo I. Silveira Criterios estéticos Análisis de criterios previos. Presentación de nuevos criterios. Criterios especiales para segmentos. Primero hagamos un análisis de los criterios estéticos ya existentes.Primero hagamos un análisis de los criterios estéticos ya existentes.

    57. Andrés Aiello y Rodrigo I. Silveira Criterios estéticos: previos Minimizar cruces entre aristas. Maximizar el ángulo entre aristas adyacentes. Maximizar el ángulo entre aristas que se cruzan. Mostrar simetría. Distribución uniforme de los vértices. Longitud uniforme de aristas. El criterio de minimización de cruces sigue teniendo sentido, pero no es así todos los referentes a ángulos visto que ahora los vértices tienen cierta región asociada que determina su orientación. Lo mismo pasa con la simetría, es muy reducida considerando los acotados movimientos que puede tener cada nodo. La distribución uniforme carece totalmente de sentido visto que la distribución está dada en gran medida por las regiones. El caso de la longitud de aristas es uno de los más importantes visto que claramente una arista entre dos regiones tiene una longitud mínima y una máxima predefinida, pero cual es la longitud ideal no está del todo claro. Sobre este tema abordaremos más adeltante.El criterio de minimización de cruces sigue teniendo sentido, pero no es así todos los referentes a ángulos visto que ahora los vértices tienen cierta región asociada que determina su orientación. Lo mismo pasa con la simetría, es muy reducida considerando los acotados movimientos que puede tener cada nodo. La distribución uniforme carece totalmente de sentido visto que la distribución está dada en gran medida por las regiones. El caso de la longitud de aristas es uno de los más importantes visto que claramente una arista entre dos regiones tiene una longitud mínima y una máxima predefinida, pero cual es la longitud ideal no está del todo claro. Sobre este tema abordaremos más adeltante.

    58. Andrés Aiello y Rodrigo I. Silveira Criterios estéticos Análisis de criterios previos. Presentación de nuevos criterios. Criterios especiales para segmentos. Lo importante de esto es notar que no alcanza con evaluar los criterios existentes, sino que hay que investigar para ver si existen nuevos criterios, y esto es lo que desarrollaremos a continuación.Lo importante de esto es notar que no alcanza con evaluar los criterios existentes, sino que hay que investigar para ver si existen nuevos criterios, y esto es lo que desarrollaremos a continuación.

    59. Andrés Aiello y Rodrigo I. Silveira Criterios estéticos: nuevos Los vértices deben estar ubicados cerca del centro de sus regiones. Los vértices no deben estar cerca de los bordes. Básicamente los criterios mas importantes que definimos son dos, uno respecto al centro de las regiones y otro respecto a los bordes. En la figura se puede ver claramente como un mismo trazado puede quedar de una forma u otra con el solo hecho de considerar los centros y bordes de las regiones. La importancia de estos criterios es porque los centros de las regiones son un punto significativo de la figura, entonces ayuda a identificarla fácilmente, aquí es donde se ve reflejado “que los nodos representen a las regiones”. El caso de los bordes es por dos motivos. Por un lado si un nodo se encuentra muy cerca de un borde se encuentra lejos de su centro, entonces no la representa bien, pero por otro lado también crea confusión por una cuestión de no poder distinguir bien cual es la región de origen.Básicamente los criterios mas importantes que definimos son dos, uno respecto al centro de las regiones y otro respecto a los bordes. En la figura se puede ver claramente como un mismo trazado puede quedar de una forma u otra con el solo hecho de considerar los centros y bordes de las regiones. La importancia de estos criterios es porque los centros de las regiones son un punto significativo de la figura, entonces ayuda a identificarla fácilmente, aquí es donde se ve reflejado “que los nodos representen a las regiones”. El caso de los bordes es por dos motivos. Por un lado si un nodo se encuentra muy cerca de un borde se encuentra lejos de su centro, entonces no la representa bien, pero por otro lado también crea confusión por una cuestión de no poder distinguir bien cual es la región de origen.

    60. Andrés Aiello y Rodrigo I. Silveira Criterios estéticos: nuevos Análisis de criterios previos. Presentación de nuevos criterios. Criterios especiales para segmentos. Para el caso de los segmentos hemos hecho un análisis aparte pero sin encontrar resultados interesantes en lo que respecta a los criterios. Sorprendentemente no suele importar tanto el centro como en las regiones anteriormente vistas, pero no llegamos a mayores conclusiones. DECIR LO Q C SACO BASICAMENTEPara el caso de los segmentos hemos hecho un análisis aparte pero sin encontrar resultados interesantes en lo que respecta a los criterios. Sorprendentemente no suele importar tanto el centro como en las regiones anteriormente vistas, pero no llegamos a mayores conclusiones. DECIR LO Q C SACO BASICAMENTE

    61. Andrés Aiello y Rodrigo I. Silveira Algoritmos propuestos ¿Por qué no utilizar los algoritmos ya presentados? Algoritmos utilizados Spring Embedder. DH. Muchos se preguntarán porque no utilizar los algoritmos ya existentes. La respuesta es sencilla, porque estos algoritmos no están diseñados para los criterios que consideramos. Un ejemplo claro es el que puede verse en la figura, en donde el trazado obtenido es bueno pero no se puede apreciar a que región pertenece cada nodo. Por este motivo es necesario adaptar los algoritmos a nuestro problema particular. En los siguientes minutos explicaremos las modificaciones que debimos hacer a SR y a DH para poder utilizarlos en nuestro problema.Muchos se preguntarán porque no utilizar los algoritmos ya existentes. La respuesta es sencilla, porque estos algoritmos no están diseñados para los criterios que consideramos. Un ejemplo claro es el que puede verse en la figura, en donde el trazado obtenido es bueno pero no se puede apreciar a que región pertenece cada nodo. Por este motivo es necesario adaptar los algoritmos a nuestro problema particular. En los siguientes minutos explicaremos las modificaciones que debimos hacer a SR y a DH para poder utilizarlos en nuestro problema.

    62. Andrés Aiello y Rodrigo I. Silveira Adaptaciones Forma de proyectar. Longitud ideal de las aristas. Longitudes fijas ¡NO! Longitudes variables… Fuerzas centrípetas. Evitar vértices muy cercanos a los bordes. Minimizar cruces entre aristas. Las adaptaciones que realizamos se pueden dividir básicamente en 5 grupos aquí enumerados. El primer problema es la forma de proyectar un nodo cuando éste se va fuera de la región. La primer aproximación es simplemente rechazar cualquier movimiento hacia fuera, pero perjudica claramente la estética y el modelo físico. La segunda opción es proyectar al punto mas cercano, dando la idea de que el nodo resbala sobre el borde, lo cual si se acomoda al modelo físico real. El segundo problema, y uno de los más importantes es el de la longitud de las aristas. Cuando comenzamos a trabajar veníamos con la idea de longitudes uniformes del problema general, pero nos dimos cuenta que en nuestro problema no se puede aplicar, visto que las regiones ya determinan un mínimo y un máximo que no necesariamente coincide de una arista a otra. Por este motivo las longitudes de las aristas deben ser variables, dependiendo de cada aristas. Más adelante entraremos en detalle de cómo definir una longitud ideal para cada arista. La siguiente adaptación importante es la incorporación de fuerzas centrípetas que explicitan el criterio de que los nodos deben mantenerse cerca de los centros. Lo mismo pasa con evitar vértices muy cercanos a los bordes, que intenta de forma explicita hacer que se cumpla el criterio estético. También hicimos algunas adaptaciones para minimizar la cantidad de cruces entre aristas que aunque no es propio de nuestro problema, no deja de ser un criterio válido.Las adaptaciones que realizamos se pueden dividir básicamente en 5 grupos aquí enumerados. El primer problema es la forma de proyectar un nodo cuando éste se va fuera de la región. La primer aproximación es simplemente rechazar cualquier movimiento hacia fuera, pero perjudica claramente la estética y el modelo físico. La segunda opción es proyectar al punto mas cercano, dando la idea de que el nodo resbala sobre el borde, lo cual si se acomoda al modelo físico real. El segundo problema, y uno de los más importantes es el de la longitud de las aristas. Cuando comenzamos a trabajar veníamos con la idea de longitudes uniformes del problema general, pero nos dimos cuenta que en nuestro problema no se puede aplicar, visto que las regiones ya determinan un mínimo y un máximo que no necesariamente coincide de una arista a otra. Por este motivo las longitudes de las aristas deben ser variables, dependiendo de cada aristas. Más adelante entraremos en detalle de cómo definir una longitud ideal para cada arista. La siguiente adaptación importante es la incorporación de fuerzas centrípetas que explicitan el criterio de que los nodos deben mantenerse cerca de los centros. Lo mismo pasa con evitar vértices muy cercanos a los bordes, que intenta de forma explicita hacer que se cumpla el criterio estético. También hicimos algunas adaptaciones para minimizar la cantidad de cruces entre aristas que aunque no es propio de nuestro problema, no deja de ser un criterio válido.

    63. Andrés Aiello y Rodrigo I. Silveira Adaptaciones: aristas de longitud variable (2) Longitud ideal de aristas Distancia mínima Distancia máxima Distancia entre centros Distancia de compromiso Una vez definido el centro de la región, las posibles longitudes ideales de una arista podrían ser penadas como la distancia minima entre las regiones, la distancia máxima y la distancia entre sus centros. Luego de analisís experimentales llegamos a la conclusión que la mejor no es ninguna, sino la que definimos como distancia de compromiso que esta definida por la siguiente fórmula. Es un promedio ponderado de la distancia mínima y la distancia entre centros. Es muy importante notar las grandes mejoras que trajo la inclusión de esta longitud a nuestros algoritmos.Una vez definido el centro de la región, las posibles longitudes ideales de una arista podrían ser penadas como la distancia minima entre las regiones, la distancia máxima y la distancia entre sus centros. Luego de analisís experimentales llegamos a la conclusión que la mejor no es ninguna, sino la que definimos como distancia de compromiso que esta definida por la siguiente fórmula. Es un promedio ponderado de la distancia mínima y la distancia entre centros. Es muy importante notar las grandes mejoras que trajo la inclusión de esta longitud a nuestros algoritmos.

    64. Andrés Aiello y Rodrigo I. Silveira Adaptaciones: fuerzas hacia el centro (SE) Fuerza centrípeta: Idea de nodo ficticio Siguiendo con la idea de cumplir con los criterios estéticos que definimos agregamos una fuerza centrípeta. Para poder conseguir esto implementamos dos soluciones distintas, una para SE y una para DH. En el caso de SE agregamos un nodo ficticio en el centro de cada región unido únicamente con el nodo correspondiente a dicha región, pero tomando como longitud ideal de dicha arista cierto valor épsilon.Siguiendo con la idea de cumplir con los criterios estéticos que definimos agregamos una fuerza centrípeta. Para poder conseguir esto implementamos dos soluciones distintas, una para SE y una para DH. En el caso de SE agregamos un nodo ficticio en el centro de cada región unido únicamente con el nodo correspondiente a dicha región, pero tomando como longitud ideal de dicha arista cierto valor épsilon.

    65. Andrés Aiello y Rodrigo I. Silveira Adaptaciones: fuerzas hacia el centro (DH) Penalizar distancia entre un vértice y su centro. Potencial: Para el caso de DH simplemente agregamos un potencial que penalice a cada nodo según la distancia al centro de su región.Para el caso de DH simplemente agregamos un potencial que penalice a cada nodo según la distancia al centro de su región.

    66. Andrés Aiello y Rodrigo I. Silveira Adaptaciones: evitar vértices muy cercanos a los bordes Implementado en DH. Primera idea: Segunda idea: ¿Por qué elegir la segunda? El otro criterio que era necesario tratar era el de la distancia a los bordes. Para esto se nos presentaron dos ideas a implementar en DH. Pese a lo confusa que parece la segunda permite ajustar de forma no uniforme la prioridad de alejarse del borde según la distancia que se esté de éste.El otro criterio que era necesario tratar era el de la distancia a los bordes. Para esto se nos presentaron dos ideas a implementar en DH. Pese a lo confusa que parece la segunda permite ajustar de forma no uniforme la prioridad de alejarse del borde según la distancia que se esté de éste.

    67. Andrés Aiello y Rodrigo I. Silveira Adaptaciones: minimizar cruces entre aristas Implementado sobre DH. Distancia entre todo par de aristas. Para minimizar la cantidad de cruces lo primero que hicimos fue expresar este problema de forma continua considerando la distancia entre todo par de aristas. Es muy importante poder darle un tratamiento continuo al problema visto que esto ayuda a la convergencia.Para minimizar la cantidad de cruces lo primero que hicimos fue expresar este problema de forma continua considerando la distancia entre todo par de aristas. Es muy importante poder darle un tratamiento continuo al problema visto que esto ayuda a la convergencia.

    68. Andrés Aiello y Rodrigo I. Silveira Adaptaciones: minimizar cruces entre aristas (2) Distancia mínima entre vértices y cruces. El problema de oslo considerar la distancia entre aristas es que cuando se produce un cruce estas se encuentran a distancia 0, al margen de si el cruce se puede salir facilmente o no. Con la idea de atacar los problemas en los cuales existe un nodo que claramente es el que puede romper el cruce de forma sencilla decidimos considerar también un potencial a la distancia mínima al cruce. De esta forma el nodo mas cercano al cruce tendera a intentar seguir acercandose hasta cruzarlo mientras que los demás no se verán afectados. Aclarar xq se usa la mínima y no la suma de las distancias o algo así. Aclarar q es O(1).El problema de oslo considerar la distancia entre aristas es que cuando se produce un cruce estas se encuentran a distancia 0, al margen de si el cruce se puede salir facilmente o no. Con la idea de atacar los problemas en los cuales existe un nodo que claramente es el que puede romper el cruce de forma sencilla decidimos considerar también un potencial a la distancia mínima al cruce. De esta forma el nodo mas cercano al cruce tendera a intentar seguir acercandose hasta cruzarlo mientras que los demás no se verán afectados. Aclarar xq se usa la mínima y no la suma de las distancias o algo así. Aclarar q es O(1).

    69. Andrés Aiello y Rodrigo I. Silveira Adaptaciones: SER2 y DHR2 Implementación en Java. Incluyen todas las ideas presentadas. Pueden probarse en http://www.luchemos.org.ar/rodrigo/tesis.

    70. Andrés Aiello y Rodrigo I. Silveira Adaptaciones: SET Criterio que intenta cumplir: los nodos no deben estar cerca de las aristas. Agrega fuerza de repulsión nodo-arista. Distancia ideal es la formada por el triángulo equilátero. Otra adaptacion que realizamos es la que se puede encontrar en el algoritmo llamado SET. Esta adaptacion no para un criterio propio de nuestro problema pero igual lo adaptamos visto que se enfoca en el criterio de que los nodos no deben estar cerca de las aristas, lo cual en nuestro contexto tambien es perjudicial. La forma de hacer cumplir este criterio es definir una distancia ideal de cada nodo a cada arista no incidente, es decir que no esta conectado. Consideramos que dicha distancia ideal deberìa ser la que forma un triangulo equilatero visto que es lo que intuitivamente es mas agradable a la vista. Los resultados obtenidos fueron buenos, pero en el problema de regiones hace que los nodos vayan demasiado a los bordes visto que son muy empujados. Consideramos que en trabajos futuros podrìa tratarse de solo tener en cuenta las aristas que se encuentran cercanas.Otra adaptacion que realizamos es la que se puede encontrar en el algoritmo llamado SET. Esta adaptacion no para un criterio propio de nuestro problema pero igual lo adaptamos visto que se enfoca en el criterio de que los nodos no deben estar cerca de las aristas, lo cual en nuestro contexto tambien es perjudicial. La forma de hacer cumplir este criterio es definir una distancia ideal de cada nodo a cada arista no incidente, es decir que no esta conectado. Consideramos que dicha distancia ideal deberìa ser la que forma un triangulo equilatero visto que es lo que intuitivamente es mas agradable a la vista. Los resultados obtenidos fueron buenos, pero en el problema de regiones hace que los nodos vayan demasiado a los bordes visto que son muy empujados. Consideramos que en trabajos futuros podrìa tratarse de solo tener en cuenta las aristas que se encuentran cercanas.

    71. Andrés Aiello y Rodrigo I. Silveira Ejemplos Malla 4x4 utilizando DHR2 y SER2

    72. Andrés Aiello y Rodrigo I. Silveira Ejemplos (2) DH, SER2 y DHR2

    73. Andrés Aiello y Rodrigo I. Silveira Ejemplos (3) República Argentina: SER2 y DHR2

    74. Andrés Aiello y Rodrigo I. Silveira Conclusiones y aportes Revisión del estado del arte Abarca la mayor parte de los trabajos publicados hasta el momento. Incluye los trabajos más recientes. Provee una visión consistente, comparativa y transversal del tema.

    75. Andrés Aiello y Rodrigo I. Silveira Conclusiones y aportes (2) Algoritmos para grafos donde los vértices son regiones geográficas Se presenta y analiza un nuevo problema. Se estudian criterios estéticos generales y se presentan los propios del problema. Se proponen algoritmos para los criterios definidos. Nuevo potencial para evitar cruces de aristas.

    76. Andrés Aiello y Rodrigo I. Silveira Trabajo futuro Optimización de los algoritmos. Problema de grafos grandes. Otros tipos de regiones. Trazado inicial. ¡Y muchos más!

    77. ¡Muchas gracias! ¿Preguntas? Para más información: http://www.luchemos.org.ar/rodrigo/tesis

More Related