Algoritmi e strutture dati

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Algoritmi e strutture dati"

Transcript

1 Algoritmi e Strutture Dati Cammini minimi Definizioni Sia G = (V,E) un grafo orientato pesato sugli archi. Il costo di un cammino π = <v 0,v 1,v 2,,v k > è dato da: Un cammino minimo tra una coppia di vertici x e y è un cammino di costo minore o uguale a quello di ogni altro cammino tra gli stessi vertici. 2

2 Proprietà dei cammini minimi Sottostruttura ottima: ogni sottocammino di un cammino minimo è anch esso minimo Grafi con cicli negativi: se due vertici x e y appartengono a un ciclo di costo negativo, non esiste nessun cammino minimo finito tra di essi Se G non contiene cicli negativi, tra ogni coppia di vertici connessi in G esiste sempre un cammino minimo semplice, in cui cioè tutti i vertici sono distinti 3 Distanza fra vertici La distanza d xy tra due vertici x e y è il costo di un cammino minimo da x a y (o + se i due vertici non sono connessi) Disuguaglianza triangolare: per ogni x, y e z Condizione di Bellman: per ogni arco (u,v) e per ogni vertice s 4

3 Alberi di cammini minimi Un arco (u,v) appartiene a un cammino minimo a partire da un vertice s se e solo se u è raggiungibile da s e d su + w(u,v) = d sv I cammini minimi da un vertice s a tutti gli altri vertici del grafo possono essere rappresentati tramite un albero radicato in s, detto albero dei cammini minimi 5 Calcolare cammini minimi da distanze Problema: Le distanze non sono note (è proprio quello che vogliamo trovare!) 6

4 Tecnica del rilassamento Partiamo da stime per eccesso delle distanze D xy d xy e aggiorniamole decrementandole progressivamente fino a renderle esatte. Aggiorniamo le stime basandoci sul seguente passo di rilassamento: 7 Algoritmo generico per il calcolo delle distanze Rilassamento 8

5 Algoritmo di Bellman e Ford (per cammini minimi a sorgente singola) 9 Ordine di rilassamento Sia π = < s,v 1,v 2,,v k > un cammino minimo. Se fossimo in grado di eseguire i passi di rilassamento nell ordine seguente: in k passi avremmo la soluzione. Purtroppo non conosciamo l ordine giusto, essendo π ignoto! 10

6 Approccio di Bellman e Ford Esegui n passate In ciascuna passata rilassa tutti gli archi Dopo la j-esima passata, i primi j rilassamenti corretti sono stati certamente eseguiti Esegue però molti rilassamenti inutili! 11 Pseudocodice Tempo di esecuzione: O(n m) 12

7 Algoritmo per grafi diretti aciclici (per cammini minimi a sorgente singola) 13 Ordinamento topologico Funzione σ: V {1, n} tale che σ(u) < σ(v) se esiste un cammino da u a v in G Esiste se e solo se G è aciclico 14

8 Calcolo di un ordinamento topologico Tempo di esecuzione: O(n+m) 15 Cammini minimi in grafi aciclici Eseguire i rilassamenti in ordine topologico Tempo di esecuzione: O(n+m) 16

9 Algoritmo di Dijkstra (per cammini minimi a sorgente singola in grafi con costi non negativi) 17 Estendere l albero dei cammini minimi Sia T un albero dei cammini minimi radicato in s che non include tutti i vertici raggiungibili da s, sia (u,v) t.c. u T e v T, e t.c. (u,v) minimizza la quantità d su + w(u,v) : allora (u,v) appartiene a un cammino minimo da s a v 18

10 Algoritmo di Dijkstra Scegli arco (u,v) con u T e v T che minimizza quantità D su + w(u,v), effettua rilassamento D sv D su + w(u,v), ed aggiungi (u,v) a T Archi incidenti in T mantenuti in coda con priorità (un solo arco per ogni nodo v T): se (u,v) è già in coda quando analizzi (z,v) e risulta D sz + w(z,v) < D su + w(u,v), rimpiazza (u,v) con (z,v) 19 Pseudocodice 20

11 Esempio (1/2) 21 Esempio (2/2) 22

12 Tempo di esecuzione Al più: n deletemin, n insert e m decreasekey O(m log n) utilizzando heap O(m + n log n) utilizzando heap di Fibonacci 23 Algoritmo di Floyd e Warshall (per cammini minimi tra tutte le coppie) 24

13 Elegante applicazione della tecnica di programmazione dinamica Approccio Un cammino minimo k-vincolato da x a y è un cammino di costo minimo tra tutti i cammini da x a y che usano solo i vertici {v 1, v 2, v k } Idea di Floyd e Warshall: calcolare cammini minimi k-vincolati 25 Relazioni tra distanze vincolate k Sia d xy il costo di un cammino minimo k-vincolato da x a y. Risulta: 0 d xy = w(x,y) se (x,y) E, + altrimenti d xy = d xy n L algoritmo calcola d xy dal basso verso l alto, incrementando k da 1 a n 26

14 Pseudocodice Tempo di esecuzione: O(n 3 ) 27 Riepilogo Algoritmi classici per il calcolo di distanze (e quindi di cammini minimi), basati sulla tecnica del rilassamento: Bellman e Ford: cammini minimi a sorgente singola, grafi diretti senza cicli negativi, tempo O(nm) Grafi diretti aciclici: cammini minimi a sorgente singola in tempo O(n+m) Dijkstra: cammini minimi a sorgente singola, grafi diretti senza pesi negativi, tempo O(m + n log n) Floyd e Warshall: cammini minimi tra tutte le coppie in tempo O(n 3 ) 28

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

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

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

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Capitolo 13 Cammini minimi: Algoritmo di Dijkstra (*) (ACM in grafi diretti e non diretti senza archi di peso negativo) Punto della situazione Algoritmo basato sull ordinamento

Dettagli

Grafi (non orientati e connessi): minimo albero ricoprente

Grafi (non orientati e connessi): minimo albero ricoprente Grafi (non orientati e connessi): minimo albero ricoprente Una breve presentazione Definizioni Sia G=(V,E) un grafo non orientato e connesso. Un albero ricoprente di G è un sottografo T G tale che: T è

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

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

Grafi pesati Minimo albero ricoprente

Grafi pesati Minimo albero ricoprente Algoritmi e Strutture Dati Definizioni Grafi pesati Minimo albero ricoprente Sia G=(V,E) un grafo non orientato e connesso. Un albero ricoprente di G è un sottografo T G tale che: T è un albero; T contiene

Dettagli

Cammini Minimi. Algoritmo di Dijkstra

Cammini Minimi. Algoritmo di Dijkstra Cammini Minimi Algoritmo di Dijkstra Cammino in un grafo Dato un grafo G=(V,E), un Cammino (Percorso) in G è un insieme di vertici v 1, v 2,.., v k tali che (v i, v i+1 ) E v 1 v 2 v 3 v k In un grafo

Dettagli

Grafi: ordinamento topologico

Grafi: ordinamento topologico .. Grafi: ordinamento topologico Che cosa e e come si calcola Che cosa e un ordinamento topologico F. Damiani - Alg. & Lab. 04/05 Una definizione di ordinamento topologico Definizione. Funzione σ: V {1,

Dettagli

Grafi (orientati): cammini minimi

Grafi (orientati): cammini minimi .. Grafi (orientati): cammini minimi Una presentazione alternativa (con ulteriori dettagli) Un algoritmo greedy per calcolare i cammini minimi da un vertice sorgente in un grafo orientato e pesato, senza

Dettagli

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore

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

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

2.3.3 Cammini ottimi nei grafi senza circuiti

2.3.3 Cammini ottimi nei grafi senza circuiti .. Cammini ottimi nei grafi senza circuiti Sia un grafo G = (N, A) orientato senza circuiti e una funzione di costo che assegna un valore c ij R ad ogni arco (i, j) A circuito Proprietà I nodi di un grafo

Dettagli

Esercizio 1. min. Esercizio 2. Esercizio 3

Esercizio 1. min. Esercizio 2. Esercizio 3 A UNIVERSIÀ DEGLI SUDI ROMA RE Ricerca Operativa Primo appello gennaio 00 Esercizio Portando il problema in forma standard si aggiungono le variabili e 4. Impostando il problema artificiale è sufficiente

Dettagli

Alberi di copertura minimi

Alberi di copertura minimi Alberi di copertura minimi 1 Problema Nella progettazione di circuiti elettronici è spesso necessario collegare i morsetti. Per connettere un insieme di n morsetti si può usare un insieme di n-1 fili elettrici.

Dettagli

Cammini minimi con sorgente singola

Cammini minimi con sorgente singola Capitolo 11 Cammini minimi con sorgente singola efinizione 11.1. Sia G = (V,, w) un grafo orientato e pesato; dato il cammino p = v 0, v 1,..., v k in G, il valore w(p) = k i=1 w(v i 1, v i ) rappresenta

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

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

Algoritmi e Strutture Dati 2/ed Quiz a risposta multipla

Algoritmi e Strutture Dati 2/ed Quiz a risposta multipla Camil Demetrescu Irene Finocchi Giuseppe F. Italiano Algoritmi e Strutture Dati 2/ed Quiz a risposta multipla Indice 1 Un introduzione informale agli algoritmi 1 2 Modelli di calcolo e metodologie di

Dettagli

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

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

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013 A Ricerca Operativa 1 Seconda prova intermedia Si è rotto un aereo che doveva trasportare un elevato numero di persone dalla città 3 alla città 8. Si rende quindi necessario utilizzare i posti disponibili

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

Esercizio 1. Esercizio 2

Esercizio 1. Esercizio 2 A-2 a PI Ricerca Operativa 1 Seconda prova intermedia La Pharmatix è un azienda di Anagni che produce due principi attivi, A e B, che consentono un profitto per grammo venduto di 20 e 30 euro rispettivamente.

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 (liverani@mat.uniroma.it)

Dettagli

Grafi (non orientati e connessi): minimo albero ricoprente

Grafi (non orientati e connessi): minimo albero ricoprente .. Grafi (non orientati e connessi): minimo albero ricoprente Una presentazione alternativa (con ulteriori dettagli) Problema: calcolo del minimo albero di copertura (M.S.T.) Dato un grafo pesato non orientato

Dettagli

VISITA IL SITO PER ALTRO MATERIALE E GUIDE

VISITA IL SITO  PER ALTRO MATERIALE E GUIDE COPYRIGHT SEGO LICENSE Questo documento viene fornito così come è: se pensate che faccia schifo problemi vostri, nessuno vi obbliga a leggerlo. Se pensate che sia qualcosa di positivo e/o avete suggerimenti

Dettagli

Progettazione di Algoritmi

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

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

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

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

Grafi: definizioni e visite

Grafi: definizioni e visite Grafi: definizioni e visite Grafi (non orientati) Grafo (non orientato): G = (V, E) V = nodi (o vertici) E = archi fra coppie di nodi distinti. Modella relazioni fra coppie di oggetti. Parametri della

Dettagli

Introduzione al problema dei cammini minimi. Facoltà di Scienze Matematiche Fisiche e Naturali. Prof.ssa Rossella Petreschi

Introduzione al problema dei cammini minimi. Facoltà di Scienze Matematiche Fisiche e Naturali. Prof.ssa Rossella Petreschi Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea Magistrale in INFORMATICA Algoritmi e Strutture Dati Prof.ssa Rossella Petreschi Anno accademico 2010/2011 Introduzione al problema dei

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,...) protocolli reti IP memorizzazione compatta di

Dettagli

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

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013 A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa Seconda prova intermedia 7 giugno 0 Nome: Cognome: Matricola: Orale /06/0 ore aula N Orale 0/07/0 ore aula N

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

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

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 mpassacantando@di.unipi.it M. Passacantando TFA 2012/13 - Corso di Ricerca Operativa Università

Dettagli

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

Algoritmi e Strutture Dati (Mod. B) Algoritmi su grafi Ricerca in profondità (Depth-First Search) Parte II Algoritmi e Strutture Dati (Mod. B) Algoritmi su grafi Ricerca in profondità (Depth-First Search) Parte II Classificazione digli archi Sia G la foresta DF generata da DFS sul grafo G. Arco d albero: gli

Dettagli

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa Esercizi sul problema dell assegnamento Richiami di Teoria Ricordiamo che, dato un grafo G=(N,A),

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

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Introduzione ai grafi Grafi: Definizione e Algoritmi di visita Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2007/08 Introduzione ai

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

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

Esame di Ricerca Operativa del 11/07/2016

Esame di Ricerca Operativa del 11/07/2016 Esame di Ricerca Operativa del /0/01 (Cognome) (Nome) (Matricola) Esercizio 1. Un erboristeria vuole produrre una nuova tisana utilizzando tipi di tisane già in commercio. Tali tisane sono per lo più composte

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Capitolo 8 Code con priorità: Heap binomiali Riepilogo Array non ord. Array ordinato Lista non ordinata Lista ordinata Find Min Insert Delete DelMin Incr. Key Decr. Key merge

Dettagli

Esame di Ricerca Operativa del 15/01/2015

Esame di Ricerca Operativa del 15/01/2015 Esame di Ricerca Operativa del 1/01/201 (Cognome) (Nome) (Matricola) Esercizio 1. Un azienda produce palloni da calcio e da basket che vende a 1 e 20 euro rispettivamente. L azienda compra ogni settimana

Dettagli

Esame di Ricerca Operativa del 15/01/2015

Esame di Ricerca Operativa del 15/01/2015 Esame di Ricerca Operativa del 1/01/01 (Cognome) (Nome) (Matricola) Esercizio 1. Un azienda produce palloni da basket e da calcio che vende rispettivamente a 1 e euro. L azienda compra ogni settimana 00

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

Domini di funzioni di due variabili. Determinare i domini delle seguenti funzioni di due variabili (le soluzioni sono alla fine del fascicolo):

Domini di funzioni di due variabili. Determinare i domini delle seguenti funzioni di due variabili (le soluzioni sono alla fine del fascicolo): UNIVERSITA DEGLI STUDI DI SALERNO C.d.L. in INGEGNERIA GESTIONALE Esercizi di Ricerca Operativa Prof. Saverio Salerno Corso tenuto nell anno solare 2009 I seguenti esercizi sono da ritenersi di preparazione

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 mpassacantando@di.unipi.it M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9 Definizioni

Dettagli

Ottimizzazione Discreta Esercizi V: Soluzioni

Ottimizzazione Discreta Esercizi V: Soluzioni Ottimizzazione Discreta Esercizi V: Soluzioni Grafi e cammini minimi A.A. 214/215 Esercizio 1 (a) Nella terminologia della teoria dei grafi, si chiede di dimostrare che ogni grafo non orientato G = (V,E),

Dettagli

Esame di Ricerca Operativa del 07/09/2016

Esame di Ricerca Operativa del 07/09/2016 Esame di Ricerca Operativa del 0/09/201 (Cognome) (Nome) (Matricola) Esercizio 1. Un industria chimica produce due tipi di fertilizzanti (A e B) la cui lavorazione è affidata ai reparti di produzione e

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

Problema dell albero di cammini minimi (SPT, Shortest Path Tree) o problema dei cammini minimi :

Problema dell albero di cammini minimi (SPT, Shortest Path Tree) o problema dei cammini minimi : Per almeno una delle soluzioni ottime { P i, i r } del problema generalizzato, l unione dei cammini P i forma un albero di copertura per G radicato in r e orientato, ossia un albero la cui radice è r i

Dettagli

Strutture dati per rappresentare grafi

Strutture dati per rappresentare grafi lgoritmi e strutture dati amil emetrescu, Irene inocchi, iuseppe. Italiano Strutture dati per rappresentare grafi opyright 2004 - The Mcraw - Hill ompanies, srl lgoritmi e strutture dati amil emetrescu,

Dettagli

Esame di Ricerca Operativa del 03/09/2015

Esame di Ricerca Operativa del 03/09/2015 Esame di Ricerca Operativa del 0/09/201 (Cognome) (Nome) (Matricola) Esercizio 1. Una raffineria di petrolio miscela tipi di greggio per ottenere tipi di carburante: senza piombo, diesel e blu diesel.

Dettagli

Dai ponti di Königsberg al postino cinese

Dai ponti di Königsberg al postino cinese Dai ponti di Königsberg al postino cinese Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 2012/1 - Corso di Ricerca Operativa Università

Dettagli

Alberi e arborescenze di costo minimo

Alberi e arborescenze di costo minimo Alberi e arborescenze di costo minimo Complementi di Ricerca Operativa Giovanni Righini Dipartimento di Tecnologie dell Informazione - Università degli Studi di Milano Definizioni - 1 Un grafo G = (V,

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

Algoritmi e Strutture Dati. Capitolo 11 Visite di grafi

Algoritmi e Strutture Dati. Capitolo 11 Visite di grafi lgoritmi e Strutture ati apitolo Visite di grafi Strutture dati per rappresentare grafi rafi non diretti Quanto spazio? a b c d a b c d a 0 a b d c b 0 0 b c a c 0 c a d b d 0 0 d c a Matrice di adiacenza

Dettagli

età (anni) manutenzione (keuro) ricavato (keuro)

età (anni) manutenzione (keuro) ricavato (keuro) .6 Cammini minimi. Determinare i cammini minimi dal nodo 0 a tutti gli altri nodi del seguente grafo, mediante l algoritmo di Dijkstra e, se applicabile, anche mediante quello di Programmazione Dinamica.

Dettagli

Grafi e Funzioni di Costo ESERCIZI

Grafi e Funzioni di Costo ESERCIZI Grafi e Funzioni di Costo ESERCIZI Esercizio1 Si determini la matrice di incidenza archi-percorsi ed i costi di percorso per la rete di trasporto rappresentata in figura. 1 4 2 3 5 Ramo Costo Ramo Costo

Dettagli

Esame di Ricerca Operativa del 06/02/17

Esame di Ricerca Operativa del 06/02/17 Esame di Ricerca Operativa del 0/0/ (Cognome) (Nome) (Numero d Matricola) Esercizio. Uno studente vuole definire un piano di studio settimanale per preparare gli esami A, B e C, massimizzando le ore (h)

Dettagli

Esame di Ricerca Operativa del 09/02/2016

Esame di Ricerca Operativa del 09/02/2016 Esame di Ricerca Operativa del 0/0/01 (Cognome) (Nome) (Matricola) Esercizio 1. Una sartoria produce tipi di vestiti: pantaloni, gonne e giacche, utilizzando stoffa e filo. Settimanalmente, la disponibilità

Dettagli

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli.

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli. ESERCIZIO 1 Sia dato il grafo orientato in Figura 1. Si consideri il problema di flusso a 1 2 4 Figura 1: costo minimo su tale grafo con b 1 = 4 b 2 = 2 b = b 4 = e c 12 = 2 c 1 = 4 c 14 = 1 c 2 = 1 c

Dettagli

Progettazione di algoritmi. Classe 3 (matricole congrue 2 modulo 3) Prof.ssa Anselmo. Appello del 15 Novembre Attenzione:

Progettazione di algoritmi. Classe 3 (matricole congrue 2 modulo 3) Prof.ssa Anselmo. Appello del 15 Novembre Attenzione: COGNOME: Nome: Progettazione di algoritmi Classe 3 (matricole congrue 2 modulo 3) Prof.ssa Anselmo Appello del 15 Novembre 2016 Attenzione: Inserire i propri dati nell apposito spazio soprastante e sottostante.

Dettagli

Esame di Ricerca Operativa del 16/06/2015

Esame di Ricerca Operativa del 16/06/2015 Esame di Ricerca Operativa del 1/0/01 (Cognome) (Nome) (Matricola) Esercizio 1. Una ditta produce vernici in tre diversi stabilimenti (Pisa, Cascina, Empoli) e le vende a tre imprese edili (A, B, C). Il

Dettagli

Progettazione di algoritmi

Progettazione di algoritmi Progettazione di algoritmi Discussione dell'esercizio [acqua 2] Vogliamo trovare una sequenza di versamenti che sia buona e parsimoniosa. Consideriamo quindi il grafo i cui nodi sono le possibili configurazioni

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

A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 13 giugno 2011

A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 13 giugno 2011 A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Stdi in Ingegneria Informatica Ricerca Operativa Seconda prova intermedia gigno Nome: Cognome: Matricola: voglio sostenere la prova orale il giorno venerdì //

Dettagli

Ottimizzazione nella Gestione dei Progetti - Esercitazione 1: calcolo degli schedule ottimi

Ottimizzazione nella Gestione dei Progetti - Esercitazione 1: calcolo degli schedule ottimi Università degli Studi di Roma La Sapienza Ottimizzazione nella Gestione dei Progetti - Esercitazione : calcolo degli schedule ottimi di FABIO D ANDREAGIOVANNI Dipartimento di Informatica e Sistemistica

Dettagli

CASO 1) Pesi positivi ( diretto o indiretto) Algoritmo di Dijkstra

CASO 1) Pesi positivi ( diretto o indiretto) Algoritmo di Dijkstra 4) DISTANZE Problematiche Si suppone un grafo in cui ad ogni arco e' associato un peso (distanza). Il grafo puo' essere sia diretto che non diretto. Se non e' diretto ogni arco puo' essere pensato come

Dettagli

Programmazione dinamica

Programmazione dinamica Programmazione dinamica Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati Programmazione

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

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura

Dettagli

Algoritmi Approssimanti per -TSP

Algoritmi Approssimanti per -TSP 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

Dettagli

Cognome e Nome: Numero di Matricola: Spazio riservato alla correzione

Cognome e Nome: Numero di Matricola: Spazio riservato alla correzione Cognome e Nome: Numero di Matricola: Spazio riservato alla correzione 1 2 3 4 Bonus Totale /25 /25 /25 /25 /100 1. Grafi a) Si scriva lo pseudocodice dell'algoritmo BFS che utilizza un array Discovered

Dettagli

4c. Esercizi sul livello di Rete Instradamento in Internet

4c. Esercizi sul livello di Rete Instradamento in Internet c. sul livello di Rete Instradamento in Internet c- o Si consideri la rete in figura. Si rappresenti, mediante un grafo, la rete per il calcolo dei cammini minimi (solo i nodi e gli archi no reti). Si

Dettagli

Processi di cost management - Programmazione multiperiodale

Processi di cost management - Programmazione multiperiodale Processi di cost management - Programmazione multiperiodale Queste slide (scrte da Carlo Mannino) riguardano il problema di gestione delle attivà di un progetto allorché i costi di esecuzione sono legati

Dettagli

Algoritmi e Strutture Dati Grafi. Daniele Loiacono

Algoritmi e Strutture Dati Grafi. Daniele Loiacono lgoritmi e Strutture ati Grafi Riferimenti 2 Questo materiale è tratto dalle trasparenze del corso lgoritmi e Strutture ati del prof. lberto Montresor dell Università di Trento. (http://www.dit.unitn.it/~montreso/asd/index.shtml)

Dettagli

Dati e Algoritmi 1: A. Pietracaprina. Grafi (II parte)

Dati e Algoritmi 1: A. Pietracaprina. Grafi (II parte) Dati e Algoritmi 1: A. Pietracaprina Grafi (II parte) 1 Breath-First Search (algoritmo iterativo) Si assume una rappresentazione tramite liste di adiacenza. L ordine con cui si visitano i vicini di un

Dettagli

Esame di Ricerca Operativa del 08/01/13. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 08/01/13. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del 08/0/ Cognome) Nome) Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x + x x +x x x 0 x + x x x 8 x x 8

Dettagli

Capitolo 5. Algoritmi di ricerca su grafo. 5.1 Algoritmi di ricerca su grafo

Capitolo 5. Algoritmi di ricerca su grafo. 5.1 Algoritmi di ricerca su grafo Capitolo 5 Algoritmi di ricerca su grafo Gli algoritmi di ricerca su grafo, oggetto dei prossimi paragrafi, rappresentano tecniche fondamentali per determinare nodi che soddisfino particolari proprietà

Dettagli

Sommario. Rappresentazione dei grafi. Ordinamento topologico. Visita in ampiezza Visita in profondità

Sommario. Rappresentazione dei grafi. Ordinamento topologico. Visita in ampiezza Visita in profondità Visite Grafi Sommario Rappresentazione dei grafi Visita in ampiezza Visita in profondità Ordinamento topologico Visita in ampiezza La visita in ampiezza breadth-first-search (BFS) di un grafo dato un vertice

Dettagli

Ricerca Operativa Cammini minimi: algoritmi di Bellman-Ford e di Dijkstra

Ricerca Operativa Cammini minimi: algoritmi di Bellman-Ford e di Dijkstra Ricerca Operativa Cammini minimi: algoritmi di Bellman-Ford e di Dijkstra L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi

Dettagli

T 1 =1. n 6 n. T n =3 T. Esercizio 1 (6 punti)

T 1 =1. n 6 n. T n =3 T. Esercizio 1 (6 punti) A.A. 7 8 Esame di Algoritmi e strutture dati 9 luglio 8 Esercizio (6 punti) Risolvere con almeno due metodi diversi la seguente relazione di ricorrenza T = T n =3 T n 6 n A.A. 7 8 Esame di Algoritmi e

Dettagli

Esecuzione concorrente di transazioni

Esecuzione concorrente di transazioni Esecuzione concorrente di transazioni A L B E R T O B E L U S S I P A R T E I A N N O A C C A D E M I C O 2 0 1 0-2 0 1 1 Osservazione Per gestire con prestazione accettabili il carico di lavoro tipico

Dettagli

Le applicazioni degli algoritmi di visita dei grafi. Gianpiero Cabodi e Paolo Camurati Dip. Automatica e Informatica Politecnico di Torino

Le applicazioni degli algoritmi di visita dei grafi. Gianpiero Cabodi e Paolo Camurati Dip. Automatica e Informatica Politecnico di Torino Le applicazioni degli algoritmi di visita dei grafi Gianpiero Cabodi e Paolo Camurati Dip. Automatica e Informatica Politecnico di Torino di visita dei grafi 2 Rilevazione di cicli Un grafo è aciclico

Dettagli

Algoritmi Greedy. Tecniche Algoritmiche: tecnica greedy (o golosa) Un esempio

Algoritmi Greedy. Tecniche Algoritmiche: tecnica greedy (o golosa) Un esempio Algoritmi Greedy Tecniche Algoritmiche: tecnica greedy (o golosa) Idea: per trovare una soluzione globalmente ottima, scegli ripetutamente soluzioni ottime localmente Un esempio Input: lista di interi

Dettagli

L algoritmo di Dijkstra

L algoritmo di Dijkstra L algoritmo di Dijkstra Sebastiano Vigna March 2, 200 Introduzione Supponiamo di assegnare a ciascuno degli archi a di un grafo orientato G un certo peso intero e positivo p a. Ai cammini (orientati) nel

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

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

«Sciente e Tecnologie dei Beni Culturali»

«Sciente e Tecnologie dei Beni Culturali» 5 Informatica CdS in «Sciente e Tecnologie dei Beni Culturali» AA 2014-2015 Mini-sito dell insegnamento: http://www.unife.it/scienze/beni.culturali/insegnamenti/informatica Prof. Giorgio Poletti giorgio.poletti@unife.it

Dettagli

Routing. Forwarding e routing

Routing. Forwarding e routing Routing E necessario stabilire un percorso quando host sorgente e destinazione non appartengono alla stessa rete Router di default si occupa di instradare il traffico all esterno della rete Router sorgente:

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Soluzione esercizi di approfondimento Stefano Leucci stefano.leucci@univaq.it Una terza variante dell IS InsertionSort3 (A) 1. for k=1 to n-1 do 2. x = A[k+1] 3. j = ricerca_binaria(a[1,k],x)

Dettagli