Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.