Alberi ricoprenti minimi Alcune applicazioni Lunedì 17 novembre 2003 Minimum Spanning Tree problem (MST) Problema Esempio Dato un grafo G = (V, E) e una funzione di costo c: E R, determinare un sottografo T(U,X) ricoprente (U = V), connesso e aciclico (albero) di costo minimo Progettare una rete di comunicazione che colleghi n luoghi a costo minimo 1 1 Istanza: n=5 2 2 6 4 4 2 4 5 2 5 Grafo G = (V,E) con n = |V|, m = |E| Funzione di costo ce : E R con e = [v,w] E 3 3 Proprietà richieste alla soluzione: • Ogni città deve far parte della rete sottografo ricoprente (che contiene tutti i vertici) • Ogni coppia di città deve poter comunicare sottografo connesso • Non devono essere presenti collegamenti superflui sottografo aciclico 1 v1 4 2 v2 2 v1 4 3 6 2 v2 2 2 v5 5 v3 4 3 2 v2 2 3 6 4 v4 1 v1 6 4 v4 1 2 v5 5 v3 4 v4 2 v5 5 v3 Un’applicazione genetica Memorizzare in forma compatta un insieme di n stringhe binarie di uguale lunghezza Per ogni coppia di stringhe [i,j] è nota la distanza (quali e quanti bit commutare per convertirle una nell’altra). Per esempio d12 = 4 Un’applicazione genetica • Si costruisce un grafo G(V,E) in cui i vertici sono le stringhe, i lati le differenze • Si sceglie arbitrariamente una stringa di riferimento • Si esprime ciascuna stringa come variante di un’altra (elencando le differenze) • Si descrive l’insieme di stringhe con l’albero ricoprente minimo 3 Stringa di riferimento 1 1) 011100011101 Albero ricoprente minimo lati differenze lati differenze (1,6) 3,6,12 (1,3) 1,3,7,10 (3,5) 2,10 (4,5) 3,4,6 6 (2,4) 4,7,10 2 4 5 Diffusione ottimale di un messaggio (“optimal message passing”) E’ data una rete di comunicazione G = (V, E) ove i lati [i, j] E indicano quali coppie di elementi possono comunicare direttamente. Si conosce la probabilità pij, 0 pij 1, di intercettazione di un messaggio lungo ogni lato [i, j] E Problema Come trasmettere a tutti gli elementi un messaggio segreto minimizzando la probabilità che sia intercettato? Minimizzare la probabilità di intercettazione (lungo uno o più lati) min 1 (1 p ) ij [ i , j ]T Massimizzare probabilità di non intercettazione su alcun lato max (1 pij ) [ i , j ]T • diffusione verso tutti i nodi ricopertura e connessione alla radice • evitare ridondanza e ridurre la probabilità di intercettazione aciclicità T è un albero ricoprente Applicando all’obiettivo una funzione monotona crescente, non cambiano le soluzioni ottime (cambia solo il valore) Es: log(.) max log( (1 pij )) max [ i , j ]T log(1 p ) ij [ i , j ]T