La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Università degli Studi di Roma Tor Vergata

Presentazioni simili


Presentazione sul tema: "Università degli Studi di Roma Tor Vergata"— Transcript della presentazione:

1 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 Marco Senatore Gianpaolo Oriolo

2 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.

3 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= albero di Steiner.

4 LA FORESTA DI STEINER V R1 R2 R3

5 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)

6 FORMULAZIONE PLI Introducendo f : 2V{0,1}
e associando una variabile binaria xe ad ogni arco e, possiamo formulare il problema nel seguente modo: - La funzione f è definita sui tagli di G e specifica IL MINIMO NUMERO DI ARCHI CHE DEVONO ATTRAVERSARE OGNI TAGLIO IN UNA QUALSIASI SOLUZIONE AMMISSIBILE.

7 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

8 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 : - se avessimo queste due condizioni, allora avremmo la certezza che esiste un algoritmo 2-approssimato - faremo vedere che la prima vale, mentre la seconda vale in media, e come questo ci permetterà comunque di ottenere un algoritmo 2-approssimato Algoritmo approssimato

9 INSIEMI ATTIVI f (S)=1; 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.

10 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}

11 . . . . . . ESEMPIO 1 V={a,b,s,t,u,v} R1={s,t} R2={u,v} OPT=45
20 . . 6 6 19 16 a 9 b r(s,t)=1 r(u,v)=1 . . 12 12 s t OPT=45 11

12 . ESEMPIO 1 ITERAZIONE 2: Set attivi :{s}, {t}, {u,a}, {v}
yS aumentate di 0 (v,b) tight, quindi lo prendo ITERAZIONE 3: Set attivi :{s}, {t}, {u,a}, {v,b} yS aumentate di 2 (u,s) tight, quindi lo prendo ITERAZIONE 4: Set attivi :{t}, {u,s,a}, {v,b} yS aumentate di 1 (b,t) tight, quindi lo prendo ITERAZIONE 5: Set attivi :{u,s,a}, {v,b,t} yS aumentate di 1 (u,v) tight, quindi lo prendo ITERAZIONE 1: Set attivi :{s}, {t}, {u}, {v} yS aumentate di 6 (u,a) tight, quindi lo prendo . 2 2 6 6 u v 20 3 6 6 a b 19 16 9 12 12 9 8 s t 6 6 8 12

13 ESEMPIO 1 . . u v 20 Abbiamo una soluzione ammissibile del primale . . 6 6 a b 16 . . Pruning step 12 s t COSTO=54

14 . . . . . . . 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!

15 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

16 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 .

17 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.

18 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.

19 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 S V R1 R2 R3 f(S)=1 f(S)=0

20 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

21 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 α-approssimata del primale Dim : Ma per il Teo 1 yTb è  dell’ottimo del primale, cTx*

22 xPLI xRL yD


Scaricare ppt "Università degli Studi di Roma Tor Vergata"

Presentazioni simili


Annunci Google