teoría de grafos - 1 upc
DESCRIPTION
Teoría de Grafos - 1 UPCTeoría de Grafos - 1 UPCTeoría de Grafos - 1 UPCTeoría de Grafos - 1 UPCTRANSCRIPT
MATEMÁTICA COMPUTACIONAL - MA475 1
Matemática Computacional
Introducción a la Teoría de Grafos
MATEMÁTICA COMPUTACIONAL - MA475 2
Logro
El alumno, al término de la unidad, será capaz de manejar los distintos tipos de aplicaciones concernientes a la teoría de grafos, así como saber utilizar los algoritmos que resuelven problemas de camino más corto y redes de transporte.
MATEMÁTICA COMPUTACIONAL - MA475 3
Contenido
• Conceptos básicos asociados a los grafos.• Representación matricial de un grafo.• Caminos, conexión y componentes conexas.
4
INTRODUCCIÓN
¿Es posible recorrer los siete puentes de la ciudad de Königsberg pasando por todos ellos una única vez, partiendo y llegando al mismo sitio?
L. Euler, en 1 736, resolvió este problema proponiendo el concepto de grafo.
MA475 MATEMÁTICA COMPUTACIONAL
grafo
C
B
DA
5
APLICACIONES
MA475 MATEMÁTICA COMPUTACIONAL
Tiempo de vuelos aéreos
Madrid
Coruña
Valencia
Barcelona
Sevilla
Santander2 2
1
4
12
23
2
Planificación de tareas (Pert/CPM)
inicio A(3)
B(2)
D(2)
C(4) E(3) finalI(1)
6
APLICACIONES
MA475 MATEMÁTICA COMPUTACIONAL
Arquitectura de redes de telefonía móvil
7
CONCEPTO DE GRAFO
Un grafo G = (V, E) está compuesto de:
V : conjunto de vértices o nodos
E : conjunto de aristas o arcos que conectan los vértices en V.
Una arista e = (v, w) está formada por dos vértices v y w, en los cuales v es el nodo origen y w es el nodo destino.
Ejemplo:
MA475 MATEMÁTICA COMPUTACIONAL
a b
d e
cV = { a, b, c, d, e}E = { (a, b), (a, c), (a, d), (b, e), (c, d), (c, e), (d, e) }
MATEMÁTICA COMPUTACIONAL - MA475 8
GRAFO DIRIGIDO Y NO DIRIGIDO
Un grafo dirigido o digrafo es un tipo de grafo en el cual las aristas tienen una dirección definida, mientras que el grafo no dirigido es aquel en el que las aristas conectan a los nodos en ambas direcciones.
MATEMÁTICA COMPUTACIONAL - MA475 9
MULTIGRAFOUn multigrafo es un grafo que tiene aristas múltiples; es decir, aristas que relacionan los mismos nodos. De esta forma, dos nodos pueden estar conectados por más de una arista (en la figura se muestran 3 aristas que conectan Bogotá con Cúcuta).
Grafo que representa vuelos sin escala entre ciudades de Colombia
MATEMÁTICA COMPUTACIONAL - MA475 10
MATRIZ DE ADYACENCIA
La matriz de adyacencia de un grafo G = (V, E) ,
donde V = {v1, v2,…, vn}, es una matriz A={aij} tal
que aij = 1 si (vi, vj) E, y aij = 0 en caso contrario.
Matriz de adyacencia de un grafo dirigidoOBS. Si el grafo es no dirigido, la matriz de adyacencia es simétrica
11
EJEMPLO
Determine la matriz de adyacencia de los siguientes grafos:
MA475 MATEMÁTICA COMPUTACIONAL
MATEMÁTICA COMPUTACIONAL - MA475 12
MATRIZ DE INCIDENCIA
Se llama matriz de incidencia de un grafo de n nodos y m aristas, a la matriz B de orden n x m en la que la entrada bij = 1 si la arista j-ésima es incidente
(termina en el nodo) en el nodo i-ésimo y bij = 0, en caso contrario.
Ejemplo: Veamos la matriz de incidencia del grafo con vértices {1,2,3,4,5} y aristas {A,B,C,D,E,F,G,H}
Matriz de incidencia de un grafo
A
B C
DE
FG
H
MATEMÁTICA COMPUTACIONAL - MA475 13
CAMINOS Y CICLOS
Un camino es una secuencia finita de vértices, en la cual cada par de vértices consecutivos son adyacentes entre sí.
Un ciclo es un camino donde el vértice inicial y final coinciden.
MATEMÁTICA COMPUTACIONAL - MA475 14
MATRIZ DE CAMINOS
Se llama matriz de caminos asociada a un grafo a aquella matriz
A={aij} tal que aij = 1 si existe un camino que une vi con vj, y aij
= 0 en caso contrario.
Esta matriz se representa por:
Ejemplo: En el grafo mostrado vemos que los vértices 1 y 5 no son adyacentes pero existe un camino para llegar desde 1 hasta 5
Matriz de caminos de un grafo
MATEMÁTICA COMPUTACIONAL - MA475 15
ALGORITMO PARA CALCULAR LA MATRIZ DE CAMINOSPaso 1: Se calcula la matriz de adyacencia asociada al grafo
Paso 2: Se marcan todos los 1 existentes en la diagonal de la matriz de adyacencia.
Paso 3: Se selecciona, en orden, una fila I de la matriz que aún no ha sido trabajada.
• Se toma el primer 1 «no marcado» de la fila I, y dicho 1 corresponderá a la columna J.
• Se ubica la fila que tiene al vértice J como origen.• Se copian todos los 1’s de la fila J hacia la fila I.• Se marca el 1 correspondiente a la fila I, columna J
Paso 4:
Ir al paso 4 hasta que todos los 1’s de la fila seleccionada se encuentren marcados ó hasta que toda la fila contenga 1’s.
Paso 5:
Ir al paso 3 hasta que se hayan trabajado todas las filas existentes.
Paso 6:
MATEMÁTICA COMPUTACIONAL - MA475 16
EJEMPLO
Determine la matriz de caminos asociada al grafo:
SOLUCIÓN:
Paso 1: Se calcula la matriz de adyacencia asociada al grafo
ℳ𝑅=¿
MATEMÁTICA COMPUTACIONAL - MA475 17
Paso 2: Se marcan todos los 1 existentes en la diagonal de la matriz de adyacencia.
En este caso, no hay ningún 1 para marcar.
Paso 3: Se selecciona, en orden, una fila I de la matriz que aún no ha sido trabajada.
Primero seleccionamos la fila 1
MATEMÁTICA COMPUTACIONAL - MA475 18
Paso 4: • Se toma el primer 1 «no marcado» de la fila I, y dicho 1 corresponderá a la columna J (en este caso la columna 2).
• Se ubica la fila que tiene al vértice J como origen (en este caso la fila 2).
MATEMÁTICA COMPUTACIONAL - MA475 19
• Se copian todos los 1’s de la fila J hacia la fila I. (Es decir, de la fila 2 hacia la fila 1).
• Se marca el 1 correspondiente a la fila I, columna J.
MATEMÁTICA COMPUTACIONAL - MA475 20
Ir al paso 4 hasta que todos los 1’s de la fila seleccionada se encuentren marcados ó hasta que toda la fila contenga 1’s.
Paso 5:
MATEMÁTICA COMPUTACIONAL - MA475 21
Ir al paso 3 hasta que se hayan trabajado todas las filas existentes.
Paso 6:
Continuando el proceso, llegamos a la matriz de caminos:
MATEMÁTICA COMPUTACIONAL - MA475 22
EJERCICIOS
Determine la matriz de caminos asociada a cada uno de los siguientes grafos:
12
4
3
51
2
4
3
5