Algoritmi Approssimanti per -TSP

Documenti analoghi
Problemi, istanze, soluzioni

Il problema del commesso viaggiatore

OSTRUZIONI SUI GRAFI. Alcune ostruzioni per l esistenza di grafi con dato score 1) Vale il seguente lemma

Euristiche per il Problema del Commesso Viaggiatore

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa

Grafi diretti. Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove. V è u n i n s i e m e d i nodi (o vertici);

LA MATEMATICA DELLE RELAZIONI SOCIALI

Possibile applicazione

Introduzione ai grafi

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

Algoritmi e strutture dati

Grafi (orientati): cammini minimi

Gestione della produzione e della supply chain Logistica distributiva

Cammini minimi in grafi:

Introduzione ai grafi. Introduzione ai grafi p. 1/2

GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi!

Cammini minimi fra tutte le coppie

8.10 Algoritmi di approssimazione

Visite in Grafi BFS e DFS

Algoritmi e Strutture Dati (Mod. B) Algoritmi su grafi Ricerca in profondità (Depth-First Search) Parte III

Sommario. Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

Il problema del commesso viaggiatore

Esercizi per il corso di. Logistica I. a.a Daniela Favaretto. Dipartimento di Matematica Applicata Università Ca Foscari di Venezia

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Esercizi di ottimizzazione combinatoria

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Algoritmi e Strutture Dati

Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33

TSP con eliminazione di sottocicli

TECNICHE ALGORITMICHE PER PROBLEMI DI OTTIMIZZAZIONE

Algoritmi e Strutture Dati (Modulo II)

Minimo albero di copertura

Progettazione di Algoritmi

Progettazione di Algoritmi

Complementi ed Esercizi di Informatica Teorica II

Università degli Studi di Salerno. Note per il Corso di Algoritmi e Strutture Dati II Parte B. Docente: Ugo Vaccaro

Esempi. non. orientato. orientato

Per equazione lineare nelle incognite x, y intendo un equazione del tipo. ax = b,

AMPL Problemi su Reti

Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemm

Problemi difficili e ricerca esaustiva intelligente

Algoritmi e Strutture Dati

Problema del cammino minimo

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi

Capitolo 4. Grafi Planari

LEZIONE 12. v = α 1 v α n v n =

Grafi: visite. Una breve presentazione. F. Damiani - Alg. & Lab. 04/05 (da C. Demetrescu et al - McGraw-Hill)

Algoritmo basato su cancellazione di cicli

TSP con eliminazione di sottocicli

11.4 Chiusura transitiva

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I

METODI DELLA RICERCA OPERATIVA

ANALISI 1 - Teoremi e dimostrazioni vari

Corso di Analisi Numerica

Il problema del commesso viaggiatore e problemi di vehicle routing

Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione

Parte V: Rilassamento Lagrangiano

Grafi e reti di flusso

Esercizi proposti 10

2.1 Pianificazione multiperiodo della produzione energetica. 2.2 Confronto tra formulazioni per il problema dell albero di supporto di costo minimo

2.2 Alberi di supporto di costo ottimo

11. Misure con segno.

Appunti sui Codici di Reed Muller. Giovanni Barbarino

COMPLEMENTI DI SHORTEST-PATH. ASD Fabrizio d'amore

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 20 giugno 2014

Principio di induzione: esempi ed esercizi

Approssimazione di dati e funzioni

Dati e Algoritmi I (Pietracaprina) Esercizi svolti sui Grafi

Progettazione di algoritmi

PREPARAZIONE ALLE GARE DI MATEMATICA - CORSO BASE

Cercare il percorso minimo Ant Colony Optimization

Capitolo IV SPAZI VETTORIALI EUCLIDEI

ESERCIZI SULLA TECNICA BACKTRACKING e BRANCH & BOUND

Note per la Lezione 4 Ugo Vaccaro

Operazioni tra matrici e n-uple

3/10/ Divisibilità e massimo comun divisore

Cammini minimi. Definizioni. Distanza fra vertici. Proprietà dei cammini minimi. Algoritmi e Strutture Dati

Problema del Commesso Viaggiatore

Corso di Trasporto merci e logistica. Supporto didattico ad uso esclusivo interno. a cura di: ing. Mario Cordasco A.A

1 Esercizi in pseudocodice

Analisi multicriteria. Analisi multicriteria

Transcript:

Dispensa del corso di TAA redatta da Amati Di auro Rattà. Algoritmo 5 e APX per il problema Algoritmi Approssimanti per -TSP Definizione (TSP) Il problema del commesso viaggiatore (TSP) è definito come segue: Istanza: un grafo completo G(V E) con la funzione dei pesi w: E N; Soluzione: un tour C in G che visiti tutti i nodi del grafo di costo minimo; isura: la funzione m (G(V E) C) = e). e C Questo problema così definito non è approssimabile (vedi dispense di ). Si può prendere in considerazione però la sua variante metrica che chiameremo -TSP e verificare che questa versione in un primo momento è -APX e successivamente.5-apx. Definizione ( -TSP ) Il problema è così definito: Istanza: un grafo completo G(V E) con la funzione dei pesi w: E N che soddisfa la disuguaglianza triangolare ovvero: w ( u v) u x) + x v) u v x V ; Soluzione: un tour C in G che visiti tutti i nodi del grafo di costo minimo; isura: la funzione m (G(V E) C) = e C Definizione 3 (ULTIGRAFO): Un ULTIGRAFO nodi ed E un insieme di archi in V V tale che e) G( V E) occ(u v) è composto da V un insieme finito di { (u v) E } = u v E. Definizione 4 (ULTIGRAFO EULERIANO): Un ULTIGRAFO EULERIANO è un multigrafo tale che un cammino P= { v... v v } G ( V E) v k dove v V v viene percorso almeno una volta in P e arco (uv) l arco viene percorso esattamente una volta. Esempio:

Dispensa del corso di TAA redatta da Amati Di auro Rattà. Algoritmo 5 e APX per il problema Teorema Un multigrado G(V E) è euleriano a) il grafo G è connesso; b) v V il grado di v deg(v) è pari. DIO. ( ) Se G(V E) è euleriano a) è vera proprio dall esistenza di un cammino P che tocca tutti i nodi. Anche la condizione b) è vera perchè ogni nodo deve essere transitato da diversi archi uno di entrata e uno di uscita perciò il loro numero è sempre pari E =k con k. ( ) Sia G(V E) connesso e con deg(v)=k con k v V si dimostra per induzione sul numero di archi che un cammino di tipo euleriano. (base dell induzione) Se E = ho un unico nodo V = il grafo G(V E) è connesso e perciò euleriano; (passo induttivo) Assumendo che la tesi sia vera per i grafi con E <m si considera il caso di un grafo con esattamente m archi. In questo grafo si costruisce un cammino P={ v v... vk v } che percorre gli archi una sola volta (ma che può anche non passare per tutti i nodi di G) successivamente si determina l insieme v v v v... v e si calcola E-E p. { } E p= [ ] [ ] [ ] k v Il grafo G(V E-E p ) così ottenuto non è connesso ma siano G G h le sue componenti connesse: G j G i G k ogni G i è connessa e il grafo G(V E-E p ) ha un numero pari di archi poiché è ottenuto da un grafo di archi pari a cui sono stati tolti un numero di archi pari si conclude dunque che ogni Gi è euleriano. Il percorso per ogni generica coppia di componenti connesse è il seguente: G i 5 888 7 7 3 l 4 G j G(V E) è euleriano. 6 Parte dal nodo evidenziato percorre l arco l arco l arco 3 l arco 4 l arco 5 l arco 6 l arco 7 l arco 8 e torna al nodo evidenziato. Corollario (senza dimo) un algoritmo polinomiale che trova il cammino euleriano di un grafo euleriano.

S i V i+ Dispensa del corso di TAA redatta da Amati Di auro Rattà. Algoritmo 5 e APX per il problema Definizione 5 (EULERIAN SPANNING GRAPH): Sia G( V E) un multigrado completo con w: E N un EULERIAN SPANNING GRAPH (ESG) è un sottomultigrafo di G euleriano ESG(G)= ( V E ) dove E E. ALGORITO -APX PER -TSP INPUT: G( V E) completo w: E N OUTPUT: tour C che visita tutti i nodi di G ) Costruisco l ST(G) che chiamo T; ) Creo G ( V E ) dove occ( e) = e E e T ; 3) Costruisco P il percorso euleriano di G ; 4) Calcolo il tour C da P. Osservazione : il grafo G (VE ) è euleriano. DIO. segue dal teorema. Teorema : Sia ( V E) w: E N un multigrado euleriano e P= G { v v... v... v v } i n il percorso euleriano un tour C di G tale che C) P). DIO. Nel percorrere P={ v...v } ogni volta che trovo un nodo non ancora visitato lo memorizzo in un insieme S i. Sarà quindi possibile riscrivere il percorso come P={ v S v S... v... v S v } dove S i è una sequenza di nodi già visitati ad esempio: v oppure ; S ={ } S ={ v v } oppure ; S i ={ v v... } v i oppure ; S n ={ v v... v i... v n } oppure. Ora consideriamo il cammino C={ v v... v i... v n } il suo costo è n ( = i+ i= modn () w C) v i v ) i n n V i S i ={ s...s h } Dalla disuguaglianza triangolare: w ( vi si+ ) vi s) +... + sh vi+ ) = vi vi+ ) e questo vale per tutti gli intervalli considerati quindi possiamo dire che 3

Dispensa del corso di TAA redatta da Amati Di auro Rattà. Algoritmo 5 e APX per il problema n () v v ) ) Studio dell approssimabilità dell algoritmo () C) P) T) perchè P è stato calcolato sul ST; T) C) - e C) C) T) ma se C è la soluzione ottima allora OPT(G) T) Utilizzando la () e facendo il rapporto otteniamo C)/OPT(G).5-APX PER -TSP i= i i+ = P perchè il tour C senza un arco è uno SPANNING TREE ma non è il minimo; In questa sezione parliamo dell algoritmo di Christofides un algoritmo che approssima il problema del -TSP con un rapporto pari a.5. Prima di descrivere l algoritmo introduciamo un nuovo problema. Definizione 6 (P) Il problema del minimo matching perfetto (INIUN PERFECT ATCHING P) si può schematizzare così: Istanza: un grafo completo pesato G( V E) la cui funzione dei pesi è w: E N e il cui numero di vertici è pari cioè V =k con k N; Soluzione: un insieme di archi ogni vertice è estremo di uno e un solo arco e tale che { } E del tipo = [ v v ][ v v ]...[ v ] dove 3 4 n vn V =. isura: la funzione matching. m ( G( V E) ) = e) per istanza G( V E) ed insieme del e Teorema 3 (senza dimo) P PO. ALGORITO DI CHRISTOFIDES.5 APX PER -TSP INPUT: G( V E) completo w: E N OUTPUT: tour C che visita tutti i nodi di G )Costruisco l ST(G) che chiamo T; )Chiamo D V l insieme dei vertici tale che v D deg(v) in T è dispari; 3) Costruisco un nuovo grafo G ( D indotto da G e D e trovo l P di G ( D che chiamo ; 4)Considero G ( V T )) che è euleriano; 5)Prendo il cammino euleriano P di G ( V T )) e trovo il tour C ad esso corrispondente. Osservazione : L P di G ( D è completo. G ( D esiste sempre se D è un insieme di vertici pari perché 4

Dispensa del corso di TAA redatta da Amati Di auro Rattà. Algoritmo 5 e APX per il problema DIO. Sia D={ d... d k... dk } un insieme pari di vertici dividendolo in due parti si ha: { } d...d k d d i d k + { dk dk } d k +i +... d k dk sempre un matching e posso scegliere il minimo. Osservazione 3: D = k DIO. Posso dividere i nodi di V in due insiemi a seconda del loro grado in T: P={ p... p h } nodi a grado dispari in T; D={ d...d k } nodi a grado pari in T; Calcolo: p deg( p ) + deg( d ) = ( n ) dove ( n ) = archi in ST; d D giacchè p deg( p) e ( n ) sono pari anche deg( d) sarà pari deg( d) = y perché la somma di l numeri dispari è pari. d D d D D = k OSSERVAZIONE 4: G ( V T )) è euleriano. DIO. Devo verificare i punti a) e b) del teorema: a) è ovvio perché G ( V T )) è ottenuto dal ST; b) per ogni vertice v V ho due casi: i) deg(v) in T è pari v D deg( v ) è pari in G ( V T )) ; ii) deg(v) in T è dispari deg( v ) in G = deg(v) in T +. G ( V T )) è euleriano. Studio della approssimabilità dell algoritmo di Christofides - Dai risultati precedenti C) P) dove il costo di P è dato dal costo del ST più quello del matching w ( P) = T ) + ); - Se C * * è la soluzione ottima di -TSP allora vale C ) T ); - Nel cammino ottimo * = C { v u u... u v } ogni volta che incontro un nodo di D non ancora visitato lo memorizzo ottenendo la sequenza [ d d... ] { } nodi di D compaiono in P. A questo punto posso fare due matching: = [ d d][ d3 d4]...[ d D d D ] d D secondo l ordine in cui i 5

Dispensa del corso di TAA redatta da Amati Di auro Rattà. { [ d d3][ d4 d5]...[ d d] } D = Algoritmo 5 e APX per il problema d 3 d d 4 d d D d D C * Come si vede anche dalla figura i due matching insieme sono più piccoli dell intero percorso C * : * ) + ) C ) ) + ) ) * ) C ) sostituendo la terza e la seconda espressione nella prima: * * 3 w ( C) C ) + C ) = C * C) ) OPT 3 6

Dispensa del corso di TAA redatta da Amati Di auro Rattà. Algoritmo 5 e APX per il problema 7