Académique Documents
Professionnel Documents
Culture Documents
optimales
2da y 3er clase
2007
ESQUELETOS OPTIMALES
(mnimo)
Esqueleto de G =(X,U) es un subgrafo que es
un rbol y que contiene todos los vrtices de G.
Esqueleto Mnimo de G = (X, U, W) de orden n, es
aquel esqueleto de valor mnimo.
Aplicable para calcular el costo mnimo de conexin
de un grafo.
A
2
H
8
I
4
P
B 7
4
G
5
6
3 J
3
2
5
1
2
4 K
7 O
8 N
E
7
10
L
3
ESQUELETO MINIMO
ALGORITMO DE KRUSKAL
Repita los siguientes pasos hasta que el conjunto E
tenga (n-1) aristas (
E=
= n-1):
1. Al comenzar E = (vaco)
2. Agregue a E las aristas de menor valor que
no formen un ciclo con las aristas que ya
estn en el conjunto E de aristas.
A
2
H
8
I
4
P
B 7
4
G
5
6
3 J
3
2
5
1
2
4 K
7 O
8 N
E
7
10
L
3
Esqueleto Mnimo
ALGORITMO DE PRIM
1) Elegir una arista con ponderacin mnima; sta ser
la primer arista de un rbol de cubrimiento E.
2) Repetir hasta que el rbol E tenga (n-1) aristas:
Agregar a E una arista de valor mnimo, con un
vrtice en E y otro vrtice que no pertenece a E.
La validez del algoritmo en cuanto a la optimalidad se debe demostrar.
(tambin su complejidad). Demostraremos que Prim encuentra el
ptimo.
A
2
H
8
I
4
P
B 7
4
G
5
6
3 J
3
2
5
1
2
4 K
7 O
8 N
E
7
Valor:
10
L
3
46
E(k-1)
k = (k-1)
E(k-1)
i
i V,
jV
se le agrega a E(k-1)
j
obteniendo
E(k) = E(k-1) U [i,j]
E U [i,j]
contiene un ciclo C.
L.Q.Q.D.
Representacin de G = (X,U)
a) Grficamente. Mediante puntos y lneas que
representan los nodos (vrtices) y arcos (aristas)
del grafo.
b) Notacin de conjuntos. Por extensin
(enumerando vrtices y aristas) o por
comprensin.
d) Estructuras de datos, por ejemplo listas
encadenadas, stacks, etc.
c) Con MATRICES. Veamos esta forma para
calcular la clausura transitiva de un grafo y
evaluar su conexidad.
Matriz de adyacencia
1 si xi Axj , (xi , xj ) U
A= aij =
0 si no
[ ]
x2
x3
x4
x1
x5
x6
fig.CFC
Cuando G es no
orientado la matriz
A es Simtrica..
Se almacena la
mitad de los
elementos.
A =
x1
x2
x3
x4
x5
x6
x1
x2
x3
x4
x5
x6
wu
( ) si xi Axj , (xi , xj ) U
A= aij =
0 si no
[ ]
Propiedades M. Adyacencia
La matriz de adyacencia es
booleana, sus elementos son
0 y 1.
Brinda informacin sobre la
existencia de caminos de largo 1.
( xi , x j ) G , xi x j , camino de xi a x j
Relacin de equivalencia
Una relacin binaria es
una relacin de equivalencia cuando es:
1) Reflexiva. x x.
2) Simtrica. x y entonces y x.
3) Transitiva. x y, y z entonces x z.
Propiedad transitiva de R
Una relacin R es transitiva, en un conjunto X,
si i , j , k = 1 , 2 ,... | X | se cumple que
x i R x j y x j R x k entonces
La relacin de
adyacencia A, NO
siempre es transitiva,
xi
xi R xk
xj
xk
Clausura Transitiva
Relacin de alcance (1)
La Clausura Transitiva de una relacin A en el
conjunto X, es la relacin T de alcance definida por:
x Ax
i j
x Ax
, t = 1, 2,..., m- 1
kt
k (t+1)
C i,j
Clases de equivalencias
Asociadas a un grafo G = (X,U)
X = {xi ; 1
i
n}, significa:
xi xj
si xi = xj
o si existe algun camino
de xi a xj y de xj a xi.
x2
x3
x4
x1
x5
x6
Ejemplo
fig.CFC
x1 x2 x6
X2 = {x3,x4}
x3 x4
X3 = {x5}
x5 x5
Representacin matricial de la
Relacin de Alcance.
1 si x Tx ,
i
j
T = t =
ij
0
si
no
Conexidad Alcance
Calculando la matriz T,
si tij = 1 xi en X, entonces el grafo G es
fuertemente conexo, o sea que xi, xj existe un
camino de xi a xj.
En caso contrario,
si tij = 0 para algn xi, xj, xj no es alcanzable
desde xi
x2
x3
x4
x1
x5
x6
fig.CFC
T =
x1
x2
x6
x4
x3
x5
x1
x2
x6
x4
x3
x5
Matriz de Alcance T
Indica la existencia de caminos entre pares
de nodos.
Se calcula a partir de la potencia booleana de
la matriz de adyacencia A.
T=
(p)
A
p= 1,
(p-1)
=A
A, ( producto booleano).
0 si no
Clculo de T = p= 1, A
(p)
Grafo Condensado
x2
x3
x4
x1
fig.CFC
X2
X1
x5
x6
X3
Aplicacin
Planificacin del trnsito y de transporte
urbano.Transbordos. Pasar una sola vez por c/parada
Procedimiento:
1) Condensar G y Encontrar algn camino
hamiltoniano, si existe, en
el grafo
condensado Gc.
2) Encontrar un camino hamiltoniano en
cada nodo del grafo condensado (en cada
componente fuertemente conexa de G).
3) Si es posible, unir el o los caminos
encontrados en el paso 2) con el encontrado
en el paso 1).
Caminos optimales
Algoritmo de Dijkstra
Para valores crecientes de m (contador de
distancia), se marca aquellos vrtices p que
tienen m como distancia mnima desde el
vrtice a.
Se marca con una etiqueta (r, d(p)), r es el
antecesor del vrtice p, en el camino desde a;
d(p) es la distancia mnima desde a hasta p.
Algoritmo de Dijkstra
w(u)
(r, d(p))
p
q
m=x
Algoritmo de Dijkstra
3)
Si x sin marcar
volver al punto 2
Sino
entonces m := m + 1;
ejecutar el punto 4.
Ejemplo Dijkstra
(F,7)
(A,9)
7
(-,0)
(F,5)
(I,6)
4
(G,9)
(E,7)
E
(F,6)
(D,9)
2
3
6
3
Redes de flujo
Redes de Flujo
Red es un grafo orientado, ponderado, con un nodo
a llamado fuente y otro nodo z llamado pozo,
terminal o resumidero (sink).
Redes de Flujos
N = ( X, U, W)
X = { a, z, xi, 1
I n-2}
U = { uk = (xi, xj), 1
k m}
W = { w(u) u U, w(u) = (k(u), (u))}
k(u) es la capacidad o cota superior de lo que puede
transportar el arco u
(u) el flujo o la cantidad de sustancia que realmente
transporta el arco u.
Ejemplo
d
5,5
b
7,4
7,6
4,3
4,1
a
4,0
3,2
8,6
8,8
c
5,5
Flujo mximo
El problema que se modela
max {Flujo de a a z}
segn restricciones (capacidades)
Definicin
El conjunto de los nodos X
se puede particionar en dos subconjuntos P, y Pc
P U Pc = X,
P
Pc =
5,5
b
7,4
7,6
4,3
4,1
a
4,0
3,2
8,6
8,8
c
5,5
5,5
b
7,4
7,6
4,3
4,1
a
4,0
3,2
8,6
8,8
c
5,5
P={b, c }
5,5
7,4
7,6
4,3
4,1
a
4,0
3,2
8,6
8,8
c
5,5
Corte a-z
Corte a-z (fuente-terminal) : a P y z Pc.
Ejemplo: P = {a,b,c}
(P,Pc)={(b,d),(b,e),(c,e)}
5,5
7,4
7,6
4,3
4,1
a
4,0
3,2
8,6
8,8
5,5
Flujo a-z
Flujo a-z, ( fuente-terminal) en N, es aquel en el que:
(u) u U, el nodo fuente a y el pozo z, satisfacen
las siguientes condiciones:
a) 0 (u) k(u)
u U
Ejemplo
a) 0 (u) k(u) u U
5,5
b
7,4
7,6
4,3
4,1
a
4,0
3,2
8,6
8,8
c
5,5
5,5
b
7,4
7,6
4,3
4,1
Es decir:
4,0
3,2
8,6
8,8
5,5
Flujo a-z en N
(u) u U, a y z satisfacen las sg. cond.:
a) 0 (u) k(u) u U
b) (u) = 0, u I-(a) y u I+(z)
c) x a, x z, uI+(x) (u) = uI-(x) (u)
c') P que NO contengan a ni z,
u(Pc,P,) (u)
u(P,Pc)(u) =
Justificacin c
c) x a, x z, uI+(x) (u) = uI-(x) (u)
Si tomamos P que NO contiene a ni z y
sumamos en los x P, se obtiene la siguiente
igualdad
x P u
+
I (x)
Ejemplo P={b,c}
x P u
I+(x)
5,5
b
7,
4
(no contiene a ni z)
7,6
4,3
4,1
4,0
3,2
8,6
8,8
c
5,5
Justificacin c;
P = {b,c}
(P, Pc)
(u) = u
c
(P , P)
(u)
7,
4
5,5
7,6
4,3
4,1
4,0
3,2
8,6
8,8
c
5,5
Ejemplo: |
|
d
5,5
b
7,4
7,6
4,3
4,1
a
4,0
3,2
8,6
8,8
c
|
| = u
+
I (a)
5,5