La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Corso di Laurea in Ingegneria dei Modelli e dei Sistemi Il problema dell’albero di Steiner STUDENTE RELATORE Daniele Paoli Gianpaolo Oriolo Università.

Presentazioni simili


Presentazione sul tema: "Corso di Laurea in Ingegneria dei Modelli e dei Sistemi Il problema dell’albero di Steiner STUDENTE RELATORE Daniele Paoli Gianpaolo Oriolo Università."— Transcript della presentazione:

1 Corso di Laurea in Ingegneria dei Modelli e dei Sistemi Il problema dell’albero di Steiner STUDENTE RELATORE Daniele Paoli Gianpaolo Oriolo Università degli Studi di Roma Tor Vergata

2 SOMMARIO DEFINIZIONI PRELIMINARI Albero Minimum Spanning Tree DEFINIZIONE: IL PROBLEMA DI STEINER PROPRIETÀ DEL PROBLEMA Metrico / non metrico Special cases Algoritmo approssimato

3 DEFINIZIONI PRELIMINARI MST (Minimal Spanning Tree) DATI: Un grafo G(V,E) connesso Una funzione di costo c non negativa associata ad ogni arco TROVARE: Il sottoinsieme di E che connette tutti i nodi di G IN MODO CHE: Il costo totale, rispetto a c, sia minimo ALBERO Un grafo G(V,E) è un albero se è connesso e non contiene cicli

4 l l l... l l l. a a a C MST = 2 l C NEW = 3 a = (√3/2 ) C MST RISPARMIO DEL 14%!!! SUL PIANO...

5 IL PROBLEMA DELL’ALBERO DI STEINER DATA: Una rete (G,c) dove c è una funzione di costo non negativa sugli archi I vertici del grafo G sono partizionati in due insiemi, R (Richiesti) e S (Steiner) TROVA : L’ albero di Steiner minimo, cioè un albero che connetta tutti i vertici richiesti e un qualunque subset S’ dei vertici di Steiner IN MODO CHE: Il costo totale, rispetto a c, sia minimo

6 Un problema di Steiner per un grafo completo nel quale i costi rispettano la disuguaglianza triangolare, i.e., per ogni tripletta di vertici del grafo i, j e k, si ha Senza perdere in generalità, possiamo restringerci a studiare i problemi di Steiner metrici DEF: Problema di Steiner metrico c(i,j) ≤ c (i,k) + c(k,j), è detto metrico. PROPRIETA’:

7  c G’ OPT ≤ c G OPT Lemma C’è una trasformazione, in tempo polinomiale, da un’istanza del problema dell’albero di Steiner I per il grafo G(V,E) a un’istanza I’ del problema dell’albero di Steiner metrico per G’ che preserva il costo della soluzione ottima. Dim: (T T’) Sia G’ il grafo non direzionato completo sul set di vertici V. Definiamo il costo del l’arco (i,j) in G’come il costo del minimo path i-j in G. Chiaramente, c G’ (i,j) ≤ c G (i,j), (T’ T ) Rimpiazziamo ogni arco di T’ con il corrispondente path: ottieniamo un sottigrafo di G. In questo nuovo sottografo tutti i vertici Richiesti sono connessi, ma potrebbero contenere dei cicli => eliminiamo gli archi in modo da ottenere un albero, che è T. Chiaramente c G OPT = c(T) ≤ c(T’) = c G’ OPT 

8 SPECIAL CASES │S│ i Essendo │S│ costante, il tempo di risoluzione è polinomiale │R│ fissa: S’= Ø MST │R│= 2 Path minimo tra i due vertici S’ fisso MST su R S’ │S│ fissa: Per ogni subset S’ si S calcoliamo MST per R S’. Il tempo di risoluzione sarà dell’ordine:

9 Lemma Sia G = (V,E) un grafo metrico il cui set dei vertici è l’unione disgiunta V = R U S di due subsets. Allora esiste un albero di Steiner minimo per la rete (G,c) che contiene al più r-2 punti di Steiner (dove r=│R│). Dim: Sia T l’albero di Steiner minimo per (G,c) contenente esattamente p punti di Steiner. Sia x ( risp y) il grado medio di un vertice in R ( risp S’) in T. Si ha r + p – 1 =│E│= ( rx + py ) / 2 Chiaramente, x ≥ 1 e y≥3 Allora si ha r + p – 1 ≥ ( r + 3p ) / 2, quindi p ≤ r – 2 

10 │R│ fissa: Prendiamo tutti i sottoinsiemi S’ di S con cardinalità da 1 a r - 2 e calcoliamo l’ MST per R U R’. Come prima, il tempo di risoluzione sarà dell’ordine di │S│ i Essendo r costante, il tempo di risoluzione è polinomiale In tutti questi casi abbiamo visto che il problema di Steiner è risolvibile in tempo polinomiale. In generale, però, non è cosi, infatti: STEINER è classificato come un problema NP-completo ALGORITMI APPROSSIMATI: Dato un problema di minimizzazione, un algoritmo è approssimato se istanza del problema si ha

11 PROBLEMA: Stimare il rapporto tra la soluzione ottima del problema dell’albero di Steiner e il costo dell’ MST associato Per il problema di Steiner Geometrico ( funzione di costo la distanza Euclidea) si trova Per il problema di Steiner Metrico si ha Vediamolo:

12 Dobbiamo far vedere che il costo di un MST su R è al più 2 OPT. Consideriamo un albero di Steiner di costo OPT. Sdoppiando i suoi archi troviamo un grafo che connette tutti i vertici di R e qualche vertice di Steiner, e sul quale è possibile trovare un tour di Eulero, che è un cammino che percorre tutti gli archi una e una sola volta...

13 Il costo del tour Euleriano è 2OPT. Successivamente otteniamo sui vertici di R un ciclo Hamiltoniano, cioè un cammino che tocca tutti i vertici del grafo una e una sola volta, attraversando il tour Euleriano e “short-cutting” i vertici di Steiner e quelli in R già visitati: Per la disuguaglianza triangolare, le contrazioni cha abbiamo fatto non aumentano il costo del tour. Cancellando un arco del ciclo cosi’ ottenuto otteniamo un path che percorre tutti i nodi di R e ha costo al più 2OPT. Questo path è anche uno spanning tree. Quindi l’ MST su R ha costo al più 2OPT. ..

14 ESEMPIO THIGHT Consideriamo un grafo con n vertici richiesti e un solo vertice di Steiner In questo grafo, Cost (MST) = 2 (n-1) OPT = n

15 RIEPILOGANDO: Il problema di Steiner è una generalizzazione del problema di albero ricoprente minimo È in generale un problema np-completo Può migliorare la soluzione fino al 14% (Geometrico) 50% (Metrico) Algoritmi approssimati In alcuni casi, i “Special cases”, il problema può essere risolto in maniera polinomiale


Scaricare ppt "Corso di Laurea in Ingegneria dei Modelli e dei Sistemi Il problema dell’albero di Steiner STUDENTE RELATORE Daniele Paoli Gianpaolo Oriolo Università."

Presentazioni simili


Annunci Google