Algoritmi Approssimanti per -TSP

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Algoritmi Approssimanti per -TSP"

Transcript

1 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:

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

3 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

4 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

5 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

6 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

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

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

Il problema del commesso viaggiatore

Il problema del commesso viaggiatore Il problema del commesso viaggiatore Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa [email protected] M. Passacantando TFA 2012/13 - Corso di Ricerca Operativa Università

Dettagli

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

OSTRUZIONI SUI GRAFI. Alcune ostruzioni per l esistenza di grafi con dato score 1) Vale il seguente lemma OSTRUZIONI SUI GRAFI Alcune ostruzioni per l esistenza di grafi con dato score 1) Vale il seguente lemma Lemma 1. Se G = (V, E) è un grafo finito con n vertici allora deg(v) n 1, v V. Dal lemma segue che

Dettagli

Euristiche per il Problema del Commesso Viaggiatore

Euristiche per il Problema del Commesso Viaggiatore Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Euristiche per il Problema del Commesso Viaggiatore Renato Bruni [email protected] Il materiale presentato

Dettagli

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

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa Alberi di copertura Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo, Pisa [email protected] M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9 Definizioni

Dettagli

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);

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); Algoritmi e Strutture di Dati II 2 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); E µ V V è u n i n s i e m e d i archi. Denotiamo

Dettagli

LA MATEMATICA DELLE RELAZIONI SOCIALI

LA MATEMATICA DELLE RELAZIONI SOCIALI LA MATEMATICA DELLE RELAZIONI SOCIALI ALESSIO TORTI SILVIA LAZZARI FRANCESCA GERACE FLAVIA VICICONTE ABSTRACT. Nell articolo si analizzano, utilizzando la teoria dei grafi, le diverse configurazioni che

Dettagli

Possibile applicazione

Possibile applicazione p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile

Dettagli

Introduzione ai grafi

Introduzione ai grafi TFA A048 Anno Accademico 2012-13 Outline Cenni storici sui grafi Nozioni introduttive: cammini, connessione, alberi, cicli Cammini di costo minimo Origini storiche La nascita della teoria dei grafi risale

Dettagli

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1 Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1 Esercizio 1.12 Per dimostrare che per ogni funzione esiste una formula in cui compaiono le variabili tale che la corrispondente

Dettagli

Algoritmi e strutture dati

Algoritmi e strutture dati Algoritmi e Strutture Dati Cammini minimi Definizioni Sia G = (V,E) un grafo orientato pesato sugli archi. Il costo di un cammino π = è dato da: Un cammino minimo tra una coppia di

Dettagli

Grafi (orientati): cammini minimi

Grafi (orientati): cammini minimi Grafi (orientati): cammini minimi Una breve presentazione Definizioni Sia G=(V,E) un grafo orientato con costi w sugli archi. Il costo di un cammino π= è dato da: Un cammino minimo tra

Dettagli

Gestione della produzione e della supply chain Logistica distributiva

Gestione della produzione e della supply chain Logistica distributiva Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Convergenza dell algoritmo Se non

Dettagli

Cammini minimi in grafi:

Cammini minimi in grafi: Algoritmi e strutture dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Cammini minimi in grafi: una trilogia Cammini minimi in grafi: Episodio III: la fine della trilogia Input: nelle puntate

Dettagli

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

Introduzione ai grafi. Introduzione ai grafi p. 1/2 Introduzione ai grafi Introduzione ai grafi p. 1/2 Grafi Un grafo G é costituito da una coppia di insiemi (V,A) dove V é detto insieme dei nodi e A é detto insieme di archi ed é un sottinsieme di tutte

Dettagli

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

GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi! G R A F I 1 GRAFI Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi! 2 cip: cip: Pallogrammi Pallogrammi GRAFI: cosa sono I grafi sono una struttura matematica fondamentale: servono

Dettagli

Cammini minimi fra tutte le coppie

Cammini minimi fra tutte le coppie Capitolo 12 Cammini minimi fra tutte le coppie Consideriamo il problema dei cammini minimi fra tutte le coppie in un grafo G = (V, E, w) orientato, pesato, dove possono essere presenti archi (ma non cicli)

Dettagli

8.10 Algoritmi di approssimazione

8.10 Algoritmi di approssimazione 296 Capitolo 8 NP-completezza e approssimazione 8.10 Algoritmi di approssimazione Dimostrare che un problema è NP-completo significa rinunciare a progettare per esso un algoritmo polinomiale di risoluzione

Dettagli

Visite in Grafi BFS e DFS

Visite in Grafi BFS e DFS Visite in Grafi BFS e DFS Visita di un Grafo Obiettivo: Visitare una sola volta tutti i nodi del grafo. Es.: visitare un porzione del grafo del Web Difficoltà: Presenza di cicli: Marcare i nodi visitati

Dettagli

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

Algoritmi e Strutture Dati (Mod. B) Algoritmi su grafi Ricerca in profondità (Depth-First Search) Parte III Algoritmi e Strutture Dati (Mod. B) Algoritmi su grafi Ricerca in profondità (Depth-First Search) Parte III Applicazioni di DFS Due prolemi: calcolare l ordinamento topologico indotto da un grafo aciclico.

Dettagli

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

Sommario. Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP Sommario Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP I conjecture that there is no good algorithm for the traveling salesman problem. My reasons are the same

Dettagli

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

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015 1 Lunedí 20 Aprile 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Rilassamento di un problema Rilassare un problema di Programmazione Matematica vuol dire trascurare alcuni (tutti i)

Dettagli

Il problema del commesso viaggiatore

Il problema del commesso viaggiatore 1. Generalità Consideriamo il problema seguente: Il problema del commesso viaggiatore Stanco di cercare di far capire qualcosa ai suoi studenti, un professore di matematica applicata decise un giorno di

Dettagli

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

Esercizi per il corso di. Logistica I. a.a Daniela Favaretto. Dipartimento di Matematica Applicata Università Ca Foscari di Venezia sercizi per il corso di Logistica I a.a. - aniela avaretto ipartimento di Matematica pplicata Università a oscari di Venezia sercizio Individuare un albero di supporto di lunghezza minima (SST) sul seguente

Dettagli

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

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Esercizi di ottimizzazione combinatoria Claudio Arbib Universitàdi L Aquila Ricerca Operativa Esercizi di ottimizzazione combinatoria 00-006 Grafi 9 Esercizio. Un grafo simmetrico G = (V, E) si dice cubico se tutti i suoi vertici hanno grado

Dettagli

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

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 . Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e strutture dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Algoritmi e Strutture Dati Capitolo 2 Minimo albero ricoprente: Algoritmo di Prim Il problema del calcolo di un Minimum

Dettagli

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

Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33 Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33 Ottimizzazione su grafi:massimo flusso (parte 1) p. 2/33 Reti di flusso Una rete di flusso è una

Dettagli

TSP con eliminazione di sottocicli

TSP con eliminazione di sottocicli TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 3 5 7-8 9 57

Dettagli

TECNICHE ALGORITMICHE PER PROBLEMI DI OTTIMIZZAZIONE

TECNICHE ALGORITMICHE PER PROBLEMI DI OTTIMIZZAZIONE TECNICHE ALGORITMICHE PER PROBLEMI DI OTTIMIZZAZIONE - Tecniche golose (greedy). - Algoritmi sequenziali. - Ricerca locale. - Metodi basati su programmazione lineare. - Metodi basati su approccio primale-duale.

Dettagli

Algoritmi e Strutture Dati (Modulo II)

Algoritmi e Strutture Dati (Modulo II) Algoritmi e strutture dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Algoritmi e Strutture Dati (Modulo II) Luciano Gualà [email protected] http://www.mat.uniroma2.it/~guala/ Algoritmi

Dettagli

Minimo albero di copertura

Minimo albero di copertura apitolo 0 Minimo albero di copertura efinizione 0.. ato un grafo G = (V, E) non orientato e connesso, un albero di copertura di G è un sottoinsieme T E tale che il sottografo (V, T ) è un albero libero.

Dettagli

Progettazione di Algoritmi

Progettazione di Algoritmi Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 0/06/06 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via avrai

Dettagli

Progettazione di Algoritmi

Progettazione di Algoritmi Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 06/07/2016 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via

Dettagli

Complementi ed Esercizi di Informatica Teorica II

Complementi ed Esercizi di Informatica Teorica II Complementi ed Esercizi di Informatica Teorica II Vincenzo Bonifaci 21 maggio 2008 4 Problemi di ottimizzazione: il Bin Packing Il problema bin packing è il seguente: dato un insieme di n oggetti di dimensioni

Dettagli

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

Università degli Studi di Salerno. Note per il Corso di Algoritmi e Strutture Dati II Parte B. Docente: Ugo Vaccaro Università degli Studi di Salerno Note per il Corso di Algoritmi e Strutture Dati II Parte B Docente: Ugo Vaccaro Corso di Laurea in Informatica Anno Accademico 2004-2005 Indice Lezione 1: Definizione

Dettagli

Esempi. non. orientato. orientato

Esempi. non. orientato. orientato Definizione! Un grafo G = (V,E) è costituito da un insieme di vertici V ed un insieme di archi E ciascuno dei quali connette due vertici in V detti estremi dell arco.! Un grafo è orientato quando vi è

Dettagli

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

Per equazione lineare nelle incognite x, y intendo un equazione del tipo. ax = b, Matematica II 161110 1 Equazioni lineari in una incognita Per equazione lineare nell incognita x intendo un equazione del tipo ax = b dove a b sono due costanti reali a e il coefficiente e b e il termine

Dettagli

AMPL Problemi su Reti

AMPL Problemi su Reti Dipartimento di Matematica Università di Padova Corso di Laurea Informatica Outline Problemi su Reti Cammino Minimo Molti problemi di ottimizzazione combinatoria possono essere modellati ricorrendo ai

Dettagli

Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemm

Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemm Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemma N.Fanizzi - V.Carofiglio 6 aprile 2016 1 Teorema di Kleene 2 3 o 1 o 3 o 8 Teorema di Kleene Vale la seguente equivalenza: L 3 L FSL L REG Dimostrazione.

Dettagli

Problemi difficili e ricerca esaustiva intelligente

Problemi difficili e ricerca esaustiva intelligente Problemi difficili e ricerca esaustiva intelligente Progettazione di Algoritmi a.a. 2016-17 Matricole congrue a 1 Docente: Annalisa De Bonis Gli argomenti di questa lezione sono tratti da Dasgupta, Papadimitriou,

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Capitolo 12 Grafi e visite di grafi Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Definizione Un grafo G=(V,E) consiste in: - un insieme V di vertici (o nodi) - un insieme

Dettagli

Problema del cammino minimo

Problema del cammino minimo Algoritmi e Strutture di Dati II Problema del cammino minimo Un viaggiatore vuole trovare la via più corta per andare da una città ad un altra. Possiamo rappresentare ogni città con un nodo e ogni collegamento

Dettagli

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

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente Routing Introduzione Il livello 3 della pila ethernet ha il compito di muovere i pacchetti dalla sorgente attraversando più sistemi Il livello di network deve quindi: Scegliere di volta in volta il cammino

Dettagli

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

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi Lezione 4 Problemi trattabili e soluzioni sempre più efficienti Gianluca Rossi Trattabile o intrattabile? Consideriamo ora il problema, ben noto a tutti gli studenti a partire dalla scuola media, di calcolare

Dettagli

Capitolo 4. Grafi Planari

Capitolo 4. Grafi Planari Capitolo 4 Grafi Planari Per facilitare la trattazione dei grafi planari iniziamo dal seguente problema: tre acerrimi nemici hanno tre case vicine ed hanno contemporaneamente la necessità di doversi allacciare

Dettagli

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

LEZIONE 12. v = α 1 v α n v n = LEZIONE 12 12.1. Combinazioni lineari. Definizione 12.1.1. Sia V uno spazio vettoriale su k = R, C e v 1,..., v n V vettori fissati. Un vettore v V si dice combinazione lineare di v 1,..., v n se esistono

Dettagli

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

Grafi: visite. Una breve presentazione. F. Damiani - Alg. & Lab. 04/05 (da C. Demetrescu et al - McGraw-Hill) Grafi: visite Una breve presentazione Visite di grafi Scopo e tipi di visita Una visita (o attraversamento) di un grafo G permette di esaminare i nodi e gli archi di G in modo sistematico Problema di base

Dettagli

Algoritmo basato su cancellazione di cicli

Algoritmo basato su cancellazione di cicli Algoritmo basato su cancellazione di cicli Dato un flusso ammissibile iniziale, si costruisce una sequenza di flussi ammissibili di costo decrescente. Ciascun flusso è ottenuto dal precedente flusso ammissibile

Dettagli

TSP con eliminazione di sottocicli

TSP con eliminazione di sottocicli TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 7-8 9 7 9-8 79

Dettagli

11.4 Chiusura transitiva

11.4 Chiusura transitiva 6 11.4 Chiusura transitiva Il problema che consideriamo in questa sezione riguarda il calcolo della chiusura transitiva di un grafo. Dato un grafo orientato G = hv,ei, si vuole determinare il grafo orientato)

Dettagli

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I Esercizio 1 Dati n oggetti ed un contenitore, ad ogni oggetto j (j = 1,, n) sono associati un peso p j ed un costo c j (con p j e c j interi positivi). Si

Dettagli

METODI DELLA RICERCA OPERATIVA

METODI DELLA RICERCA OPERATIVA Università degli Studi di Cagliari FACOLTA' DI INGEGNERIA CORSO DI METODI DELLA RICERCA OPERATIVA Dott.ing. Massimo Di Francesco ([email protected]) i i Dott.ing. Maria Ilaria Lunesu ([email protected])

Dettagli

ANALISI 1 - Teoremi e dimostrazioni vari

ANALISI 1 - Teoremi e dimostrazioni vari ANALISI 1 - Teoremi e dimostrazioni vari Sommario Proprietà dell estremo superiore per R... 2 Definitivamente... 2 Successioni convergenti... 2 Successioni monotone... 2 Teorema di esistenza del limite

Dettagli

Corso di Analisi Numerica

Corso di Analisi Numerica Corso di Laurea in Ingegneria Informatica Corso di 3 - PROBLEMI DI INTERPOLAZIONE Lucio Demeio Dipartimento di Scienze Matematiche 1 Interpolazione: Polinomio di Lagrange 2 3 Introduzione Problemi di interpolazione

Dettagli

Il problema del commesso viaggiatore e problemi di vehicle routing

Il problema del commesso viaggiatore e problemi di vehicle routing Il problema del commesso viaggiatore e problemi di vehicle routing Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa [email protected] http://www.di.unipi.it/~galli 2 Dicembre

Dettagli

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

Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica (IN0 Fondamenti) Grafi e alberi: introduzione Marco Liverani ([email protected])

Dettagli

Parte V: Rilassamento Lagrangiano

Parte V: Rilassamento Lagrangiano Parte V: Rilassamento Lagrangiano Tecnica Lagrangiana Consideriamo il seguente problema di Programmazione Lineare Intera: P 1 min c T x L I Ax > b Cx > d x > 0, intera in cui A = matrice m x n C = matrice

Dettagli

Grafi e reti di flusso

Grafi e reti di flusso Grafi e reti di flusso Molti problemi di ottimizzazione sono caratterizzati da una struttura di grafo: in molti casi questa struttura emerge in modo naturale, in altri nasce dal particolare modo in cui

Dettagli

Esercizi proposti 10

Esercizi proposti 10 Esercizi proposti 10 In questo gruppo di esercizi assumiamo, dove non sia specificato diversamente, di rappresentare i grafi mediante liste di archi, con il tipo di dati così dichiarato: type a graph =

Dettagli

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

2.1 Pianificazione multiperiodo della produzione energetica. 2.2 Confronto tra formulazioni per il problema dell albero di supporto di costo minimo . Pianificazione multiperiodo della produzione energetica Consideriamo il problema di approvvigionamento energetico dell Italia su un orizzonte di T = 0 anni. Sia d t il consumo di potenza elettrica stimato

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione

Dettagli

11. Misure con segno.

11. Misure con segno. 11. Misure con segno. 11.1. Misure con segno. Sia Ω un insieme non vuoto e sia A una σ-algebra in Ω. Definizione 11.1.1. (Misura con segno). Si chiama misura con segno su A ogni funzione ϕ : A R verificante

Dettagli

Appunti sui Codici di Reed Muller. Giovanni Barbarino

Appunti sui Codici di Reed Muller. Giovanni Barbarino Appunti sui Codici di Reed Muller Giovanni Barbarino Capitolo 1 Codici di Reed-Muller I codici di Reed-Muller sono codici lineari su F q legati alle valutazioni dei polinomi sullo spazio affine. Per semplicità

Dettagli

COMPLEMENTI DI SHORTEST-PATH. ASD Fabrizio d'amore

COMPLEMENTI DI SHORTEST-PATH. ASD Fabrizio d'amore COMPLEMENTI DI SHORTEST-PATH ASD 2016-17 Fabrizio d'amore problemi di shortest-path (SP) grafo di riferimento G=(V,E) semplice/orientato pesato pesi non negativi pesi arbitrari, ma no cicli a peso negativo

Dettagli

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

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 20 giugno 2014 A Ricerca Operativa 1 Seconda prova intermedia Un tifoso di calcio in partenza da Roma vuole raggiungere Rio De Janeiro per la finale del mondiale spendendo il meno possibile. Sono date le seguenti disponibilità

Dettagli

Principio di induzione: esempi ed esercizi

Principio di induzione: esempi ed esercizi Principio di induzione: esempi ed esercizi Principio di induzione: Se una proprietà P n dipendente da una variabile intera n vale per n e se, per ogni n N vale P n P n + allora P vale su tutto N Variante

Dettagli

Approssimazione di dati e funzioni

Approssimazione di dati e funzioni Approssimazione di dati e funzioni Richiamiamo i principali metodi di approssimazione polinomiale di un insieme di dati (x i, y i ), i = 0,..., n. Le ordinate y i possono essere i valori assunti nei nodi

Dettagli

Dati e Algoritmi I (Pietracaprina) Esercizi svolti sui Grafi

Dati e Algoritmi I (Pietracaprina) Esercizi svolti sui Grafi Dati e Algoritmi I (Pietracaprina) Esercizi svolti sui Grafi Dati e Algoritmi I (Pietracaprina): Esercizi 1 Problema 1 (Esercizio C-14.34 del testo [GTG14]) Sia G = (V, E) un grafo non diretto con n =

Dettagli

Progettazione di algoritmi

Progettazione di algoritmi Progettazione di algoritmi Discussione dell'esercizio [vincoli] Prima di tutto rappresentiamo il problema con un grafo G: i nodi sono le n lavorazioni L 1, L 2,, L n, e tra due nodi L h, L k c'è un arco

Dettagli

PREPARAZIONE ALLE GARE DI MATEMATICA - CORSO BASE

PREPARAZIONE ALLE GARE DI MATEMATICA - CORSO BASE Liceo Scientifico Gullace PREPARAZIONE ALLE GARE DI MATEMATICA - CORSO BASE Aritmetica 014-15 1 Lezione 1 DIVISIBILITÀ, PRIMI E FATTORIZZAZIONE Definizioni DIVISIBILITÀ': dati due interi a e b, diciamo

Dettagli

Cercare il percorso minimo Ant Colony Optimization

Cercare il percorso minimo Ant Colony Optimization Cercare il percorso minimo Ant Colony Optimization Author: Luca Albergante 1 Dipartimento di Matematica, Università degli Studi di Milano 4 Aprile 2011 L. Albergante (Univ. of Milan) PSO 4 Aprile 2011

Dettagli

Capitolo IV SPAZI VETTORIALI EUCLIDEI

Capitolo IV SPAZI VETTORIALI EUCLIDEI Capitolo IV SPAZI VETTORIALI EUCLIDEI È ben noto che in VO 3 si possono considerare strutture più ricche di quella di spazio vettoriale; si pensi in particolare all operazioni di prodotto scalare di vettori.

Dettagli

ESERCIZI SULLA TECNICA BACKTRACKING e BRANCH & BOUND

ESERCIZI SULLA TECNICA BACKTRACKING e BRANCH & BOUND ESERCIZI SULLA TECNICA BACKTRACKING e BRANCH & BOUND 1. [ STRINGHE] Scrivere in pseudo-codice una procedura che, preso in input un intero n, stampi tutte le stringhe di lunghezza minore o uguale ad n sull

Dettagli

Note per la Lezione 4 Ugo Vaccaro

Note per la Lezione 4 Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 4 Ugo Vaccaro Ripasso di nozioni su Alberi Ricordiamo che gli alberi rappresentano una generalizzazione delle liste, nel senso che

Dettagli

Operazioni tra matrici e n-uple

Operazioni tra matrici e n-uple CAPITOLO Operazioni tra matrici e n-uple Esercizio.. Date le matrici 0 4 e dati λ = 5, µ =, si calcoli AB, BA, A+B, B A, λa+µb. Esercizio.. Per ognuna delle seguenti coppie di matrici A, B e scalari λ,

Dettagli

3/10/ Divisibilità e massimo comun divisore

3/10/ Divisibilità e massimo comun divisore MCD in N e Polinomi 3/10/2013 1 Divisibilità e massimo comun divisore 1.1 Divisibilità in N In questa sezione introdurremo il concetto di divisibilità e di massimo comun divisore di due numeri naturali

Dettagli

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

Cammini minimi. Definizioni. Distanza fra vertici. Proprietà dei cammini minimi. Algoritmi e Strutture Dati Algoritmi e Strutture Dati Definizioni Sia G=(V,E) un grafo orientato con costi w sugli archi. Il costo di un cammino π= è dato da: Cammini minimi Un cammino minimo tra una coppia di

Dettagli

Problema del Commesso Viaggiatore

Problema del Commesso Viaggiatore M. Monaci - Problema del Commesso Viaggiatore 1 Problema del Commesso Viaggiatore Michele Monaci Dipartimento di Ingegneria dell Informazione, Università di Padova Viale Gradenigo, 6/A - 35131 - Padova

Dettagli

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

Corso di Trasporto merci e logistica. Supporto didattico ad uso esclusivo interno. a cura di: ing. Mario Cordasco A.A logistica Supporto didattico ad uso esclusivo interno a cura di: ing. Mario Cordasco A.A. 2008-2009 La distribuzione fisica delle merci La logistica è l insieme delle attività e dei servizi che permettono

Dettagli

1 Esercizi in pseudocodice

1 Esercizi in pseudocodice Questa dispensa propone esercizi sulla scrittura di algoritmi in un linguaggio semiformale, utile all acquisizione delle abilità essenziali per implementare algoritmi in qualsiasi linguaggio di programmazione.

Dettagli

Analisi multicriteria. Analisi multicriteria

Analisi multicriteria. Analisi multicriteria m alternative: a, b,... n criteri: 1, 2,..., n g i (a): valore che viene attribuito all alternativa a sulla base del criterio i. Ogni criterio i induce sull insieme dei candidati una relazione di ordine

Dettagli