260 likes | 518 Views
Etiquetados Garbosos y Mágicos en Grafos. Proyecto Fin de Carrera Autor: Cristina Ruiz Gómez Tutor: Gregorio Hernández Peñalver. Índice. Introducción Aplicación Teoría Teoría de Grafos Etiquetado Garboso Etiquetado Mágico Etiquetado Consecutivo Etiquetado Conservativo
E N D
Etiquetados Garbosos y Mágicos en Grafos Proyecto Fin de Carrera Autor: Cristina Ruiz Gómez Tutor: Gregorio Hernández Peñalver
Índice • Introducción • Aplicación • Teoría • Teoría de Grafos • Etiquetado Garboso • Etiquetado Mágico • Etiquetado Consecutivo • Etiquetado Conservativo • Conclusiones • Bibliografía
INTRODUCCIÓN • Desarrollo de una aplicación concebida como un juego, que permite: • Edición de grafos. • Etiquetados garbosos, mágicos, consecutivos y conservativos en grafos.
APLICACIÓN (I) • Aplicación desarrollada en J2SE (Java Standard Edition). • Orientado a objetos. • Multiplataforma. • Entre 18000 y 20000 líneas de código. • Es una aplicación standalone para la edición y cálculo de etiquetados garbosos, mágicos, consecutivos y conservativos en grafos. • Código fuente formado por cinco paquetes: • Estructuras: modelo estático • Eventos: manejadores de eventos y acciones • Interfaz: interfaz gráfico • Idioma: archivos .properties • Constantes: constantes utilizadas por la aplicación • Código comentado según la Java Code Convention • Herramienta JavaDoc
APLICACIÓN (II) • Descripción genérica de la funcionalidad: • Edición de grafos • Creación y borrado de nodos • Creación y borrado de aristas • Etiquetado de nodos y aristas • Zoom del área de edición de grafos • Creación de grafos • Partiendo de un grafo vacío • Partiendo de grafos estándar • Grafo completo y ciclo • Grafo bipartito y bipartito completo • Grafo rueda y rueda dirigida • Grafos de Petersen, doble conos y producto K4 x Pn • Estrellas, caminos y orugas • Cálculo de un etiquetado de un tipo de grafo • Comprobación de un etiquetado realizado por el usuario • Guardar grafo a fichero • Abrir grafo de fichero
TEORÍA – Teoría de Grafos (I) • Un grafo G = (V, A) se compone de: • V conjunto no vacío y finito de puntos (nodos). • A conjunto de pares de nodos que puede ser vacío (aristas) • Orden del grafo: número de vértices y se denota por |V| • Tamaño del grafo: número de aristas y se denota por |A| • Dos vértices son adyacentes si tienen una arista en común. • Una arista y un vértice son incidentes si el vértice es extremo de la arista. • Se llama grado de un vértice al número de aristas incidentes con él.
TEORÍA – Teoría de Grafos (II) • Camino hamiltoniano: camino que recorre exactamente una vez, todos los vértices de un grafo. • Ciclo hamiltoniano: si el camino comienza y termina en el mismo vértice, estamos hablando de un ciclo.
TEORÍA – Etiquetado Garboso (I) • Etiquetado Garboso: Dado un grafo G, con n vértices y q aristas, un etiquetado garboso sería aquel en el que se etiqueta a las aristas con los números comprendidos entre 1 y q y los vértices con los números comprendidos entre 0 y q y se tiene que cumplir que las diferencias de las etiquetas de los vértices que delimitan cada arista es el mismo valor de la etiqueta de la arista.
TEORÍA – Etiquetado Garboso (II) • Etiquetado Garboso Perfecto: Dado un grafo con n vértices y q aristas, un etiquetado garboso perfecto sería aquel en el que se etiqueta a las aristas con los números comprendidos entre 1 y q y los vértices con los números comprendidos entre 1 y n. Y se tiene que cumplir que las diferencia de las etiquetas de los vértices que delimitan cada arista es el mismo valor de la etiqueta de la arista.
TEORÍA - Etiquetado Garboso (III) • Ciclo (Cn) es garboso para: n ≡ 0, 3 (mod 4) • Si n ≡ 0 (mod 4) • A cada vértice vi le asignamos la etiqueta ai, donde: (i – 1)/2 si i es impar ai = n + 1 – i/2 si i es par y i ≤ n/2 n – i/2 si i es par y i > n/2 • Si n ≡ 3 (mod 4) • A cada vértice vi le asignamos la etiqueta bi, donde: n + 1 – i/2 si i es par bi =(i – 1)/2 si i es impar y i ≤ (n – 1)/2 (i + 1)/2 si i es impar y i > (n -1)/2 • Kn es garboso para n ≤ 4.
TEORÍA - Etiquetado Garboso (IV) • Dado un grafo Ka, b, con a vértices en la capa superior y b vértices en la inferior. Asignamos: • A los vértices de la capa superior las etiquetas: 0, 1, 2,…, a -1 • A los vértices de la capa inferior las etiquetas: a, 2a, 3a,…,ba
TEORÍA - Etiquetado Garboso (V) • La aplicación proporciona solución para Wn, donde n ≤ 7. • Grafos de Petersen (GP(n, k)) para n ≥ 5 y n ≤ 10 • Doble Cono para n = 3,4,5,7,8,9,11,12 • Producto K4 x Pn para n ≤ 5
TEORÍA - Etiquetado Garboso (VI) • Todas las estrellas son garbosas. Etiquetamos: • El vértice central (de grado n – 1) con el valor 1. • El resto de vértices consecutivamente: 2,3,4,…, n • Las aristas con la diferencia entre las etiquetas que delimitan cada vértice. • Todos los caminos son garbosos. Dado un grafo Pn, etiquetamos: • Los vértices, comenzando por un extremo: n, 1, n–1, 2, n–2, 3,…, i, n–i. • Las aristas con la diferencia entre las etiquetas que delimitan cada vértice. • La secuencia será: n-1, n-2,…, 1.
TEORÍA - Etiquetado Garboso (VII) • Todas las orugas son garbosas. Algoritmo Etiquetado: • Empezamos con uno de los vértices v extremos, pertenecientes al camino H, y dividimos los vértices en dos conjuntos X e Y, de tal forma que si dos vértices son vecinos, nunca estarán en el mismo conjunto o partición. • Etiquetamos v con n – 1. • Etiquetamos los vecinos de v a partir de 0, incrementando en 1 el valor de cada nueva etiqueta, y de tal forma que el vecino de v en el camino, w, tenga la etiqueta más alta de todas, entre los vecinos de las etiquetas de v. • A continuación, etiquetamos los vecinos de w excepto v con valores descendentes por n – 2, de tal forma que el otro vecino de w en H tenga la etiqueta más pequeña. • Continuamos hasta que todos los vértices hayan sido etiquetados.
TEORÍA - Etiquetado Garboso (VIII) • Los vértices de Y tendrán los valores: 0,1,…,|Y| - 1 • Los vértices de X tendrán los valores: n – 1, n – 2,…,n - |X|
TEORÍA – Etiquetado Mágico (I) • Etiquetado súper-mágico: Dado un grafo G con n vértices y q aristas, un etiquetado súper mágico es aquel en el que etiquetamos las aristas con los números comprendidos entre 1 y q, de tal forma que la suma de las etiquetas de todas las aristas incidentes con un vértice, sea la misma para todos los vértices del grafo. • En la literatura, al etiquetado súper-mágico se le conoce como mágico.
TEORÍA – Etiquetado Mágico (II) • Grafos que admiten un etiquetado mágico: • Grafos bipartitos con exactamente dos ciclos hamiltonianos • Algoritmo de etiquetado: • Partimos de un vértice a. • Etiquetamos el primer ciclo hamiltoniano con: 4n – 1, 1, 4n – 3, 3,…, 2n + 1, 2n – 1 • Etiquetamos las aristas del segundo ciclo con: 2, 4n, 4, 4n – 2,…, 2n, 2n + 2
TEORÍA – Etiquetado Consecutivo (I) • Dado un grafo G con n vértices y q aristas, un etiquetado consecutivo sería aquel en el que se etiqueta a los vértices y a las aristas con los números comprendidos entre 1 y n + q. Además debe cumplirse, que las diferencias de las etiquetas de los vértices que delimitan cada arista es el valor de la etiqueta de la arista. • Grafos que admiten un etiquetado consecutivo: • Estrella • Camino
TEORÍA - Etiquetado Consecutivo (II) • Algoritmo de Etiquetado: • Etiquetamos el vértice central (grado n – 1) con la etiqueta 1. • Etiquetamos el resto de vértices con 3, 5,…, n + q • Etiquetamos las aristas con la diferencia de las etiquetas de los dos vértices que delimitan cada arista.
TEORÍA - Etiquetado Consecutivo (III) • No existe ningún algoritmo correcto para el etiquetado consecutivo de un camino. • La solución de la aplicación se obtiene mediante fuerza bruta (pseudocódigo): for all p such that p is already labelled do for all q such that q is adjacent to p and q is not yet labelled do for all l such that l would be a label for q producing the edge with difference MaxDiff do if RecursiveLabel(G) returns a labelling then return the labelling else unlabel q end if end for end for end for
TEORÍA – Etiquetado conservativo (I) • Ley de Kirchhoff. Es un grafo dirigido con un etiquetado conservativo, la suma de las etiquetas entrantes es igual a la suma de las etiquetas salientes de cada vértice del grafo.
TEORÍA – Etiquetado conservativo (II) • Para n impar etiquetamos las aristas de la siguiente manera:
TEORÍA – Etiquetado conservativo (III) • Para n par etiquetamos las aristas de la siguiente manera:
CONCLUSIONES (I) • Aplicaciones: • Etiquetado garboso: • MPLS (protocolo de transporte de datos estándar creado por la IETF y definido en el RFC 3031). • Etiquetado garboso de orugas aplicado a problemas de multicast. • Aplicaciones teóricas: • Si un árbol T con n aristas es garboso, entonces el grafo K 2n+1 se puede descomponer en 2n+1 árboles, cada uno de ellos isomorfo al árbol dado. • El etiquetado garboso de un grafo bipartito se corresponde con un cuadrado mágico. • Aplicación: • Funciones docentes en la enseñanza de la teoría de grafos.
CONCLUSIONES (II) • Afianzar conocimientos sobre Teoría de Grafos y sobre Ingeniería del Software. • Conocimientos sobre metodologías orientadas a objetos y nuevos conocimientos sobre Java. • Autodisciplina necesaria para realizar el proyecto.
BIBLIOGRAFÍA • Libros • Nora Hartsfield y Gerhard Ringel, “Pearls in Graph Theory: A Comprehensive Introduction”, Courier Dover Publications, 2003 • G. Chartrand y L. Lesniak, “Graphs & Digraphs”, Chapman & Hall/CRC, 2004 • Harvey M. Deitel y Paul J. Deitel, “Java: Como Programar”, Prentice Hall Mexico, 2004 • Francisco Javier Ceballos, “Java 2. Lenguaje y Aplicaciones”, RA-MA, 2007 • Francisco Javier Ceballos, “Java 2. Interfaces Gráficas y Aplicaciones para Internet”, RA-MA, 2006 • Artículos • Joseph A. Gallian, “A Dynamic Survey of Graph Labeling”, 2005 • Mousa Alfalayleh, Ljiljana Brankovic, Helen Giggins y Md. Zahidul Islam, “Towards the Graceful Tree Conjecture: A Survey” • Brian Beavers, “Golomb Rulers and Graceful Graphs” • Timothy A. Redl, “Graceful Graphs and Graceful Labelings: Two Mathematical Programming Formulations and Some Other New Results”, 2003 • Michelle Edwards, “A Survey of Graceful Trees”, 2006 • Pavel Hrnciar y Gabriela Monoszová, “A New Family of Graceful Trees”