ARBOLES GENERADORES. Orlando Arboleda Molina. 16 de septiembre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle

Documentos relacionados
Grafos. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Grafos 1 / 30

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos.

Grafos. Amalia Duch Brown Octubre de 2007

Árboles. Un grafo no dirigido es un árbol si y sólo si existe una ruta unica simple entre cualquiera dos de sus vértices.

LAS CIENCIAS DE LA PLANIFICACIÓN

Es un conjunto de objetos llamados vértices o nodos unidos por enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre

Introducción a la Teoría de Grafos

Un grafo G = (V, E) se dice finito si V es un conjunto finito.

Teoría de grafos y optimización en redes

El TAD Grafo. El TAD Grafo

Árboles abarcadores mínimos: algoritmo de Prim y algoritmo de Kruskal.

Un grafo G es un par (V,E) donde V es un conjunto (llamado conjunto de vértices) y E un subconjunto de VxV (conjunto de aristas).

Algoritmos sobre Grafos

Tema: Los Grafos y su importancia para la optimización de redes.

Grafos. Suponiendo que e = [u, v]. Entonces los nodos u y v se llaman extremos de e y u y v se dice que son nodos adyacentes o vecinos.

2007 Carmen Moreno Valencia

LAS CIENCIAS DE LA PLANIFICACIÓN

Caminos y Flujos optimales. Introducción a la Investigación de Operaciones 2007

Objetivos formativos de Matemática Discreta. Tema 1: Conjuntos, aplicaciones y relaciones

Introducción a la Teoría de Grafos

Ruta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE

Algoritmos para determinar Caminos Mínimos en Grafos

Flujos de redes (Network Flows NF)

Grafos. Algoritmos y Estructuras de Datos III

El TAD Grafo. El TAD Grafo

En la fig. 1 se representa el grafo, G=(V,A) donde: V = {1, 2, 3, 4, 5, 6} A = { {1,2}, {1,3}, {1,5}, {3}, {3,4}, {4,5}, {5,6} }

GRAFOS. Prof. Ing. M.Sc. Fulbia Torres

Introducción a la teoría de grafos

Coloración de grafos

Teorema de Hoffman-Singleton.

GRAFOS CREACIÓN DE ÍNDICES EN GOOGLE DE LOS SITIOS DE LA RED DE INTERNET

Algoritmos y estructuras de datos

MATEMÁTICAS PARA LA COMPUTACIÓN

(d) Puede haber estrategias que funcionan mejor que Minimax si el contrincante es

Computabilidad y Lenguajes Formales: Autómatas Finitos

OPTIMIZACIÓN VECTORIAL

Minicurso de Teoría de Gráficas Escuela de Verano 2014 por María Luisa Pérez Seguí Facultad de Ciencias Físico-Matemáticas, Universidad Michoacana

Proyecto 2: recorridos sobre grafos y componentes conexas

MODELOS MATEMÁTICOS PARA LA TOMA DE DECISIONES

1. Conceptos básicos sobre el problema en cuestión y cuestiones afines. 2. Formulación de los correspondientes algoritmos y su pseudocódigo.

(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados

Programa de teoría. Algoritmos y Estructuras de Datos II. 3. Algoritmos voraces. 1. Análisis de algoritmos 2. Divide y vencerás

RELACIÓN DE PROBLEMAS DE CLASE DE PROGRAMACIÓN LINEAL ENTERA

Grafos y Redes. 3. Resolución: Dibujar el camino sin levantar el lápiz y pasando sólo una vez por cada arco o arista.

Programación Lineal. Modelo de Redes. Alcance de las aplicaciones. Curso: Investigación de Operaciones Ing. Javier Villatoro

I. Complejidad de Problemas

Apuntes elaborados por: Aaron Asencio, Eduardo Quevedo, Raquel López Revisado por: Javier Miranda el???

TÓPICOS AVANZADOS EN TEORÍA DE GRAFOS. F.C.E.I.A. - Universidad Nacional de Rosario Escuela de Posgrado y Ed. Continua

Transparencias de Matemática Discreta Doble Grado en Ingeniería en Informática y. Administración de Empresas Curso

Jesús Getán y Eva Boj. Marzo de 2014

Una Interfaz Grafo-Matriz

Tema 5: Grafos. Índice. E. Martín, A. Méndez, C. Ortiz y J. Sendra. Febrero de Guía del tema. 1. Grafos 1

Introducción a la Teoría de Grafos

ÍNDICE INTRODUCCIÓN...13

Planaridad. Algoritmos y Estructuras de Datos III

TEORÍA DE GRAFOS Ingeniería de Sistemas

TEORIA DE GRAFOS. Estructuras Discretas Ing. Jenny Paredes Aguilar

Estructuras de Datos. Estructuras de Datos para Conjuntos Disjuntos

Coloración. Unos cuantos problemas. Asignación de frecuencias de radio. Gregorio Hernández Peñalver. Unos cuantos problemas. Unos cuantos problemas

Utiliza más de un procedimiento en la construcción de un teselado; identifica que un teselado es un principio de orden.

Complejidad computacional (Análisis de Algoritmos)

PROGRAMACIÓN LINEAL PROGRAMACIÓN LINEAL.

greedy (adj): avaricioso, voraz, ávido, codicioso, glotón

Búsqueda en e.e. --> reglas para elegir entre las ramas que con más probabilidad lleven a la solución.

Cualquier vértice que esté en un ciclo tiene al menos grado 2 (el recíproco no es cierto).

Tema 7: Optimización sobre Redes Muchos de los problemas de Investigación Operativa pueden modelizarse y resolverse sobre un grafo: conjunto de

Sistemas de producción y búsqueda de soluciones. Area de Computación e Inteligencia Artificial 1

Estructuras de datos Árboles B

Prueba de optimalidad con. Métodos de Transporte. Autor : Ing. Germán D. Mendoza R.

Introducción a la programación lineal

EL PROBLEMA DE TRANSPORTE

Modulo del Domo Geodésico

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

Guía de Modelo Relacional y Conversión de Entidad-Relación a Relacional

Descripción inicial del sistema. Descripción final del sistema. Estado 1 Estado 2 Estado n

Separadores minimales de vértices de grafos dualmente cordales y caracterizaciones

Convertir un AFND a un AFD

Los grafos estrella extendida: reconocimiento y propiedades estructurales

Planificaciones Algoritmos y Programación II. Docente responsable: CALVO PATRICIA MABEL. 1 de 6

Soluciones oficiales Clasificación Olimpiada Nacional Nivel Mayor

4.1. Polinomios y teoría de ecuaciones

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

Figura 3.1. Grafo orientado.


UNIVERSIDAD MAYOR DE SAN SIMÓN FACULTAD DE CIENCIAS Y TECNOLOGÍA INGENIERÍA DE SISTEMAS BÚSQUEDA PRIMERO EL MEJOR

(b) Cuál es la desventaja principal de una heurística con aprendizaje? es más informada que otra función heurística optimista h 2 *?

DIRECCIÓN TÉCNICO ELECTORAL - DIRECCION GENERAL ELECTORAL - SECRETARIA DE ACTUACIÓN - JUNTA ELECTORAL DE LA PROVINCIA DE BUENOS AIRES

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III

Estrategias de Diseño de Algoritmos

SWITCH ETHERNET CAPA 2. Justo Ramírez Martínez

Una actividad muy relacionada con la anterior consiste en la generación de mosaicos por medio de polígonos regulares.

Índice Unidad 1: Lógica y teoría de conjuntos... 2

Soluciones a algunos ejercicios de Matemática Discreta 1.

JUEGOS. Área de aplicación de los algoritmos heurísticos Juegos bi-personales: oponente hostil

UNIVERSIDAD DE GUADALAJARA

ESCUELA SUPERIOR POLITECNICA DEL LITORAL Facultad de Ciencias Naturales y Matematicas SYLLABUS DEL CURSO Matematicas Discretas

Tema 4: Búsqueda informada mediante técnicas heurísticas

4 SCT UPLA = 108 Horas Cronológicas Semestrales Presencialidad (41,67%)

MANUAL DE USUARIO NOTAS PARCIALES MODULO CONFIGUARACION DE NOTAS -288

Transcripción:

ARBOLES GENERADORES Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 16 de septiembre de 2008

Contenido Árboles generadores Algoritmo búsqueda por profundidad Algoritmo búsqueda en anchura Árboles generadores mínimos Algoritmo de Prim Algoritmo de Kruskal

Contenido Árboles generadores Algoritmo búsqueda por profundidad Algoritmo búsqueda en anchura Árboles generadores mínimos Algoritmo de Prim Algoritmo de Kruskal

Figura: Ejemplo de un grafo Problema: Que rutas pueden ser cerradas de tal manera que se pueda seguir viajando entre cualquier par de ciudades?.

Árboles generadores (o recubridor) Árboles generadores (o recubridor) Sea G un grafo simple. Un árbol generador (o recubridor) de G es un subgrafo de G que es un árbol y contiene todos los vértice de G. Figura: Ejemplo de un árbol generador Ejemplo: El árbol anterior es un árbol generador del problema original.

Árboles generadores (2) Nota: Un grafo simple con un árbol cobertor debe ser conexo, puesto que hay un camino en el árbol cobertor entre cualquier par de vértices. Teorema 1 Un grafo simple es conexo si y solo si admite un árbol cobertor. Los algoritmos mas usados para construir arboles generadores son: Búsqueda en profundidad y Búsqueda en amplitud.

Contenido Árboles generadores Algoritmo búsqueda por profundidad Algoritmo búsqueda en anchura Árboles generadores mínimos Algoritmo de Prim Algoritmo de Kruskal

Algoritmo búsqueda por profundidad Idea: Elegir un vértice arbitrario como raíz del árbol. Formar un camino que comienza en ese vértice añadiendo sucesivamente vértices y aristas, siendo cada nueva arista incidente con el último vértice del camino y un vértice que no está en el camino. Si el camino no pasa por todos los vértices del grafo, retroceder al penúltimo vértice e intentar un nuevo camino iniciando en él. También llamado de vuelta atrás o retroceso (en inglés, backtacking) puesto que el algoritmo retorna a los vértices visitados previamente para adicionarlos al camino.

Algoritmo búsqueda por profundidad (2) Procedimiento Profundidad ( G: grafo conexo de vertices v 1, v 2,..., v n ) T := arbol que consta solo del vertice v 1 visitar(v 1 ) Fin Procedimiento Procedimiento visitar (v: vertice de G) Para cada vertice w adyacente a v y aun no en T Adicionar vertice w y arista {v, w} a T visitar (w) Fin Para Fin Procedimiento

Algoritmo búsqueda por profundidad (3) Figura: Ejemplo de un árbol generador Ejercicio: Construir un árbol generador usando el algoritmo de búsqueda por profundidad, a partir del grafo anterior iniciando en el vertice a.

Contenido Árboles generadores Algoritmo búsqueda por profundidad Algoritmo búsqueda en anchura Árboles generadores mínimos Algoritmo de Prim Algoritmo de Kruskal

Algoritmo búsqueda en anchura Idea: Elegir un vértice arbitrario como raíz del árbol. Luego añadir todas las aristas incidentes con ese vértice (nivel 1 del árbol). Para cada vértice del nivel 1, visitados en orden, añadir todos los vertices incidentes con él siempre que no formen ciclos. El procedimiento se repite hasta que se adicionen todos los vértices.

Algoritmo búsqueda en anchura (2) Procedimiento Anchura ( G: grafo conexo de vertices v 1, v 2,..., v n ) T := arbol que consta solo del vertice v 1 L := lista vacia Mientras L no este vacia borrar el primer vertice v de L Para cada vertice w adyacente a v Si w no esta en L y no esta en T añadir el vertice w al final de la lista L añadir el vertice w y la arista {v, w} a T Fin Si Fin Para Fin Mientras Fin Procedimiento

Algoritmo búsqueda en anchura (3) Figura: Ejemplo de un árbol generador Ejercicio: Construir un árbol generador usando el algoritmo de búsqueda en anchura, a partir del grafo anterior iniciando en el vertice a.

Figura: Ejemplo de un grafo ponderado Problema: Que aristas deberían mantenerse, para asegurar que hay un camino entre cualquier par de ciudades y el costo total sea el menor posible?.

Árboles generadores mínimos Un árbol generador mínimo de un grafo ponderado es un árbol generador tal que la suma de los pesos de sus aristas es la mínima posible de entre todos los árboles generadores. Existen dos algoritmos voraces (procedimientos que realizan una elección óptima en cada uno de sus pasos. La optimización de cada paso no garantiza una solución final optima) a saber: algoritmo de Prim algoritmo de Kruskal

Contenido Árboles generadores Algoritmo búsqueda por profundidad Algoritmo búsqueda en anchura Árboles generadores mínimos Algoritmo de Prim Algoritmo de Kruskal

Algoritmo de Prim Algoritmo propuesto por Robert Prim en 1957. Idea: Elegir cualquier arista de peso mínimo y seleccionarla para el árbol (generador). Luego añadir sucesivamente aristas de peso mínimo que sean incidentes con un vértice que ya está en el árbol y que no formen ciclos con las que ya han sido incorporadas. El algoritmo se ha de detener cuando hayamos añadido n 1 aristas.

Algoritmo de Prim (2) Procedimiento Prim ( G: grafo ponderado conexo y no dirigido de n vertices) T := una arista de peso minimo Para i = 1 Hasta n 2 e := una arista de peso minimo incidente con un vertice de T que no forme un ciclo en T cuando se añada T := T con e añadida Fin Para Fin Procedimiento (T es un arbol generador minimo de G)

Contenido Árboles generadores Algoritmo búsqueda por profundidad Algoritmo búsqueda en anchura Árboles generadores mínimos Algoritmo de Prim Algoritmo de Kruskal

Algoritmo de Kruskal Algoritmo descubierto por Joseph kruskal en en 1956. Idea: Elegir cualquier arista de peso mínimo y seleccionarla para el árbol (generador). Luego añadir sucesivamente aristas de peso mínimo que no formen ciclos con las que ya han sido incorporadas. El algoritmo se ha de detener cuando hayamos añadido n 1 aristas.

Algoritmo de Kruskal (2) Procedimiento Kruskal ( G: grafo ponderado conexo y no dirigido de n vertices) T := grafo vacio Para i = 1 Hasta n 1 e := una arista de peso minimo de G que no forme un ciclo cuando se añada a T T := T con e añadida Fin Para Fin Procedimiento (T es un arbol generador minimo de G)