Minimum Spanning Tree (MST) es un subgrafo que conecta todos los vértices de un grafo conexo con el mínimo peso total, sin ciclos y con exactamente V-1 aristas.
Es uno de los problemas más importantes en teoría de grafos con aplicaciones directas en diseño de redes, clustering, y aproximaciones de problemas NP-hard.
Propiedades Clave
Cut Property
En cualquier corte del grafo (división en dos conjuntos), la arista de menor peso que cruza el corte pertenece a algún MST.
Eso es la base de Prim: cada paso elige la arista más barata que expande el árbol.
Cycle Property
En cualquier ciclo, la arista de mayor peso no pertenece a ningún MST.
Eso es la base de Kruskal: cada paso añade la arista más barata que no forma ciclo.
Algoritmos
Prim
- “Crece un árbol desde un nodo fuente.
- Usa min-heap de aristas candidatas.
- Complejidad: O((V+E) log V).
Kruskal
- Ordena aristas por peso.
- Usa Union-Find para evitar ciclos.
- Complejidad: O(E log E) ≈ O(E log V).
Comparación
| Algoritmo | Estrategia | Estructura | Complejidad |
|---|---|---|---|
| Prim | Crece árbol | Min-heap | O((V+E) log V) |
| Kruskal | Ordena aristas | DSU | O(E log E) |
Cuándo Usar Cada Uno
- Prim: grafos densos, adjacency list, necesitas MST desde nodo específico.
- Kruskal: grafos dispersos, edge list, fácil de paralelizar (ordena aristas independientes).
Casos Extremos
- Grafo completo — E = V(V-1)/2, Prim con array O(V²) puede ser mejor que heap.
- Grafo disperso — Kruskal domina.
- Múltiples MST — si hay empates, cualquier árbol de peso mínimo es válido.
- Grafo no conexo — no existe MST; obtienes un Minimum Spanning Forest.
Aplicaciones
- Diseño de redes — cableado mínimo, redes de computadoras
- Clusterización — single-linkage hierarchical clustering
- Approximaciones — Traveling Salesman Problem approximation (2-approx)
- Enseñanza — introduce cut property y greedy en grafos
Trayectoria de Práctica
- Implementa Prim y Kruskal; compara en el mismo grafo.
- Verifica cut property en un grafo pequeño.
- ¿Por qué Kruskal es más fácil de paralelizar?
- Investiga Borůvka: algoritmo paralelo original para MST.
- Investiga aproximación TSP: ¿por qué MST da 2-approx?
”