Unidad 6 - Grafos
-
Upload
miguel-guanira-erazo -
Category
Documents
-
view
30 -
download
1
Transcript of Unidad 6 - Grafos
-
ALGORITMOS(CIC621)
Unidad 6. Grafos
J. Miguel Guanira Erazo MSc.
Escuela de Posgrado Maestra en Informtica 1
-
Unidad 6. Grafos
GRAFOS:
Un grafo G = (V, A) es una estructura de datoscompuesta por un conjunto de elementosdenominados Vrtices (nodos) y un conjunto deAristas o Arcos que conectan los vrtices.
Cada arista es un par (v, w), donde v, w V. Si elpar (v, w) es un par ordenado, el grafo recibe elnombre de Grafo Dirigido.
Escuela de Posgrado Maestra en Informtica 2
-
Unidad 6. Grafos
GRAFOS:Los Grafos permiten abordar todos los problemas de tipo conectividad (el objeto O1 est conectado de una manera u otra al objeto O2) o de optimizacin (caminos ms cortos).Ejemplos: Modelacin de trfico Planificacin de movimientos: recoleccin de
basura, reparto de correspondencia Redes informticas, Internet. Etc.
Escuela de Posgrado Maestra en Informtica 3
-
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 4
Lima
Ancash
Cajamarca
Junn
Ucayali
Cuzco
Ica
Ayacucho Puno
EJEMPLO DE GRAFO
-
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 5
GRAFO DIRIGIDO
H
Y
P
F
U Q
K
M
A
-
Unidad 6. Grafos
GRAFOS:Definiciones: Grado(v): Denominado grado de un vrtice, es elnmero de aristas que se conectan a un vrtice. Sedenota como grado(v). En el ejemplo, P es unvrtice de grado 4, grado(K) = 3, y grado(A) = 0.
Escuela de Posgrado Maestra en Informtica 6
H
Y
P
F
U QK
MA
-
Unidad 6. Grafos
GRAFOS:Definiciones: Vrtices adyacentes: Dos vrtices son adyacentessi est unidos por una arista. En ese caso se dice quela arista es incidente en esos vrtices. En elejemplo, P y Q son adyacente, P y K no sonadyacentes.
Escuela de Posgrado Maestra en Informtica 7
H
Y
P
F
U QK
M
-
GRAFOS:Definiciones: a = (u, u): Denominado lazo o bucle, es una aristaque conecta un vrtice consigo mismo.En el ejemplo los nodos H y M estn conectados
con lazos.
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 8
H
Y
P
F
U QK
M
-
Unidad 6. Grafos
GRAFOS:Definiciones : P = (v1, v2,, vn): Denominado camino, es lasecuencia de vrtices que se debe seguir para llegardel vrtice v1 (origen) al vrtice vn(destino). En elejemplo un camino P para llegar del nodo H al nodoA es H-Y-F-K-A
Escuela de Posgrado Maestra en Informtica 9
H
Y
P
F
U QK
MA
-
Unidad 6. Grafos
GRAFOS:Definiciones : P = (v1, v2,, vn): Se denomina camino cerrado, siel origen (v1) coincide con el destino (vn). En elejemplo el camino H-Y-F-Q-P-H, es un caminocerrado.
Escuela de Posgrado Maestra en Informtica 10
H
Y
P
F
U QK
MA
-
Unidad 6. Grafos
GRAFOS:Definiciones : P = (v1, v2,, vn): Se denomina camino simple, sitodos los vrtices excepto el origen y el destino,son distintos. En el ejemplo el camino H-Y-F-Q-P-H, es un camino simple, pero el camino H-Y-Q-P-M-Q-K no lo es.
Escuela de Posgrado Maestra en Informtica 11
H
Y
P
F
QK
MA
-
Unidad 6. Grafos
GRAFOS:Definiciones : Ciclo: Se denominado ciclo, al camino simple ycerrado que incluye 3 o ms vrtices. En el ejemplolos caminos H-Y-Q-P-H y M-K-A-M son ciclos.
Escuela de Posgrado Maestra en Informtica 12
H
Y
P
F
QK
MA
-
Unidad 6. Grafos
GRAFOS:Definiciones : Tour: Se denominado tour, al camino simple queune todos los vrtices. En el ejemplo el caminosdado por H-Y-F-K-A-M-P-Q es un tour.
Escuela de Posgrado Maestra en Informtica 13
H
Y
P
F
QK
MA
-
Unidad 6. Grafos
GRAFOS:Definiciones : Grafo conexo: Un grafo es conexo si para todo parde vrtices del grafo existe un camino entre ellos.Si el grafo no es dirigido se dice que es dbilmenteconexo. En el ejemplo se puede decir que el grafoes dbilmente conexo.
Escuela de Posgrado Maestra en Informtica 14
H
Y
P
F
QK
MA
-
Unidad 6. Grafos
GRAFOS:Definiciones : Grafo rbol: Un grafo es de tipo rbol si es un esun grafo conexo y no tiene ciclos.
En el ejemplo se puede decir que el grafo es de tiporbol.
Escuela de Posgrado Maestra en Informtica 15
1
5
2
4
3
3
1
4
2
-
Unidad 6. Grafos
GRAFOS:Definiciones : Si el grafo es dirigido se dice que es fuertementeconexo. En el ejemplo se puede decir que el grafoes fuertemente conexo.
Escuela de Posgrado Maestra en Informtica 16
H
Y
P
F
Q
-
Unidad 6. Grafos
GRAFOS:Definiciones : Grafo completo: Un grafo es completo si todos susnodos son adyacentes. En el ejemplo se puede decirque el grafo es completo.
Escuela de Posgrado Maestra en Informtica 17
H
Y
P
F
Q
-
Unidad 6. Grafos
GRAFOS:Definiciones : Multigrafo: Se denomina as al grafo que por lomenos dos de sus vrtices estn conectados por dosaristas. En el ejemplo se puede decir que el grafo esmultigrafo.
Escuela de Posgrado Maestra en Informtica 18
H
Y
P
F
Q
-
Unidad 6. Grafos
GRAFOS:Definiciones : Subgrafo: Dado un grafo G = (V, A), se denominasubgrafo a aquel grafo G1 = (V1, A1) en el que secumple que V1 V, V1 y que A1 A. Ademscada arista de A1 es incidente con V1. En elsiguiente ejemplo se puede apreciar este concepto.
Escuela de Posgrado Maestra en Informtica 19
-
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 20
H
Y
P
F
Q
A
C
B
SubGrafo
-
Unidad 6. Grafos
GRAFOS:Definiciones: Grafo etiquetado: Se dice que un grafo estetiquetado si sus arista tienen algn valor (costo,peso, longitud etc.).
Escuela de Posgrado Maestra en Informtica 21
H
Y
P
F
U QK
M1055
9
25
8
20
6018
-
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 22
GRAFOS DIRIGIDOS
-
Unidad 6. Grafos
GRAFOS DIRIGIDOS:
Un grafo dirigido G, denominado tambin digrafo, esaquel grafo en el que cada una de sus aristas a estasignada a un par ordenado (u, v) de vrtices de G, esdecir tienen una direccin asignada.
Escuela de Posgrado Maestra en Informtica 23
H
Y
P
F
Q
-
Unidad 6. Grafos
ARCO O ARISTA DIRIGIDA:
Se denominan as a las aristas de un grafo dirigido.Se expresan como u v.
-u es el origen y v es el destino.-u es predecesor de v y v es sucesor de u.-u es adyacente hacia v y v es adyacente desde u.
Escuela de Posgrado Maestra en Informtica 24
u varco a:
-
Unidad 6. Grafos
MATRIS DE AYACENCIA:
Los grafos dirigidos, por lo general se modelan mediantearreglos de dos dimensiones de valores binarios (0/1 ofalse/true). Son matrices cuadradas de orden n x n,donde n es representa el nmero de vrtices del grafo. Aestos arreglos se les denomina matrices de adyacenciaM. Las filas de la matriz se relacionan con los vrtices deorigen, mientras que las columnas los vrtices de destino,y los valores de sus elementos M[u][v] tienen un valorde 1 (uno) si existe un arco desde u hacia v y 0 (cero) sino.
Escuela de Posgrado Maestra en Informtica 25
-
Unidad 6. Grafos
MATRIS DE AYACENCIA:Ejemplo:
Escuela de Posgrado Maestra en Informtica 26
H
Y
P
F
U QK
M
F H K M P Q U YF 0 0 1 0 0 1 0 0H 0 0 0 0 1 0 0 1K 0 0 0 1 0 0 0 0M 0 0 1 0 0 0 0 0P 0 0 0 1 0 1 0 1Q 0 0 1 0 1 0 0 0U 0 0 0 0 0 0 0 0Y 1 1 0 0 0 0 1 0
-
Unidad 6. Grafos
MATRIS DE AYACENCIA:Variante (grafos etiquetados):
Escuela de Posgrado Maestra en Informtica 27
F H K M P Q U YF 0 0 12 0 0 9 0 0H 0 0 0 0 6 0 0 0K 0 0 0 10 0 0 0 0M 0 0 0 0 0 0 0 0P 0 0 0 5 0 1 0 8Q 0 0 11 0 14 0 0 0U 0 0 0 0 0 0 0 0Y 7 2 0 0 0 0 2 0
H
Y
P
F
U QK
M
10
56
8
12
2
7
211
14
9
-
Unidad 6. Grafos
LISTAS DE AYACENCIA:
Otra manera de modelar los grafos dirigidos, es pormedio de arreglos unidimensionales de n elementos,donde n representa el nmero de vrtices del grafo. Cadaelemento u del arreglo representan los vrtices de origeny su valor M[u] es un puntero a una lista ligada en dondecada nodo representa el vrtice de destino.
Escuela de Posgrado Maestra en Informtica 28
-
Unidad 6. Grafos
LISTA DE AYACENCIA:Ejemplo:
Escuela de Posgrado Maestra en Informtica 29
F
H
K
M
P
Q
U
Y
H
Y
P
F
U Q K
M
K Q
P Y
M
K
M Q Y
K P
F H U
-
Unidad 6. Grafos
LISTA DE AYACENCIA:Ejemplo:
Escuela de Posgrado Maestra en Informtica 30
F
H
K
M
P
Q
U
Y
K/12 Q/9
P/6
M/10
M/5 Y/8
K/11 P/14
F/7 H/2 U/2
H
Y
P
F
U QK
M
10
56
8
12
2
7
211
14
9
-
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 31
DETERMINACIN DE CAMINOS EN GRAFOS
DIRIGIDOS
-
Unidad 6. Grafos
DETERMINACIN DE CAMINOS EN GRAFOS DIRIGIDOS:
Existen muchos problemas en los que se requiereconocer la existencia de caminos , de manera directa oindirectamente, entre dos puntos. Por otro lado ladeterminacin del menor camino entre dos puntos esigualmente til.Los grafos dirigidos son ideales para resolver este tipo deproblemas.
Escuela de Posgrado Maestra en Informtica 32
-
Unidad 6. Grafos
DETERMINACIN DE CAMINOS EN GRAFOS DIRIGIDOS:
Existen muchos algoritmos que permiten encontrarcaminos que partan de un punto de origen y que lleguena un punto destino recorriendo la menor distancia. Losalgoritmos ms famosos son:
El algoritmo de Dijkstra El algoritmo de Floyd El algoritmo de Warshall
Los tres algoritmos emplean una matriz de adyacencia
Escuela de Posgrado Maestra en Informtica 33
-
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 34
ALGORITMO DE DIJKSTRA
-
Unidad 6. Grafos
ALGORITMO DE DIJKSTRA:
El algoritmo de Dijkstra determina la ruta ms cortaentre un vrtice de origen a cualquier otro vrtice delgrafo dirigido.
Elementos requeridos:
Una matriz de adyacencia M de n x n elementos en elque se coloca en cada elemento M[u][v], la distanciaentre los puntos u y v, si no existe el camino se colocaun valor muy grande (). No se consideran los bucles(M[u][u] = 0).
Escuela de Posgrado Maestra en Informtica 35
-
Unidad 6. Grafos
ALGORITMO DE DIJKSTRA:
Un arreglo S que guardar los vrtices una vez seconozca el camino mnimo entre l y el origen.Inicialmente contendr el vrtice origen. Se manejacomo un conjunto.
Un arreglo D de n elementos, cada uno representa unvrtice del grafo, en el que se guarda la distancia entre elorigen y el vrtice. Al terminar el algoritmo, loselementos tendrn las distancias mnimas
Escuela de Posgrado Maestra en Informtica 36
-
Unidad 6. Grafos
ALGORITMO DE DIJKSTRA:
Se tienen el conjunto de vrtices V: 1(origen), 2,3,4,, n
Colocar el vrtice origen en el conjunto S. Repetir desde 2 hasta n
o Elegir un vrtice v en V-S tal que D[v] sea el mnimovalor.
o Agregar v a S.o Repetir para cada vrtice w en V-SHacer D[w] mnimo ( D[w], D[v] + M[v][w] )
Escuela de Posgrado Maestra en Informtica 37
-
Unidad 6. Grafos
ALGORITMO DE DIJKSTR:Ejemplo 1: origen ==> 1
Escuela de Posgrado Maestra en Informtica 38
11
1
3
2
5
464
3
3
5
6
2
1 2 3 4 51 0 4 11 2 0 6 23 3 0 6 4 0 5 5 3 0
-
Unidad 6. Grafos ALGORITMO DE DIJKSTR:
Ejemplo 1:
Escuela de Posgrado Maestra en Informtica 39
S={1} V - S={2, 3,4,5}
V ={1,2,34,5}
1 2 3 4 5
D 0 4 11 1)min = 4 v = 2 S = {1, 2} V - S = {3, 4, 5}
w 3 D[3] = 11D[2] + M[2][3] = 4 + = min = 11
w 4 D[4] = D[2] + M[2][4] = 4 + 6 = 10min = 10
w 5 D[5] = D[2] + M[2][5] = 4 + 2 = 6min = 6
-
Unidad 6. Grafos ALGORITMO DE DIJKSTR:
Ejemplo 1:
Escuela de Posgrado Maestra en Informtica 40
S={1, 2} V - S={3,4,5}1 2 3 4 5
D 0 4 11 10 62)
min = 6 v = 5 S = {1, 2, 5} V - S = {3, 4}w 3 D[3] = 11
D[5] + M[5][3] = 6 + 5 = 11min = 11
w 4 D[4] = D[5] + M[5][4] = 6 + 3 = 9min = 9
-
Unidad 6. Grafos ALGORITMO DE DIJKSTR:
Ejemplo 1:
Escuela de Posgrado Maestra en Informtica 41
S={1, 2,5} V - S={3,4}1 2 3 4 5
D 0 4 11 9 63)
min = 9 v = 4 S = {1, 2, 4, 5} V - S = {3}w 3 D[3] = 11
D[4] + M[4][3] = 9 + = min = 11
Distancia mnima de 1 a 2 41 a 3 111 a 4 91 a 5 6
-
Unidad 6. Grafos ALGORITMO DE DIJKSTR:
Ejemplo 1:
Escuela de Posgrado Maestra en Informtica 42
Resultado: Distancia mnima de 1 a 2 41 a 3 111 a 4 91 a 5 6
-
Unidad 6. Grafos
ALGORITMO DE DIJKSTR:Ejemplo 2:
Escuela de Posgrado Maestra en Informtica 43
4 1 2 3 4 5 6 7 81 0 2 3 2 4 0 4 6 3 6 0 7 4 0 5 45 6 0 4 36 0 7 2 0 58 1 8
71
32
54
4
36
5
62
6
78
6
42
5
1
3
4
-
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 44
ALGORITMO DE FLOYD
-
Unidad 6. Grafos
ALGORITMO DE FLOYD:
El algoritmo de Floyd determina la ruta ms corta entretodos los vrtices de un grafo dirigido.
Elementos requeridos:
Una matriz de adyacencia M de n x n elementos en elque se coloca en cada elemento M[u][v], la distanciaentre los puntos u y v, si no existe el camino se colocaun valor muy grande (). No se consideran los bucles(M[u][u] = 0).
Escuela de Posgrado Maestra en Informtica 45
-
Unidad 6. Grafos
ALGORITMO DE FLOYD:
Repetir para todo w desde 1 hasta noRepetir para todo u desde 1 hasta nRepetir para todo v desde 1 hasta nSi Muw+Mwv < Muv entonces9Muv Muw+Mwv
Escuela de Posgrado Maestra en Informtica 46
-
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 47
ALGORITMO DE WARSHALL
-
Unidad 6. Grafos
ALGORITMO DE WARSHALL:
El algoritmo de Warshall determina si hay una ruta entretodos los vrtices de un grafo dirigido (no da distancias).
Elementos requeridos:
Una matriz de adyacencia M de n x n elementos en elque se coloca en cada elemento M[u][v], el valor 1 sihay un arco que une los vrtices u y v, 0 si no.
Una matriz de C de n x n, inicialmente igual a M dondese guardar 1 si hay un camino entre los vrtices u y v, 0si no.
Escuela de Posgrado Maestra en Informtica 48
-
Unidad 6. Grafos
ALGORITMO DE WARSHALL:
Repetir para todo w desde 1 hasta noRepetir para todo u desde 1 hasta nRepetir para todo v desde 1 hasta nSi Cuv = 0 entonces9Cuv Cuw Cwv
Escuela de Posgrado Maestra en Informtica 49
-
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 50
GRAFOS NO DIRIGIDOS
-
Unidad 6. Grafos
DETERMINACIN DE CAMINOS EN GRAFOS NO DIRIGIDOS:
Los grafos no dirigidos sirven para solucionar problemasde ruteo en los que el costo de ir del vrtice u al vrtice vel igual al de ir del vrtice v al vrtice u.
Escuela de Posgrado Maestra en Informtica 51
11
1
3
2
5
4
64
3
35
6
2
-
Unidad 6. Grafos
RBOL DE EXTENSIN MNIMA:
Un rbol de extensin mnima de un grafo no dirigidoG(V,A) se define como un rbol que conecta todos losvrtices V y est formado por las aristas de menor costo.
Escuela de Posgrado Maestra en Informtica 52
1
5
2
4
3
3
1
3
45
62
1
5
2
4
3
3
1
4
2
-
Unidad 6. Grafos
RBOL DE EXTENSIN MNIMA:
Si se necesita cablear una casa con un mnimode cable, entonces se necesita resolver unproblema de rbol de extensin mnima.
Escuela de Posgrado Maestra en Informtica 53
-
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 54
ALGORITMO DE PRIM
-
Unidad 6. Grafos
ALGORITMO DE PRIM:
El algoritmo de Prim permite encontrar el rbol deextensin mnima para un grafo.
Elementos requeridos:
Un conjunto V que contiene los vrtices del grafo.V={1,2,3n}
Un conjunto U que contendr los vrtices del grafo.Inicialmente contiene el primer vrtice, U = {1}.
Un conjunto L de aristas que se formar con las aristasde menor costo. Inicialmente la lista estar vaca, L= .
Escuela de Posgrado Maestra en Informtica 55
-
Unidad 6. Grafos
ALGORITMO DE PRIM:
Mientras V U haceroElegir una arista (u, v) del grafo tal que:Su costo sea mnimo yu U y v V-U
oAgregar la arista (u, v) a LoAgregar el vrtice v al conjunto U
Escuela de Posgrado Maestra en Informtica 56
-
Unidad 6. Grafos
ALGORITMO DE PRIM:Ejemplo 1:
Escuela de Posgrado Maestra en Informtica 57
5
4
1
3
2
1
4
3
35
6
2
V = {1, 2, 3, 4, 5}
U = {1}
A = { 1-2, 1-3, 2-3, 2-4,3-4, 3-5,4-5}
L = {}
-
Unidad 6. Grafos
ALGORITMO DE PRIM:paso 1:
Escuela de Posgrado Maestra en Informtica 58
5
4
1
3
2
1
3
V = {1, 2, 3, 4, 5}
U = {1} u
(u, v) 1-2 (1) 91-3 (3)
V-U = {2, 3, 4, 5} vL = {}
-
Unidad 6. Grafos
ALGORITMO DE PRIM:paso 2:
Escuela de Posgrado Maestra en Informtica 59
V = {1, 2, 3, 4, 5}
U = {1, 2} u
(u, v) 1-3 (3) 92-3 (3) 92-4 (6)
V-U = {3, 4, 5} v5
4
1
3
2
1
3
6
L = {1-2}
-
Unidad 6. Grafos
ALGORITMO DE PRIM:paso 3:
Escuela de Posgrado Maestra en Informtica 60
V = {1, 2, 3, 4, 5}
U = {1, 2, 3} u
(u, v) 2-4 (6)3-4 (4)3-5 (2) 9
V-U = {4, 5} v5
4
1
3
2
1
4
3
6
2 L = {1-2, 1-3}
-
Unidad 6. Grafos
ALGORITMO DE PRIM:paso 4:
Escuela de Posgrado Maestra en Informtica 61
V = {1, 2, 3, 4, 5}
U = {1, 2, 3, 5} u
(u, v) 2-4 (6)3-4 (4) 95-4 (5)
V-U = {4} v5
4
1
3
2
1
4
3
56
2 L = {1-2, 1-3, 3-5}
-
Unidad 6. Grafos
ALGORITMO DE PRIM:resultado:
Escuela de Posgrado Maestra en Informtica 62
V = {1, 2, 3, 4, 5}
U = {1, 2, 3, 4, 5} u
rbol de extensin mnima
V-U = {} v5
4
1
3
2
1
4
3
2 L = {1-2, 1-3, 3-5, 3-4}
-
Unidad 6. Grafos
ALGORITMO DE PRIM:Ejercicio:
Escuela de Posgrado Maestra en Informtica 63
V = {1, 2, 3, 4, 5, 6, 7}U = {1}L = {}
3
6
1
5
2
1
4 3 10
5 6
2
4
7
2 7
1
48
-
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 64
ALGORITMO DE KRUSKAL
-
Unidad 6. Grafos
ALGORITMO DE KRUSKAL:
El algoritmo de Kruskal permite encontrar tambin elrbol de extensin mnima para un grafo.
Elementos requeridos:
Un conjunto L que contiene las aristas del grafo y suscostos.
Un conjunto P de particiones. P = {{1}, {2}, {3},{n}}
Escuela de Posgrado Maestra en Informtica 65
-
Unidad 6. Grafos
ALGORITMO DE KRUSKAL:
Mientras haya vrtices en P que pertenezcan aparticiones distintas haceroElegir de L la arista (u, v) que tenga costo mnimoo Si u y v estn en particiones distintas entoncesUnir las particiones a las que pertenezcan u y v
Escuela de Posgrado Maestra en Informtica 66
-
Unidad 6. Grafos
ALGORITMO DE KRUSKAL:Ejemplo 1:
Escuela de Posgrado Maestra en Informtica 67
5
4
1
3
2
1
4
3
35
6
2P = {{1}, {2}, {3}, {4}, {5}}
L = { 1-2(1), 1-3(3), 2-3(3), 2-4(6),3-4(4), 3-5(2),4-5(5)}
-
Unidad 6. Grafos
ALGORITMO DE KRUSKAL:paso 1:
Escuela de Posgrado Maestra en Informtica 68
5
4
1
3
2
1
4
3
35
6
2P = {{1}, {2}, {3}, {4}, {5}}
L = { 1-2(1), 1-3(3), 2-3(3), 2-4(6),3-4(4), 3-5(2),4-5(5)}
1-2(1) (u, v)
-
Unidad 6. Grafos
ALGORITMO DE KRUSKAL:paso 2:
Escuela de Posgrado Maestra en Informtica 69
5
4
1
3
2
1
4
3
35
6
2P = {{1, 2}, {3}, {4}, {5}}
L = { 1-3(3), 2-3(3),2-4(6), 3-4(4),3-5(2), 4-5(5)}
3-5(2) (u, v)
-
Unidad 6. Grafos
ALGORITMO DE KRUSKAL:paso 3:
Escuela de Posgrado Maestra en Informtica 70
5
4
1
3
2
1
4
3
35
6
2P = {{1, 2}, {3, 5}, {4}}
L = { 1-3(3), 2-3(3),2-4(6), 3-4(4),4-5(5)}
1-3(3) (u, v)
-
Unidad 6. Grafos
ALGORITMO DE KRUSKAL:paso 3:
Escuela de Posgrado Maestra en Informtica 71
5
4
1
3
2
1
4
3
35
6
2P = {{1, 2, 3, 5}, {4}}
L = { 2-3(3), 2-4(6),3-4(4), 4-5(5)}
2-3(3) 8 ciclo3-4(4) (u, v)
-
Unidad 6. Grafos
ALGORITMO DE KRUSKAL:resultado:
Escuela de Posgrado Maestra en Informtica 72
5
4
1
3
2
1
4
3
2P = {{1, 2, 3, 4, 5}}
L = { 2-4(6), 4-5(5)}
-
Unidad 6. Grafos
ALGORITMO DE KRUSKAL:Ejercicio:
Escuela de Posgrado Maestra en Informtica 73
P = {{1}, {2}, {3}, {4}, {5}, {6}, {7}}
L = { 1-2(2), 1-3(4), 1-4(1), 2-4(3), 2-5(10), 3-4(2),3-6(5), 4-5(7), 4-6(8),4-7(4), 5-7(6), 6-7(1)}
3
6
1
5
2
1
4 3 10
5 6
2
4
7
2 7
1
48
-
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 74
BSQUEDA EN AMPLITUDBREADTH-FIRST
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD:
La bsqueda en amplitud es un algoritmo quepermite encontrar un camino entre dos vrtices de ungrafo.El mtodo consiste en que a partir del vrtice inicial,se van analizando los siguientes vrtices porniveles (los que estn conectados al vrtice inicial)y as se va avanzando hasta encontrar el vrtice meta.
Escuela de Posgrado Maestra en Informtica 75
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :
Elementos requeridos:
Una lista P (pendientes) que contiene los vrtices queaun no se han visitado. Funciona como una cola
Una lista V (visitados) que contiene los vrtices quehan sido visitados.
Escuela de Posgrado Maestra en Informtica 76
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD : Insertar el vrtice inicial en la lista P Mientras P y no se lleg al vrtice metaoTomar en X un elemento de P (cola: atender)oSi X V entoncesPoner X en V (cola: llegada)Determinar todos los vrtices conectados a XSi en estos vrtices no se encuentra el vrtice meta
Colocarlos en P (cola: llegada)
Si se encontr el vrtice meta XITO De lo contrario FRACASO
Escuela de Posgrado Maestra en Informtica 77
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :Ejemplo 1:
Escuela de Posgrado Maestra en Informtica 78
V = {} P = { 1 }
6
5
2
43
7
89
10
11
12
1
Ruta de 1 a 12
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :paso 1:
Escuela de Posgrado Maestra en Informtica 79
V = {}
P = { 2, 8 }6
5
2
43
7
89
10
11
12
1
Ruta de 1 a 12 1X = VV = {1}
X 2 8
8
1
2
P = { 1}
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :paso 2: X = V
Escuela de Posgrado Maestra en Informtica 80
V = {1}
P = { 8, 1, 3, 4, 8}6
5
2
43
7
89
10
11
12
1
Ruta de 1 a 12 2
X 4
P = { 2, 8}
3 81
8
1
2
3 4 81
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :Paso 3: X = V
Escuela de Posgrado Maestra en Informtica 81
V = {1, 2}
P = { 1, 3, 4, 8, 1, 2, 9}6
5
2
43
7
89
10
11
12
1
Ruta de 1 a 12 8
X 2
P = {8, 1, 3, 4, 8}
1 99
8
1
2
3 4 8 1 2 91
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :Paso 4: X = V, V
Escuela de Posgrado Maestra en Informtica 82
V = {1, 2, 8}
P = {4, 8, 1, 2, 9, 2, 5}6
5
2
43
7
89
10
11
12
1
Ruta de 1 a 12 3
X 2
P = {1, 3, 4, 8, 1, 2, 9 }
5
8
1
2
3 4
2
9
5
8 1 2
1
1
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :Paso 5: X = V
Escuela de Posgrado Maestra en Informtica 83
V = {1, 2, 8, 3}
P = {8, 1, 2, 9, 2, 5, 2, 5,6, 9}
6
5
2
43
7
89
10
11
12
1
Ruta de 1 a 12 4
X 2
P = {4, 8, 1, 2, 9, 2, 5}
5 6 9
8
1
2
3 4 9
5 5 62 92
1 28
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :Paso 6: X = V, V
Escuela de Posgrado Maestra en Informtica 84
V = {1, 2, 8, 3, 4}
P = {2, 5, 2, 5, 6, 9, 4, 6,8, 10 }
6
5
2
43
7
89
10
11
12
1
Ruta de 1 a 12 9
X 4
P = {8, 1, 2, 9, 2, 5, 2, 5, 6, 9}
86 10
8 21
8
1
2
3 4 9
5 5 62 92
1 28
6 84 10
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :Paso 7: X = V, V
Escuela de Posgrado Maestra en Informtica 85
V = {1, 2, 8, 3, 4, 9}
P = {2, 5, 6, 9, 4, 6, 8, 10,3, 7}
6
5
2
43
7
89
10
11
12
1
Ruta de 1 a 12 5
X
P = {2, 5, 2, 5, 6, 9, 4, 6, 8, 10}
3 7
2
8
1
2
3 4 9
5 5 62 926 84 10
73
-
X = V, V
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :Paso 8:
Escuela de Posgrado Maestra en Informtica 86
V = {1, 2, 8, 3, 4, 9, 5}
P = {9, 4, 6, 8, 10, 3, 7, 4,7, 9, 11}
6
5
2
43
7
89
10
11
12
1
Ruta de 1 a 12 6
X
P = {2, 5, 6, 9, 4, 6, 8, 10, 3, 7}
4 7
2 5
9 11
8
1
2
3 4 9
5 5 62 9
6 84 10
73 7 94 11
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :Paso 9: X = V V
Escuela de Posgrado Maestra en Informtica 87
V = {1, 2, 8, 3, 4, 9, 5, 6}
P = {3, 7, 4, 7, 9, 11, 7,11, 9, 11}
6
5
2
43
7
89
10
11
12
1
Ruta de 1 a 12 9
X
P = {9, 4, 6, 8, 10, 3, 7, 4, 7, 9, 11}
11
610
4
8
9
8
1
2
3 4 9
5 6 9
6 84 10
73 7 94 11 9 11
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :Paso 10: X = V V
Escuela de Posgrado Maestra en Informtica 88
V = {1, 2, 8, 3, 4, 9, 5, 6, 10}
P = {4, 7, 9, 11, 7, 11, 9,11, 5, 6}
6
5
2
43
7
89
10
11
12
1
Ruta de 1 a 12
X
P = {3, 7, 4, 7, 9, 11, 7, 11, 9, 11}
3 7
8
1
2
3 4 9
5 6 10
73 7 94 119 11
65
65
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :Paso 11:
Escuela de Posgrado Maestra en Informtica 89
V = {1, 2, 8, 3, 4, 9, 5, 6, 10, 7}
P = { 11 }6
5
2
43
7
89
10
11
12
1
Ruta de 1 a 12
X EXITO
P = {4, 7, 9, 11, 7, 11, 9, 11, 5, 6}
7 11
12
X = V, V4 910
81
2
3 4 9
5 6 10
7 7 94 11 9 11
65 10 12
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :Paso 12:
Escuela de Posgrado Maestra en Informtica 90
6
5
2
43
7
89
10
11
12
1
Ruta de 1 a 12
8
1
2
3 4 9
5 6 10
7 11 9 11
65 10 12
-
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 91
BSQUEDA EN PROFUNDIDADDEPTH-FIRST
-
Unidad 6. Grafos
BSQUEDA EN PROFUNDIDAD:
La bsqueda en profundidad es un algoritmo quepermite encontrar tambin un camino entre dosvrtices de un grafo.El mtodo consiste en que a partir del vrtice inicial,se van analizando los siguientes vrtices poradyacencia, se toma un vrtice adyacente al delinicio y se repite el proceso con el vrtice elegidocomo inicial. Si al final no se encuentra la meta sesigue con otro vrtice adyacente al inicio.
Escuela de Posgrado Maestra en Informtica 92
-
Unidad 6. Grafos
BSQUEDA EN PROFUNDIDAD :
Elementos requeridos:
Una lista P (pendientes) que contiene los vrtices queaun no se han visitado. Funciona como una pila.
Una lista V (visitados) que contiene los vrtices que aunno han sido visitados.
Un valor entero LP que indica el lmite de profundidadpermitido (el vrtice inicial tiene profundidad cero, eladyacente a l uno, etc. Si se llega al lmite la ruta notiene xito.
Escuela de Posgrado Maestra en Informtica 93
-
Unidad 6. Grafos
BSQUEDA EN PROFUNDIDAD : Insertar el vrtice inicial en la lista P Mientras P y no se lleg al vrtice metaoTomar en X un elemento de P (pila: pop)oSi X V y su prof(X) LP entoncesPoner X en V (pila: push)Determinar todos los vrtices adyacentes a XSi en estos vrtices no se encuentra el vrtice meta
Colocarlos en P (pila: push)
Si se encontr el vrtice meta XITO De lo contrario FRACASO
Escuela de Posgrado Maestra en Informtica 94
-
Unidad 6. Grafos
BSQUEDA EN PROFUNDIDAD :Ejemplo 1:
Escuela de Posgrado Maestra en Informtica 95
V = {} P = { 1 }
Ruta de 1 a 12
LP = 10
6
5
2
43
7
89
10
11
12
1
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :paso 1:
Escuela de Posgrado Maestra en Informtica 96
V = {}
P = { 2, 8 }
Ruta de 1 a 12 1X = VV = {1}
X 2 8
8
1
2
P = { 1}
6
5
2
43
7
89
10
11
12
1
prof(1) = 1
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :paso 2: X = V
Escuela de Posgrado Maestra en Informtica 97
V = {1}
P = {1, 3, 4, 8, 8}
Ruta de 1 a 12 2
X 4
P = { 2, 8}
3 8
8
1
2
3 4 8
6
5
2
43
7
89
10
11
12
1
1
1
Prof(2) = 2
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :paso 3: X = V V
Escuela de Posgrado Maestra en Informtica 98
V = {1, 2}
P = {2, 5, 4, 8, 8}
Ruta de 1 a 12 3
X
P = {1, 3, 4, 8, 8}
5
6
5
2
43
7
89
10
11
12
1
2
1
8
1
2
3 4 81
2 5
prof(3) = 3
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :paso 4: X = V V
Escuela de Posgrado Maestra en Informtica 99
V = {1, 2, 3}
P = {3, 7, 4, 8, 8}
Ruta de 1 a 12 5
X
P = {2, 5, 4, 8, 8}
7
6
5
2
43
7
89
10
11
12
1
3
2
8
1
2
3 4 8
2 5
3 7
prof(5) = 4
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :paso 5: X = V V
Escuela de Posgrado Maestra en Informtica 100
V = {1, 2, 3, 5}
P = {5, 6, 4, 8, 8}
Ruta de 1 a 12 7
X
P = {3, 7, 4, 8, 8}
6
6
5
2
43
7
89
10
11
12
1
5
3
8
1
2
3 4 8
5
3 7
5 6
prof(7) = 5
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :paso 6: X = V V
Escuela de Posgrado Maestra en Informtica 101
V = {1, 2, 3, 5, 7, 6}
P = {4, 7, 9, 11, 4, 8, 8}
Ruta de 1 a 12 6
X
P = {5, 6, 4, 8, 8}
7
6
5
2
43
7
89
10
11
12
1
4
5
9 11
81
23
4 85
7
5 6
4 7 9 11
prof(6) = 6
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :paso 7: X = V
Escuela de Posgrado Maestra en Informtica 102
V = {1, 2, 3, 5, 7, 6}
P = {2, 5, 6, 9, 7, 9, 11, 4,8, 8}
Ruta de 1 a 12 4
X
P = {4, 7, 9, 11, 4, 8, 8}
5
6
5
2
43
7
89
10
11
12
1
2 6 9prof(4) = 7
81
23
4 857
6
4 7 9 11
25 6 9
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :paso 8:
Escuela de Posgrado Maestra en Informtica 103
V = {1, 2, 3, 5, 7, 6, 4}
P = {4, 6, 8, 10, 9, 7, 9,11,4, 8, 8}
Ruta de 1 a 12
X
P = {2, 5, 6, 9, 7, 9, 11, 4, 8, 8}
6
6
5
2
43
7
89
10
11
12
1
4 8prof(9) = 8
X = V V62 5 910
81
23
4 857
6
4 7 9 11
25 6 9
4 6 8 10
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :paso 9:
Escuela de Posgrado Maestra en Informtica 104
V = {1, 2, 3, 5, 7, 6, 4, 9}
P = {1, 2, 9, 8, 10, 9, 7, 9,11, 4, 8, 8}
Ruta de 1 a 12
X
P = {4, 6, 8, 10, 9, 7, 9,11, 4, 8, 8}
2
6
5
2
43
7
89
10
11
12
1
1 9
81
23
4 857
6
4 7 9 11
prof(8) = 9
9
X = V V64
4 6 8
8
10
1
2
9
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :paso 10:
Escuela de Posgrado Maestra en Informtica 105
V = {1, 2, 3, 5, 7, 6, 4, 9, 8}
P = { 9, 11, 9, 7, 9, 11, 4,8, 8}
Ruta de 1 a 12
X
P = {1, 2, 9, 8, 10, 9, 7, 9, 11, 4, 8, 8}
6
5
2
43
7
89
10
11
12
1
prof(10) = 9 X = V V21 9 8 10
9 11
81
23
4 857
6
4 7 9 11
9
8
10 1
29
911
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :paso 11:
Escuela de Posgrado Maestra en Informtica 106
V = {1, 2, 3, 5, 7, 6, 4, 9, 8, 10}
P = { 9, 7, 9, 11, 4,8, 8}
Ruta de 1 a 12
X EXITO
P = {9, 11, 9, 7, 9, 11, 4, 8, 8}
6
5
2
43
7
89
10
11
12
1
prof(11) = 10 X = V V9 11
6 10 12
81
23
4 857
6
4 7 9 11
910
9
11 12
-
Unidad 6. Grafos
BSQUEDA EN AMPLITUD :paso 12:
Escuela de Posgrado Maestra en Informtica 107
Ruta de 1 a 12
6
5
2
43
7
89
10
11
12
1
8
1
2
3 4 8
5
7
6
4 7 9 11
9
1011 12
-
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 108
EJEMPLOS DE BSQUEDA EN AMPLITUD Y PROFUNDIDAD
-
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 109
PROBLEMA DEL PUZZLE-8
3 2 14 5 6
8 7
1 2 387
46 5
-
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 110
PROBLEMA DEL PUZZLE-8
321 4
568
7
1 2 387
46 5
ESTADO INICIAL ESTADO FINAL
-
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 111
PROBLEMA DEL PUZZLE-82 31 8 47 6 5
BSQUEDA EN AMPLITUD
2 31 8 47 6 5
2 31 8 47 6 5
2 31
84
7 6 5
2 318 4
7 6 5
2 318 47 6 5
2 31 8
4
7 6 5
2 318
47 6 5
2 31
84
7 6 5
2 31
84
76
5
-
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 112
PROBLEMA DEL PUZZLE-8
321 4
56
8
7
1 2 387
46 5
ESTADO INICIAL ESTADO FINAL
-
Unidad 6. Grafos
Escuela de Posgrado Maestra en Informtica 113
PROBLEMA DEL PUZZLE-8
2 31
84
7 6 5
BSQUEDA POR PROFUNDIDADprofundidad = 4
2 31
84
76
5
2 31
84
7 6 5
2 31 8 47 6 5
2 318
47 6 5
23
18
47 6 5
23
18
47 6 5 2
3184
7 6 5
231
84
7 6 5
2 318
476 5
2 318
476 5
2 3
1
847
6 52 3
18
476 52 3
1 8 47 6 5
2 31 8 47 6 5
2 318 4
7 6 52 31
8 47 6 5
ALGORITMOS(CIC621)Unidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. GrafosUnidad 6. Grafos