1. GRAFOS : CONCEPTOS BASICOS

Documentos relacionados
Un GRAFO O GRAFO NO ORIENTADO es una terna G = {V, A,ϕ } conv

Francisco J. Hernández López

Teoría de Grafos Introducción Grafos isomorfos

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

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.

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} }

Tema 1: Introducción a la Teoría de Grafos

Grafos. Algoritmos y Estructuras de Datos III

Tema 5 Árboles y Grafos.

UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-RUACS. Investigación de Operaciones

Los elementos de V son los vértices (o nodos) de G y los elementos de A son las aristas (o arcos) de G.

Capítulo 5 Introducción a la teoría de grafos

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

Análisis de Algoritmos Teoría de grafos

GLOSARIO DE TÉRMINOS BÁSICOS

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

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

Matemáticas Discretas

Introducción a la Teoría de Grafos

TEMA IV TEORÍA DE GRAFOS

Definiciones y ejemplos.

Deseamos interconectar entre si todos los ordenadores de un edificio

Estructuras de Datos y Algoritmos. Grafos

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.

Este material es de uso exclusivo para clase de algoritmos y estructura de datos, la información de este documento fue tomada textualmente de varios

A5 Introducción a la optimización en redes

1. ESTUDIO DE ROBUSTEZ EN REDES DEPENDIENDO DE SU TOPOLOGÍA

INDICE INTRODUCCION1 DESARROLLO2 GRAFOS (CONCEPTO).2 ARISTAS...2 VERTICES2 CAMINOS.3 CLASIFICACION DE GRAFOS...3 GRAFOS EULERIANOS.

Representación y manipulación de grafos: caminos, expansión, cortes y flujos

Conceptos básicos en la Teoría de Grafos

Teoría de grafos y optimización en redes

Matemáticas Discretas

Grafos: Fundamentos Representaciones, etc. Jose Aguilar

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

Algebra Matricial y Teoría de Grafos

OBJETIVOS ÍNDICE BIBLIOGRAFÍA

Introducción a la Teoría de Grafos

Teoría de redes y optimización en redes

5.4 Caminos mínimos: Algoritmo de Dijkstra

Grafos. Amalia Duch Brown Octubre de 2007

Matemáticas Básicas para Computación

TEMA 5 El tipo grafo. Tipo grafo

Francis Guthrie Planteo el problema de los cuatro colores, después de colorear el mapa de Inglaterra 9/15/2015 3

Capítulo 3: Grafos Clase 1: Grafos: Modelos, tipos, representación e isomorfismo

Estructuras de Datos y Algoritmos: Boletín de Problemas del segundo parcial

Teoría de Grafos I. 2. Describa tres situaciones prácticas en las cuales un grafo pueda ser útil.

Caminos y Flujos optimales. 2da y 3er clase 2007

Parte de Algoritmos de la asignatura de Programación Master de Bioinformática. Grafos

GRAFOS. 1. La matriz de adyacencia del grafo G es

Capítulo 4: Grafos Clase 2: Caminos, Circuitos Eulerianos y Hamiltonianos

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

Tema 2: Grafos y Árboles. Algoritmos y Estructuras de Datos 3

1. GRAFOS REGULARES Y ALEATORIOS

GRAFOS. Tomado de: Joyanes Aguilar Luis, Estructuras de datos en Java. CASOS

Clase 1: Gráficas. Malors Espinosa Lara. 6 de Febrero de 2010

Estructuras de Datos y Algoritmos

5.6 Árbol generador de un grafo

Definiciones: conjuntos, grafos, y árboles. Agustín J. González ELO 320: Estructura de Datos y Algoritmos. 2002

3.0.-ARBOLES ABARCADORES Y COMPONENTES CONEXOS CONCEPTO DE ARBOL ABARCADOR Y SU RELACION CON LOS RECORRIDOS.

Álgebra y Matemática Discreta

Teoría de Grafos y Árboles.

Hamilton, Euler y Dijkstra

Grafos Los siete puentes de Königsberg: Teoría de Grafos

ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES

Tema 15: GRAFOS Algoritmos y estructuras de datos I - Tema 15 1

Fundamentos de la teoría de grafos

Á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.

TIPOS ABSTRACTOS DE DATOS EN HASKELL

Grafos. 19 de diciembre de 2013

2007 Carmen Moreno Valencia

Estructura de Datos Página 1 de 13 ESTRUCTURA DE DATOS

Indice. 1. Tipos de grafos. 2. Conceptos Básicos 3. Representación de grafos 4. Subgrafos. Grafos complementarios

Introducción a la teoría de grafos

Ciclos Hamiltonianos Algoritmo de la Ruta Más Corta. Matemática Discreta. Agustín G. Bonifacio UNSL. Teoría de Grafos II

Lógica de Proposiciones y de Predicado

Universidad Tecnológica Nacional Facultad Regional Buenos Aires. Gestión de Datos. Teoría de Grafos

TEORIA DE GRAFOS. Estructuras Discretas Ing. Jenny Paredes Aguilar

Capítulo 7. Grafos. Continuar

Unidad 1 Introducción a la teoría de gráficas

Tema 2.TEORIA Y APLICACIONES DE LA TEORÍA DE GRAFOS.

Método simplex para redes (representaciones gráficas) Cálculo del flujo de un árbol de expansión

Teoría de Grafos y Árboles. UCR ECCI CI-0111 Estructuras Discretas Prof. Kryscia Daviana Ramírez Benavides

Tema 2. Fundamentos Teóricos de la. programación dinámica Teorema de Optimalidad de Mitten

Matemáticas discretas II

Gráficas : teoría, aplicaciones e interacciones : II

Teoría de Grafos. Herramientas de programación para procesamiento de señales

Espectros de grafos. Mariano Suárez-Álvarez. 12 de mayo, 2015

Sesión 4: Teoría de Grafos

Coloreo de vértices Definiciones: Coloreo de Grafos. Cotas para χ Proposición: Si H es un subgrafo de G entonces χ(h) χ(g).

Algoritmos voraces (greedy)

Teoría de Grafos. 2.1 Introducción: grafos y digrafos

TEMA 2 FUNDAMENTOS Y APLICACIONES DE LA TEORIA DE GRAFOS. DIAGRAMAS EN ARBOL.

Teoría de Grafos. 5.1 Introducción.

1 Espacios completos de desplazamiento.

AnAnálisis de redes de transporte Tr. Muchas veces se utiliza en aplicaciones que nada tienen que ver con el transporte

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

Teoría de grafos. Coloración de vértices

Matemáticas Discretas L. Enrique Sucar INAOE. Teoría de Grafos. Problema de los puentes de Königsberg [Euler]

Transcripción:

1. GRAFOS : CONCEPTOS BASICOS Sea V un conjunto finito no vacio y sea E V x V. El par (V, E) es un grafo no dirigido, donde V es un conjunto de vértices o nodos y E es un conjunto de aristas. Denotaremos el número de vértices del conjunto como V =n y el número de aristas del mismo como E =m. El grafo es dirigido si E es un conjunto de arcos, en lugar de ser un conjunto de aristas, es decir, si las aristas pertenecientes a E tienen dirección. En este caso, el grafo puede ser denominado dígrafo. Figura 1: (1) Grafo no dirigido. (2) Grafo dirigido Para cualquier arista, como por ejemplo, b-c (figura 1), decimos que la arista es incidente en los vértices b y c; b es adyacente a c y c es adyacente a b. Para cualquier arco, como puede ser g-f (figura 1), g es el origen o fuente de la arista (g, f) y el vértice f es el término o vértice terminal. Se denomina bucle o lazo a una arista o un arco que tiene como fuente y término el mismo nodo o vértice. Supondremos, mientras que no se especifique lo contrario, que el grafo G=(V, E) es no dirigido, y sean x e y vértices (no necesariamente distintos) del mismo. Un camino x-y es una sucesión alternada finita (sin lazos),,,,,,..,,,,, de vértices y aristas de G, que comienzan en el vértice x y termina en el vértice y, y que contiene las k-1 aristas, donde 0 i k-2. Si suponemos que el número de nodos es k, la longitud de un camino es k-1, es decir, el número de aristas que hay en ese camino. Si k = 1, no hay aristas, x es igual a y, y el camino se denomina trivial. Cualquier camino en el que x = y, siendo k>2, se denomina camino cerrado. En caso contrario, el camino es abierto. 16

Un camino puede repetir vértices y aristas. Si no se repite ninguna arista en el camino x- y, entonces el camino es elemental. También se le denomina recorrido. Un recorrido cerrado se llama circuito. Si ningún vértice del camino se presenta más de una vez, el camino es simple. El término ciclo se usa para describir un camino simple cerrado. Decimos que el grafo es conexo si existe un camino simple entre cada par de vértices cualesquiera distintos de G. Un grafo que no es conexo es disconexo o no conexo. Denotaremos por C (G) al número de componentes de G. Así, C (G) será uno si el grafo es conexo. Diremos que un grafo regular es aquel en el cual todos los vértices tienen el mismo número de aristas incidentes, y aleatorio si sus aristas siguen una distribución aleatoria y, por tanto, no ha sido diseñado con ningún criterio concreto. Otros conceptos de gran importancia en un grafo son: Distancia entre dos vértices: Longitud del camino más corto entre esos vértices. Denotaremos entonces la distancia mínima entre los vértices i y j como d ij, si se suponen distancias reales y se consideran aspectos métricos, y u ij si se suponen distancias unidad y se consideran, por tanto, aspectos topológicos. Esta magnitud se calcula realizando cualquier algoritmo de camino más corto como el algoritmo de Dijsktra (visto posteriormente) desde cada vértice al resto. Excentricidad de un vértice v: La excentricidad de v є V se define como la distancia máxima desde v a cualquier otro vértice del grafo G siguiendo caminos de longitud mínima. Se denotará por ξ (v). Diámetro: Longitud del camino más corto para unir los dos vértices más alejados de la red. También puede ser entendido como el máximo de las excentricidades de todos los vértices del grafo. A partir de ahora lo denotaremos con D. Grado o valencia de un vértice: Número de aristas incidentes en el vértice. Se denotará con k. Valor medio del grado o valencia de los nodos del grafo: 17

k k ; i = 1,,n (1) donde k i es el grado correspondiente al nodo i. Valor mínimo de grado o valencia: Número mínimo de aristas incidentes en un vértice de entre todos los vértices existentes en el grafo. Se denotará como k mín. Valor máximo de grado o valencia: Número máximo de aristas que inciden en un vértice de entre todos los vértices del grafo. Se denotará como k max. Matriz de adyacencia: Matriz simétrica de orden n, donde n es el número de vértices del grafo. Compuesta por unos y ceros, se define como:. 1, si los vertices i y j son adyacentes (2) 0, en caso contrario P(k): Distribución de probabilidad de que un nodo arbitrariamente seleccionado esté conectado con otros k nodos. Equivalentemente, también puede ser definida como la fracción de vértices de una red que tiene grado k. h-entorno de un vértice v: Conjunto de vértices con una distancia mínima menor o igual a h desde v. Denotaremos la 1-entorno o 1-vecindad del vértice v como N (v). N(V i ), N(E i ): Concepto similar a la h-vecindad. Denominaremos N(V i ) al conjunto de vértices adyacentes a los pertenecientes a V i. Denominaremos N(E i ) al conjunto de vértices incidentes a las aristas pertenecientes a E i. Vértice de corte de un grafo: Vértice que cuando se elimina (esto supone la eliminación de todas las aristas incidentes en él) incrementa el número de componentes conexas del grafo, es decir, escinde el grafo en dos o varios subgrafos conexos. 18

Arista de corte de un grafo: Arista que cuando se elimina incrementa el número de componentes conexas del grafo, es decir, escinde el grafo en dos o varios subgrafos conexos. Corte de un grafo: Supresión de un conjunto de nodos o aristas en el grafo que produce el incremento en el número de componentes conexas del grafo. Si el grafo no es ponderado, el corte se considera mínimo cuando el número de nodos o aristas eliminados ha sido mínimo. Por el contrario, si el grafo es ponderado, el corte mínimo es aquel que suprime el conjunto de menor peso, siendo obtenido el peso del conjunto a partir de la suma de los pesos de las aristas y nodos considerados independientemente. El corte es equilibrado cuando el grafo se escinde en dos subgrafos que contienen aproximadamente el mismo número de vértices, a saber y. Por último, destacar o definir algunos tipos de grafos concretos: - Un grafo conexo y sin ciclos es lo que se denomina árbol. - Un grafo es completo (mallado total) si entre dos vértices cualesquiera de dicho grafo existe una arista en el caso de un grafo no dirigido y un arco en el caso de un grafo dirigido. - Un grafo bipartito es aquel cuyos vértices se pueden separar en dos subconjuntos disjuntos V 1 y V 2 y las aristas siempre unen vértices de un conjunto con vértices de otro. Se cumplen: 1., siendo V el conjunto de todos los vértices del grafo. 2. Φ 3.,,,, no existe ninguna arista, ni, - Un grafo es fuertemente conexo si para cada par de vértices u y v, existe un camino desde u a v y otro desde v a u. Esta definición solo tiene sentido cuando el grafo es dirigido. 19

Algoritmo de Dijsktra Sea un grafo ponderado, G= (V, E) con un nodo v 1 є V, en el que hemos asignamos a cada arco a ij un peso σ ij. Por tanto, el peso de un camino entre los nodos i y j Γ,,,,,, Como γ,,. El problema consiste en determinar el camino más corto desde v 1 al resto de nodos de la red. Si llamamos g j al peso del camino más corto entre el nodo v 1 y el j, el algoritmo sigue los siguientes pasos: 1. Inicializa: P={1}, T={2,3,4,,n}, g 1 = 0, g j = si j є 1-vecindad(1), g j = si j 1-vecindad(1) 2. Designación de una etiqueta variable como fija: Determinar k T tal que. Hacer \. Hacer. Mientras exista algún nodo dentro del conjunto T, continuamos este paso con el paso 3. Sino finalizamos el algoritmo. 3. Actualización: 1- vecindad (k), min, y pero no contenido en la 1-vecindad (k), g j permanece con el mismo valor. Volvemos al paso 2. El coste del algoritmo es del orden de, donde V es el número de vértices y A el número de aristas. Ejemplo 20

En este punto de la memoria, calcularemos todos estos conceptos definidos en este primer apartado sobre algún grafo sencillo. Con ello se pretende aclarar los conceptos y dudas que pudieran surgir en su lectura. El grafo tomado que se ha escogido como modelo es el mostrado en la figura 2. Figura 2: Nodos numerados (negro), aristas numeradas (verde), peso de cada arista (rojo). Este grafo, definido como G = (V,E), donde V = {1,2,3,4,5,6} y E = {1,2,3,4,5,6,7,8} es conexo, no completo (faltan 7 aristas para obtener el grafo ideal: 1-5, 1-3, 6-2, 6-3, 6-4, 5-3, 4-2) y no dirigido (las aristas no tiene dirección. El peso de la arista en ambos sentidos es el mismo). La matriz de adyacencia es 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 1 0 0 0 1 0 Las distancias mínimas topológicas entre vértices son: 0 ; 1 ; 2 ; 1 ; 2 ; 1 1 ; 0 ; 1 ; 2 ; 1 ; 2 2 ; 1 ; 0 ; 1 ; 2 ; 3 1 ; 2 ; 1 ; 0 ; 1 ; 2 2 ; 1 ; 2 ; 1 ; 0 ; 1 1 ; 2 ; 3 ; 2 ; 1 ; 0 Matricialmente, esto se puede expresar: 21

0 1 2 1 2 1 1 0 1 2 1 2 2 1 0 1 2 3 1 2 1 0 1 2 2 1 2 1 0 1 1 2 3 2 1 0 Las distancias mínimas reales entre sus vértices son más complejas de calcular. Para hacerlo, emplearemos el algoritmo de Dijsktra: Origen: Vértice 1 Paso 1: P = {1}, T = {2, 3, 4, 5, 6}, 0 ; 3 ; ; 2 ; ; 4 Paso 2: Determinar k T tal que, es decir, 2. Añadimos el nodo 4 al conjunto P y lo extraemos del conjunto T. P = {1,4} y T = {2, 3, 5,6}. Como seguimos teniendo elementos en T, continuamos. Paso 3: Actualización, Γ, min,, es decir, min, min,29 11 min, min,25 7 y, pero no adyacente a k, g j permanece con el mismo valor, es decir, 3 y 4. Paso 2: El mínimo valor de g k es ahora g 2 = 3. Luego, P = {1, 2,4} y T = {3, 5,6}. Paso3: El nodo 2 está conectado con los vértices contenidos en T, 3 y 5. Luego, 4, mientras que min11, min11,3 1 4 min7, min7,3 2 5 Paso 2: Existen dos valores mínimos. Sería indiferente que cogiéramos uno u otro. Añadiremos al conjunto P el nodo 3, con lo que P = {1, 2, 3,4} y T = {5,6}. Paso 3: El nodo 3 no está conectado ni al vértice 5 ni al 6, luego en este caso no habría que actualizar ningún valor. Paso 2: Añadimos el nodo 6 al conjunto. P = {1, 2, 3, 4,6} y T = {5}. 22

Paso 3: El nodo 5 está conectado al 6. Actualizamos el valor de distancia: min5, min5,4 6 5 El vector de distancias mínimas del vértice 1 al resto es: Origen: Vértice 2 0 3 4 2 5 4 Los razonamientos seguidos han sido los mismos, por lo que se realizarán los cálculos de forma más esquemática. Paso 1: P = {2}, T = {1, 3, 4, 5, 6}, 0 ; 3 ; 1 ; ; 2 ; Paso 2: El nodo más cercano al nodo 2 es el 3. P = {2,3} y T = {1, 4, 5,6}. Como seguimos teniendo elementos en T, continuamos. Paso 3: Al vértice 3 es adyacente tan solo el 4. Con lo cual, min, min, 1 9 10 El resto de los valores permanecen igual: 3 ; 10 ; 2 ; Paso 2: El mínimo valor de g k es ahora g 5 = 2. Luego, P = {2, 3,5} y T = {1, 4,6}. Paso3: El nodo 5 está conectado con los vértices contenidos en T, 4 y 6. Luego, 3, mientras que min10, min10,2 5 7 min, min,26 8 Paso 2: Añadiremos al conjunto P el nodo 1, con lo que P = {1, 2, 3,5} y T = {4,6}. Paso 3: El nodo 1 está conectado al 6, luego en este caso, 7, mientras que min8, min8,3 4 7 Paso 2: P = {1, 2, 3, 5,6} y T = {4}. 23

Paso 3: Al no estar el nodo 6 conectado al 4 no he de actualizar el valor. El vector de distancias mínimas del vértice 2 al resto es: 3 0 1 5 2 7 Origen: Vértice 3 El vector de distancias mínimas del vértice 3 al resto se calcula siguiendo el mismo razonamiento que ha sido realizado cuando tomábamos los vértices 1 ó 2 como origen. El vector obtenido es: 4 1 0 7 3 8 Origen: Vértice 4 El vector de distancias mínimas del vértice 4 al resto se calcula siguiendo el mismo razonamiento que ha sido realizado cuando tomábamos los vértices 1 ó 2 como origen. El vector obtenido es: 2 5 7 0 5 6 Origen: Vértice 5 Aplicando las propiedades de simetría que debe tener la matriz resultante, podemos obtener los valores de las mínimas distancias del nodo 5 al 1, 2,3 y 4. La única que falta es la distancia al nodo 6, pero esta se aprecia fácilmente que es 6. Origen: Vértice 6 Por simetría se obtiene la distancia de este nodo a todos los demás. Por lo tanto, la matriz de distancias mínimas entre cada par de nodos es: 24

0 3 4 2 5 4 3 0 1 5 2 7 4 1 0 7 3 8 2 5 7 0 5 6 5 2 3 5 0 6 4 7 8 6 6 0 De acuerdo con estos resultados, las excentricidades de los vértices son: ξ(1) = 5, ξ(2) = 7, ξ(3) = 8, ξ(4) = 7, ξ(5) = 6, ξ(6) = 8 Y el diámetro, D = 8. El grado o valencia de los nodos es k(1) = 3, k(2) = 3, k(3) = 2, k(4) = 3, k(5) = 3, k(6) = 2 Por lo que, k min = 2 y k máx = 3. El valor medio de grado k med = 1/6*(3*4+2*2) =16/6 = 2,66667. Si tomamos, por ejemplo, el vértice 1, veremos cómo su 1-entorno es el conjunto formado por los nodos {2, 4,6}. La 2-entorno sería el conjunto formado por {3,5}. Si suponemos un conjunto de vértices V i formado por el vértice 1, N(V i ) sería equivalente a la 1-entorno. Si el conjunto, sin embargo, estuviese formado por los nodos {1,2}, N(V i ) contendría los vértices restantes que constituyen el grafo, es decir, {3,4,5,6}, ya que cualquiera de ellos es accesible o desde 1 o desde 2. Si definimos, por ejemplo, un conjunto E 1 formado por las aristas {2,5}, N(E 1 ) estaría formado por los vértices {1,2,4,5}. 25