Progettazione di Algoritmi
|
|
|
- Faustino Dini
- 9 anni fa
- Visualizzazioni
Transcript
1 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 3 ore di tempo per rispondere alle domande. La prova consta di 8 domande a risposta multipla e 3 domande aperte. Per le domande a risposta multipla occorre rispondere inserendo la lettera scelta nell apposito quadratino accanto al numero della domanda. In caso di ripensamento, cancellare la risposta data e scrivere la nuova risposta nel successivo quadratino. Ogni risposta esatta vale punti; ogni risposta errata vale -1 punto; ogni domanda lasciata in bianco vale 0 punti. Le domande a risposta multipla valgono in tutto 3 punti, quelle aperte 68 punti per un totale di 100 punti. NOME: COGNOME: MATRICOLA: Quesito risposta multipla uso di un algoritmo problema 1 problema Totale Punti /3 /18 /5 /5 /100
2 Quesito 1 1. Quali delle seguenti affermazioni è vera? A. log n = O(log log n) B. n = O (log n) C. log log n = O (log log n) D. nessuna delle precedenti è vera. In quali casi la visita in profondità e la visita in ampiezza su un grafo non orientato producono esattamente lo stesso albero? A. Se il grafo ha n vertici ed n archi B. Se il grafo è un ciclo semplice C. Se il grafo è un cammino (catena) D. Mai 3. Qual è il tempo di esecuzione del seguente frammento di codice? A. O(log n) B. O(n) C. Θ(n ) D. Ω(n ). L algoritmo di Huffman calcola una codifica prefissa binaria γ per un alfabeto S con frequenze f(s), per s S, associando ad ogni s S, la parola codice γ(s), di lunghezza γ(s), in modo tale da minimizzare A. Σ s S γ(s) B. Σ s S γ(s) C. Σ s S f(s)γ(s) D. Σ s S f(s) γ(s) 5. Un minimo albero di copertura (MST) per un grafo pesato G=(V,E) è? A. Un sottografo di peso totale minimo B. Un insieme aciclico di archi di peso totale minimo C. Un albero col minimo numero di archi il cui insieme di vertici è V D. Nessuna delle risposte precedenti 6. Gli algoritmi di Dijkstra e di Bellman-Ford risolvono il problema dei cammini minimi in un grafo orientato e pesato. Inoltre A. Entrambi funzionano correttamente per qualsiasi tipo di grafo (orientato e pesato, con costi positivi e negativi) B. L algoritmo di Dijkstra funziona correttamente per tutti i grafi (orientati e pesati) in cui non vi siano cicli di costo negativo C. L algoritmo di Bellman-Ford funziona correttamente per tutti i grafi (orientati e pesati) in cui non vi siano archi di costo negativo D. Nessuna delle risposte precedenti è vera 7. Il valore di un flusso in una rete G=(V,E) è: A. La somma dei flussi uscenti dalla sorgente B. La capacità minima di un cammino dalla sorgente al pozzo C. Una funzione f:e R + che rispetta le proprietà di capacità e di conservazione D. Nessuna delle risposte precedenti 8. Un ordinamento topologico per il grafo diretto G=(V,E) con V={u, v, x, y, z}, E={(u,x), (v,x), (v,y), (v,u), (x,y), (y,z)} è: A. z, y, x, u, v B. v, u, x, y, z C. G non ammette un ordinamento topologico D. Nessuna delle risposte precedenti è vera for i=1 to n/ if x>y then x=x-y endfor return x 1
3 Quesito Applicazione algoritmo Usa l algoritmo di Ford-Fulkerson per trovare il flusso massimo dalla sorgente s al pozzo t nella rete riportata nella seguente figura. Mostra l augmenting path utilizzato in ogni iterazione. b s a 5 d 3 t 5 10 c
4 Quesito 3 Problema 1 Stai facendo il consulente per un azienda di trasporti che consegna pacchi fra Palermo e Milano. Il numero di pacchi è così elevato che c è la necessità di spedire molti furgoni ogni giorno fra le due città. Ogni furgone ha un limite di W Kg sul peso massimo che può trasportare. Non ci sono limiti sul numero di furgoni che si può utilizzare, ma le sedi sono piccole e hanno spazio solo per un autoveicolo alla volta. I pacchi devono essere spediti nell ordine in cui arrivano (altrimenti i clienti potrebbero protestare). L azienda al momento utilizza un approccio greedy: riempie un furgone fino a che c è la possibilità di inserire un nuovo pacco senza superare il massimo del peso (non ci sono problemi di spazio) e lo fa partire e passa ad un nuovo furgone. Ti hanno chiamato per stabilire se c è un modo per fare meglio e ridurre il numero di furgoni utilizzati. Fornisci una prova del fatto che l approccio attualmente utilizzato è ottimale. (Suggerimento: si fornisca una prova simile a quella vista per il problema della schedulazione di intervalli.) 3
5 Quesito Problema Sei l amministratore delegato di un azienda che produce hardware per PC e la tua azienda è il fornitore di molti punti vendita su tutto il territorio nazionale. Nelle prossime n settimane c è la previsione di spedire lotti di s i componenti hardware, misurati in Kg, per i=1,, n. L azienda si avvale di trasportatori, Bertollini e STA. Bertollini fa pagare una quota fissa di r per Kg (quindi per spedire un lotto di peso s i si paga r s i ) STA invece offre un contratto per una spesa fissa c per settimana e permette di spedire senza limiti. Tuttavia il contratto deve essere fatto per almeno settimane consecutive. Un piano di spedizione è una scelta della compagnia di trasporto per le prossime n settimane con il vincolo che se per una settimana si sceglie STA allora per almeno altre 3 settimane successive si deve usare STA. Il costo di un piano di spedizione è il costo totale da pagare alle compagnie. Come amministratore delegato sei responsabile della scelta del piano di spedizione. Fornisci un algoritmo efficiente per trovare il piano di spedizione con costo minimo.
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
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
Progettazione di Algoritmi
Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 29/01/2016 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via
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
Algoritmi e Strutture Dati. Capitolo 13 Cammini minimi: Algoritmo di Bellman e Ford
Algoritmi e Strutture Dati Capitolo 13 Cammini minimi: Algoritmo di Bellman e Ford Cammini minimi in grafi: una trilogia Cammini minimi in grafi: Episodio II: cammini minimi a singola sorgente (per grafi
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])
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
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
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
Esercitazione 3. Osserviamo che, dato un grafo con pesi distinti, questo ammette un unico MST.
Esercitazione 3 Problema 6: Sia G = (V, E) un grafo con pesi distinti sugli archi ed e E un arco di G. Progettare un algoritmo lineare in grado di determinare se esiste un MST di G che contiene l arco
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
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
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
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
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
Programmazione Dinamica (PD)
Programmazione Dinamica (PD) Altra tecnica per risolvere problemi di ottimizzazione, piu generale degli algoritmi greedy La programmazione dinamica risolve un problema di ottimizzazione componendo le soluzioni
Algoritmi e Strutture Dati. Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal
Algoritmi e Strutture Dati Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Progettare una rete stradale Supponiamo di dover progettare una rete stradale in cui il costo di costruzione di un
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 3 Cammini minimi: algoritmo di Dijkstra Cammini minimi in grafi: cammini minimi a singola sorgente (senza pesi negativi) Cammini minimi in grafi pesati Sia G=(V,E,w)
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
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
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.
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
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
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,
ESERCIZI SULLA TECNICA Greedy
ESERCIZI SULLA TECNICA Greedy 1. [FILE] Si supponga di avere n files di lunghezze l 1,..., l n (interi positivi) che bisogna memorizzare su un disco di capacità data D. Si assuma che la somma delle lunghezze
Esercizi Union-Find e su Grafi. Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 0 07 Esercizi Union-Find e su Grafi. Ugo Vaccaro. Esercizio: Scrivere pseudocodice per Make-Set, Union, e Find-Set usando la rappresentazione attraverso liste
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
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
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
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
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
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
Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST)
Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST) È dato un grafo non orientato G=(V,E). Ad ogni arco e i E, i=1,,m, è associato un costo c i 0 7 14 4 10 9 11 8 12 6 13 5 17 3 2
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
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)
