Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa
|
|
- Rosa Bini
- 6 anni fa
- Visualizzazioni
Transcript
1 Alberi di copertura Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo, Pisa M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9
2 Definizioni Albero In un grafo (N,A) non orientato e connesso, un albero è un insieme di archi connesso e privo di cicli. Albero di copertura In un grafo (N,A) non orientato e connesso, un albero di copertura è un albero che connette tutti i nodi del grafo. Esercizio Quanti archi ha un albero di copertura? Perché? M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9
3 Albero di copertura di costo minimo Problema Dato un grafo (N,A) non orientato e connesso, trovare un albero di copertura di costo minimo. Algoritmo di Kruskal. Disponi gli archi a,...,a m in ordine crescente di costo. T :=, j :=.. se T {a j } non contiene un ciclo allora inserisci a j in T. se T = n allora STOP altrimenti j := j + e torna al passo vedi anche: M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9
4 Correttezza dell algoritmo di Kruskal Teorema L algoritmo di Kruskal trova un albero di copertura di costo minimo. Dimostrazione T è un albero (perché non contiene cicli) di copertura (perché ha n archi). Per dimostrare che T è ottimo, dimostriamo che per ogni k = 0,...,n vale questa proprietà: durante l esecuzione dell algoritmo, se T ha k archi allora esiste un albero ottimo T che contiene T. (P) Dimostrazione per induzione su k. Per k = 0 (P) è ovviamente vera. Supponiamo che (P) sia vera per un certo k < n e dimostriamo che (P) è vera anche per k +. Supponiamo che il prossimo arco che viene inserito in T sia {i,j}. Se {i,j} T, allora T contiene T {i,j}, quindi (P) è vera anche per k +. M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9
5 Correttezza dell algoritmo di Kruskal Dimostrazione (segue) Se {i,j} / T, allora T {i,j} contiene un ciclo C. In C esiste un arco {p,q} / T. Dimostriamo ora che c pq c ij. Infatti, se c pq < c ij e {i,j} è il prossimo arco che viene inserito in T, allora l arco {p,q} dovrebbe formare un ciclo con gli archi di T, ma T T e quindi {p,q} T formerebbe un ciclo con gli archi di T, che è impossibile perché T è un albero. L insieme T = T \{p,q} {i,j} è un albero di copertura e costo(t ) = costo(t ) c pq +c ij costo(t ), quindi T è ottimo e contiene T {i,j}, quindi (P) è vera anche per k +. T p i T p i C q j q j T T M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9
6 Implementazione dell algoritmo di Kruskal Per controllare l esistenza di un ciclo usiamo delle etichette d sui nodi in modo che: i nodi di una componente connessa di T abbiano la stessa etichetta i nodi di due componenti connesse diverse di T abbiano etichette diverse Algoritmo di Kruskal. Disponi gli archi a,...,a m in ordine crescente di costo. T :=, j :=, d i := i per ogni i =,...,n. Sia a j = {p,q} con d p d q. se d p < d q allora T := T {a j } per ogni i =,...,n: se d i = d q allora d i := d p. se T = n allora STOP altrimenti j := j + e torna al passo M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9
7 9 8 7 {,} {,} {,} {,} {,} {,} {,} {,} {,} {,} M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 7 / 9
8 {,} {,} {,} {,} {,} {,} {,} {,} {,} {,} M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 7 / 9
9 {,} {,} {,} {,} {,} {,} {,} {,} {,} {,} M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 7 / 9
10 {,} {,} {,} {,} {,} {,} {,} {,} {,} {,} M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 7 / 9
11 {,} {,} {,} {,} {,} {,} {,} {,} {,} {,} M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 7 / 9
12 {,} {,} {,} {,} {,} {,} {,} {,} {,} {,} M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 7 / 9
13 {,} {,} {,} {,} {,} {,} {,} {,} {,} {,} M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 7 / 9
14 {,} {,} {,} {,} {,} {,} {,} {,} {,} {,} M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 7 / 9
15 {,} {,} {,} {,} {,} {,} {,} {,} {,} {,} M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 7 / 9
16 {,} {,} {,} {,} {,} {,} {,} {,} {,} {,} M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 7 / 9
17 {,} {,} {,} {,} {,} {,} {,} {,} {,} {,} M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 7 / 9
18 {,} {,} {,} {,} {,} {,} {,} {,} {,} {,} M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 7 / 9
19 {,} {,} {,} {,} {,} {,} {,} {,} {,} {,} M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 7 / 9
20 {,} {,} {,} {,} {,} {,} {,} {,} {,} {,} M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 7 / 9
21 {,} {,} {,} {,} {,} {,} {,} {,} {,} {,} M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 7 / 9
22 {,} {,} {,} {,} {,} {,} {,} {,} {,} {,} M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 7 / 9
23 {,} {,} {,} {,} {,} {,} {,} {,} {,} {,} M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 7 / 9
24 {,} {,} {,} {,} {,} {,} {,} {,} {,} {,} M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 7 / 9
25 Algoritmo di Prim Soluzione alternativa: costruisco l albero mantenendo una sola componente connessa C. Ad ogni iterazione aggiungo l arco di costo minimo che collega C ai nodi non ancora connessi.. Scegli un nodo k. Poni C = {k} e T =.. se C = N allora STOP. Calcola min c ij = c pq, i C, j/ C inserisci l arco (p,q) in T, inserisci il nodo q in C e torna al passo. M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 8 / 9
26 Implementazione dell algoritmo di Prim Per trovare il prossimo nodo da aggiungere a C e il prossimo arco da aggiungere a T, utilizzo per ogni nodo i due etichette d i e p i : - d i è il minimo costo per collegare i a C - p i è il predecessore di i, serve per memorizzare qual è il modo migliore per collegare i a C.. Scegli un nodo k. Poni C = {k}, T =, d k = 0, d i = per ogni i k, p i = per ogni i.. se C = N allora STOP. Chiama u l ultimo nodo inserito in C. Per ogni arco (u,j) con j / C: se d j > c uj allora poni d j := c uj e p j = u. Calcola min j/ C d j = d q, inserisci il nodo q in C, inserisci l arco (p q,q) in T e torna al passo. vedi anche: M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa 9 / 9
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 laura.galli@unipi.it http://www.di.unipi.it/~galli 2 Dicembre
Dettagli2.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,
DettagliGrafi (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 è
DettagliUNIVERSITÀ 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à
DettagliUNIVERSITÀ 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
DettagliAlgoritmo 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
DettagliSpiegazioni ASD 2012 Luddisti Spaziali
Spiegazioni ASD 2012 Luddisti Spaziali Risultati Statistiche Numero sottoposizioni: 2088 450 250 400 350 200 Sottomissioni 300 250 200 Sottomissioni 150 100 150 50 100 50 10 11 12 13 14 15 16 17 18 19
DettagliProblemi, 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
DettagliGrafi 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
DettagliHeap e code di priorità
Heap e code di priorità Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010
DettagliProblema 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
DettagliCercare 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
DettagliAppunti 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)
Dettaglietà (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.
DettagliVISITA 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
DettagliLinguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi
Linguaggi di Programmazione Corso C Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Grammatiche
DettagliEsame 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
DettagliLinguaggi e Grammatiche Liberi da Contesto
N.Fanizzi-V.Carofiglio Dipartimento di Informatica Università degli Studi di Bari 22 aprile 2016 1 Linguaggi Liberi da Contesto 2 Grammatiche e Linguaggi Liberi da Contesto G = (X, V, S, P) è una grammatica
DettagliParte 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
DettagliEsercizi 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 =
DettagliGrafi: visita generica
.. Grafi: visita generica Una presentazione alternativa (con ulteriori dettagli) Algoritmi di visita Scopo: visitare tutti i vertici di un grafo (si osservi che per poter visitare un vertice occorre prima
DettagliAlberi binari e alberi binari di ricerca
Alberi binari e alberi binari di ricerca Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica
Dettagli11.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)
DettagliCammini 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
DettagliSommario della lezione
Sommario della lezione Cammini minimi in grafi Applicazioni Algoritmi Alberi ricoprenti minimi in grafi Applicazioni Algoritmi Università degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno
DettagliAlgoritmi e loro proprietà. Che cos è un algoritmo? Un esempio di algoritmo
1 Cos è l informatica? L informatica è la scienza della rappresentazione e dell elaborazione dell informazione Algoritmi e loro proprietà Proprietà formali degli Algoritmi Efficienza rispetto al tempo
DettagliOsservazione. Convergenza dei metodi di Gauss-Seidel e di Jacobi. Condizioni sufficienti per la convergenza. Definizione
Osservazione Convergenza dei metodi di Gauss-Seidel e di Jacobi Fallimento dei metodi. (Es. Gauss- Seidel Condizioni sufficienti; teoremi di localizzazione degli autovalori; dimostrazione di convergenza
DettagliVISITA 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
DettagliProgettazione 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
DettagliRouting IP. IP routing
Routing IP IP routing IP routing (inoltro IP): meccanismo per la scelta del percorso in Internet attraverso il quale inviare i datagram IP routing effettuato dai router (scelgono il percorso) Routing diretto
DettagliAlgoritmi e Strutture Dati - II modulo Soluzioni degli esercizi
Algoritmi e Strutture Dati - II modulo Soluzioni degli esercizi Francesco Pasquale 6 maggio 2015 Esercizio 1. Su una strada rettilinea ci sono n case nelle posizioni 0 c 1 < c 2 < < c n. Bisogna installare
DettagliAlgoritmi e Strutture Dati
Alberi AVL Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 26/7 Alberi AVL Definizione (bilanciamento in altezza): un albero è bilanciato
DettagliRicerca Operativa Problemi di ottimizzazione su reti di flusso e cammini minimi
Ricerca Operativa Problemi di ottimizzazione su reti di flusso L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi alle spiegazioni
DettagliOrdinamenti per confronto: albero di decisione
Ordinamenti per confronto: albero di decisione Albero di decisione = rappresentazione grafica di tutte le possibili sequenze di confronti eseguite da un algoritmo assegnato di ordinamento per confronto
DettagliAlberi binari di ricerca
Alberi binari di ricerca Ilaria Castelli castelli@dii.unisi.it Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/20010 I. Castelli Alberi binari di ricerca, A.A. 2009/20010
DettagliCos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
DettagliTeoria dei Giochi Prova del 30 Novembre 2012
Cognome, Nome, Corso di Laurea, email: Teoria dei Giochi Prova del 30 Novembre 2012 Esercizio 1. Si consideri il seguente gioco. Il primo giocatore può scegliere un numero tra {3,4,8,16,38}; il secondo
Dettaglix 1 x x 1 2 x 2 6 x 2 5 Indici di base Vettore Ammissibile Degenere (si/no) (si/no)
Esercitazione di Ricerca Operativa Esercizio. Completare la seguente tabella: max x x x x x x x x x x Indici di base Vettore Ammissibile Degenere, x =, y = Esercizio. Effettuare due iterazioni dell algoritmo
DettagliGRAFI. fig.1 - GRAFI (1) Si avvisa il lettore che certe definizioni che verranno date differiscono da quelle presenti in letteratura.
GRAFI 1. Definizioni, terminologia, esempi e applicazioni (1) Un grafo orientato (o diretto o di-grafo) G è una coppia (V,E) dove V è un insieme non vuoto ed E una relazione binaria su V, E V V, ossia
DettagliRETI DI CALCOLATORI II
RETI DI CALCOLATORI II Facoltà di Ingegneria Università degli Studi di Udine Ing. DANIELE DE CANEVA a.a. 2009/2010 ARGOMENTI DELLA LEZIONE TEORIA DEL ROUTING ROUTING STATICO ROUTING DINAMICO o PROTOCOLLI
DettagliEsercizio 1. Esercizio 2
A Ricerca Operativa Primo appello 8 novembre 007 Esercizio Nicola il fornaio prepara e vende panettoni, pizza bianca e ciambellone per i clienti del suo forno. Un panettone da Kg si vende a 7 e richiede,
DettagliSommario. 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
DettagliInsiemi Specifiche, rappresentazione e confronto tra realizzazioni alternative.
Insiemi Specifiche, rappresentazione e confronto tra realizzazioni alternative. Algoritmi e Strutture Dati + Lab A.A. 14/15 Informatica Università degli Studi di Bari Aldo Moro Nicola Di Mauro Definizione
DettagliAlgoritmi e Strutture Dati
Analisi Asintotica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Un graduale processo di astrazione Passo 1: abbiamo ignorato il costo effettivo
DettagliAlgoritmi e Strutture Dati - Prof. Roberto De Prisco A.A Seconda prova di verifica (4 Febbraio 2005)
Algoritmi e Strutture Dati - Prof. Roberto De Prisco A.A. 004-00 Seconda prova di verifica (4 Febbraio 00) Laurea/Diploma in Informatica Università di Salerno Nome e Cognome: Matricola: 1 3 4 TOTALE /1
DettagliDati e Algoritmi I (Pietracaprina) Esercizi sugli Alberi
Dati e Algoritmi I (Pietracaprina) Esercizi sugli Alberi Dati e Algoritmi I (Pietracaprina): Esercizi 1 Problema 1 Dimostrare che un albero non vuoto con n nodi interni, dove ogni nodo interno ha almeno
DettagliDepth-first search. Visita in profondità di un grafo Algoritmo Esempio Complessità dell algoritmo Proprietà Ordinamento topologico
Depth-first search Visita in profondità di n grafo Algoritmo Esempio Complessità dell algoritmo Proprietà Ordinamento topologico Depth-first search Dato n grafo G=(V,E) e n specifico ertice s chiamato
DettagliFondamenti di Internet e Reti 097246
sul livello di Rete Instradamento. 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 calcoli il cammino
DettagliEsercizi sul Principio d Induzione
AM110 - ESERCITAZIONI I - II - 4 OTTOBRE 01 Esercizi sul Principio d Induzione Esercizio svolto 1. Dimostrare che per ogni n 1, il numero α(n) := n 3 + 5n è divisibile per 6. Soluzione. Dimostriamolo usando
DettagliRouting. 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:
Dettaglim = a k n k + + a 1 n + a 0 Tale scrittura si chiama rappresentazione del numero m in base n e si indica
G. Pareschi COMPLEMENTI ED ESEMPI SUI NUMERI INTERI. 1. Divisione con resto di numeri interi 1.1. Divisione con resto. Per evitare fraintendimenti nel caso in cui il numero a del Teorema 0.4 sia negativo,
DettagliProblemi di Flusso: Il modello del Trasporto
Problemi di Flusso: Il modello del rasporto Andrea Scozzari a.a. 2014-2015 April 27, 2015 Andrea Scozzari (a.a. 2014-2015) Problemi di Flusso: Il modello del rasporto April 27, 2015 1 / 25 Problemi su
DettagliLA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
DettagliUn esempio: l ADT Dizionario (mutabile) Definizione. Alberi binari di ricerca (BST = binary search tree) search(chiave k) -> elem
Un esempio: l ADT Dizionario (mutabile) Algoritmi e Laboratorio a.a. 2006-07 Lezioni Gli alberi di ricerca sono usati per realizzare in modo efficiente il tipo di dato astratto dizionario Parte 19-D Alberi
DettagliCorso di Laurea in Matematica Geometria 2. Foglio di esercizi n. 2 a.a Soluzioni
Corso di Laurea in Matematica Geometria 2 Foglio di esercizi n. 2 a.a. 2015-16 Soluzioni Gli esercizi sono presi dal libro di Manetti. Per svolgere questi esercizi, studiare con cura i paragrafi 3.5, 3.6,
Dettagli28/05/2015 Laura Ricci
Università degli Studi di Pisa TFA 2014/15 SISTEMI E RETI DI CALCOLATORI PER L'INSEGNAMENTO UNITA' DIDATTICA: ALGORITMI DI ROUTING DIJKSTRA 28/05/2015 Laura Ricci Laura Ricci 1 L'ALGORITMO DI BELLMAN-FORD
DettagliUNIVERSITA DEGLI STUDI DI PERUGIA
UNIVERSITA DEGLI STUDI DI PERUGIA REGISTRO DELLE LEZIONI E DELLE ALTRE ATTIVITÀ DIDATTICHE Anno accademico 2006-2007 Dott./Prof. Pinotti Maria Cristina Settore scientifico-disciplinare INF01 Facoltà Scienze
DettagliAlgoritmi e Principi dell Informatica
Algoritmi e Principi dell Informatica Appello del 20 Febbraio 2012 Chi deve sostenere l esame integrato (API) deve svolgere tutti gli esercizi in 2h e 30 Chi deve sostenere solo il modulo di Informatica
DettagliLOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)
LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) DISPENSA N. 4 Sommario. Dimostriamo il Teorema di Completezza per il Calcolo dei Predicati del I ordine. 1. Teorema di Completezza Dimostriamo il Teorema
DettagliL 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
DettagliT 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
DettagliMacchine sequenziali. Automa a Stati Finiti (ASF)
Corso di Calcolatori Elettronici I Macchine sequenziali Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso
DettagliTecniche di Ordinamento dei Vettori
Tecniche di Ordinamento dei Vettori Corso di Laurea Ingegneria Corso B A.A. 2010-2011 1 Contenuto 1) Generalità 2) Metodi a Minimo Ingombro di Memoria 2.1) Ordinamento per selezione ( Selection Sort )
DettagliProblemi di Percorso. Capitolo dodicesimo
Capitolo dodicesimo Problemi di Percorso Introduzione I problemi di determinazione di percorsi ottimi sono tra i più noti problemi di ottimizzazione su rete. Essi si presentano in innumerevoli campi, nella
DettagliCodice Gray. (versione Marzo 2007)
Codice Gray (versione Marzo 27) Data una formula booleana con n variabili, per costruire una tavola di verità per questa formula è necessario generare tutte le combinazioni di valori per le n variabili.
DettagliGrafi, Social Network e Ricerca su Web Prof. Maurizio Naldi
Grafi, Social Network e Ricerca su Web Prof. Maurizio Naldi Teoria dei Grafi È uno strumento indispensabile per l analisi di reti e, quindi, di social network.... è fondamentale anche per capire come funziona
DettagliA UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 15 giugno 2012
A UNIVRSITÀ GLI STUI ROMA TR orso di Studi in Ingegneria Informatica Ricerca Operativa Seconda prova intermedia 5 giugno 22 sercizio L azienda rogram&o produce software e deve decidere quanto tempo impiegare
DettagliEsempio : i numeri di Fibonacci
Esempio : i numeri di Fibonacci La successione di Fibonacci F 1, F 2,... F n,... è definita come: F 1 =1 F 2 =1 F n =F n 1 F n 2,n 2 Leonardo Fibonacci (Pisa, 1170 Pisa, 1250) http://it.wikipedia.org/wiki/leonardo_fibonacci
DettagliL algoritmo AKS. L algoritmo AKS. Seminario per il corso di Elementi di Algebra Computazionale. Oscar Papini. 22 luglio 2013
L algoritmo AKS Seminario per il corso di Elementi di Algebra Computazionale Oscar Papini 22 luglio 2013 Test di primalità Come facciamo a sapere se un numero n è primo? Definizione (Test di primalità)
DettagliIntroduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
DettagliLABORATORIO DI INFORMATICA
Laurea in Scienze dell Educazione a.a. 2009-200 LORTORIO DI INFORMTIC Lezione 2 00 000 00 0 000 000 0 Tutto dovrebbe essere reso il più semplice possibile, ma non più semplice. (lbert Einstein) Giorgio
DettagliAlgoritmi e soluzione di problemi
Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)
DettagliRilassamento Lagrangiano
Rilassamento Lagrangiano AA 2009/10 1 Rilassamento Lagrangiano Tecnica più usata e conosciuta in ottimizzazione combinatoria per il calcolo di lower/upper bounds (Held and Karp (1970)). Si consideri il
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo
Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Marco Liverani (liverani@mat.uniroma3.it)
DettagliA-2 a PI UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 19 giugno 2015
A- a PI UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa Seconda prova intermedia giugno Nome: Cognome: Matricola: Orale giugno, ore : aula N Orale luglio, ore
DettagliProblemi di Instradamento di Veicoli
Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Problemi di Instradamento di Veicoli Renato Bruni bruni@dis.uniroma1.it Il materiale presentato è derivato
Dettagli1 Giochi di Ehrenfeucht-Fraissé e Logica del Prim ordine
1 Giochi di Ehrenfeucht-Fraissé e Logica del Prim ordine In questo tipo di giochi l arena è costituita da due grafi orientati G = (V, E), G = (V, E ). Lo scopo del I giocatore è di mostrare, in un numero
DettagliCorso di Informatica
Corso di Informatica Modulo T1 2-Proprietà degli algoritmi 1 Prerequisiti Conoscere il concetto di M.C.D. tra due numeri interi Concetto intuitivo di funzione matematica 2 1 Introduzione Sappiamo scrivere
DettagliGrafi e reti di flusso
Capitolo 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
DettagliIntroduzione. 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
Dettaglic(s) := c e (1) e δ(s)
. Il problema del massimo flusso Nel problema del massimo flusso si considera un grafo, in cui due nodi s e t sono contraddistinti l uno come sorgente e l altro come pozzo e ad ogni arco e =(i, j)è assegnato
DettagliAppunti di informatica. Lezione 3 anno accademico Mario Verdicchio
Appunti di informatica Lezione 3 anno accademico 2015-2016 Mario Verdicchio Numeri binari in memoria In un calcolatore, i numeri binari sono tipicamente memorizzati in sequenze di caselle (note anche come
DettagliIl problema del commesso viaggiatore: da Ulisse alla Logistica integrata. Luca Bertazzi
Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata Luca Bertazzi 0 3 Ulisse: da Troia a Itaca Troia Itaca 509 km Quale è stato invece il viaggio di Ulisse? Il viaggio di Ulisse Troia
DettagliUNIVERSITÀ di ROMA TOR VERGATA
UNIVERSITÀ di ROMA TOR VERGATA Corso di PS-Probabilità P.Baldi Tutorato 9, 19 maggio 11 Corso di Laurea in Matematica Esercizio 1 a) Volendo modellizzare l evoluzione della disoccupazione in un certo ambito
DettagliLaboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso
Laboratorio di Informatica Esercitazione su algoritmi e diagrammi di flusso Algoritmi, programmi e dati Algoritmo = insieme di istruzioni che indicano come svolgere operazioni complesse su dei dati attraverso
DettagliAppunti lezione Capitolo 15 Ricerca locale
Appunti lezione Capitolo 15 Ricerca locale Alberto Montresor 03 Giugno, 016 1 Introduzione alla ricerca locale Un approccio miope, ma talvolta efficace è quello della ricerca locale. L idea è la seguente:
DettagliIL PROBLEMA DELLO SHORTEST SPANNING TREE
IL PROBLEMA DELLO SHORTEST SPANNING TREE n. 1 - Formulazione del problema Consideriamo il seguente problema: Abbiamo un certo numero di città a cui deve essere fornito un servizio, quale può essere l energia
DettagliAlberi Binari di Ricerca
Alberi Binari di Ricerca Prof. G. M. Farinella gfarinella@dmi.unict.it www.dmi.unict.it/farinella Riferimenti Bibliografici Cormen T.H., Leiserson C.E., Rivest R.L Introduction to Algorithms, Third Edition,
DettagliEsercizio Segnalazioni di disapprovazione. Esercizio 2
A Dovete aiutare la brava conduttrice televisiva Monia Sventura a completare il cast del suo nuovo programma. La squadra è quasi al completo e Monia deve trovare soltanto le ultime due concorrenti. A complicare
DettagliI Grafi ad Albero..Strumenti per aiutare a ragionare
I Grafi ad Albero..Strumenti per aiutare a ragionare Cosa sono i grafi? I grafi sono diagrammi costituiti da oggetti e da linee di collegamento; gli oggetti vengono chiamati nodi, le linee archi. Se gli
DettagliAppunti di informatica. Lezione 7 anno accademico Mario Verdicchio
Appunti di informatica Lezione 7 anno accademico 2016-2017 Mario Verdicchio L algoritmo di Euclide per l MCD Dati due numeri A e B, per trovare il loro MCD procedere nel seguente modo: 1. dividere il maggiore
DettagliFondamenti di Informatica per la Sicurezza a.a. 2008/09. Algebre di Boole. Stefano Ferrari. George Boole( )
Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Algebre di Boole Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università degli Studi
DettagliInformatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 25/02/2016/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 25/02/2016/ Foglio delle domande/ VERSIONE 1 1) In Python, se scrivo v = [ ] in un programma, vuol dire che a) v è un quadrato b) v è una list c) v
DettagliLEZIONE 4. { x + y + z = 1 x y + 2z = 3
LEZIONE 4 4.. Operazioni elementari di riga. Abbiamo visto, nella precedente lezione, quanto sia semplice risolvere sistemi di equazioni lineari aventi matrice incompleta fortemente ridotta per righe.
DettagliAnalisi interazione domanda/offerta: modelli di assegnazione
Corso di Laurea Ingegneria Civile - AA 1112 Corso di: Fondamenti di Trasporti Lezione: Analisi interazione domanda/offerta: modelli di assegnazione Giuseppe Inturri Università di Catania Dipartimento di
DettagliProblema di cammino minimo su
Capitolo Problema di cammino minimo su grafi. Grafi: Definizioni fondamentali In questo capitolo introduciamo la nozione di grafo ed alcune definizioni ad essa collegate. I grafi sono una struttura matematica
DettagliStrutture di accesso ai dati: B + -tree
Strutture di accesso ai dati: B + -tree A L B E R T O B E L U S S I S E C O N D A P A R T E A N N O A C C A D E M I C O 2 0 0 9-2 0 0 Osservazione Quando l indice aumenta di dimensioni, non può risiedere
DettagliAppunti di informatica. Lezione 4 anno accademico 2015-2016 Mario Verdicchio
Appunti di informatica Lezione 4 anno accademico 2015-2016 Mario Verdicchio Numeri primi Si definisce primo un numero intero maggiore di 1 che ha due soli divisori: se stesso e 1 Esempi di numeri primi:
DettagliUn po di logica. Christian Ferrari. Laboratorio di matematica
Un po di logica Christian Ferrari Laboratorio di matematica 1 Introduzione La logica è la disciplina che studia le condizioni di correttezza del ragionamento. Il suo scopo è quindi quello di elaborare
DettagliCostruzione di espressioni regolari 4
ostruzione di espressioni regolari 4 Indicando con d uno dei possibili digits {,, 2,,9} --possiamo esprimere il sotto linguaggio dei digits come d = ( + + 2 +.. + 9) Quale linguaggio produce l espressione:
Dettagli