Documente Academic
Documente Profesional
Documente Cultură
FACULTAD DE INFORMTICA
PROBLEMAS DE OPTIMIZACIN
EN RBOLES GENERADORES
---
ESTUDIO TERICO
Tambin quiero mencionar a todas las personas que siempre han estado
presentes y que nunca duraron que lo conseguira. A ellas quiero dedicar este
momento y todo lo que significa:
Gracias a Pilar, mi suegra, por tanta insistencia en que pese a todas las
dificultades surgidas, acabara esta iniciativa que ya tena en marcha.
Y, por supuesto, regalo este da y dedico todo este trabajo a los que sin duda lo
han dado todo por m, me han acompaado y apoyado con su amor incondicional,
gracias pap y mam.
Pgina 1 de 102
RBOLES GENERADORES MNIMOS
2.1 INTRODUCCIN
Supongamos que una empresa tiene negocios en diferentes oficinas y que quiere
contratar lneas de telfono para conectarlas todas. El objetivo es conectar todas
las oficinas con el coste total mnimo. La conexin resultado debera ser un rbol
generador ya que si no es un rbol, podramos eliminar algunas aristas sin perder
la conectividad para ahorrar dinero.
El problema del rbol generador mnimo se incluye siempre en los libros de texto
porque tiene muchas aplicaciones, es un ejemplo importante donde algoritmos
ambiciosos siempre alcanzan una solucin ptima, y se necesitan estructuras de
datos inteligentes para que funcionen eficientemente.
a b c
4 3
2
d
5 4
1 1
e f
2 1 2
g 1 h
Pgina 2 de 102
RBOLES GENERADORES MNIMOS
a b c a b c
3 4 3
2 2
d d
1
f e f
2 1 2
g 1 h g 1 h
a b c a b c
4 3 4 3
2 2
d d
1 1 1
e f e f
1 2 2
g 1 h g 1 h
Pgina 3 de 102
RBOLES GENERADORES MNIMOS
LEMA 1
Demostracin:
LEMA2
Demostracin:
Sea e = (u, v). Dado que T no contiene ciclos, cada ciclo de T + e contiene a e.
Adems, X es un ciclo de T + e si y slo si X e es un camino de u a v en T. Por
el lema 1, tal camino es nico en T. De esta manera, T + e contiene un nico
ciclo.
En este captulo se van a estudiar tres algoritmos que se conocen muy bien para
resolver el problema del rbol generador mnimo:
Algoritmo de Borvka
Algoritmo de Prim
Algoritmo de Kruskal
TEOREMA 1
Pgina 4 de 102
RBOLES GENERADORES MNIMOS
Demostracin:
Algoritmo: BORVKA
G G\ F
T T F
Pgina 5 de 102
RBOLES GENERADORES MNIMOS
Ejemplo:
a c
4 3 (a, b, c, d, e, f)
2
d
5 4 2
1 1
e f
2 1 2
(g,
h)
g 1 h
(a) (b)
a b c
4 3
(a, b, c, d, e, f)
2
d
5 4
1 1
2
e f
(a, b, c, d, e, f, g, h) 2 1 2
(g, h) g 1 h
Pgina 6 de 102
RBOLES GENERADORES MNIMOS
Algoritmo: PRIM
U {r}
T T {(u, v)}
T T {v}
Ejemplo
Pgina 7 de 102
RBOLES GENERADORES MNIMOS
pequea podra funcionar bien. Se procede de esta forma hasta que se expanden
todos los vrtices. El rbol generador mnimo definitivo se muestra en la figura
4(h).
a b c a b c
4 3 4 3
2 2
d d
5 4 5 4
1 1 1 1
e f e f
2 1 2 2 1 2
g 1 h g 1 h
a b c a b c
4 3 4 3
2 2
d d
5 4 5 4
1 1 1 1
e f e f
2 1 2 2 1 2
g 1 h g 1 h
Pgina 8 de 102
RBOLES GENERADORES MNIMOS
a b c a b c
4 3 4 3
2 2
d d
5 4 5 4
1 1 1 1
e f e f
2 1 2 2 1 2
g 1 h g 1 h
a b c a b c
4 3 4 3
2 2
d d
5 4
1 1 1 1
e f f
2 1 2 2
g 1 h g 1 h
Se crea un bosque donde cada vrtice del grafo es inicialmente un rbol. Luego
se ordenan segn el peso todas las aristas del grafo. Para cada arista (u, v), se
realiza lo siguiente: Si el vrtice u y v pertenecen a dos rboles diferentes,
entonces se aade (u, v) al bosque, combinando los dos rboles en un nico
rbol. Se procede as hasta que todas las aristas hayan sido procesadas.
Pgina 9 de 102
RBOLES GENERADORES MNIMOS
Algoritmo: KRUSKAL
x FIND(u)
y FIND(v)
Si x y entonces
T T {(u, v)}
UNION(x, y)
Ejemplo
Pgina 10 de 102
RBOLES GENERADORES MNIMOS
a b c a b c
4 3 4 3
2 2
d d
5 4 5 4
1 1 1 1
e f e f
2 1 2 2 1 2
g 1 h g 1 h
a b c a b c
4 3 4 3
2 2
d d
5 4 5 4
1 1 1 1
e f e f
2 1 2 2 1 2
g 1 h g 1 h
Pgina 11 de 102
RBOLES GENERADORES MNIMOS
a b c a b c
4 3 4 3
2 2
d d
5 4 5 4
1 1 1 1
e f e f
2 1 2 2 1 2
g 1 h g 1 h
a b c a b c
4 3 4 3
2 2
d d
5 4
1 1 1
e f e f
2 1 2 2 1
g 1 h g 1 h
Ordenar las aristas en orden no decreciente se realiza en tiempo O(m log m). El
tiempo total de ejecucin para determinar si una arista junta dos rboles
diferentes en el bosque se realiza en tiempo O(m (m, n)), donde es la funcin
inversa de Ackermann. Por lo tanto, el tiempo de ejecucin asinttico del
algoritmo de Kruskals es O(m log m), el cual es el mismo que O(m log n) ya que
log m = (log n), a esta conclusin se llega observando que m= O(n2) y m= (n).
2.5 APLICACIONES
Pgina 12 de 102
RBOLES GENERADORES MNIMOS
Supongamos un grupo de islas que queremos conectar con puentes para que sea
posible viajar de una isla a cualquier otra del grupo. Ms all, supongamos que el
gobierno desea gastarse el mnimo dinero en este proyecto. Los ingenieros son
capaces de calcular el coste de un puente de conexin para cada par de islas
posibles. El conjunto de puentes que te permiten viajar de una isla a cualquier otra
con el mnimo coste para el gobierno es el rbol generador mnimo.
Pgina 13 de 102
RBOLES GENERADORES MNIMOS
Pgina 14 de 102
RBOL GENERADOR MXIMO (MaxST)
Se consideran los vrtices del ejemplo anterior como los nodos de una red de
comunicacin y sea interpretado pij como la probabilidad de que la conexin entre
i y j falle. Entonces un rbol generador mximo es un rbol en que maximiza la
probabilidad de que la comunicacin no sea interrumpida entre todos los nodos de
la red.
Pgina 15 de 102
RBOL GENERADOR MXIMO (MaxST)
e1 e2 en
W = V0 V1 V2 Vn ,
Teorema
Sea (G, w) una red sobre un grafo conexo G, y sea T un rbol generador mximo.
Entonces, para cada par (u, v) de vrtices, el nico camino desde u hacia v en T
es un camino de mxima capacidad en G.
Pgina 16 de 102
RBOLES DE CAMINO MNIMO
4.1 INTRODUCCIN
Se considera una red no dirigida y conexa con un nodo especial llamado origen o
raz. A cada arista se le asocia una distancia, un nmero no negativo. El objetivo
es encontrar el conjunto de aristas que conecten todos los nodos tal que la suma
de las longitudes de las aristas desde el origen a cada nodo es mnimo. Le
llamamos rbol de camino mnimo (SPT) que tiene como raz el origen.
Para minimizar las longitudes totales de los caminos, el camino desde la raz a
cada nodo debe ser el camino de conexin mnimo. De otra manera, se sustituye
tal camino por el camino mnimo y se consigue un rbol generador menos
pesado cuyas longitudes totales del camino desde la raz a todos los nodos son
ms pequeas. MST no siempre es un rbol de caminos mnimos.
Siempre y cuando todos los pesos de las aristas sean no negativos, el rbol de
camino mnimo est bien definido. Desafortunadamente, las cosas se complican
cuando se tienen aristas con pesos negativos. Para un grafo no dirigido, un
camino se vuelve mnimo cuando repetidamente se aade una arista con peso
negativo a l. En esta situacin, un camino mnimo que contiene una arista con
peso negativo no est bien definido ya que siempre se puede encontrar un
camino con menor peso yendo hacia atrs y as sucesivamente sobre aristas de
peso negativo. Se considera la arista de la figura 2. En este grafo, la arista (d, e)
tiene peso negativo. Como en un grafo no dirigido una arista puede ser
atravesado en ambos sentidos, un camino que repetidamente utiliza (d, e)
reducir su longitud. Sin embargo, para un grafo dirigido, siempre y cuando no
existan ciclos con peso negativo que se puedan alcanzar desde la raz, los pesos
del camino mnimo estn bien definidos. As, cuando se habla sobre tpicos
relacionados con caminos mnimos, habitualmente se centran en resolver
Pgina 17 de 102
RBOLES DE CAMINO MNIMO
problemas sobre grafos dirigidos. Sin embargo, la mayor parte de los algoritmos
pueden ser fcilmente adaptados a grafos no dirigidos.
a 4 b 3 c
2
d
5 4
1 1
e f
2 1 2
g 1 h
a b c a b c
4 3 4 3
2 2
d d
5 4 5 4
1 1 1 1
e f e f
2 1 2 2 1 2
g 1 h g 1 h
(a) (b)
Pgina 18 de 102
RBOLES DE CAMINO MNIMO
a 4 b 3 c
2
d
5 4
-1 1
e f
2 1 2
g 1 h
Algoritmo: DIJKSTRA
Pgina 19 de 102
RBOLES DE CAMINO MNIMO
[v]
[v] NIL
[s] 0
SV
Mientras S hacer
S S - {u}
[v] u
Ejemplo:
a b c
4 3
1
d
5 4
1 1
e f
2 1
2
g 1 h
Pgina 20 de 102
RBOLES DE CAMINO MNIMO
a b c
4 3
0 4
1
d
5 4
1 1
e f
2
2 1
5
1
g h
a b c
4 3
4 7
1
d
5 5 4
1 1
e f
2
2 1
5
g 1
h
Pgina 21 de 102
RBOLES DE CAMINO MNIMO
a b c
4 3
7
1
d
5 5 4
1 1
e f
7 2
2 1
5
1
g h
a b c
4 3
7
1
d
5 5 4
1 1
e f
6 2
2 1
5 6
1
g h
Pgina 22 de 102
RBOLES DE CAMINO MNIMO
a b c
4 3
7
1
d
5 4
1 1
e f
6 2
2 1
5 6
g 1
h
a b c
4 3
7
1
d
5 4
1 1
e f
6 7 2
2 1
5
g 1 h
Pgina 23 de 102
RBOLES DE CAMINO MNIMO
a b c
4 3
7
1
d
5 4
1 1
e f
7
2
2 1
5
g 1 h
Figura 11: Se elige el vrtice f, y las aristas (f, d) y (f, d) se expanden. La arista
(e, f) se aade al rbol de camino mnimo.
a b c
4 3
1
d
5 4
1 1
e f
7 2
2 1
5
1
g h
Pgina 24 de 102
RBOLES DE CAMINO MNIMO
a b c
4 3
1
d
5
1
e f
1
g 1 h
Figura 13: Grafo dirigido, con pesos y con una arista con peso negativo
a b c
2 2
1
d
5 4
1 1
e f
1
-3 2
g 1 h
Pgina 25 de 102
RBOLES DE CAMINO MNIMO
a b c
2 2
1
d
5 4
1 1
e f
5 2
-3 1
5 6
1
a b c
2 2
1
d
5
1
e f
1
g 1 h
Pgina 26 de 102
RBOLES DE CAMINO MNIMO
a b c
2 2
1
d
5
e f
1
-3 2
g h
Dado que el vrtice d en la figura 7 tiene un valor mnimo entre todos los
vrtices de S, se elige el vrtice u en el bucle while. Se elimina d de S. La arista
en negro (b, d) se aade al rbol de camino mnimo, y la arista (d, e) con lneas
discontinuas se expande.
Ahora el vrtice e en la figura 9 tiene el mnimo valor entre todos los vrtices de
S. Se elige u como vrtice en el bucle while. Se elimina e de S. La arista en negro
(d, e) se aade al rbol de camino mnimo que se est construyendo y la arista de
lneas discontinuas (e, f) se expande.
Pgina 27 de 102
RBOLES DE CAMINO MNIMO
Se puede observar en el ejemplo anterior que una vez que el vrtice se elimina de
S, su valor permanece invariable. Esto es cierto siempre y cuando todos los
pesos de las aristas sean no negativos. El fundamento detrs de esto es muy
directo porque siempre se elige el vrtice en S con el mnimo valor . Sin
embargo, esto puede no mantenerse en grafos dirigidos con pesos negativos
entre aristas.
Pgina 28 de 102
RBOLES DE CAMINO MNIMO
Pgina 29 de 102
RBOLES DE CAMINO MNIMO
Algoritmo: BELLMAN-FORD
[v]
[v] NIL
[s] 0
[v] u
Exit
T T {( [v], v)}
Pgina 30 de 102
RBOLES DE CAMINO MNIMO
Ejemplo:
a b c
2 2
0 2
1
d
5 4
1 1
e f
-3 1 2
5
1
g h
Pgina 31 de 102
RBOLES DE CAMINO MNIMO
Figura 18: Los caminos mnimos estimados [c], [d], [e] y [h] se modifican.
a b c
2 2
0 2 4
1
d
5 3 4
1 1
e f
2
-3 1 2
5 6
g 1 h
a b c
2 2
0 2 4
1
d
5 3 4
1 1
e f
2 3
-3 1 2
5 6
g 1 h
Pgina 32 de 102
RBOLES DE CAMINO MNIMO
a b c
2 2
0 2 4
1
d
5 3 4
1 1
e f
2 3
-3 1 2
5 5
g 1 h
a b c
2 2
0 2 4
1
d
5 3 4
1 1
e f
2 3
-3 1 2
5 5
g 1 h
Pgina 33 de 102
RBOLES DE CAMINO MNIMO
Hay dos candidatos para este camino: un camino mnimo, que utiliza nicamente
los vrtices del conjunto (1...k); o bien existe un camino que va desde i hasta k +
1, despus de k + 1 hasta j que es mejor. Sabemos que el camino ptimo de i a j
que nicamente utiliza los vrtices de 1 hasta k est definido por
caminoMinimo(i,j,k), y est claro que si hubiera un camino mejor de i a k + 1 a j, la
longitud de este camino sera la concatenacin del camino mnimo de i a k + 1
(utilizando vrtices de (1...k)) y el camino mnimo de k + 1 a j (que tambin utiliza
los vrtices en (1...k)).
Pgina 34 de 102
RBOLES DE CAMINO MNIMO
int camino[ ][ ];
procedimiento FloydWarshall ()
para k: = 0 hasta n 1
Para que haya coherencia numrica, Floyd-Warshall supone que no hay ciclos
negativos (de hecho, entre cualquier pareja de vrtices que forme parte de un
ciclo negativo, el camino mnimo no est bien definido porque el camino puede
ser infinitamente pequeo). No obstante, si hay ciclos negativos, Floyd-Warshall
puede ser usado para detectarlos. Si ejecutamos el algoritmo una vez ms,
algunos caminos pueden decrementarse pero no garantiza que, entre todos los
vrtices, caminos entre los cuales puedan ser infinitamente pequeos, el camino
se reduzca. Si los nmeros de la diagonal de la matriz de caminos son negativos,
es condicin necesaria y suficiente para que este vrtice pertenezca a un ciclo
negativo.
Pgina 35 de 102
RBOLES DE CAMINO MNIMO
4.5 APLICACIONES
4.5.1 Multidifusin
Pgina 36 de 102
RBOLES DE CAMINO MNIMO
Pgina 37 de 102
PROBLEMAS DE RBOLES GENERADORES NP-COMPLETOS
Pgina 38 de 102
PROBLEMAS DE RBOLES GENERADORES NP-COMPLETOS
Datos iniciales. Un grafo G = (V, E). La longitud l(e) N para cada e E satisface
la desigualdad triangular.
Datos iniciales. Un grafo G = (V, E), el peso W (e) Z + y la longitud l(e) N para
cada e E y un entero positivo B.
Objetivo. Encontrar un rbol generador T que minimice la suma de los pesos del
camino entre cada par de vrtices, es decir, u ,vV W (u , v).r ({u , v}) donde W(u, v)
denota la suma de los pesos de las aristas en el camino que une u y v en T.
Pgina 39 de 102
PROBLEMAS DE RBOLES GENERADORES NP-COMPLETOS
Datos iniciales. Un grafo G = (V, E), una mtrica dada por los pesos de las aristas
s: E N y un subconjunto S V de vrtices.
2
[ ( x1 x 2) + ( y1 y 2) ]
2
Datos iniciales. Un grafo G = (V, E), una funcin de peso w: E N, una funcin de
capacidad c: E N y una funcin de requisito r: V x V N.
Objetivo. Encontrar una red de Steiner sobre G que satisfaga todos los requisitos
y obedezca todas las capacidades, es decir, una funcin f: E N tal que para
cada arista e se cumple que f(e) c(e) y, para cualquier par de nodos i y j
disjuntos, el nmero de caminos de aristas disjuntas entre i y j es al menos r(i, j)
donde, para cada arista e estn disponibles f(e) copias de e.
Pgina 40 de 102
PROBLEMAS DE RBOLES GENERADORES NP-COMPLETOS
w(u , v)
( u ,v )E ,uS ,vS
Datos iniciales. Un grafo G = (V, E), tres funciones de peso d2(e) d1(e) d0(e),
para cada e E, donde di(e) denota el peso de la arista e si i de sus puntos
finales se actualizan, el coste del vrtice actualizado c(v) para cada v E, un
valor umbral D para el peso de un rbol generador mnimo.
Pgina 41 de 102
PROBLEMAS DE RBOLES GENERADORES NP-COMPLETOS
Pgina 42 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
6.1 INTRODUCCIN
En general, cuando el coste sobre una arista representa un precio para el ruteo de
mensajes entre sus puntos extremos, el coste de ruteo para un par de vrtices en
un rbol generador dado se define como la suma de los costes de las aristas en el
nico camino en el rbol entre ellos. El coste de ruteo del rbol es la suma de
todos los costes de ruteo de todos los pares de vrtices del rbol. Por ejemplo,
C(T) = u, v dT (u, v), donde dT (u, v) es la distancia entre u y v en T. Para un grafo
no dirigido, el coste de ruteo mnimo de un rbol generador (MRCT) es el que
tiene menor coste de ruteo entre todos los posibles rboles generadores.
En este captulo, se asume que G es un grafo simple y no dirigido y que los pesos
de las aristas son no negativos.
DEFINICIN 1
Sea T un rbol y e E(T). Se asume que X e Y son los dos subgrafos que
resultan de eliminar e de T. El coste de ruteo sobre la arista e se define como:
Pgina 43 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
PROPIEDAD 1:
LEMA 1
Para un rbol T con aristas de longitud w, C(T) = eE(T) l(T, e) w(e). Adems, C(T)
se puede computar en tiempo O(n).
Ejemplo 1:
V1 10 V2
5
3 1
V3 V4 V5
Se considera el rbol T en la Figura 1. Las distancias entre los vrtices son las
siguientes:
dT (v4, v5) = 4
Pgina 44 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
Por otro lado, el peso de la asignacin de ruta de la arista (v1, v2) se calcula de la
siguiente manera:
C(T) = 12 x 10 + 8 x 5 + 8 x 3 + 8 x 1 = 192.
A primera vista, la definicin C(T) = u , v d T (u , v) , uno puede pensar que los pesos
de las aristas del rbol es lo ms importante del coste de la asignacin de ruta en
un rbol. Por otro lado, por el lema 1, se puede ver que el peso de asignacin de
ruta tambin desempea un papel importante. El peso de la asignacin de ruta
est determinado por la topologa del rbol. Por tanto, la topologa es importante
para construir un rbol de coste de ruteo pequeo. El siguiente ejemplo ilustra el
impacto de la topologa considerando dos casos extremos.
Pgina 45 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
Ejemplo 2
V4
5 5
V1 V1 V2 V3 Vn-1 Vn
5 5
V3 1 1 1
5 5
Vn V2
T1 T2
Sea T1 una estrella (un rbol con slo un nodo interno) en el que cada arista tiene
peso 5, y sea T2 un camino en el que cada arista tiene peso 1 (Figura 2).
Supongamos que ambos rboles son rboles generadores de un grafo con n
vrtices. En el aspecto de peso de las aristas total, se puede ver que T2 es mejor
que T1. Computemos el coste de asignacin de ruta. Para T1, el peso de
asignacin de ruta de cada arista es 2(n-1) ya que cada arista es una hoja. Por
tanto, por el lema 1, C(T1) = 10(n-1)2.
Sea T2= (v1, v2,..., vn). Eliminando una arista (vi, vi+1) resultarn dos componentes
de i y n-i vrtices. Por tanto, el coste de asignacin de ruta es:
Por el lema 1:
Pgina 46 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
UN ANLISIS SENCILLO
Ya que todas las aristas son de longitud no negativa, la distancia entre dos
vrtices no disminuye al eliminar aristas del grafo. Obviamente, dT (u, v) dG (u, v)
para cualquier rbol generador T de G. Se puede obtener un lmite inferior trivial
del coste de ruteo.
DEFINICIN DE C-APROXIMACIN
PROPIEDAD 2
Sea r la mediana del grafo G = (V, E, w), es decir, el vrtice con mnima distancia
total a todos los vrtices. En otras palabras, r minimiza la funcin f(v) = uV dG (u,
v). Se puede demostrar que el rbol de camino mnimo con origen en r es una 2-
aproximacin de un MRCT.
TEOREMA 1
Pgina 47 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
Demostracin:
COROLARIO 1
2(n-1)(n-2)+2(n-1) = 2(n-1)2.
Ya que la distancia total sobre el grafo es: n(n-1). El radio es: 2 (2/n).
Pgina 48 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
Se puede fcilmente verificar que, para el caso anterior, la estrella es adems una
solucin ptima. El problema es que podramos comparar la solucin aproximada
con la ptima, pero no con el lmite inferior trivial. Ahora introducimos otra prueba
del factor de aproximacin del rbol de camino mnimo. La tcnica de anlisis que
se utiliza se llama descomposicin de la solucin, la cual es ampliamente utilizada
en el diseo de algoritmos, especialmente para la aproximacin de algoritmos.
DESCOMPOSICION DE LA SOLUCION
r r1 r2
(a) (b)
Para cualquier rbol, siempre se puede cortar por un nodo r tal que cada rama
contiene como mucho la mitad de los nodos. Tal nodo se le suele llamar el
centroide del rbol. Por ejemplo, en la figura 3(a), el vrtice r es un centroide del
rbol. El rbol tiene nueve vrtices. Eliminando r del rbol se obtienen tres
subrboles y cada subrbol no tiene ms que cuatro vrtices. Se puede
fcilmente verificar que r es el nico centroide del rbol de la figura 3(a). Sin
embargo, para el rbol 3(b), r1 y r2 son los centroides del rbol.
Pgina 49 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
LEMA 2
Existe un vrtice tal que cualquier rbol de camino mnimo que tenga como raz
ese vrtice es una 2-aproximacin del MRCT.
Pgina 50 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
DEFINICIN 3
Ejemplo 3:
v4 v2 v1 v3 v4 v2 v1 v3
v5 v5
(a) (b)
v4 v2 v1 v3 v4 v2 v1
v5 v5
(c) (d)
Pgina 51 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
S
<= kn
i
B1
<= kn <= kn
Pgina 52 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
DEFINICIN 4
COROLARIO 3
DEFINICIN 5
Dado un ncleo, para construir una estrella general slo hay que encontrar el
camino mnimo del bosque, el cual puede encontrarse en tiempo O(n log n + m).
Sin embargo, se puede hacer ms eficientemente si se precalculan todos los
pares de caminos mnimos.
Pgina 53 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
LEMA 3
LEMA 4
Ahora establecemos un lmite inferior del coste de ruteo mnimo. Sea S un mnimo
-separator de un rbol generador T y X denota el conjunto de los pares
ordenados de vrtices que no estn en la misma rama de S. Para cualquier par de
vrtices (u, v) X,
Resumiendo para todos los pares en X, se tiene un lmite inferior para C(T).
C(T) (u,v) X dT (u,v) = (u,v) X (dT (u,S) + dT (v,S)) + (u,v) X d TS (u, v).
Pgina 54 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
LEMA 5
LEMA 6
COROLARIO 2
LEMA 7
Pgina 55 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
LEMA 8
Sea G = (V, E, w). Hay un algoritmo el cual construye una estrella general T
star(SPG(r1, r2)) para cada par de vrtices r1 y r2 en tiempo 0(n3).
TEOREMA 2
ALGORITMO DE 15/8-APROXIMACIN
Dado que dG (v, P) d T (v, P) para cualquier vrtice v, se puede demostrar que X
es una solucin con 3/2-aproximacin por el lema 2. Sin embargo, tiene coste
exponencial al intentar todos los caminos posibles. A continuacin se demostrar
que se puede encontrar una solucin con 3/2-aproximacin si, adems de los dos
puntos extremos de P, se conoce un centroide de un rbol ptimo.
Sea P = (p1, p2,, pk) un camino separador de T , Vi = VB(T, P, pi), y ni = |Vi| para
1 i k. Es fcil observar que el centroide debe de estar en V(P). Sea pq un
centroide de T . Construir R = SPG (p1, pq) U SPG (pq, pk). Asumimos que R no
tiene ciclos. De lo contrario, arbitrariamente se eliminan aristas para romper los
ciclos. Obviamente w(R) w(P).
Pgina 56 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
LEMA 9
TEOREMA 3
ALGORITMO DE 3/2-APROXIMACIN
Para cada tripoleta (r1, r0, r2) de vrtices, se puede construir R = SPG (r1, r0) U SPG
(r0, r2) y T star(R) incluyendo el caso particular en que ri = rj .Por el lema 9, al
menos una de estas estrellas es una solucin con 3/2-aproximacin del problema
del MRCT, y podemos elegir la que tenga el mnimo coste de ruteo. Respecto al
tiempo de complejidad, se puede ver que cada estrella se construye en tiempo
O(n). Por el lema 3, T star(R) se puede construir en tiempo O(n) si para cada v
V, se encuentra un camino mnimo desde v a R. Se define A(i, j, k) = dG (i, SPG
(j, k)) y B(i, j, k) como los vrtices en SPG (j, k) que est ms cerca de i. Es
sencillo ver que A(i, j, k) y B(i, j, k) se pueden computar en tiempo O(n4). Para
cualquier R = SPG (r1, r0) U SPG (r0, r2), ya que
Pgina 57 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
El radio consigue su mnimo cuando los dos trminos coinciden. Es decir, para
=1/4, y el mnimo radio es 4/3. De hecho, al usar la estrella general y un (1/4)-
separator, es posible aproximar un MRCT con radio (4/3) + para cualquier
constante > 0 en tiempo polinomial. El error adicional es debido a la diferencia
entre los separadores supuesto y el real.
Sin embargo, k-estrella funciona solo para grafos con coste. La clase de grafos
con coste es una subclase importante de grafos. Resolviendo el problema del
MRCT sobre grafos con coste es significativo por s mismo. Antes de considerar el
problema de aproximacin sobre grafos con coste, dos cuestiones vienen a
nuestra mente:
Pgina 58 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
DEFINICIN 6
Algoritmo: BORRAR_MALOS
Si b no es un ascendiente de x entonces
Si no
Pgina 59 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
(II) TY
Esta suposicin no es fuerte ya que casi todos los algoritmos para todos los pares
de caminos mnimos llegan como resultado a esa solucin.
PROPUESTA 1
Demostracin:
Para cada arista mala e = (a, b), sea h(e) el nmero de aristas de SPG(a, b) y f(T)
= bad e h(e). Dado que h(e) n-1, f(T) < n2 inicialmente. Ya que (a, x) no es una
arista mala, es fcil comprobar que f(T) disminuye al menos 1 en cada iteracin.
PROPUESTA 2
Demostracin:
Pgina 60 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
a a
b
b
y
y
x
x
Para cualquier nodo v, sea Sv = V(Tv). Como se muestra en la figura 6, hay dos
casos. El caso 2 es idntico al caso 1 si el rbol tomara como raz b y los roles de
a y b se intercambiaran. Por lo tanto, solamente la desigualdad para el caso 1
necesita ser probada, es decir, x Sa Sb.
=> uU
1
vS b dT (u, v) < uU 1
vS b dY* (u, v).
< uU
1
vS b ( dT (u, x) + w (x, b) + dT (b, v) ) =>
Pgina 61 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
( C(Y**) C(T) ) / 2 = uU
2
vS x ( dY** (u, v) - dT (u, v) )
+ uU
1
vS b ( dY** (u, v) - dT (u, v) ).
( C(Y**) C(T) ) / 2
0.
Pgina 62 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
LEMA 10
Este lema implica que C(mrct(G)) C(mrct( G )). Es fcil ver que C(mrct(G))
C(mrct( G )). Por lo tanto, tendramos el siguiente corolario.
COROLARIO 3
C(mrct(G)) = C(mrct( G ))
TEOREMA 4
Demostracin:
COROLARIO 4
Pgina 63 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
TEOREMA 5
Hay un PTAS para encontrar un rbol de coste de ruteo mnimo para un grafo no
dirigido y con pesos. Especficamente, se puede encontrar una solucin de (1+ )-
aproximacin en tiempo O(n2[2/] -2).
C(K) (1 + ( / 1- ) ) C( T ) = (1+) C( T ).
Pgina 64 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
Antes de entrar en detalles del caso general, veremos como encontrar una 3/2-
aproximacin de un MRCT y el desarrollo de su anlisis.
SY
Pgina 65 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
La raz del MRCT T es el centroide r. Hay al menos dos subrboles que contienen
ms de n/3 nodos. Sea a y b los vrtices ms profundos con al menos n/3
descendientes. Se ignoran los casos donde r = a o r = b. Para tales casos, el radio
podra demostrarse igualmente. Sea P un camino de a a b. Obviamente, el
camino contiene a r y es un 1/3-separator mnimo. Transformando T en una 3-
estrella con nodos internos a, b y r tales que su coste de ruteo no es superior a
3/2 del de T . Como se muestra en la figura 7, se toma una particin de todos los
vrtices en Va, Vb, Vr, Var, y Vbr. Los conjuntos Va, Vb y Vr contienen los vrtices
cuyo antecesor ms profundo sobre P es a, b y r, respectivamente. El conjunto
Var, (y Vbr ) se compone de los vrtices cuyo antecesor ms profundo en P est
entre a y r (y entre b y r, respectivamente).
a r b a r b
r
Var Vbr Var Vbr Var Vbr
Vr a r b a r b
Va Vb
Primeramente se sustituye P con las aristas (a, r) y (b, r). Para cada vrtice v en
Va (o Vb, Vr), se aade la arista (v, a) (o (v, b), (v, r), respectivamente). Para los
vrtices en Var, se consideran dos casos: O todos ellos estn conectados a a o
todos ellos estn conectados a r. Los vrtices en Vbr estn conectados de forma
similar. Las cuatro posibles 3-estrellas se muestran en la figura 7.
Pgina 66 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
Ntese que no hay ms de n/6 nodos en Var, Para la arista (a, r), el peso de ruteo
es inferior a 2(n/2) (n/2) = n2/2. (Nota: Para este caso simple en el que = 1/3, este
lmite es suficiente. Sin embargo, para un ms pequeo se requiere un anlisis
ms preciso del incremento del peso de ruteo).
El factor de aproximacin, por comparacin con el lmite inferior del ptimo es 3/2.
Algunos vrtices adicionales tales como todos los vrtices crticos que
corten el separador en caminos de aristas disjuntas y el nmero de vrtices
cuyo antecesor ms profundo sobre S pertenezca al mismo camino en no
ms de n/2. Tal camino se define como un -camino en la siguiente
seccin. En el ejemplo anterior, r es tal vrtice. Los vrtices a, b y r cortan
el separador en dos caminos y el nmero de vrtices en Var o Vbr es inferior
a n/6.
Pgina 67 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
Por ejemplo, para k=3. Para una 3-estrella, el ncleo es un camino de 3 vrtices.
Hay O(n3) ncleos posibles. Para cada ncleo posible (a, b, c), se utiliza un vector
entero con tres componentes (x, y, z) para indicar cuntas hojas se conectaran a
a, b y c, en el que x + y + z = n-3 y x, y, z son enteros no negativos. Hay O(n2)
vectores. Para un ncleo especfico y un vector especfico, el peso de ruteo sobre
cada arista del ncleo es tambin fijo. Eso es, el peso de ruteo sobre (a, b) es
2(x+1)(n-x-1) y sobre (b, c) es 2(z+1)(n-z-1). Por lo tanto, la mejor hoja de
conexin se determina por las aristas de hoja ligadas al nmero de hoja que se
conectan a a, b, c. Este problema se puede solucionar resolviendo el problema de
asignacin en tiempo O(n3). La complejidad total es del orden de O(n2k+2), el cual
es un polinomio con k constante. De hecho, no se necesita resolver el problema
de asignacin individual para la mejor hoja de conexin de cada vector. La mejor
hoja de conexin de un vector se puede encontrar a partir de la de otro vector
resolviendo el problema del camino mnimo si los dos vectores son adyacentes.
Dos vectores son adyacentes si uno se puede obtener a partir del otro
incrementando un componente uno a uno y decrementando un componente uno a
uno. Por ejemplo, (5, 4, 2) y (5, 3, 3) son adyacentes. Con este resultado, el
tiempo de complejidad se reduce a O(n2k).
Pgina 68 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
Sea P = SPT(i, j) en el que |VB(T, P, i)| |VB(T, P, j)|. Se utilizarn las siguientes
notaciones para simplificar las expresiones:
Pa = |VB(T, P, i)|.
Pb = |VB(T, P, j)|.
Pa y Pa son los nmeros de vrtices que estn colgando de los dos puntos finales
del camino. Ntese que siempre se asume que Pa Pb. En el caso de que P
contenga solamente una arista, Pc = 0. Las notaciones se ilustran en la figura 8.
Figura 8: B1, B2,, B7 son ramas de P. VB(T, P, i) = {i} U V(B1) U V(B2) U V(B3).
Pc es el nmero de vrtices en {r1, r2 , r3} U V(B4) U V(B5) U V(B6).
j
r3
r1 P r2
B1 i
B7
B6
B2
B4 B5
B3
Pgina 69 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
DEFINICIN 7:
DEFINICIN 8:
DEFINICIN 9:
DEFINICIN 10:
Pgina 70 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
Ejemplo 4:
v1
v1 v1
S v1
S
v3 v3
v2 v2
v5
v5
>n/ v5
>n/ v4 4 Vrtices que
4 cuelgan de v2 Vrtices que
cuelga un
camino
v4
>n/
4
(a) (b)
LEMA 11:
Pgina 71 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
Ejemplo 5:
LEMA 12:
2. Todos los vrtices en los subrboles que cuelgan en el corte y en los nodos
hojas del spine estn conectados directamente a sus nodos ms prximos
en el spine.
Pgina 72 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
EJEMPLO 6:
D
C
D
C
B
A B
A
E E
(a) (b)
B B
A B
A
A
Pgina 73 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
puntos finales en cada caso. Todos los nodos internos del camino y nodos que
cuelgan en los nodos internos se conectarn a uno de los dos puntos finales.
Ntese que estn conectados al mismo punto final o como en (d) o en (e) pero no
estn conectados a los dos puntos finales parcialmente.
La variable indicadora f(i) determina el punto final de Pi al cual todos los nodos
internos y nodos que cuelgan a ese nodo interno se conectar directamente. Se
construye un rbol generador X de G donde el conjunto de aristas Ex se determina
mediante la siguiente regla:
1. R G.
3. Para el conjunto de vrtices Vi = V - VB( T , Pi, ui) - VB( T , Pi, vi), si f(i) = 1,
entonces {(q, ui) | q Vi} Ex, si no {(q, vi) | q Vi} Ex. Es decir, los
vrtices de Vi estn todos conectados a ui o todos conectados a vi.
PROPUESTA 3
X es una k-estrella.
PROPUESTA 4
1
C(X) C( T ). (Esta propuesta es trivial considerando el coste de X).
1
Pgina 74 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
LEMA 13
Una k-estrella ptima de una grafo con mtrica es una (k+3)/(k+1) aproximacin
de un MRCT.
EJEMPLO 7:
Tomando = 1/3 en el lema 13, se concluye que existe una 3-estrella la cual es
una 1.5-aproximacin de un MRCT. Tomando = 0.2, se concluye que existe una
7-estrella la cul es una 1.25-aproximacin.
LEMA 14
TEOREMA 6
Para un k dado, para encontrar una k-estrella ptima, se considera todos los
subconjuntos S posibles de vrtices de tamao k, y para cada eleccin, se
encuentra una k-estrella ptima donde los vrtices restantes tiene grado uno.
Pgina 75 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
Sea l =(l1, , lk) un k-vector no negativo tal que ik=1 l i = n k. Se dice que una k-
estrella (S, , ) tiene la configuracin (S, , l ), si li, = | Li | para todo 1 i k.
EJEMPLO 8:
v1 v2 v3 v1 v2 v3
u1 u2 u3 u4 u5
2 4
(a) (b)
Para la 3-estrella que se muestra en la figura 11(a), S = {v1, v2, v3}, se muestra
en (b), L1 = {u1, u2, u3}, L2 = {u4}, L3 = {u5}, y l = (3, 1, 1).
n k-2
combinaciones para S. k posibles topologas de rbol para T con k
k
vrtices, y
Pgina 76 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
n 1
posibilidades de k-vectores.
k 1
(Para ver esto, observar que cada uno de esos vectores puede corresponder con
k-1 escogidos entre n-1 elementos ordenados linealmente, y usando las
cardinalidades de los segmentos entre segmentos escogidos consecutivamente
como componentes del vector). Ntese que para cualquier dos k-estrellas con la
misma configuracin tienen el mismo coste de ruteo con sus correspondientes
aristas. Se define (S, , l) una k-estrella ptima con configuracin (S, , l).
Pgina 77 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
l i 1 Si i=s
l i = l i + 1 Si i=t
'
l En otro caso
i
a + b 1
Sea r = | Wab | = . La siguiente propuesta demuestra que los elementos
a 1
de Wab se puede ordenar linealmente como l1, , lr para que l i+1 li para todo 1 i
r-1.
PROPOSICIN 5:
Para todos los enteros positivos a, b, existe una permutacin a,b de Wab tal que
1
a,b
es el mnimo lexicogrfico, ar ,b es el mximo lexicogrfico y ia+,b1
i
a ,b
para todo i = 1,, r-1.
EJEMPLO 9:
k, 0,, 0). Se determinar cmo obtener (S, ,li+1) a partir de (S, ,li).
Pgina 78 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
LEMA 15:
EJEMPLO 10:
10
30
v1 v2 v3 v1 v2
50
30
20 10
u1 u2 u3 u4 u5 v3
2 4
(a) (b)
Supngase que las longitudes de las aristas w(vi, uj) en la figura 11 se dan en la
siguiente matriz:
u1 u 2 u3 u4 u5
v1 10 10 30 50 50
v2 50 60 40 20 60
v3 80 70 80 30 30
w(v 2 , u1 ) w(v1 , u1 )
min w(v2 , u 2 ) w(v1 , u 2 ) = w(v2, u3) w(v1, u3) = 10,
w(v , u ) w(v , u )
2 3 1 3
Pgina 79 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
6.6 APLICACIONES
Uno puede querer construir una red fija tal que el mensaje puede ser transportado
por la red desde los orgenes a los destinos.
Los rboles son una importante estructura de red debido a las siguientes
caractersticas:
Un MRCT es un rbol generador que minimiza el coste total de ruteo cuando los
requisitos de comunicacin para todos los pares de vrtices sean iguales. O en un
modelo estocstico, un MRCT es un rbol generador que tiene el coste de ruteo
esperado mnimo si el requisito entre cualquier par de vrtices tiene igual
probabilidad.
Adems de la obvia conexin al diseo de redes, los rboles con coste de ruteo
ms pequeo tambin encuentran aplicacin en la construccin de alineamiento
de secuencias mltiples en biologa computacional. Para explicar la aplicacin, se
tiene que realizar primero una breve introduccin al concepto de alineaciones de
mltiples secuencias.
Pgina 80 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
T C C G A T G
C C G G A C G
T C G A C G
Pgina 81 de 102
RBOLES GENERADORES CON COSTE DE RUTEO MNIMO
Pgina 82 de 102
RBOLES DE STEINER
7 RBOLES DE STEINER
Mientras que un rbol generador cubre todos los vrtices de un grafo dado, un
rbol de Steiner cubre un subconjunto de vrtices dados. En el problema del rbol
mnimo de Steiner, los vrtices se dividen en dos partes: terminales y no
terminales. Los terminales sern los vrtices que se deben incluir
obligatoriamente en la solucin. El coste del rbol de Steiner se define como el
peso total de todas las aristas. Un rbol de Steiner puede contener vrtices no
terminales para reducir el coste. Sea V un conjunto de vrtices. En general, se
nos dar un conjunto L V de nodos terminales y una mtrica que defina la
distancia entre dos puntos cualesquiera de V. El objetivo es encontrar un subgrafo
conexo cubriendo todos los vrtices terminales y cuyo coste total sea mnimo. Ya
que las distancias son todas no negativas en la mtrica dada, la solucin tiene
estructura de rbol. Dependiendo de la mtrica dada, hay dos versiones del
problema del rbol de Steiner que pueden ser estudiados:
2
( ( x1 x2 ) + ( y1 - y 2 ) )
2
(a) rbol Mnimo de Steiner Eucldeo. (b) Grafo del rbol mnimo de Steiner.
Los puntos negros son vrtices terminales y los blancos vrtices no terminales.
Pgina 83 de 102
RBOLES DE STEINER
| x1 x2 | + | y1 y2 |.
Pgina 84 de 102
RBOLES DE STEINER
Algoritmo MST-STEINER
3: T .
Aadir P a T;
Si no,
5: Salida T.
Pgina 85 de 102
RBOLES DE STEINER
Ejemplo 1:
v1 8 v2 v 4 v2
8
2 2 2 u4 1 7
u2 6
u3 9 u1 1 7 8 6 5
5 5
8 4 3 8 9
v3
v4 v5 8 v5
v3 8 v4 8
(a) (b)
v 4 v2
v1
1 7 u1
6 2
5 1 u2
v3 3
v5 v4
v4
(c) (d)
v2
v1 2 5
v2 v5
v1 2 2
u1 1 u2
2
u1 1 u2
4
3
4 3 v3 v4
v3 v4
(e) (f)
Pgina 86 de 102
RBOLES DE STEINER
Figura 3:
1 1
2 2 1 1 2 2
1 1
1 1 1
2 1 1 2 1 2 2
2 2 1 1 2 2
Pgina 87 de 102
RBOLES DE STEINER
dirigido. Ya que el camino atraviesa cada arista exactamente dos veces, w(X) =
2w(smt(G, L)). Por otro lado, ya que el camino visita todos los nodos terminales,
se tiene lo siguiente:
en el que tsp(GL) es un ciclo Hamiltoniano mnimo sobre GL, una solucin ptima
del problema del viajante. Por consecuencia, se tiene:
Teorema 1:
Pgina 88 de 102
RBOLES DE STEINER
tupla (u1, u2, u3) de vrtices terminales. Para una tripleta z = (u1, u2, u3), se define
F \ z como el grafo resultante al contraer las aristas (u1, u2) y (u2, u3). En otras
palabras, F \ z se obtiene contrayendo los tres vrtices terminales a un punto.
Supongamos que x es un vrtice de Steiner y (x)= w(x, u1) + w(x, u2) + w(x, u3)
es la distancia total desde x a los tres vrtices terminales. Se puede tener un rbol
de Steiner mediante la combinacin de un MST al contraer el grafo F \ z con la
estrella centrada en x y expandiendo los tres vrtices terminales. El coste es dado
por w(mst(G \ z)) + (x). Sea
Algoritmo de ZELIKOVSKY-STEINER
1: F GL; W ;
3: Repetir siempre
FF\z
Insertar zmin en W;
Pgina 89 de 102
RBOLES DE STEINER
Ejemplo 2:
v1 6 v2 v1 6 v2
8 1 9
1
u1 3 3
4 9 u2 4
3 2 4
v3 v4 v4
v3
5 5
(a) (b)
v1, v2, v3 v1 v1 v2
4 1
v2, v3, v4 4 u
3 3 2
v4
v3 v4
La figura 4(a) es el grafo G de entrada, en el que L = {v1, v2, v3, v4} es conjunto de
vrtices terminales, y u1 y u2 son vrtices no terminales. La figura 4(b) es el cierre
transitivo GL. Se puede ver que el peso total de las aristas del rbol generador
mnimo es 11. En este ejemplo, hay solamente dos tripletas z1 = (v1, v2, v3) y z2 =
(v2, v3, v4) con valores finitos . Para cualquier otra tripleta, por ejemplo (v1, v2, v4),
no hay un vrtice adyacente de Steiner a todos los tres vrtices de la tripleta. Por
tanto, (v1, v2, v4) = , y podemos ignorarlo. Para z1, tenemos zmin = u1 y
Pgina 90 de 102
RBOLES DE STEINER
Teorema 2
Por otro lado, la ganancia total de una secuencia de contraccin voraz como en el
algoritmo es al menos la mitad de cualquier conjunto de tripletas, por tanto;
Ya que w(mst(GL)) 2 w(smt(G, L)) y w(T1) 5/3 w(smt(G, L)), por el teorema 1
se obtiene lo siguiente :
w(T2) 1/2 ( 2w(smt(G, L)) + 5/3 w(smt(G, L)) ) 11/6 w(smt(G, L)).
Pgina 91 de 102
RBOLES DE STEINER
V1 V2 x
4
6
y
5 2
2 1
2
2
7
4
V3 V4 3
Pgina 92 de 102
RBOLES DE STEINER
Cualquier par de vrtices tiene un nico camino simple en un rbol. Por esta
razn, los dimetros, radios y centros de un rbol estn relacionados. Para un
rbol sin pesos T = (V, E), se puede fcilmente demostrar que :
La figura 5(b) ilustra un ejemplo de dimetro, radio y centro de un rbol. Los dos
vrtices representados por crculos blancos son los centros del rbol. Hay cuatro
dimetros de longitud 16 en el rbol. Los vrtices x e y son los puntos finales de
un dimetro. El radio es 9 y los centros estn sobre los dimetros.
Sea T = (V, E, w) un rbol con raiz en un vrtice. Por Tr se denota el subrbol con
raz el vrtice r V, el cual es el subgrafo inducido sobre el vrtice r y todos sus
descendientes. Sea child(r) el conjunto de descendientes de v. La excentricidad
de la raiz de un rbol se puede computar mediante la siguiente relacin de
recurrencia :
Devolver 0 ;
Pgina 93 de 102
RBOLES DE STEINER
Lema 1
Sean x, y, z tres vrtices en un rbol T. Fcilmente se puede verificar que los tres
caminos SPT (x,y), SPT (x,z), SPT (y,z) intersectan en un vrtice. Se define c(x, y,
z) como el vrtice interseccin. Tenemos lo siguiente:
o lo que es equivalente:
Propiedad 1
Lema 2
Salida: El dimetro de T.
Pgina 94 de 102
RBOLES DE STEINER
Ejemplo:
Figura 6:
T1 T2 v1 v2
u1
v1
u1 u2 v2
u2
v3
v4
Pgina 95 de 102
RBOLES DE STEINER
Teorema 3
Propiedad 2
Propiedad 3
Lema 3
Se empezar por un caso sencillo donde G es un grafo con pesos, por ejemplo,
cualquier grafo en el espacio Eucldeo. Para todos los vrtices de V(T1), se
construir una estrella centrada en u1. Similarmente se construir una estrella
centrada en u2 para todos los vrtices de V(T2). Sea X el rbol que contiene las
dos estrellas y la arista (u1, u2). Obviamente, el dimetro de X es el mismo que el
dimetro de T, y X es tambin un MDST de G.
Pgina 96 de 102
RBOLES DE STEINER
Lema 4
Dado un grafo con pesos, existe un MDST con una arista (u1, u2) tal que, para
cualquier otro vrtice v, o (u1, v) o (u2, v) estn en el rbol.
Nos podemos dar cuenta que simplemente al conectar todos los vrtices a u1 , no
nos proporcionan siempre un MDST. Es posible que existan dos vrtices v3 y v4
en T2 tal que d(v3, u1) + d(v4, u1) sea mas largo que el dimetro de T. Ahora
consideremos el caso donde G es un grafo general. De hecho, se obtiene un
resultado similar para grafos generales. La dificultad de demostrar la propiedad es
que un par de vrtices pueden no ser adyacentes y una arista puede tener mayor
longitud que el camino mnimo entre dos puntos terminales.
( d(v, u) + d(u, u1) ) - ( d(v, u) + d(u, u2) ) > d(v1, u1) - d(v2, u2),
ya que d(v, u2) d(v, u) + d(u, u2). De forma similar, para cualquier vrtice en V2,
el camino mnimo a u2 contiene solamente vrtices de V2. Por lo tanto, existe un
rbol generador X en el que el camino desde u1 (y u2) a cualquier vrtice de V1 (y
V2, respectivamente) es un camino mnimo. Esto es obvio ya que el dimetro de X
es el mismo que el dimetro de T.
Lema 5
Dado un grafo G = (V, E, w). Existe un rbol generador de dimetro mnimo T con
una arista (u1, u2) E(T), tal que dT (v, u1) = d(v, u1) o dT (v, u2) = d(v, u2) para
cualquier vrtice v V.
Pgina 97 de 102
RBOLES DE STEINER
2: .
12: Encontrar un rbol T1 con el camino mnimo que empiece en x y cubra V1.
13: Encontrar un rbol T2 con el camino mnimo que empiece en y y cubra V2.
Teorema 4
El 1-Centro Absoluto
Pgina 98 de 102
RBOLES DE STEINER
Para un grafo general, puede haber varios 1-centro absolutos. Sin embargo, para
un rbol, el 1-centro absoluto es nico. La razn es que todos los dimetros de un
rbol no pueden ser disjuntos (Propiedad 2). Adems, el dimetro de un rbol es
exactamente dos veces la excentricidad del 1-centro absoluto. El 1-centro
absoluto de un grafo define un rbol generador de dimetro mnimo.
Teorema 5
Demostracin:
(Y) = 2 DY (x, V)
= 2 DG (x, V)
2 DG (u, V)
2 DT (u, V)
= (T)
Pgina 99 de 102
RBOLES DE STEINER
Corolario 1:
8 CONCLUSIONES
Tras la lectura de las dos partes del proyecto se puede observar que se ha
cumplido el objetivo inicial, que como sabemos consista en la recopilacin de los
algoritmos ms importantes para encontrar rboles generadores mnimos y con
un fin acadmico. Esto se ha conseguido gracias a los siguientes puntos:
9 BIBLIOGRAFIA
Informacin en Internet
http://imp.act.uji.es:8080/algoritmica/repo/Tocho3