Università degli Studi di Roma Tor Vergata

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture dati Mod B
Advertisements

Algoritmi e Strutture Dati
Il problema del cammino minimo tra 2 nodi in un grafo non cooperativo
Introduzione ai grafi Grafo diretto e non diretto
Il problema del minimo albero ricoprente in un grafo non cooperativo
Algoritmi e Strutture Dati (Mod. B)
Introduzione Cosa sono le reti di Petri?
Algoritmi e Strutture Dati
Cammini minimi con una sorgente
Cammini minimi con sorgente singola
Ordini Parziali - Reticoli
Algoritmi e Strutture Dati
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Scenario Archi di un grafo controllati da agenti egoistici
Macchine non completamente specificate
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Algoritmo di Ford-Fulkerson
Il problema del minimo albero ricoprente in un grafo con archi privati
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Algoritmi e Strutture Dati
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Flusso Massimo Applicazione di algoritmi
Flusso Massimo Applicazione Algoritmi Esercizio 1 Sia dato la seguente rete di flusso, in cui la sorgente è il nodo 1 e la destinazione è il nodo 6. I.
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Seminario su clustering dei dati – Parte II
Modelli e Algoritmi per la Logistica
Modelli e Algoritmi per la Logistica
Ottimizzazione nella gestione dei progetti
Algoritmi e Strutture Dati
Lezione 5 Domande: Laverage path length di Chord con 2^b identificatori e N=2^b nodi è (giustificare la risposta) Laverage path length di Chord con 2^b.
Esempio di esecuzione dellalgoritmo di Prim 1 v1v1 v5v5 v2v2 v3v3 v4v U = {v 1 } X =Ø 1 v1v1 v5v5 v2v2 v3v3 v4v U = {v.
Main tools of the probabilistic method with applications in graph theory Attività formativa - Yuri Faenza Supervisore: Prof. B. Scoppola CdLS in Ingegneria.
Prof. Cerulli – Dott.ssa Gentili
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Prof. Cerulli – Dott.ssa Gentili
Algoritmi e Strutture Dati
Prof. Cerulli – Dott.ssa Gentili
Algoritmi e Strutture Dati
Componenti fortemente connesse
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria dei Modelli e dei Sistemi A.A. 2008/2009 Analisi della complessità.
Algoritmi di classificazione e reti neurali Seminario su clustering dei dati Università Sapienza di Roma Dipartimento di ingegneria Informatica, Automatica.
Ottimizzazione nella gestione dei progetti Prova scritta del 16/04/2005 COMPITO B Studente: ………………………………… Matricola: ………………………………… (2 punti) Disegnare.
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
Olimpiadi di Informatica 2010 Giornate preparatorie
Università degli Studi di Roma Tor Vergata
Lagrange Relaxation. Limiti Inferiori (Lower Bounds) Avere un Lower-Bound alla lunghezza del cammino minimo da una garanzia della qualità della soluzione.
Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Algoritmi e Strutture Dati.
Componenti fortemente connesse
Capitolo 13 Cammini minimi Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Capitolo 13 Cammini minimi: algoritmo di Dijkstra Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA
Cammini minimi fra tutte le coppie:
Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Algoritmi e Strutture Dati.
Lezione n° 10 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio di base Lezioni di.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Albero ricoprente di costo minimo Lezione n°12.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Capitolo 13 Cammini minimi: algoritmo di Dijkstra Algoritmi e Strutture Dati.
Transcript della presentazione:

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

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.

LA FORESTA DI STEINER V R1 R2 R3

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

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

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.

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

. 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

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.

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

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

xPLI xRL yD