Professional Documents
Culture Documents
Definicin:
Consideremos los siguientes conjuntos:
El conjunto de nodos
El conjunto de arcos
El conjunto:
A V *V
Definicin: Arista:
Es un arco sin orientacin
Definicin: Grafo
Un grafo es conjunto G(V, A) conjunto de nodos unidos por:
Arcos: grafo dirigido
Aristas: grafo no dirigido
V 1, 2, 3, 4, 5
A (1 , 2), (1 , 3), (1 , 4), (4 , 5), (3 , 5), (2,5), (2,4)
a = (v1,v2) donde
v1: es el extremo inicial y
v2: es el extremo final
3
Consideremos ahora el siguiente grafo y
daremos las siguientes definiciones:
6
9
8
4
Camino:
Es una sucesin de arcos
L(1,9) = (1,3), (3,2), (2,5), (5,7), (7,9)
Camino Simple:
Es una sucesin de arcos, donde ningn arco se repite
L(1,8) = (1,3), (3,4), (4,8)
L(1,7) = (1,3), (3,6), (6,5), (5,3), (3,6), (6,7) No es un camino simple
Cadena:
Es una sucesin de arcos sin tener en cuenta el sentido de los arcos
K(2,7) = (2,3), (3,5), (5,7)
Circuito:
Es un camino donde el extremo final coincide con el extremo inicial
(4,8), (8,6), (6,5), (5,3), (3,4)
Ciclo:
Es una cadena donde el extremo final coincide con el extremo inicial
(2,5), (5,6), (6,3), (3,2)
Costo de un arco:
Es un nmero o peso que se asigna a un arco
Red:
Es un grafo donde se consideran costos
2
5
3
Conexidad de un grafo:
Consideremos el grafo G = (V,A) y sean dos vrtices:
vi y vj que pertenecen al conjunto V, entonces:
G es conexo (fuertemente conexo) existe un camino entre vi y vj
G es dbilmente conexo existe una cadena entre vi y vj
rbol:
Es una red conexa formada por un subconjunto de nodos de la red sin lazos o
ciclos.
rbol de expansin:
Es una red conexa formada por todos los nodos de la red sin lazos o ciclos.
Dado un grafo G=(V, E) con pesos en las aristas, se pretende obtener un rbol
que conecte a todos los vrtices y la suma de los pesos sea mnima
Se basa en la forma como se construye un rbol uniendo de manera secuencial
los nodos de la red, utilizando la longitud ms corta de las ramas.
Aplicaciones:
Podemos tener los servidores de diversos edificios de la compaa o
corporacin y deseamos interconectarlos al mnimo costo.
O tenemos localidades que deseamos interconectarlas tambin al mnimo
costo, para obtener este tipo de soluciones usaremos el algoritmo de PRIM.
ALGORITMO DE PRIM
Sea:
N={1, 2, , n} los nodos de la red, usaremos la siguiente notacin:
Ak Conjunto de nodos conectados permanentemente en la iteracin k
Ak Conjunto de nodos no conectados
Paso 0:
Hacer A0= y 0 =N
Paso 1:
Empezar con cualquier nodo i de 0
Hacer A1={i} y 1= 0 - {i}
Hacer k=2
Paso k:
Seleccionar un nodo j* de k-1 que produzca la rama ms corta hacia un nodo
de Ak-1. Luego tenemos:
Ak=Ak-1+{j*}
k = k-1 - { j* }
Se finaliza cuando k es vaca, sino hacer k=k+1 y continuar
Ejemplo de aplicacin:
Una empresa de tecnologa est tendiendo cable entre seis torres de radar
para que se puedan comunicar entre ellas. En la siguiente matriz se dan las
distancias entre las torres. Qu conexiones se deben hacer para minimizar la
longitud total de cable?
De la Torre
1
6
8
4
9
5
1
2
3
4
5
6
Iteracin 0
C0 = 0
A la Torre
2 3 4 5
7 8 4 9
- 10 7 6
10 - 4 5
7 4 - 3
6 5 3 8 2 8 7
6
5
8
2
8
7
-
(k=0)
__
y
C0 = { 1,2,3,4,5,6 }
7
8
2
7
4
10
8
3
5
5
Iteracin 1
(k=1)
__
C1 = C 0 + 1
y
__
C1 = C 0 - 1
7
8
2
7
4
1
10
8
3
5
5
Iteracin 2
(k=2)
__ __
C2 = C 1 + 4
y
C2 = C 1 - 4
7
8
2
7
10
4
8
3
5
5
Iteracin 3
(k=3)
__
C3 = C 2 + 5
y
__
C3 = C 2 - 5
7
8
2
7
10
4
8
3
5
5
Iteracin 4
(k=4)
__
C4 = C 3 + 3
y
__
C4 = C 3 - 3
7
4
1
10
8
3
5
5
Iteracin 5
(k=5)
__
C5 = C 4 + 6
y
__
C5 = C 4 - 6
7
8
2
6
4
1
10
8
3
5
5
Paso i:
(a) Calcule las clasificaciones temporales [ Ui + dij, i ] para c/nodo j al
que se puede llegar desde el nodo i, siempre y cuando j no este
clasificado permanentemente. Si el nodo j ya esta clasificado con [
Uj,k ] a travs de otro nodo k y si Ui + dij < Uj, reemplace [ Uj,k ] con
[ Ui + dij, i ].
15
2
4
20
100
10
30
1
50
60
4
50
100
10
20
60
30
[0, -] ( 0 )
[ 30, 1 ]
Es posible llegar a los nodos 2 y 3 desde el nodo 1(el ltimo clasificado permanente)
Nodo
Clasificacin
Status
[ 0, - ]
Permanente
[ 0+100, 1 ] = [ 100,1 ]
Temporal
[ 0+30, 1 ] = [ 30,1 ]
Temporal
El nodo 3, da la distancia menor (U3 = 30). Por consiguiente, el estado del nodo 3 se
cambia a permanente.
Iteracin 2
[ 100, 1 ]
[ 40, 3 ]
15
2
100
20
30
60
[ 0, - ] (0)
50
10
[ 90, 3 ]
[ 30, 1 ] (1)
Nodo
Clasificacin
Status
[0,-]
Permanente
[100,1]
[30,1]
[30+10,3]=[40,3]
Temporal
[30+60,3]=[90,3]
Temporal
Temporal
Permanente
Iteracin 3
Se puede llegar a los nodos 2 y 5 desde el nodo 4.
[ 100, 1 ]
[ 40, 3 ] (2)
15
2
100
20
50
10
30
60
[ 0, - ] (0)
[ 90, 3 ]
[ 30, 1 ] (1)
Nodo
Clasificacin
Status
[0,-]
Permanente
40+15,4]=[55,4]
[30,1]
Permanente
[40,3]
Permanente
[90,3]
[40+50,4]=[90,4]
Temporal
Temporal
Iteracin 4
[ 100, 1 ] (1)
[ 55, 4 ] (3)
[ 40, 3 ] (2)
15
2
20
100
1
[ 0, - ] (0)
4
50
10
30
3
[ 30, 1 ] (1)
60
[ 90, 3 ] (2)
[ 90, 4 ] (3)
ALGORITMO DE FLOYD
Paso 0:
Defina la matriz de distancia inicial D0 y la matriz de secuencia S0, las
diagonales estn marcadas con - para indicar que estn bloqueados, si no
existe una conexin entre nodos, colocar
d12
d13
d14
d21
d23
d31
d32
d41
d42
d24
d34
d43
Paso general k
Defina el rengln k y la columna k como el rengln y la columna pivote. Aplique
la operacin triple a cada elemento dij en Dk-1 para todas las i y j. Si satisface la
condicin:
dik + dkj < dij , (i k, j k, i j)
4
3
4
6
5
10
15
3
D0
S0
---
10
---
---
---
10
---
15
---
---
---
---
---
D1
S1
---
10
---
---
13
---
10
13
---
15
---
---
---
---
---
D2
S2
---
10
---
---
13
---
10
13
---
15
---
---
---
---
---
D3
S3
---
10
25
---
---
13
28
---
10
13
---
15
---
---
---
---
---
D4
S4
---
10
12
---
---
11
---
10
11
---
10
---
---
---
12
10
---
---
D5
S5
---
10
12
---
---
11
---
10
11
---
10
---
---
---
12
10
---
---
Por ejemplo la distancia ms corta entre los nodos (1) y (5) es d1 5=12
Para determinar la ruta tener en cuenta el siguiente hecho: Un segmento (i , j)
es un eslabn directo slo si si j=j de lo contrario estn unidos a travs de otro
nodo intermedio.
Resulta 1, 2, 4, 5
FLUJO MAXIMO
Ci j
i
Cj i
j
Paso 1:
Hacer capacidad residual igual a capacidad inicial, clasificar el nodo origen con
[, -1]. Determine i=1 e ir al paso 2.
Paso 2:
j Si nodos no clasificados a los que se llega del nodo i con arco residual
positivo (Ci j>0), si Si=, ir al paso 3 de lo contrario ir al paso 4.
Paso 3:
Determinar k Si de manera que Ci k=max{ Ci j} j Si, se determina ak = Ci k y
clasificar el nodo k con [ak , i]. Si k=n se tiene la ruta de penetracin, ir al paso
5 de lo contrario, haga i=k y continuar paso 2.
Paso 4(retroceso):
Si i=1, no son posibles otras penetraciones adicionales ir al paso 6. De lo
contrario deje que r sea el nodo que se ha clasificado inmediatamente antes del
nodo actual I, elimine I del conjunto de nodos adyacentes a r. Determine i=r y
vaya al paso 2.
Paso 6: (Solucin)
El flujo mximo es la suma de los flujos de penetracin