Algoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Algoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione"

Transcript

1 Algoritmi greedy Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione Gli algoritmi greedy sono algoritmi basati sull idea di fare sempre scelte che sembrano ottime al momento della scelta. IMPORTANTE: Non sempre è garanta la correttezza, ma sono spesso molto semplici ed efficienti.

2 Problema della selezione di attività Problema: Siano date N attività in competizione tra loro per l utilizzo di una certa risorsa. Trovare l allocazione ottimale della risorsa, cioè il sottoinsieme di cardinalità massima delle attività che la possano condividere senza creare conflitti S={1,2,,N} un insieme di attività Ad ogni attività i S sono associati s i = tempo di inizio (attivazione) f i = tempo di fine (conclusione) tali che s i f i

3 Problema della selezione di attività Definizione: Due attività i e j si dicono compatibili se gli intervalli [s i, f i ] e [s j, f j ] sono disgiunti, cioè non si sovrappongono. In altre parole se vale f j s i oppure f i s j Problema (riformulato): Dato l insieme di attività S={1,2,,N}, trovare il massimo sottoinsieme di attività tra loro compatibili.

4 Problema della selezione di attività Problema (riformulato): Dato l insieme di attività S={1,2,,N}, trovare il massimo sottoinsieme di attività tra loro compatibili. ❶ Partiamo con un insieme A di attività inizialmente vuoto ❷ Inseriamo in A l attività j col minimo tempo di terminazione ❸ Fra le attività rimanenti compatibili con j selezionare l attività i col minore tempo di terminazione aggiungere l attività selezionata i ad A ❹ Se esistono altre attività compatibili con i, torniamo al passo ❸, altrimenti terminamo

5 Problema della selezione di attività ❶ Assumiamo le attività siano ordinate in modo crescente rispetto al tempo di fine. f 1 f 2 f N ❷ Siano I=[s 1,, s N ] e F=[f 1,, f N ] i vettori contenenti i tempi di inizio (non ordinati) e di fine (ordinati) ❸ Greedy-Activity-Selection(S,F) A = {1}; j = 1 for i = 2 to length[i] do if I[i] F[j] then A = A {i} j = i ❹ Al termine l inseme A contiene la soluzione greedy al problema. Tempo: (n), (n log n) se dobbiamo prima ordinare le attività

6 i s i f 1:1-4 i : :0-6 4: : Criterio: attività più lunga :5-9 7:6-10 8:8-11 9: : Criterio: attività che finisce prima 9 3 attività attività

7 i s i f i :1-4 6:5-9 2:3-5 7:6-10 3:0-6 8:8-11 4:5-7 9:8-12 5:3-8 10:

8 i s i f i :1-4 6:5-9 2:3-5 7:6-10 3:0-6 8:8-11 4:5-7 9:8-12 5:3-8 10:

9 i s i f i :1-4 6:5-9 2:3-5 7:6-10 3:0-6 8:8-11 4:5-7 9:8-12 5:3-8 10:

10 Selezione di attività: correttezza Teorema: L algoritmo Greedy-Activity-Selection produce soluzioni di dimensione massima per il problema della selezione delle attività. Dimostrazione: Per assunzione dell algoritmo, le N attività sono ordinate per tempo di fine, quindi la prima attività è quella che termina per prima. Dimostriamo innanzitutto che esiste una soluzione ottima che inizia con la prima attività (proprietà della scelta greedy) Sia A S sia una qualsiasi soluzione ottima. Ordiniamola per tempi di fine crescenti. Supponiamo che A[1] = S[k] e k 1 (cioè la prima attività di A non è quella con tempo di terminazione minore in S) Quindi vale f 1 < f k.

11 Selezione di attività: correttezza Teorema: L algoritmo Greedy-Activity-Selection produce soluzioni di dimensione massima per il problema della selezione delle attività. Dimostrazione: A S sia una qualsiasi soluzione ottima (ordinata per tempi di fine) con A[1] = S[k] e k 1. Quindi vale f 1 < f k. Possiamo quindi costruire un altra soluzione B = A - {k} + {1}; B è una soluzione perchè vale f 1 < f k e quindi nessun vincolo di compatibilità è violato. B è anche ottima perchè ha lo stesso numero di attività della soluzione ottima A. B è quindi una sol. ottima che inizia con la scelta greedy.

12 Selezione di attività: correttezza Teorema: L algoritmo Greedy-Activity-Selection produce soluzioni di dimensione massima per il problema della selezione delle attività. Dimostrazione: Quindi esiste una soluzione ottima che inizia con la prima attività (passo base proprietà della scelta greedy). Dopo la scelta greedy, il problema si riduce al sottoproblema di trovare la massima sequenza di attività compatibili con la prima. Il sottoproblema è quindi di cercare di una sequenza massima di attività tra S = {i S : s i f 1 } (if nel codice) Se A è una soluzione ottima, la soluzione ottima del sottoproblema S è allora A = A - {1}. Dimostriamolo!

13 Selezione di attività: correttezza Teorema: L algoritmo Greedy-Activity-Selection produce soluzioni di dimensione massima per il problema della selezione delle attività. Se A è una soluzione ottima, la soluzione ottima del sottoproblema S è A = A {1}. Se A non fosse ottima, esisterebbe un B maggiore di A per lo stesso sottoproblema S = {i S : s i f 1 }. Ma aggiungendo l attività 1 a B, otterremo una soluzione B per S migliore di A (contraddizione).

14 Selezione di attività: correttezza Teorema: L algoritmo Greedy-Activity-Selection produce soluzioni di dimensione massima per il problema della selezione delle attività. Abbiamo provato che esiste una soluzione ottima che inizia con la prima attività e Dopo la prima scelta greedy, rimaniamo col sottoproblema (analogo) di cercare di una sequenza massima di attività in un insieme S = {i S : s i f 1 }. Per induzione si può allora dimostrare facilmente che data una qualsiasi soluzione ottima, essa contiene al suo interno le soluzioni ottime dei suoi sottoproblemi (proprietà della sottostruttura ottima). Quindi la sequenza di scelte greedy determina una soluzione ottima (correttezza dell'algoritmo).

15 Algoritmi Greedy : problema del cambio di denaro Input Un numero intero positivo n Output Il più piccolo numero intero di banconote per cambiare n dollari usando pezzi da 20, 10, 5, 1 dollaro. Esempi Criterio di scelta greedy n = 58, 7 banconote: n = 18, 5 banconote: Algoritmo Dispensa una banconota alla volta Ad ogni passo, utilizza la banconota più grande che non superi la cifra rimanente.

16 Punti per garantire l ottimalità Proprietà della scelta greedy Una soluzione globalmente ottima può esser ottenuta effettuando, in sequenza, delle scelte localmente ottime (greedy). Proprietà della sottostruttura ottima Una soluzione ottima al problema contiene le soluzioni ottime dei sottoproblemi

17 Problema del cambio di denaro Teorema: Il problema del cambio di denaro precedente soddisfa sia la proprietà della sottostruttura ottima che la proprietà della scelta greedy. Dimostrazione (cenni): Se b 1,,b k è una soluzione ottima al problema di cambiare n dollari, b 2,,b k è una soluzione ottima per il problema di cambiare n b 1 v 1 dollari (la banconota b 1 vale v 1 dollari). Se non lo fosse. La seconda parte (scelta greedy) si basa sul fatto che non è possibile che in una soluzione ottima non compaia la scelta greedy.

18 Problema del cambio di denaro Dimostrazione (cenni): Assumiamo b 1,,b k sia una soluzione ottima, che la banconota h sia la più grande non superiore all importo n e che h non compaia nella soluzione. Analizzando i casi possibili, si nota che se h non supera n, esisterà sempre nella soluzione un insieme di almeno due biglietti di taglia inferiore ad n la cui somma sia proprio h (tutti i tagli sono infatti divisibili per qualsiasi dei tagli minori). Quindi sostituendo nella soluzione il biglietto di taglia maggiore si otterrebbe una soluzione migliore di b 1,,b k, il che è una contraddizione.

19 Esercizio Scrivere una programma MATLAB che legge dal file processi.txt una lista di processi individuati da due valori: tempo di inzio e tempo di fine. Es I processi hanno bisogno della CPU per poter essere eseguiti, e la CPU può essere assegnata ad un solo processo per volta. Il programma deve restituire la lista dei processi (es. vettore di indici) a cui può essere assegnata la CPU, massimizzando il numero di processi eseguiti.

20 Programmazione Dinamica (PD, con 'la' non 'il'!!) Altra tecnica per risolvere problemi di ottimizzazione, più generale degli algoritmi greedy La programmazione dinamica risolve un problema di ottimizzazione componendo le soluzioni dei sottoproblemi

21 Caratteristiche della programmazione dinamica Risolve i problemi in modo bottom-up: si parte da problemi piccoli e se ne compongono le soluzioni per trovare soluzioni di problemi di dimensioni più grandi. Si applica nei casi in cui un problema ha la proprietà della sottostruttura ottima.

22 Differenza con i metodi divide et impera I metodi divide et impera (esempio: ordinamento con mergesort) procedono top-down: la scomposizione produce problemi che vengono risolti in modo indipendente. Nei problemi a cui si applica la PD, la scomposizione produce sottoproblemi che non sono indipendenti: la soluzione di alcuni sottoproblemi richiede di risolvere i medesimi sottoproblemi.

23 PD versus divide et impera (segue) I metodi divide et impera si applicano quando la scomposizione in sottoproblemi produce problemi tutti distinti. La PD si applica quando la scomposizione in sottoproblemi produce piu volte gli stessi sottoproblemi. Per evitare di risolvere piu volte gli stessi sottoproblemi, si memorizzano le soluzioni dei sottoproblemi in una tabella.

24 PD versus metodi greedy Programmazione dinamica e metodi greedy si applicano entrambi a problemi di ottimizzazione in cui vale la proprieta della sottostruttura ottima. Nei metodi greedy, le scelte ad ogni passo dipendono da un criterio esterno (appetibilità), ogni scelta determina un sottoproblema Nella PD le scelte dipendono dalla soluzione dei sottoproblemi

25 PD versus metodi greedy (segue) I metodi greedy agiscono in modo top-down: riducono progressivamente un problema a sottoproblemi di dimensioni decrescenti. I metodi basati sulla PD procedono bottom-up risolvendo per primi i problemi più piccoli. I metodi greedy sono molto piu efficienti di quelli basati sulla programmazione dinamica che devono provare tutte le alternative per fare una scelta ottima. La PD ha un applicabilità maggiore rispetto ai metodi greedy.

26 Sviluppo di un algoritmo di programmazione dinamica 1. Caratterizzazione della struttura di una soluzione ottima 2. Definizione ricorsiva del valore di una soluzione ottima. 3. Calcolo iterativo del valore di una soluzione ottima mediante una strategia bottom-up 4. Costruzione di una soluzione ottima a partire dal valore calcolato

27 Esempio: Problema dello zaino 0/1 La programmazione dinamica permette di risolvere il problema dello zaino 0/1, che non ammette una soluzione con i metodi greedy - o 1, o 2,...,o n oggetti - w 1, w 2,..., w n pesi - v 1, v 2,...,v n valori - Capacità zaino W. Obiettivo: massimizzare il valore trasportato rispettando la capacità.

28 Caratterizzazione della struttura di una soluzione ottima Definiamo: M[i, j] = il massimo valore trasportabile con un peso j e potendo selezionare gli oggetti 1,, i

29 Caratterizzazione della struttura di una soluzione ottima Considera una soluzione ottima in cui si hanno a disposizione gli articoli 1,, i e un carico j se i non è incluso nella soluzione ottima M[i, j] = M[i-1, j] se i è incluso nella soluzione ottima M[i, j] = M[i-1, j - w i ] + v i, e deve valere j w i

30 Condizioni limite M[i, 0] = 0 per ogni i M[0, j] = 0 per ogni j Posso calcolare in modo iterativo (bottom-up) i valori di M[i, j] a partire da M[0, 0] per valori crescenti di i e j. Se ho n articoli e un peso W il valore di una selezione ottima sarà dato alla fine da M[n, W]

31 Definizione ricorsiva del valore di una soluzione M[0, j] = 0 M[i, 0] = 0 M[i, j] = M[i-1, j] se j < w i M[i, j] = max {M[i-1, j], v i + M[i-1, j - w i ]} se j w i

32 Calcolo iterativo del valore di una soluzione ottima DynamicKnapsack01(W, w, v) for j = 0 to W % inizializzazione M [0,j] 0 for i = 0 to n % inizializzazione M [i,0] 0 for i = 1 to n for j = 1 to W if (j w i ) then M[i, j] max {M[i-1, j], v i + M[i - 1, j - w i ]} else M[i, j] M [i-1, j];

33 Costruzione di una soluzione ottima a partire dal valore calcolato L'algoritmo ritorna la matrice M contenente i valori delle soluzioni ottime per vari sottoproblemi. Partendo dalla cella M[n, W], risalire nella colonna M[:, W] per capire come costruire la soluzione. Esempio: O 1 v 1 = 10, w 1 = 5 O O O W = O O O O O

34 Complessità dell algoritmo La complessità dell algoritmo di programmazione dinamica per lo zaino 0/1 è O(nW) dove n è il numero degli articoli e W è il peso dello zaino. Notare che W può essere arbitrariamente grande rispetto a n (ad esempio può essere W = 2 n )

Due algoritmi di ordinamento. basati sulla tecnica Divide et Impera: Mergesort e Quicksort

Due algoritmi di ordinamento. basati sulla tecnica Divide et Impera: Mergesort e Quicksort Due algoritmi di ordinamento basati sulla tecnica Divide et Impera: Mergesort e Quicksort (13 ottobre 2009, 2 novembre 2010) Ordinamento INPUT: un insieme di n oggetti a 1, a 2,, a n presi da un dominio

Dettagli

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Dr Maria Federico Programmazione dinamica Solitamente usata per risolvere problemi di ottimizzazione il problema ammette

Dettagli

Esercizi per il corso di Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi e Strutture Dati 1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi

Dettagli

Sommario della lezione

Sommario della lezione Universitá degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/36 Sommario della lezione Ulteriori esempi di applicazione della Programmazione Dinamica Esempio di applicazione

Dettagli

Introduzione alla tecnica di Programmazione Dinamica

Introduzione alla tecnica di Programmazione Dinamica Universitá degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/37 Sommario della lezione Introduzione alla tecnica di Programmazione Dinamica Esempio di applicazione n. 1:

Dettagli

4.1 Modelli di calcolo analisi asintotica e ricorrenze

4.1 Modelli di calcolo analisi asintotica e ricorrenze 4 Esercizi Prima Parte 4.1 Modelli di calcolo analisi asintotica e ricorrenze Esercizio 4 1 Rispondere alle seguenti domande: 1. Come misuriamo l efficienza di un algoritmo?. Quali sono gli algoritmi più

Dettagli

Verifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio

Verifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio Test (o analisi dinamica) Verifica parte IIA Rif. Ghezzi et al. 6.3-6.3.3 Consiste nell osservare il comportamento del sistema in un certo numero di condizioni significative Non può (in generale) essere

Dettagli

I costi d impresa (R. Frank, Capitolo 10)

I costi d impresa (R. Frank, Capitolo 10) I costi d impresa (R. Frank, Capitolo 10) COSTI Per poter realizzare la produzione l impresa sostiene dei costi Si tratta di scegliere la combinazione ottimale dei fattori produttivi per l impresa È bene

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo L. De Giovanni G. Zambelli 1 Problema del flusso a costo minimo Il problema del flusso a costo minimo é definito

Dettagli

Esercizio: numero primo

Esercizio: numero primo Esercizio: numero primo Dato un numero N scrivere un algoritmo che verifichi se N è un numero primo e stampi un relativo messaggio Il numero N è un numero primo se è divisibile solo per 1 e per N Quindi,

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

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

Dettagli

Esercitazione n o 3 per il corso di Ricerca Operativa

Esercitazione n o 3 per il corso di Ricerca Operativa Esercitazione n o 3 per il corso di Ricerca Operativa Ultimo aggiornamento October 17, 2011 Fornitura acqua Una città deve essere rifornita, ogni giorno, con 500 000 litri di acqua. Si richiede che l acqua

Dettagli

Esercizi Capitolo 6 - Alberi binari di ricerca

Esercizi Capitolo 6 - Alberi binari di ricerca Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 23 settembre 200 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile

Dettagli

Per formalizzare il concetto sono necessarie alcune nozioni relative ai poliedri e alla loro descrizione.

Per formalizzare il concetto sono necessarie alcune nozioni relative ai poliedri e alla loro descrizione. 3.7.4 Disuguaglianze valide forti Cerchiamo disuguaglianze valide forti, ovvero disuguaglianze valide che forniscano migliori formulazioni (più stringenti). Per formalizzare il concetto sono necessarie

Dettagli

Interpretazione astratta

Interpretazione astratta Interpretazione astratta By Giulia Costantini (819048) e Giuseppe Maggiore (819050) Contents Interpretazione astratta... 2 Idea generale... 2 Esempio di semantica... 2 Semantica concreta... 2 Semantica

Dettagli

Informatica Teorica. Macchine a registri

Informatica Teorica. Macchine a registri Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire

Dettagli

4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste

4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste 4 Le liste collegate 4.0 Le liste collegate c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 4.0 0 4 Le liste collegate Rappresentazione di liste 4.1

Dettagli

Efficienza secondo i criteri di first best

Efficienza secondo i criteri di first best Efficienza secondo i criteri di first best Ruolo del settore pubblico Intervento dello Stato L economia pubblica giustifica l intervento dello Stato nell economia in presenza di fallimenti del mercato

Dettagli

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita UD4 - MATLAB M-file. Efficienza degli algoritmi. Formati d uscita M-files In MatLab è possibile eseguire istruzioni contenute in file esterni; Tali file sono chiamati M-file perché devono avere estensione.m

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Marco Manna 1

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Marco Manna 1 Corso di INFORMATICA Laurea triennale - Comunicazione&DAMS Dr. Marco Manna 1 1 Dipartimento di Matematica Università della Calabria Corso di laurea intercalsse in COMUNICAZIONE&DAMS http://elleboro.unical.it/drupalab/informatica2009/

Dettagli

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice.

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice. Convalida: attività volta ad assicurare che il SW sia conforme ai requisiti dell utente. Verifica: attività volta ad assicurare che il SW sia conforme alle specifiche dell analista. Goal: determinare malfunzionamenti/anomalie/errori

Dettagli

Corso di Gestione dei sistemi di trasporto. Cap.8 Pianificazione operativa (di breve periodo) di reti logistiche. Simona Sacone - DIST

Corso di Gestione dei sistemi di trasporto. Cap.8 Pianificazione operativa (di breve periodo) di reti logistiche. Simona Sacone - DIST Corso di Gestione dei sistemi di trasporto Cap.8 Pianificazione operativa (di breve periodo) di reti logistiche Simona Sacone - DIST Introduzione La gestione operativa dell azienda è estremamente critica.

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza Il problema di flusso di costo minimo (MCF) Dati : grafo orientato G = ( N, A ) i N, deficit del nodo i : b i (i, j) A u ij, capacità superiore (max quantità di flusso che può transitare) c ij, costo di

Dettagli

Schedulazione delle attività di un progetto in presenza di multi-calendari

Schedulazione delle attività di un progetto in presenza di multi-calendari Schedulazione delle attività di un progetto in presenza di multi-calendari Maria Silvia Pini Resp. accademico: Prof.ssa Francesca Rossi Università di Padova Attività FSE DGR 1102/2010 La gestione dell

Dettagli

Il comando provoca il salvataggio dello stato e la terminazione dell esecuzione.

Il comando provoca il salvataggio dello stato e la terminazione dell esecuzione. Scrivere un programma per la gestione di una videoteca. Il programma deve essere in grado di tenere traccia dello stato corrente (presente/in prestito a x/smarrito da x/danneggiato da x a livello nn) e

Dettagli

Università degli studi di Foggia SSIS D.M.85 2005 Laboratorio di didattica della matematica finanziaria Classe 17/A

Università degli studi di Foggia SSIS D.M.85 2005 Laboratorio di didattica della matematica finanziaria Classe 17/A Università degli studi di Foggia SSIS D.M.85 2005 Laboratorio di didattica della matematica finanziaria Classe 17/A Appunti sull utilizzo di Excel per la soluzione di problemi di matematica finanziaria.

Dettagli

Note su quicksort per ASD 2010-11 (DRAFT)

Note su quicksort per ASD 2010-11 (DRAFT) Note su quicksort per ASD 010-11 (DRAFT) Nicola Rebagliati 7 dicembre 010 1 Quicksort L algoritmo di quicksort è uno degli algoritmi più veloci in pratica per il riordinamento basato su confronti. L idea

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

Esercizi Capitolo 14 - Algoritmi Greedy

Esercizi Capitolo 14 - Algoritmi Greedy Esercizi Capitolo 14 - Algoritmi Greedy Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare

Dettagli

0.1 Esercizi calcolo combinatorio

0.1 Esercizi calcolo combinatorio 0.1 Esercizi calcolo combinatorio Esercizio 1. Sia T l insieme dei primi 100 numeri naturali. Calcolare: 1. Il numero di sottoinsiemi A di T che contengono esattamente 8 pari.. Il numero di coppie (A,

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Elementi di Programmazione Dinamica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Il problema La CMC produce automobili in uno stabilimento

Dettagli

COGNOME E NOME (IN STAMPATELLO) MATRICOLA

COGNOME E NOME (IN STAMPATELLO) MATRICOLA Politecnico di Milano Facoltà di Ingegneria dell Informazione Informatica 3 Proff. Ghezzi, Lanzi, Matera e Morzenti Seconda prova in itinere 4 Luglio 2005 COGNOME E NOME (IN STAMPATELLO) MATRICOLA Risolvere

Dettagli

MICROECONOMIA. Produzione e costi. Enrico Saltari Università di Roma La Sapienza

MICROECONOMIA. Produzione e costi. Enrico Saltari Università di Roma La Sapienza MICROECONOMIA Produzione e costi Enrico Saltari Università di Roma La Sapienza 1 LE SCELTE DELL IMPRESA ALTERNATIVE DISPONIBILI VINCOLO MERCATO (FORME DI MERCATO) VINCOLO TECNOL. (COME PRODURRE) RICAVI

Dettagli

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1 Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria R. Vitolo Dipartimento di Matematica Università di Lecce SaLUG! - Salento Linux User Group Il programma OCTAVE per l

Dettagli

Algoritmi. a.a. 2013/14 Classe 2: matricole dispari

Algoritmi. a.a. 2013/14 Classe 2: matricole dispari Algoritmi a.a. 2013/14 Classe 2: matricole dispari Marcella Anselmo Presentazioni Info: http://www.di.unisa.it/professori/anselmo/ Orario ricevimento: Lunedì 15-17 Giovedì 12-13 Il mio studio è il n 57

Dettagli

B-Tree. Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in:

B-Tree. Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in: B-Tree Prof. Rudolf Bayer Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in: Filesystem: btrfs, NTFS, ReiserFS, NSS, XFS, JFS

Dettagli

DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.

DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori. DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come Scopo principale dell informatica è risolvere problemi con i calcolatori. Non tutti i problemi sono risolvibili con i calcolatori. Si può dimostrato

Dettagli

PARTE III MACCHINE A REGISTRI

PARTE III MACCHINE A REGISTRI PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 1 3.1 MACCHINE A REGISTRI (RAM: Random Access Machines) Introdotte da Shepherdson

Dettagli

Geometria Superiore Esercizi 1 (da consegnare entro... )

Geometria Superiore Esercizi 1 (da consegnare entro... ) Geometria Superiore Esercizi 1 (da consegnare entro... ) In questi esercizi analizziamo il concetto di paracompattezza per uno spazio topologico e vediamo come questo implichi l esistenza di partizioni

Dettagli

Matematica con il foglio di calcolo

Matematica con il foglio di calcolo Matematica con il foglio di calcolo Sottotitolo: Classe: V primaria Argomento: Numeri e operazioni Autore: Guido Gottardi, Alberto Battaini Introduzione: l uso del foglio di calcolo offre l opportunità

Dettagli

2.2 Scheduling in Linux

2.2 Scheduling in Linux Appunti di Sistemi Operativi 28 2.2 Scheduling in Linux In generale, i processi possono essere classificati secondo due schemi: CPU bound vs. I/O bound; interattivi vs. batch vs. real-time. Le due classi

Dettagli

MATEMATICA GENERALE Prova d esame del 4 giugno 2013 - FILA A

MATEMATICA GENERALE Prova d esame del 4 giugno 2013 - FILA A MATEMATICA GENERALE Prova d esame del 4 giugno 2013 - FILA A Nome e cognome Matricola I Parte OBBLIGATORIA (quesiti preliminari: 1 punto ciascuno). Riportare le soluzioni su questo foglio, mostrando i

Dettagli

Principi e Metodologie della Progettazione Meccanica

Principi e Metodologie della Progettazione Meccanica Principi e Metodologie della Progettazione Meccanica ing. F. Campana a.a. 06-07 Lezione 11: CAE e Ottimizzazione Strutturale Il ruolo dell ottimizzazione nell ambito della progettazione meccanica Durante

Dettagli

Problemi di Instradamento di Veicoli

Problemi 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

Dettagli

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente. Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito

Dettagli

Documentazione esterna al software matematico sviluppato con MatLab

Documentazione esterna al software matematico sviluppato con MatLab Documentazione esterna al software matematico sviluppato con MatLab Algoritmi Metodo di Gauss-Seidel con sovrarilassamento Metodo delle Secanti Metodo di Newton Studente Amelio Francesco 556/00699 Anno

Dettagli

Corso di Tecniche di Programmazione

Corso di Tecniche di Programmazione Corso di Tecniche di Programmazione Corsi di Laurea in Ingegneria Informatica ed Automatica Anno Accedemico 003/004 Proff. Giuseppe De Giacomo, Luca Iocchi, Domenico Lembo Dispensa : Algoritmi di Ordinamento

Dettagli

La programmazione con vincoli in breve. La programmazione con vincoli in breve

La programmazione con vincoli in breve. La programmazione con vincoli in breve Obbiettivi Introdurre la nozione di equivalenza di CSP. Dare una introduzione intuitiva dei metodi generali per la programmazione con vincoli. Introdurre il framework di base per la programmazione con

Dettagli

Note_Batch_Application 04/02/2011

Note_Batch_Application 04/02/2011 Note Utente Batch Application Cielonext La Batch Application consente di eseguire lavori sottomessi consentendo agli utenti di procedere con altre operazioni senza dover attendere la conclusione dei suddetti

Dettagli

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico Processo di risoluzione di un problema ingegneristico 1. Capire l essenza del problema. 2. Raccogliere le informazioni disponibili. Alcune potrebbero essere disponibili in un secondo momento. 3. Determinare

Dettagli

Crittografia. Primalità e Fattorizzazione. Corso di Laurea Specialistica. in Informatica

Crittografia. Primalità e Fattorizzazione. Corso di Laurea Specialistica. in Informatica Crittografia Corso di Laurea Specialistica in Informatica Primalità e Fattorizzazione Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di Milano Bicocca

Dettagli

Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005. Lezione 11

Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005. Lezione 11 Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 11 In questa lezione vedremo alcune applicazioni della tecnica greedy al progetto di algoritmi on-line. Vediamo

Dettagli

Disconnessione Utente

Disconnessione Utente Home Page La home page di Smart Sales contiene due sezioni per indicare quali criteri di ricerca applicare alle offerte per identificare con facilità quelle che il cliente desidera acquistare. I valori

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

Introduzione alla programmazione lineare. Mauro Pagliacci

Introduzione alla programmazione lineare. Mauro Pagliacci Introduzione alla programmazione lineare Mauro Pagliacci c Draft date 25 maggio 2010 Premessa In questo fascicolo sono riportati gli appunti dalle lezioni del corso di Elaborazioni automatica dei dati

Dettagli

Chiusura lineare. N.B. A può essere indifferentemente un insieme, finito o no, o un sistema. Es.1. Es.2

Chiusura lineare. N.B. A può essere indifferentemente un insieme, finito o no, o un sistema. Es.1. Es.2 Chiusura lineare Def. Sia A V (K) con A. Si dice copertura lineare (o chiusura lineare) di A, e si indica con L(A), l insieme dei vettori di V che risultano combinazioni lineari di un numero finito di

Dettagli

Cosa decidete di fare?

Cosa decidete di fare? Immaginate di aver trovato un lavoretto estivo in un bar All inizio lavorate 5 ore al giorno (5 giorni alla settimana) a 8 euro l ora Poi il padrone del bar impazzisce e vi raddoppia la paga (16 euro all

Dettagli

Corso di Fondamenti di Informatica e Laboratorio ato o T-AB

Corso di Fondamenti di Informatica e Laboratorio ato o T-AB Università degli Studi di Bologna Facoltà di Ingegneria Corso di Fondamenti di Informatica e Laboratorio ato o T-AB Corso di Laurea in Ingegneria Elettronica e Telecomunicazioni Prof. Michela Milano Prof.

Dettagli

Rendering air show e verifica della sincronizzazione

Rendering air show e verifica della sincronizzazione Capitolo 5 Rendering air show e verifica della sincronizzazione 5.1 Introduzione Il Rendering 3D dell evoluzioni acrobatiche costituisce uno degli aspetti cruciali dell applicazione realizzata. L ambiente

Dettagli

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Definiamo innanzitutto una relazione d ordine tra le funzioni. Siano φ e ψ funzioni

Dettagli

Politecnico di Milano. Reti Wireless. Seminari didattici. Dalla teoria alla soluzione. Ilario Filippini

Politecnico di Milano. Reti Wireless. Seminari didattici. Dalla teoria alla soluzione. Ilario Filippini Politecnico di Milano Reti Wireless Seminari didattici Dalla teoria alla soluzione Ilario Filippini 2 Approccio euristico 3 Obiettivo dell approccio euristico 4 Tipi di euristiche Dalla teoria alla soluzione

Dettagli

Algoritmi e Strutture Dati (Mod. B) Introduzione

Algoritmi e Strutture Dati (Mod. B) Introduzione Algoritmi e Strutture Dati (Mod. B) Introduzione Modulo B Orari Lunedì ore 11-13 aula A6 Mercoledì ore 14-16 aula A6 Ricevimento Martedì ore 14-16 Ufficio 2M13 Dip. Fisica (2 piano edificio M) Laboratori

Dettagli

PIANO DI LAVORO. a.s. 2015 / 2016

PIANO DI LAVORO. a.s. 2015 / 2016 PIANO DI LAVORO a.s. 2015 / 2016 Materia: INFORMATICA Classe: terza informatica- sez. A Data di presentazione: 15/10/2015 DOCENTI FIRMA Cerri Marta Bergamasco Alessandra Posta elettronica: itisleon@tin.it

Dettagli

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma. Semantica dei programmi La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma. Semantica operazionale: associa ad ogni programma la sequenza delle sue

Dettagli

Programmazione dinamica

Programmazione dinamica Capitolo 6 Programmazione dinamica 6.4 Il problema della distanza di edit tra due stringhe x e y chiede di calcolare il minimo numero di operazioni su singoli caratteri (inserimento, cancellazione e sostituzione)

Dettagli

DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE

DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE Il problema Un computer è usato per risolvere dei problemi Prenotazione di un viaggio Compilazione e stampa di un certificato in un ufficio comunale Preparazione

Dettagli

Semantica Assiomatica

Semantica Assiomatica Semantica Assiomatica Anche nella semantica assiomatica, così come in quella operazionale, il significato associato ad un comando C viene definito specificando la transizione tra stati (a partire, cioè,

Dettagli

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base: LA STRUTTURA DI RIPETIZIONE La ripetizione POST-condizionale La ripetizione PRE-condizionale INTRODUZIONE (1/3) Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto

Dettagli

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 10 Correttezza A. Miola Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Correttezza 1 Contenuti Introduzione alla correttezza

Dettagli

Interpolazione ed approssimazione di funzioni

Interpolazione ed approssimazione di funzioni Interpolazione ed approssimazione di funzioni Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 9 novembre 2007 Outline 1 Polinomi Valutazione di un polinomio Algoritmo di Horner

Dettagli

DAL DIAGRAMMA AL CODICE

DAL DIAGRAMMA AL CODICE DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza

Dettagli

UNIVERSITA DEGLI STUDI DI PADOVA DIPARTIMENTO DI INGEGNERIA IDRAULICA, MARITTIMA E GEOTECNICA

UNIVERSITA DEGLI STUDI DI PADOVA DIPARTIMENTO DI INGEGNERIA IDRAULICA, MARITTIMA E GEOTECNICA UNIVERSITA DEGLI STUDI DI PADOVA DIPARTIMENTO DI INGEGNERIA IDRAULICA, MARITTIMA E GEOTECNICA CORSO DI COSTRUZIONI IDRAULICHE A.A. 00-0 PROF. LUIGI DA DEPPO ING. NADIA URSINO ESERCITAZIONE N : Progetto

Dettagli

Esercizi di Algoritmi e Strutture Dati

Esercizi di Algoritmi e Strutture Dati Esercizi di Algoritmi e Strutture Dati Moreno Marzolla marzolla@cs.unibo.it 18 marzo 2011 Problema basato su 10.5 del libro di testo La CINA (Compagnia Italiana per il Noleggio di Automobili) dispone di

Dettagli

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca

Dettagli

Offerta in concorrenza perfetta: Cap.6

Offerta in concorrenza perfetta: Cap.6 Offerta in concorrenza perfetta: il lato dei costi Cap.6 Curva di offerta Per capire meglio le origini della curva di offerta consideriamo ora una impresa che debba decidere quale livello di produzione

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

OpenDataLazio Formia 9 aprile 2015 Laboratorio. Roberto Angeletti

OpenDataLazio Formia 9 aprile 2015 Laboratorio. Roberto Angeletti OpenDataLazio Formia 9 aprile 2015 Laboratorio Roberto Angeletti OpenDataLazio dati.lazio.it Quali dati aperti del Lazio sono subito visualizzabili su una mappa? Troviamo i dati vettoriali catalogati

Dettagli

Grafici e Pagina web

Grafici e Pagina web Grafici e Pagina web Grafici Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro. Quando si crea un grafico ogni riga

Dettagli

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Concetti importanti da (ri)vedere Programmazione imperativa Strutture di

Dettagli

Online Gradient Descent

Online Gradient Descent F94 Metodi statistici per l apprendimento Online Gradient Descent Docente: Nicolò Cesa-Bianchi versione 9 aprile 06 L analisi del Perceptrone ha rivelato come sia possibile ottenere dei maggioranti sul

Dettagli

Metodologie di programmazione in Fortran 90

Metodologie di programmazione in Fortran 90 Metodologie di programmazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: Metodologie di programmazione DIS - Dipartimento di

Dettagli

Il Metodo Branch and Bound

Il Metodo Branch and Bound Il Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 4 Novembre 2014 Ricerca Operativa 2 Laurea Magistrale in Ingegneria Gestionale

Dettagli

Cluster Analysis. La Cluster Analysis è il processo attraverso il quale vengono individuati raggruppamenti dei dati. per modellare!

Cluster Analysis. La Cluster Analysis è il processo attraverso il quale vengono individuati raggruppamenti dei dati. per modellare! La Cluster Analysis è il processo attraverso il quale vengono individuati raggruppamenti dei dati. Le tecniche di cluster analysis vengono usate per esplorare i dati e non per modellare! La cluster analysis

Dettagli

Problem solving avanzato

Problem solving avanzato Problem solving avanzato Formulazione del problema Struttura dati e algoritmo Il programma 2 26 Politecnico di Torino 1 Dati in input (1/4) Sono dati due file di testo, contenenti le informazioni sulle

Dettagli

Metodi matematici 2 9 giugno 2011

Metodi matematici 2 9 giugno 2011 Metodi matematici giugno 0 TEST 6CFU Cognome Nome Matricola Si indichi la soluzione senza procedimento. Nel caso si intenda annullare una risposta crocettare la risposta ritenuta errata. Risultati corretti

Dettagli

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B Compito: Domanda 1 Per l'algoritmo fornito di seguito, qual è il valore assunto dalla variabile contatore quando l'algoritmo termina: Passo 1 Poni il valore di contatore a 1 Passo 2 Ripeti i passi da 3

Dettagli

Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali

Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali 1 Modelli imperativi: le RAM (Random Access Machine) I modelli di calcolo imperativi sono direttamente collegati al modello Von Neumann,

Dettagli

Lezione 3: Il problema del consumatore: Il

Lezione 3: Il problema del consumatore: Il Corso di Economica Politica prof. Stefano Papa Lezione 3: Il problema del consumatore: Il vincolo di bilancio Facoltà di Economia Università di Roma La Sapienza Il problema del consumatore 2 Applichiamo

Dettagli

CAPITOLO V. DATABASE: Il modello relazionale

CAPITOLO V. DATABASE: Il modello relazionale CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono

Dettagli

RSA. Chiavi RSA. Firma Digitale. Firma Digitale. Firma Digitale. Desiderata per la Firma Digitale. Corso di Sicurezza su Reti 1

RSA. Chiavi RSA. Firma Digitale. Firma Digitale. Firma Digitale. Desiderata per la Firma Digitale. Corso di Sicurezza su Reti 1 firma Firma Digitale Equivalente alla firma convenzionale firma Firma Digitale Equivalente alla firma convenzionale Soluzione naive: incollare firma digitalizzata Firma Digitale 0 Firma Digitale 1 firma

Dettagli

Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni

Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni CARLO MANNINO Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica

Dettagli

Corso di Programmazione Algoritmi Fondamentali. Minimo fra 3 valori. Minimo fra 3 valori Algoritmo. Dott. Pasquale Lops

Corso di Programmazione Algoritmi Fondamentali. Minimo fra 3 valori. Minimo fra 3 valori Algoritmo. Dott. Pasquale Lops Materiale didattico preparato dal dott. Stefano Ferilli Corso di Programmazione Algoritmi Fondamentali Dott. Pasquale Lops lops@di.uniba.it Corso di Programmazione - DIB 1/249 Minimo fra 3 valori Trovare

Dettagli

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA in termini generali: Dati in input un insieme S di elementi (numeri, caratteri, stringhe, ) e un elemento

Dettagli

La macchina universale

La macchina universale La macchina universale Una immediata conseguenza della dimostrazione è la seguente Corollario il linguaggio L H = {M (w) M rappresenta una macchina di Turing che si ferma con input w} sull alfabeto {0,1}*

Dettagli

Barriere assorbenti nelle catene di Markov e una loro applicazione al web

Barriere assorbenti nelle catene di Markov e una loro applicazione al web Università degli studi di Roma Tre Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Matematica Sintesi relativa alla Tesi di Laurea in Matematica di Giulio Simeone Barriere assorbenti

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

Feature Selection per la Classificazione

Feature Selection per la Classificazione 1 1 Dipartimento di Informatica e Sistemistica Sapienza Università di Roma Corso di Algoritmi di Classificazione e Reti Neurali 20/11/2009, Roma Outline Feature Selection per problemi di Classificazione

Dettagli

TEORIA RELAZIONALE: INTRODUZIONE

TEORIA RELAZIONALE: INTRODUZIONE TEORIA RELAZIONALE: INTRODUZIONE Tre metodi per produrre uno schema relazionale: a) Partire da un buon schema a oggetti e tradurlo b) Costruire direttamente le relazioni e poi correggere quelle che presentano

Dettagli