Ayuda
Ir al contenido

Dialnet


Efficient algorithms for graph isomorphism testing

  • Autores: José Luis López Presa
  • Directores de la Tesis: Antonio Fernández Anta (dir. tes.)
  • Lectura: En la Universidad Rey Juan Carlos ( España ) en 2009
  • Idioma: español
  • Tribunal Calificador de la Tesis: María José Serna Iglesias (presid.), Luis López Fernandez (secret.), Manuel Abellanas Oar (voc.), Jesús García López de Lacalle (voc.), Roberto Muñoz Izquierdo (voc.)
  • Materias:
  • Texto completo no disponible (Saber más ...)
  • Resumen
    • : El problema del isomorfismo de grafos ha sido estudiado por los científicos durante mucho tiempo, desde distintos puntos de vista. Es interesante desde el punto de vista teórico, puesto que no se sabe si es NP-copleto o no. Dado que hay multitud de problemas que pueden reducirse al isomorfismo de grafos, establecer completamente su complejidad, permitiría extrapolar el resultado a todos los problemas que pueden reducirse a él. Además, tiene mucho interés práctico por las aplicaciones que tiene en campos tan diversos como química, visión artificial o minería de datos. Los algoritmos prácticos para el isomorfismo de grafos suelen, o bien tratar de encontrar el isomorfismo mediante un algoritmo clásico de vuelta atrás ayudado por una poda heurística, enfoque que tiene problemas cuando los grafos tienen muchas simetrías (automorfismos), o bien calculado un etiquetado canónico de los vértices, para lo que es necesario calcualr el grupo de automorfismo completo de los grafos, lo que puede resultar mucho más duro que encontrar el isomorfismo entre ellos.

      El objetivo de la tesis es diseñar y programar un algoritmo para determinar el isomorfismo de grafos, que sea rápido en la práctica, que tenga un comportamiento uniforme, y que no necesite para ello calcular completamente el grupo de automorfismo de los grafos. Para evaluar el rendimiento práctico de nuestro algoritmo, lo hemos codificado en C y lo hemos comparado con otros dos algoritmos. De una parte vf2, como ejemplo de algoritmo heurístico, que para ciertas familias de grafos tiene un comportamiento muy bueno, y nauty, que el el prpograma de isomorfismo de grafos por excelencia, que usa el otro enfoque y es hoy por hoy el referente mundial, aunque es conocido que tiene un comportamiento exponencial para ciertas familias de grafos. Hoy en día hay algunas baterías de pruebas que incluyen diversas familias de grafos, pero que no cubren todos tipos de grafos que queríamos tratar. Por ello, hemos generado una batería de pruebas con nuevas familias de grafos, tanto para probar casos positivos como negativos de isomorfismo.

      Nuestro algoritmo trabaja en tres fases. En la primera realiza un análisis de los grafos y genera una estructura de datos (secuencia de particiones) para cada uno de ellos. A continuación busca automorfismos en los grafos a partir de esta secuencia de particiones, y por último, se toma la secuencia de particiones de uno de los grafos como patrón, y se trata de generar una secuencia de particiones equivalente para el otro grafo. Los grafos son isomorfos si y sólo si es posible reproducir esta estructura de datos para el otro grafo. Este enfoque es novedoso y, en las pruebas que hemos realizado con nuestra batería de grafos, hemos comprobado que tiene un comportamiento uniforme con todas las familias de grafos consideradas, y que en algunos casos tiene un rendimiento similar a los otros algoritmos, mientras que en otros los desborda completamente. Los casos más significativos son aquellos en los que nauty y vf2 tienen un comportamiento exponencial, mientras que nuestro algoritmo conauto tiene un comportamiento polinómico. Este ocurre con una familia de grafos contruida por Takunary Miyazaki a partir de una contrucción de Martin Fürer, y con grafos unión (por ejemplo, grafos generados mediante la unión disjunta de componentes sencillas).

      Hemos demostrado la corrección de nuestro algoritmo y hemos analizado su complejidad espacial y temporal. Probamos que tiene una complejidad espacial de 0(n2) palabras para grafos de n vértices. En el caso mejor, tiene una complejidad temporal 0(n2), y con alta probabilidad es polinómico.


Fundación Dialnet

Dialnet Plus

  • Más información sobre Dialnet Plus

Opciones de compartir

Opciones de entorno