1 / 22

Corso di Laurea in Ingegneria dei Modelli e dei Sistemi

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

hector
Télécharger la présentation

Corso di Laurea in Ingegneria dei Modelli e dei Sistemi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Università degli Studi di Roma Tor Vergata CorsodiLaurea in IngegneriadeiModelli e deiSistemi 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=1 albero di Steiner.

  4. V R3 R2 R1 LA FORESTA DI STEINER

  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:

  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: Algoritmo 2-approssimato

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

  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} u v 20 . . 6 6 19 9 16 a b r(s,t)=1 r(u,v)=1 . . 12 12 t s OPT=45

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

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

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

  22. xPLI xRL yD

More Related