220 likes | 412 Views
Università degli Studi di Roma Tor Vergata. Corso di Laurea in Ingegneria dei Modelli e dei Sistemi. Il problema della foresta di Steiner STUDENTE RELATORE
E N D
Università degli Studi di Roma Tor Vergata CorsodiLaurea in IngegneriadeiModelli e deiSistemi Il problema della foresta di Steiner STUDENTE RELATORE Marco Senatore Gianpaolo Oriolo
SOMMARIO • Generalizzazione del problema dell’albero di Steiner Foresta di Steiner. • Formulazione del problema in PLI. • Rilassamento PL e duale. • Algoritmo. • Esempi. • Analisi dell’algoritmo.
LA FORESTA DI STEINER PROBLEMA: Dati: • un grafo non direzionato G = (V, E); • una funzione costo a valori positivi c sugli archi ; • una collezione di sottoinsiemi disgiunti di V: R1,.......,Rk. Trovare: • un sottografo F nel quale ogni coppia di vertici appartenenti allo stesso insieme Ri è connessa; Tale che: • la somma dei costi degli archi di F sia minima. OSS: se k=1 albero di Steiner.
V R3 R2 R1 LA FORESTA DI STEINER
LA FORESTA DI STEINER Definiamo la funzione r: Trovare F che contenga un path da u a v per ogni coppia (u,v) con r(u,v)=1 La soluzione sarà una foresta (ovvero un’unione di alberi disgiunti)
FORMULAZIONE PLI Introducendo f : 2V{0,1} e associando una variabile binaria xe ad ogni arco e, possiamo formulare il problema nel seguente modo:
RILASSAMENTO E DUALE Il rilassamento lineare del problema è: Il duale è: Def : un arco è detto TIGHT se il vincolo duale ad esso corrispondente è soddisfatto all’ uguaglianza
CONDIZIONE PRIMALE/DUALE RILASSATA Def : si dice grado dell’insieme S il numero di archi selezionati che appartengono al taglio (S,S). CONDIZIONE PRIMALE : Ogni arco selezionato deve essere tight CONDIZIONE DUALE RILASSATA: Algoritmo 2-approssimato
INSIEMI ATTIVI Data una soluzione primale x: • Def : un insieme S si dice insoddisfatto se: • f (S)=1; • Def : un insieme S si dice attivo se: • è insoddisfatto; • S’ S tale che S’ è insoddisfatto, ovvero S è minimale Prop. : un insieme S è attivo sse è una componente connessa della soluzione corrente e f (S)=1.
L’ALGORITMO L’algoritmo, iterativamente, migliora l’ammissibilità del primale e l’ottimalità del duale fino ad ottenere una soluzione primale ammissibile. 1. Poniamo x non ammissibile, y ammissibile. 2. Aumentiamo in modo uniforme le ys relative agli insiemi attivi; OSS: se la soluzione primale corrente è inammissibile un insieme attivo. 3. Quando un arco e diventa tight viene selezionato e le yS del vincolo duale corrispondente ad e vengono ”congelate”; 4. Ripetere fino al raggiungimento di una soluzione ammissibile F; 5. (Pruning step) e F tale che F\{e} è ancora ammissibile, rimuovo e da F. F’ = {e F tale che F’\{e} è inammissibile}
ESEMPIO 1 . . V={a,b,s,t,u,v} R1={s,t} R2={u,v} u v 20 . . 6 6 19 9 16 a b r(s,t)=1 r(u,v)=1 . . 12 12 t s OPT=45
ESEMPIO 1 ITERAZIONE 1: Set attivi :{s}, {t}, {u}, {v} ITERAZIONE 2: Set attivi :{s}, {t}, {u,a}, {v} ITERAZIONE 4: Set attivi :{t}, {u,s,a}, {v,b} ITERAZIONE 3: Set attivi :{s}, {t}, {u,a}, {v,b} ITERAZIONE 5: Set attivi :{u,s,a}, {v,b,t} . . yS aumentate di 6 yS aumentate di 0 yS aumentate di 1 yS aumentate di 1 yS aumentate di 2 . . (u,s) tight, quindi lo prendo (v,b) tight, quindi lo prendo (u,v) tight, quindi lo prendo (b,t) tight, quindi lo prendo (u,a) tight, quindi lo prendo . . 2 1 1 2 2 6 6 u v 20 3 6 6 b 19 a 9 16 12 12 9 8 s t 6 6 8
ESEMPIO 1 . . u v 20 Abbiamo una soluzione ammissibile del primale . . 6 6 a b 16 Pruning step . . 12 s t COSTO=54
ESEMPIO 2 • 2 terminali • 5 nodi di Steiner . . . . . L’algoritmo aggiunge tutti gli archi di costo 1 prima dell’arco di costo 3 1 1 3 . . 1 1 1 Costo(F) > 2OPT Importanza del pruning step!
ANALISI DELL’ALGORITMO • F' ed y sono una coppia primale/duale ammissibile Def : Con degF’(S) denotiamo il numero di archi di F’ che attraversano il taglio (S,S). Lemma : Si consideri un’iterazione dell’algoritmo, e sia C una componente connessa della soluzione corrente. Dim : Supponiamo degF’(C)=1. ! e F’ che attraversa il taglio (C,C). Poichè e non è ridondante, c’è una coppia di vertici (u,v) tale che r(u,v)=1 ed e giace sull’unico path u-v in F’. Questo path attraversa il taglio una sola volta, quindi un vertice sta in C e l’altro in C. Allora, poichè r(u,v)=1, deduciamo che f(C)=1, il che porta all’assurdo. I VERTICI DI STEINER SELEZIONATI DALLA SOLUZIONE HANNO GRADO ALMENO 2 .
ANALISI DELL’ALGORITMO Lemma: Dim: Equivale a dire che, fissata una iterazione k, il numero medio di archi della soluzione FINALE F' che attraversano gli S attivi nell'iterazione k è al più 2 .
ANALISI DELL’ALGORITMO • Considero H=(V,F’) e le componenti attive di F all’iterazione k; H • Contraggo le componenti attive in un singolo nodo ed ottengo H’, elimando gli archi introdotti fino all’iterazione k; • I nodi s corrispondenti alle componenti attive S, sono detti attivi, ed hanno grado pari proprio a degF’(S); gli altri sono detti inattivi; • H’ è un albero, quindi il grado medio dei suoi nodi è 2; H’ • Per il lemma precedente i nodi inattivi hanno grado almeno 2; I nodi attivi hanno grado medio 2.
CONCLUSIONE • Abbiamo dato una formulazione primale/duale del problema; • Abbiamo fornito un algoritmo che ci restituisce una coppia di soluzioni primale/duale ammissibili; • Abbiamo dimostrato che la soluzione del primale vale al più 2 volte la soluzione del duale; • Questo ci ha permesso di dimostrare che l’algoritmo è 2-approssimato.
S f(S)=0 f(S)=1 V R3 R2 R1 Def : Si dice taglio (S,S) di un grafo G=(V,E) una bipartizione dei suoi nodi in due insiemi non vuoti S ed S Def : Con δ(S) indicheremo l’insieme di archi di G che attraversano il taglio (S,S) S
LP DUALITY Primale: Duale: Il valore di una qualsiasi soluzione duale ammissibile è un lower bound al valore di una qualsiasi soluzione primale ammissibile Teo 1: Se x ed y sono soluzioni ammissibili rispettivamente del primale e del duale, allora cTx ≥ bTy
LP DUALITY Condizione primale: Condizione duale: Condizione duale α-approssimata: Teo 2: Se x ed y sono soluzioni ammissibili rispettivamente del primale e del duale, che soddisfano la condizione primale e la condizione duale α-approssimata, allora x è una soluzione α-approssimatadel primale Dim : Ma per il Teo 1 yTb è dell’ottimo del primale, cTx*
xPLI xRL yD