Università degli Studi di Roma Tor Vergata

Slides:



Advertisements
Presentazioni simili
Premessa: si assume di aver risolto (correttamente
Advertisements

Algoritmi e Strutture dati Mod B
Algoritmi e Strutture Dati
Il problema del cammino minimo tra 2 nodi in un grafo non cooperativo
TSP Traveling Salesman’s Problem Università di Camerino
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)
Algoritmi e Strutture Dati
Cammini minimi con una sorgente
Algoritmi e Strutture Dati
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Università degli Studi di Roma Tor Vergata
Il problema del minimo albero ricoprente in un grafo con archi privati.
Algoritmi e Strutture Dati
Scenario Archi di un grafo controllati da agenti egoistici
Meccanismi one-parameter. Riepilogo Archi di un grafo controllati da agenti egoistici Solo lagente conosce il peso associato al proprio arco Obiettivo:
Meccanismi one-parameter. Riepilogo Archi di un grafo controllati da agenti egoistici Solo lagente conosce il peso associato al proprio arco Obiettivo:
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 15/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Il problema del minimo albero ricoprente in un grafo con archi privati
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
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.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati (Mod. B)
Trovare il percorso minimo da b ad ogni altro vertice
Modelli e Algoritmi per la Logistica
Alberi ricoprenti minimi Alcune applicazioni Lunedì 17 novembre 2003.
Prof. Cerulli – Dott.ssa Gentili
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Prof. Cerulli – Dott.ssa Gentili
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
2. Grafi.
Prof. Cerulli – Dott.ssa Gentili
Cammini minimi da un sorgente
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à.
Alberi di copertura minimi. Dato un grafo pesato G = (V,E), si richiede di trovare un albero T = (V,E’), E’  E, tale che la somma dei pesi associati.
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
Olimpiadi di Informatica 2010 Giornate preparatorie
Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal (*) Algoritmi e Strutture Dati.
Claudio Arbib Università dell’Aquila Ricerca Operativa Metodo del simplesso per problemi di distribuzione single-commodity.
Capitolo 12 Minimo albero ricoprente Algoritmi e Strutture Dati.
algoritmi approssimati
NP completezza. Problemi decisionali I problemi decisionali sono una classe di problemi dove per ogni possibile ingresso un algoritmo deve scegliere una.
1/20 NP completezza. 2/20 Problemi astratti Un problema è un’entità astratta (es. il TSP). Una istanza del problema è un suo caso particolare in cui vengono.
Il Problema del Commesso Viaggiatore. Traveling Salesman’s Problem (TSP) Un commesso viaggiatore deve visitare un certo numero di città Conosce la distanza.
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.
Capitolo 13 Cammini minimi Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Flusso di Costo Minimo Trasformazioni Equivalenti e Trasformazioni Inverse Viene data la seguente rete di flusso, in cui i valori riportati vicino agli.
Prof. Cerulli – Dott. Carrabs
Algoritmi approssimati. Algoritmi approssimati Per qualche problema NP-completo esistono algoritmi polinomiali che ritornano soluzioni “quasi ottime”.
Flusso di Costo Minimo Applicazione di algoritmi: Cammini Minimi Successivi (SSP) Esercizio 1 Sia data la seguente rete di flusso, in cui i valori riportati.
Capitolo 13 Cammini minimi Algoritmi e Strutture Dati.
Capitolo 11 Grafi e visite di grafi 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
Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Algoritmi e Strutture Dati.
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.
Algoritmi Avanzati a.a.2012/2013 Prof.ssa Rossella Petreschi Albero Ricoprente Lezione n°9.
Transcript della presentazione:

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

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

. . . . . . . . . . DEFINIZIONI PRELIMINARI ALBERO Un grafo G(V,E) è un albero se è connesso e non contiene cicli. . . . . . . . . . . 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 Però - se il nostro obiettivo è connettere a minimo costo alcuni punti  - in molti casi non è la soluzione migliore che possiamo ottenere, visto che.... ed attacchi con l'esempio del triangolo . Se però, restando il nostro obbiettivo quello, abbiamo la possibilità di aggiungere alcuni vertici al grafo di partenza, c’è la possibilità trovare una soluzione migliore.

. . . . . . . SUL PIANO l l l a l l a a l CMST = 2 l 14%!!! RISPARMIO DEL 14%!!! . CNEW = 3• a = (√3/2 ) CMST Per vederlo possiamo vedere un esempio in cui tutto il grafo giace sul piano euclideo e la funzione costo è la distanza tra i punti. Consideriamo un grafo di tre nodi, posti nei vertici di un triangolo equilatero……………….. Questo è solo un esempio..in raltà questo concetto è più generale e puo essere esteso . l a l . . a a l

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 . In particolare noi studiamo the graph theoretic version del problema di Steiner: the steiner network problem . . . . . . . . . .

DEF: Problema di Steiner metrico 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 c(i,j) ≤ c (i,k) + c(k,j) , è detto metrico. PROPRIETA’: Senza perdere in generalità, possiamo restringerci a studiare i problemi di Steiner metrici

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, cG’ (i,j) ≤ cG (i,j), cG’ OPT ≤ cG OPT (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 cG OPT = c(T) ≤ c(T’) = cG’ OPT 

SPECIAL CASES 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: Essendo │S│ costante, il tempo di risoluzione è polinomiale │S│ i │R│ fissa:

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 

Prendiamo tutti i sottoinsiemi S’ di S con cardinalità da 1 a r - 2 e │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 Essendo r costante, il tempo di risoluzione è polinomiale │S│ i 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 ricorda (a voce) che NP-completo implica che "si congettura che non esistano algoritmi polinomiali per la sua risoluzione" ALGORITMI APPROSSIMATI: Dato un problema di minimizzazione, un algoritmo è approssimato se istanza del problema si ha

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 specifica (almeno a voce) che i bound ti restituiscono algoritmi alpha-approssimati per lo ST Vediamolo:

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

. . Il costo del tour Euleriano è 2•OPT. 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ù 2•OPT. Questo path è anche uno spanning tree. Quindi l’ MST su R ha costo al più 2•OPT. 

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

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