Albero ricoprente minimo

Un grafo planare insieme al suo albero ricoprente minimo

Nella teoria dei grafi, dato un grafo con archi pesati, l'albero ricoprente minimo o albero di copertura di costo minimo (in inglese minimum spanning tree, in sigla MST) è un albero ricoprente nel quale sommando i pesi degli archi si ottiene un valore minimo.

Definizione formale

Dato un grafo G=(N,A) non orientato, connesso e pesato e assumendo che w(u,v)∈ℝ+ sia una funzione peso per G.

Un MST per G è un insieme di archi tale che:

w(MST)=minMST∈S∑(u,v)∈MSTw(u,v).

Dove S è l'insieme di tutti gli alberi ricoprenti T di G, ovvero l'insieme di tutti i suoi sottografi che rispettano le seguenti condizioni:

Modello matematico

Dato un grafo G=(N,A) non orientato e connesso con costi ci,j associati agli archi e vettore dei flussi sugli archi

xi,j={1,se l'albero contiene l'arco (i,j),0,altrimenti.

Un albero di copertura di costo minimo (MST) è la soluzione del seguente modello matematico

min⁡∑(i,j)∈Acijxij,∑(i,j)∈Axij=n−1(vincolo grafo connesso),∑i∈S,j∈Sxij⩽|S|−1,∀S⊆A,|S|⩾3(vincolo assenza di cicli nel grafo),

dove S è l'insieme degli archi che compongono l'albero di copertura T e ha le seguenti proprietà:

Il vincolo sull'assenza di cicli nel grafo può essere anche espresso utilizzando il concetto di taglio in un grafo. Il secondo vincolo del modello quindi diventerà:

∑i∈S,j∉Sxij+∑i∉S,j∈Sxij⩾1,∀S⊆N(vincolo nodi connessi).

Condizioni di ottimalità

Chiamiamo T‾ il coalbero, cioè il complementare dell'albero T all'interno del grafo. Ogni lato del grafo lo chiamiamo ramo se fa parte dell'albero e corda se fa parte del coalbero. Un albero di copertura T è ottimale (di costo minimo) se e solo se rispetta una condizione di ottimalità. Le due condizioni di ottimalità dui cicli e sui tagli sono equivalenti, osservando che

(u,v) è nel cammino da i a j nell'albero ⇔ (i,j) è nel taglio formato eliminando l'arco (u,v) dall'albero

e che i quantificatori di uguale tipo si possono scambiare.

Ottimalità sui cicli

Presa una qualsiasi corda nel coalbero, questa determina un unico cammino nell'albero; ogni ramo di tale cammino ha costo minore della corda iniziale.

In formule, ∀(i,j)∈T‾, ∀(u,v)∈T, se (u,v) è nel cammino da i a j in T, allora cu,v≤ci,j.

Ottimalità sui tagli

Preso un qualsiasi ramo nell'albero e eliminandolo, l'albero si disconnette; ogni corda che ricollega l'albero ha costo maggiore del ramo iniziale.

In formule, ∀(u,v)∈T, ∀(i,j)∈T‾, se (i,j) è nel taglio formato eliminando l'arco (u,v) da T, allora cu,v≤ci,j.

Algoritmi per il calcolo di un MST

Algoritmo generico

L'algoritmo generico per la costruzione di un albero ricoprente minimo è di tipo greedy. Dato un grafo G=(V,E) non orientato, connesso e con una funzione peso w:E→ℝ+, l'algoritmo agisce su un insieme A⊆T (con T MST di G) al quale ad ogni passo viene aggiunto un arco (u,w) che permette ad A di restare un sottoinsieme del MST finale, un tale arco verrà chiamato safe-edge.

  1. A←∅
  2. while A≠T do
    1. (u,v)←safe-edge(A)
    2. A←A∪(u,v)
  3. end while
  4. return A

Trovare l'arco corretto

Per trovare l'arco corretto è necessario ricorrere ad alcune definizioni.

Per prima cosa (S,V−S) con S⊆V verrà chiamato taglio, e avremo che:

  1. Un arco (u,v) attraversa un taglio (S,V−S) se e solo se u∈S∧v∈(V−S).
  2. Un albero A⊆E rispetta un taglio (S,V−S) se e solo se ∃(u,v)∈A che attraversa il taglio.

Un arco (u,v) viene definito leggero rispetto ad un taglio (S,V−S), se è di peso minimo tra tutti gli archi che attraversano quel taglio.

Dato un insieme A di archi contenuto in qualche albero di connessione minima, sia (S,V−S) un taglio che rispetta A e sia a=(u,v) un arco leggero, allora l’arco a è sicuro (safe-edge).

Algoritmi usati nella pratica

Dato un grafo esistono diversi algoritmi per individuare un suo MST, tra questi:

Foresta ricoprente minima

Nel caso in cui il grafo non sia connesso, cioè sia il risultato dell'unione di più grafi connessi, si può ancora definire una foresta ricoprente minima come l'unione degli alberi ricoprenti individuati sui singoli grafi connessi. In grafi connessi, foresta ed albero ricoprente coincidono.

Applicazioni

Gli spanning tree minimi hanno applicazioni dirette nella progettazione di reti, tra cui reti di computer, reti di telecomunicazioni, reti di trasporto, reti di approvvigionamento idrico e rete elettrica.

Altre applicazioni pratiche basate sugli Alberi Ricoprenti Minimi:

Note

  1. 1 2 Goodrich-Tamassia, p. 564.
  2. 1 2 (EN) Samuel J. Lomonaco , Jr., Minimal-Spanning-Trees (PDF), su csee.umbc.edu, Università del Maryland - Dipartimento di ingegneria informatica ed elettrica. URL consultato il 2 gennaio 2017.
  3. ↑ G. Bigi, A. Frangioni, G. Gallo, S. Pallottino, M. G. Scutellà, Appunti di Ricerca Operativa, SEU - Servizio Editoriale Universitario di Pisa
  4. ↑ R. L. Graham e Pavol Hell, On the history of the minimum spanning tree problem, in Annals of the History of Computing, vol. 7, n. 1, 1985, pp. 43-57, DOI:10.1109/MAHC.1985.10011, MR 783327.
  5. ↑ P. H. A. Sneath, The Application of Computers to Taxonomy, in Journal of General Microbiology, vol. 17, n. 1, 1º agosto 1957, pp. 201-226, DOI:10.1099/00221287-17-1-201, PMID 13475686.
  6. ↑ T. Asano, B. Bhattacharya, M. Keil e F. Yao, Clustering algorithms based on minimum and maximum spanning trees, Fourth Annual Symposium on Computational Geometry (SCG '88), vol. 1, 1988, pp. 252-257, DOI:10.1145/73393.73419.
  7. ↑ Yogen K. Dalal e Robert M. Metcalfe, Reverse path forwarding of broadcast packets, in Communications of the ACM, vol. 21, n. 12, 1º dicembre 1978, pp. 1040-1048, DOI:10.1145/359657.359665.
  8. ↑ Minsoo Suk e Ohyoung Song, Curvilinear feature extraction using minimum spanning trees, in Computer Vision, Graphics, and Image Processing, vol. 26, n. 3, 1º giugno 1984, pp. 400-411, DOI:10.1016/0734-189X(84)90221-4.
  9. ↑ Ernesto Tapia e Raúl Rojas, Recognition of On-line Handwritten Mathematical Expressions Using a Minimum Spanning Tree Construction and Symbol Dominance, in Graphics Recognition. Recent Advances and Perspectives, Lecture Notes in Computer Science, vol. 3088, Berlin Heidelberg, Springer-Verlag, 2004, pp. 329–340, ISBN 978-3-540-22478-5.
  10. ↑ R. M. AssunÇão, M. C. Neves, G. Câmara e C. Da Costa Freitas, Efficient regionalization techniques for socio‐economic geographical units using minimum spanning trees, in International Journal of Geographical Information Science, vol. 20, n. 7, 2006, pp. 797-811, DOI:10.1080/13658810600665111.
  11. ↑ Mantegna, R. N. (1999). Hierarchical structure in financial markets. The European Physical Journal B-Condensed Matter and Complex Systems, 11(1), 193-197.
  12. ↑ Djauhari, M., & Gan, S. (2015). Optimality problem of network topology in stocks market analysis. Physica A: Statistical Mechanics and Its Applications, 419, 108-114.

Bibliografia

Altri progetti

Collegamenti esterni