Escolar Documentos
Profissional Documentos
Cultura Documentos
Grafos ponderados
(G ,w)
1 a 3 b 4 f 6 5 d 3 5 6 g 4 c 2 e 1 2 h
w:A
Un rbol generador mnimo de G, MST(G), es un rbol generador con el menor peso posible.
1. En general no es nico 2. La arista de mayor peso de un ciclo no pertenece a MST(G).
w (H) = w(e)
e A1
d: V V
R+
w(G) = 42
d(u,v)=min{w(C) | C camino de u a v}
d(a,h) = 5
(G,w)
c 2 e 1 2 h
3. Un conjunto C de aristas de G es un corte si existe una particin (V1, V2 ) de V tal que C contiene todas las aristas con un extremo en V1 y otro en V2 . 4. La arista de menor peso de un corte pertenece a MST(G).
Y la arista de mayor peso de un corte?
(G,w)
(G,w)
Algoritmo de Prim
Primera aproximacin
Complejidad
Algoritmo de Prim
Segunda aproximacin
Complejidad
En el paso 3, si S tiene k vrtices hay n-k vrtices en V-S. Por tanto, necesitamos hallar la arista de mnimo peso entre k(n-k) aristas. Como k(n-k)<(n-1)2, el coste resulta O(n2). Pero el bucle del paso 3 se repite n-1 veces luego la complejidad es
O(n3)
1 a 3 b 4 f 6 5 d 3 5
c 2 6 g 4 e 1 2 h
1 6 5 d 3 5 f
c 2 6 g 4 e 1 2 h
S: d a c e g V-S: b f 3 4 S: d a c e g h V-S: b f 3 4
h 2
S: d a c V-S: b e f g h 3 2 5 3 6
S: d a c e g h b V-S: f 4
Algoritmo de Prim
Complejidad
Ahora, en cada paso el mnimo se calcula entre n-k etiquetas. As el coste del clculo de todos los mnimos es
n (n 1) (n 1) + (n 2) + ... +1 = O (n2 ) 2
El n total de actualizaciones de etiquetas es q, pues cada arista se considera slo una vez. Por tanto el coste total es O(n2) + O(q) = O(n2)
(G,w)
Algoritmo de Kruskal
Complejidad
Algoritmo de Kruskal
Complejidad
a b c d e f g h
Preproceso. Ordenar las aristas por su peso O(q logq) Paso 2. Hay que elegir la arista de menor peso que no forme ciclo con las aristas previamente elegidas. Este paso se efecta n-1 veces. Cmo detectar que no se forme un ciclo? Asignando etiquetas a los vrtices de modo que vrtices de la misma componente conexa reciban la misma etiqueta. 1 a 3 b 4 f 6 5 d 3 5
c 2 6 g 4 e 1 2 h
1 2 3 4 5 6 7 8 1 2 1 4 5 6 7 8 1 2 1 4 5 6 5 8 1 2 1 4 5 6 5 5 1 2 1 4 1 6 1 1 1 1 1 4 1 6 1 1 1 1 1 4 1 1 1 1 1 1 1 1 1 1 1 1
(G,)
Algoritmo de Kruskal
Complejidad
Algoritmo de Kruskal
Demostracin
Preproceso. Ordenar las aristas por su peso O(q logq) Paso 2. Coste de las comparaciones: Se hace una comparacin por arista O(q) Coste de las actualizaciones en las etiquetas: En el peor de los casos se actualizan los n vrtices en cada uno de los n-1 pasos. En total O(n2) Coste total O(q logq) + O(q) + O(n2) = O(n2+ q log q)
Sea T el rbol que se obtiene en el algoritmo Primero. T es rbol generador Segundo. T es de peso mnimo? Supongamos que no . S rbol de peso mnimo con ms aristas en T (en orden) ek la 1 tal que ek T, ek S S+ ek contiene un nico ciclo C, ek C Como T es rbol, existe e* C, e* T, peso de ek? En su momento w(ek) mnimo luego w(ek)w(e*) Formamos el grafo S*=S+ek-e* S* tiene n-1 aristas, es conexo y su peso es w(S*) w(S) Adems tiene una arista ms (ek) en comn con T que el rbol S Contradiccin con S!
Algoritmo de Borvka
Estrategia: Se toma un bosque generador F y se une cada componente de F con otra por una arista de mnimo peso 2 6 g 4 e 1 2 h 1. F bosque trivial con los vrtices de G 2. Mientras F no sea conexo, repetir Para cada componente F de F elegir la arista de mnimo peso que la conecta con otra (S=conjunto de estas aristas) Aadir S al bosque F
Otros problemas sobre rboles generadores Dado un grafo ponderado que representa las conexiones entre ciertos nodos, disear un rbol generador que: - Minimice la mxima distancia entre nodos.
RBOL GENERADOR DE DIMETRO MNIMO
1 a 3 b 4 f 6 5 d 3 5
- Indique cules son las caminos mnimos desde un nodo a los restantes.
RBOL GENERADOR DE CAMINOS MNIMOS
(G,w)