Coloración de Grafos Planos

Slides:



Advertisements
Presentaciones similares
Capítulo 2 Algoritmos.
Advertisements

Seminario: Todo Prof. Eduardo Alejandro Barrio 1er cuatrimestre de 2006 Facultad de Filosofía y Letras, UBA.
Seminario: Interpretaciones y Modelos Conjuntistas
Seminario: Interpretaciones y Modelos Conjuntistas Profesores Dr Alberto Moretti Dr Eduardo Alejandro Barrio 2do cuatrimestre de 2005 Facultad de Filosofía.
Diseño y análisis de algoritmos
PRACTICO N° 6 GRAFOS año: 2012.
Matemáticas Computacionales
SOLUCIÓN DE PROBLEMAS Problema Solución A B S T R C I Ó N C O N R E I
Iteración La iteración permite modelar problemas en los cuales una secuencia de instrucciones debe ejecutarse varias veces. La cantidad de iteraciones.
Ordenamiento Topológico
Estructuras de datos y algoritmos
Type tipo_bf = ; tipo_dato = word; tipo_puntero = ^tipo_nodo; tipo_nodo = record dato: tipo_dato; izquierdo, derecho: tipo_puntero; bf: tipo_bf;
MATEMÁTICAS DISCRETAS.
“GRAFOS” Chacón Zamora José Christian González García Andrea
Estructura General de Un Programa Programación Estructurada
Seminario de Actualización - Excel Avanzado y Macros
Realizado por: Ing. Mauricio Rivera1 Colas. Realizado por: Ing. Mauricio Rivera2 ¿Qué es una Cola? Una cola es un grupo ordenado de elementos homogéneos.
1.5 Algoritmos, Pseudocódigo y Diagramas de Flujo
Tema 5 Grafos..
Tema 5 Grafos. Implementación (I)..
RafaC - Matemática Discreta - UCM 07/08
Estructuras de control
Grafos dualmente cordales y sus relaciones con otros tipos de grafos
Estructuras de Datos Especificación formal de Listas.
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
2.1 Recursividad El hecho de que una función pueda llamarse a sí misma.
1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:
Métodos de Mejoría o de Busca Local Gladys Maquera I COPIOS Lima, 03 al 05 de noviembre de 2009.
Teoría de lenguajes y compiladores
Estructuras de Control
Teoría de Grafos.
Analisis y Diseño de Algoritmos Tema: Grafos 3ra Parte
GRAFOS HUGO ARAYA CARRASCO.
SINTAXISYSEMANTICA. Tengo la impresión de que Java fue diseñado para hacer que fuera difícil escribir mal código, mientras que Python está diseñado para.
Grafos. Un Grafo G es un par de conjuntos (V, E), donde V es un conjunto no vacío de elementos llamados vértices o nodos y E es un conjunto formado por.
Teoria de grafos.-clase 4
Teoría de Grafos lógica y algoritmos.
Árbol recubridor mínimo Distancias
Capítulo 1 “Elementos de Programación”
Conversión cadena a número
Tema 5: Grafos Rafa Caballero - Matemática Discreta - UCM 06.
Rendering.
Algoritmos y Estructuras de Datos III (segunda parte) 1er cuatrimestre 2010 Min Chih Lin Irene Loiseau.
Matemáticas para Ciencias de la Computación MCC3182
Grafos..
Introducción a VHDL Agenda Un poco de historia Definiciones generales Entidades Arquitecturas Configuraciones.
Coloración de grafos Teoría de Grafos
Recursividad Un objeto se dice que es recursivo si él mismo forma parte de su definición. Ejemplos de objetos recursivos: Una locomotora es un tren Un.
A GRASP for graph planarization. Resende, Ribeiro Meta heurísticas Agustín Pecorari.
LEYES DEL ALGEBRA PROPOSICIONAL
Estructuras de datos Fundamentos de análisis y diseño de algoritmos.
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
Resolución de Sistemas Lineales Introducción. Notación matricial.
Estructura: COLA Profesor: Ing. Erick López Ch. M.R.I.
Matemáticas II. Profesor: Ing. Yadhira M. Rangel Carrillo.
GRAFOS EQUIPO E MATEMATTICAS DISCRETAS PRESENTA: Medina Chávez Héctor Bryan 1 INSTITUTO POLITECNICO NACIONAL SECCION DE ESTUDIOS DE POSGRADOS E INVESTIGACION.
M.C. Meliza Contreras González
INTELIGENCIA ARTIFICIAL
Estructura de Datos PILA Universidad Hispanoamericana Prof. Ing. Erick López.
Listas Dinámicas.
1 ListaUna Lista se define como una serie de N elementos E 1, E 2,..., E N, ordenados de manera consecutiva, es decir, el elemento E k (que se denomina.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 5.
@ Angel Prieto BenitoApuntes de Matemáticas 3º ESO1 U.D. 6 * 3º ESO E.Ap. Ecuaciones.
Las interfaces Predicate y Function Versión Unidad Didáctica 17 Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
Coloreado de Mapas con Backtracking
Algoritmo Genético para la solución del problema SAT René Clemente Juárez Angel Felipe Lara Valladares Junio 2012.
Camilo Andrés Salazar González FORTRAN.  Estructura program circulo Real :: r, area write (*,*) 'Escribe el radio r:' read (*,*) r area = *r*r.
2012-BM5A. Unos tips antes de empezar: C# es Case Sensitive (sensible a mayúsculas) Pepe ≠ pepe ≠ pEpE Las asignaciones se hacen con “=” y las comparaciones.
Backpatching. Lista de saltos de salida Todas las instrucciones tienen una lista de saltos de salida. Son instrucciones JMx a las cuales no se les ha.
Estructuras Dinámicas
Transcripción de la presentación:

Coloración de Grafos Planos Avance del proyecto de medio término Huberto Ayanegui Santiago José María Vega Ramos Enrique Ayala Franco 15 de marzo de 2001

Coloración de grafos Consiste en asignar colores a los vértices de un grafo no dirigido con la condición que para todo par de vértices adyacentes estos no sean coloreados del mismo color.

Aplicaciones

Grafos Planos Definición: Un grafo finito no dirigido se denomina plano, si puede ser dibujado sobre una superficie plana de forma que sus aristas se intersecten únicamente en los vértices.

Grafos Planos Ejemplos:

Teorema de los 4 colores Cualquier grafo plano puede ser coloreado con no más de cuatro colores, de modo que ningún par de vértices adyacentes tengan el mismo color. Francis Guthrie (1850) El teorema fue comprobado por Appel  y Haken (1976)

Teorema de los 4 colores

Solución propuesta Grafo plano Matriz de adyacencias Reducción a FNC´s Davis &Putnam Solución Interpretación

EJEMPLO

Grafo Plano 1 3 2 5 4

MATRIZ DE ADYACENCIAS X1 X2 X3 X4 X5 1

Reducción del Grafo a Cláusulas Para el Grafo mostrado tenemos 5 vértices y 4 colores posibles para colorearlo Definiremos una proposición de la forma: Xi,j donde: i = # de vertice j = # de color

El primer paso es garantizar que cada vértice tenga al menos un color. Entonces proponemos cláusulas de esta forma: X11 v X12 v X13 v X14 X21 v X22 v X23 v X24 X31 v X32 v X33 v X34 X41 v X42 v X43 v X44 X51 v X52 v X53 v X54

El segundo paso es garantizar que cada vértice tenga un solo color. Y las cláusulas tienen esta forma: ~X11 v ~X12 v ~X13 v ~X14 ~X21 v ~X22 v ~X23 v ~X24 ~X31 v ~X32 v ~X33 v ~X34 ~X41 v ~X42 v ~X43 v ~X44 ~X51 v ~X52 v ~X53 v ~X54

El Tercer Paso es garantizar que para cada dos vértices adyacentes no tengan el mismo color. En la primera cláusula se indica que el vértice 1 adyacente al 2, no pueden tener el mismo color 1, y así susesivamente para cada par de vértices adyacentes ~X11 v ~X21 ~X12 v ~X22 ~X13 v ~X23 ~X14 v ~X24

Al convertir a la Matriz FNC Consideraremos: 0 = ~X 1 = X -1 = no hay asignación de verdad -2 = proposición que fue eliminada

FNC en Matriz X11 X12 X13 X14 ...... X31 ..... X53 X54 C1 1 -1 C2 C3 .... C29 C30

Solución SAT function davis-putnam(in FORMULA : lista de cláusulas) reduce(FORMULA, VREDUCE) if FORMULA esta vacia then return VREDUCE; else if FORMULA contiene una clausula vacía then return "FAIL“ else begin escoge una variable V de FORMULA; VALUACION := davis-putnam(substituye(TRUE, V, FORMULA)) if VALUACION != FAIL then return agrega(V->TRUE, VREDUCE, VALUACION); VALUACION := davis-putnam(substituye(FALSE, V, FORMULA)) then return agrega(V->FALSE, VREDUCE, VALUACION); return FAIL end endif end davis-putnam

Solución SAT function substituye(TF, V, FORMULA) For cada clausula C en FORMULA do if [C contiene a V y TF = TRUE] o [C contiene a ~V y TF = FALSE] then borrar C de FORMULA else if [C contiene a V y TF = FALSE] o [C contiene a ~V y TF = TRUE] then borrar V de C endif endFor return FORMULAend_substituye

Solución SAT Procedure Reduce(in out FORMULA, VREDUCE) VREDUCE := vacío; While exista una clausula C en FORMULA con solo una literal L IF L es una variable positiva V then FORMULA := sustitucion(VERDADERO, V, FORMULA) VREDUCE := cons(V-> TRUE, VREDUCE); Else IF L es la negacion de la variable V then FORMULA := sustitucion(FALSE,V,FORMULA) VREDUCE := cons(V-> FALSE, VREDUCE); EndIF EndWhile return(FORMULA)end_Reduce

Grafo Coloreado 1 3 2 5 4