La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1/15 algoritmi approssimati. 2/15 Algoritmi approssimati Per qualche problema NP-completo esistono algoritmi polinomiali che ritornano soluzioni “quasi.

Presentazioni simili


Presentazione sul tema: "1/15 algoritmi approssimati. 2/15 Algoritmi approssimati Per qualche problema NP-completo esistono algoritmi polinomiali che ritornano soluzioni “quasi."— Transcript della presentazione:

1 1/15 algoritmi approssimati

2 2/15 Algoritmi approssimati Per qualche problema NP-completo esistono algoritmi polinomiali che ritornano soluzioni “quasi ottime”. Un algoritmo approssimato A ha scostamento garantito  (n) se per ogni input di dimensione n il costo C della soluzione prodotta da A si discosta per un fattore  (n) dal costo C* di una soluzione ottima: max(C/C*, C*/C)≤  (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)

3 3/15 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.

4 4/15 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).

5 5/15 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

6 6/15 Vertex cover: esempio b a c e d f g

7 7/15 Vertex cover: esempio b a c e d f g

8 8/15 Vertex cover: esempio b a c e d f g

9 9/15 Vertex cover: esempio b a c e d f g

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

11 11/15 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.

12 12/15 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).

13 13/15 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

14 14/15 Approx-TSP: esempio a b c h d e fg

15 15/15 Approx-TSP: esempio a b c h d e fg

16 16/15 Approx-TSP: esempio a b c h d e fg

17 17/15 Approx-TSP: esempio a b c h d e fg

18 18/15 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

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


Scaricare ppt "1/15 algoritmi approssimati. 2/15 Algoritmi approssimati Per qualche problema NP-completo esistono algoritmi polinomiali che ritornano soluzioni “quasi."

Presentazioni simili


Annunci Google