algoritmi approssimati

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture dati Mod B
Advertisements

Algoritmi e Strutture Dati
TSP Traveling Salesman’s Problem Università di Camerino
Master Bioinformatica 2002: Grafi Problema: cammini minimi da tutti i vertici a tutti i vertici Dato un grafo pesato G =(V,E,w), trovare un cammino minimo.
1 © Alberto Montresor Algoritmi e Strutture Dati Capitolo 19 - Tecniche risolutive per problemi intrattabili Alberto Montresor Università di Trento This.
Il problema del minimo albero ricoprente in un grafo non cooperativo
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati
Cammini minimi con una sorgente
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Cammini minimi con sorgente singola
Algoritmi e Strutture Dati
Il problema del minimo albero ricoprente in un grafo con archi privati.
Algoritmi e Strutture Dati
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 05/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
Algoritmo di Ford-Fulkerson
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
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)
Algoritmi e Strutture Dati (Mod. B)
Trovare il percorso minimo da b ad ogni altro vertice
Algoritmi greedy Gli algoritmi greedy in genere non sono esatti, cioè determinano soluzioni non necessariamente ottime Per il problema dell’albero ricoprente.
Fibonacci Heaps e il loro utilizzo nell’algoritmo di Prim
Esempio di esecuzione dellalgoritmo di Prim 1 v1v1 v5v5 v2v2 v3v3 v4v U = {v 1 } X =Ø 1 v1v1 v5v5 v2v2 v3v3 v4v U = {v.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Euristiche: algoritmi costruttivi e di ricerca locale
Web Communities and their identificaton
ND-partizione (A) n   A  somma  0 M  1/2 (  a i ) for i  1 to n do S[i]  choice ({true, false}) if S[i] then somma  somma + a i if somma > M then.
Cammini minimi da un sorgente
Ordinamento topologico Cammino minimo dalla sorgente
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.
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Terza giornata: principali classi di complessità computazionale dei problemi Guido Proietti.
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
Olimpiadi di Informatica 2010 Giornate preparatorie
Università degli Studi di Roma Tor Vergata
Capitolo 12 Minimo albero ricoprente Algoritmi e Strutture Dati.
NP completezza. Problemi decisionali I problemi decisionali sono una classe di problemi dove per ogni possibile ingresso un algoritmo deve scegliere una.
Algoritmi elementari su grafi
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.
Ordinamento topologico
Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Algoritmi e Strutture Dati.
Capitolo 13 Cammini minimi Algoritmi e Strutture Dati.
Algoritmi approssimati. Algoritmi approssimati Per qualche problema NP-completo esistono algoritmi polinomiali che ritornano soluzioni “quasi ottime”.
Master Bioinformatica 2002: Visite di Grafi Algoritmi di visita Scopo: visitare tutti i vertici di un grafo per scoprirne proprietà di vario tipo. Alcune.
Capitolo 13 Cammini minimi Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati (Modulo II)
Grafi: rappresentazione e visita
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:
Cammini minimi in grafi:
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmo di Prim Algoritmi e Strutture.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmo di Prim Algoritmi e Strutture.
Algoritmi e Complessita’ computazionale materiale di riferimento per lo studio appendice App_Complessita’.pdf.
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.
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi Lezione n°10.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Transcript della presentazione:

algoritmi approssimati

Algoritmi approssimati Per qualche problema NP-completo esistono algoritmi polinomiali che ritornano soluzioni “quasi ottime”. Un algoritmo approssimato A ha scostamento garantito r(n) se per ogni input di dimensione n il costo C della soluzione prodotta da A si discosta per un fattore r(n) dal costo C* di una soluzione ottima: max(C/C*, C*/C)≤ r(n) l’errore relativo  di un algoritmo approssimato A è dato da |C-C*|/C*. L’algoritmo A ha un errore relativo limitato da (n) se |C-C*|/C* ≤ (n)

Schemi di approssimazione Uno schema di approssimazione (SdA) per un problema di ottimizzazione è un algoritmo approssimato A che prende in input un’istanza di un problema e un qualsiasi valore >0 ed è in grado di risovere l’istanza con errore relativo limitato da . Uno schema di approssimazione polinomiale è uno SdA che per qualsiasi >0 dato richiede un tempo polinomiale rispetto a n per risolvere il problema. Uno SdA pienamente polinomiale (fully polynomial approximation scheme) è uno SdA polinomiale il cui tempo di esecuzione è polinomiale sia per 1/ che per la dimensione n dell’input dell’istanza.

Vertex cover Vertex cover. Dato un grafo G trovare un sottinsieme S di dimensione minima dei vertici di G, tale per cui ogni arco abbia almeno un vertice in S. Vertex cover è NP-completo (riduzione da sottografo completo).

Vertex cover Algoritmo approssimato per vertex cover: S =  E = E[G] while E sia (u,v) un arco arbitrario in E S = S  {u,v} togli da E ogni arco incidente in u o in v return S

Vertex cover: esempio b c d a e f g

Vertex cover: esempio b c d a e f g

Vertex cover: esempio b c d a e f g

Vertex cover: esempio b c d a e f g

Vertex cover: esempio cover ottima b c d a e f g

Vertex cover: esempio Teorema L’algoritmo presentato trova un insieme S che è una copertura dei vertici e che non contiene più del doppio del numero dei vertici in una vertex cover minima. Questo algoritmo approssimato ha rapporto limite pari a 2.

Il problema del commesso viaggiatore Nel problema del commesso viaggiatore (TSP), dato un grafo completo non orientato pesato G=(V,E,w), con costi interi non negativi, si deve trovare un ciclo hamiltoniano su G di costo minimo. Ipotesi: è sempre più economico andare direttamente da un posto u a un posto v direttamente piuttosto che passando per stazioni intermedie w (disuguaglianza triangolare).

Approx-TSP Un algoritmo approssimato per TSP con disuaglianza triangolare è: Approx-TSP-Tour(G,w) 1 seleziona un vertice radice rV 2 costruisci un MST T per G dalla radice r 3 sia L la lista dei vertici visitati con la visita in ordine anticipato di T 4 return il ciclo hamiltoniano H che visita i vertici nell’ordine di L

Approx-TSP: esempio a d e b f g c h

Approx-TSP: esempio a d e b f g c h

Approx-TSP: esempio a d e b f g c h

Approx-TSP: esempio a d e b f g c h

Approx-TSP: grado Teorema Approx-TSP-Tour è un algoritmo approssimato con grado limite pari a 2 per il problema TSP che soddisfa la disuguaglianza triangolare

Altri problemi Esistono molti problemi per i quali sono stati definiti algoritmi approssimati. Ad esempio: Set Covering Subset Sum ...