Note su quicksort per ASD (DRAFT)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Note su quicksort per ASD 2010-11 (DRAFT)"

Transcript

1 Note su quicksort per ASD (DRAFT) Nicola Rebagliati 7 dicembre Quicksort L algoritmo di quicksort è uno degli algoritmi più veloci in pratica per il riordinamento basato su confronti. L idea base è la scelta di elementi pivot che dividono il vettore in due parti:: gli elementi più piccoli del pivot e gli elementi più grandi. Ricorsivamente si applica quicksort ai due vettori divisi. Nell implementazione che vediamo gli elementi pivot vengono scelti casualmente tra gli elementi del vettore, in un certo intervallo. Studiare la complessità di quicksort non è per niente semplice. Nel caso peggiore è Θ(n ), ma nel caso medio O(n log(n)). L analisi che vedremo è dovuta ad Avrim Blum. Il codice che vediamo di quicksort è diviso in due funzioni, quicksort e partition (in figura). Algorithm 1 quicksort, vettore in input A e indici i, j if i < j then pivot partition(a,i,j) quicksort(a, i, pivot 1) quicksort(a, pivot + 1, j) end if Vediamo un esempio della funzione partition (i = 0, j = 7) con il vettore A = [14, 9, 10, 8, 3, 16,, 1]. Evidenziamo in grassetto la parte compresa tra p e q (loro esclusi). Il pivot scelto a caso è l indice 3. 1

2 Algorithm partition funzione ausiliaria per quicksort, vettore in input A e indici i, j scegli un indice pivot a caso tra gli elementi i x j scambia A[j] con A[pivot] p i 1 for q = i : (j 1) do if A[q] A[j] then scambia A[p + 1] con A[q] p p + 1 end if end for scambia A[p + 1] con A[j] return p + 1 A = [14, 9, 10, 8, 3, 16,, 1] (1) (scambio il A[pivot] = 1 con A[j])[14, 9, 10, 1, 3, 16,, 8] () (q = 0, p = 1, i = 0, j = 7)[14, 9, 10, 1, 3, 16,, 8] (3) (q = 1, p = 1, i = 0, j = 7)[14, 9, 10, 1, 3, 16,, 8] (4) (q =, p = 1, i = 0, j = 7)[14,9, 10, 1, 3, 16,, 8] (5) (q = 3, p = 1, i = 0, j = 7)[14,9,10, 1, 3, 16,, 8] (6) (q = 4, p = 0, i = 0, j = 7)[1, 9,10,14, 3, 16,, 8] (7) (q = 5, p = 1, i = 0, j = 7)[1, 3, 10,14,9, 16,, 8] (8) (q = 6, p =, i = 0, j = 7)[1, 3,, 14,9,16,10, 8] (9) (10) Per verificare il comportamento di partition usiamo la seguente invariante: all inizio di ogni iterazione del ciclo for valgono: i) i t p implica che A[t] A[j] ii) p + 1 t q 1 implica che A[t] > A[j] iii) il valore di A[j] non viene modificato In ogni momento abbiamo la seguente struttura: [i,.,., p, [.,.,.,.],q,.,.,., j]. Inizializzazione Inizialmente (subito dopo aver inizializzato l iteratore ma prima di aver eseguito del codice) p = i 1 e q = i, quindi le due condizioni i) e ii) sono vuotamente vere. Anche iii) è vera. Mantenimento Sia p la variabile p che potrebbe essere modificata dal ciclo. Dobbiamo dimostrare, sapendo che (ipotesi dell invariante)

3 i) i t p implica che A[t] A[j] ii) p + 1 t q 1 implica che A[t] > A[j] iii) il valore di A[j] non viene modificato i seguenti (nota p e q invece di p e q 1): i ) i t p implica che A[t] A[j] ii ) p + 1 t q implica che A[t] > A[j] iii ) il valore di A[j] non viene modificato Ci sono due casi da considerare, se A[q] A[j] allora p viene incrementato (e p = p + 1) e A[p ] è stato scambiato con A[q], quindi i ) vale per l ipotesi dell invariante e A[p ] A[j], ii ) vale per l ipotesi dell invariante e A[q] > A[j] (A[q] contiene il valore che era in A[p + 1]). iii ) vale banalmente. Se A[q] > A[j] valgono sia la i )(perché uguale a i)) che la ii ) (per ii) e A[q] > A[j]). La iii) è comunque soddisfatta. Terminazione Alla fine q = j e bisogna dimostrare: i ) i t p implica che A[t] A[j] ii ) p + 1 t j 1 implica che A[t] > A[j] iii ) il valore di A[j] non viene modificato Si vede che i ), ii ), iii ) valgono. Esercizio: dimostrare la correttezza (ricorsiva) di quicksort. Complessità Analizziamo il caso peggiore ed il caso medio per quicksort, nel primo caso otterremo Θ(n ), mentre nel secondo O(n log(n)). Particolarmente interessante, e significativa, è l analisi del caso medio. Per semplificare l analisi assumiamo che il vettore sia fatto di elementi distinti tra loro. Il caso peggiore per quicksort avviene quando la partition non divide significativemente il problema, ad esempio se q = i o q = j, questo avviene quando il pivot è l elemento più grande o più piccolo. In tal caso quicksort viene chiamato n volte che, moltiplicate con la complessità Θ(n) della partition dà una complessità di Θ(n ) (alternativamente, usando il teorema fondamentale si ottiene la relazione T (n) = T (n 1) + Θ(n) che ha soluzione Θ(n )). Il caso medio non è immediato da analizzare. Una prima intuizione potrebbe essere che se la partition riesce a dividere una certa costante dei dati, ad esempio 8/10, per il teorema fondamentale T (n) T (8n/10) + T (n/10) + Θ(n) e la complessità consisterebbe in O(n log(n)). Invece di provare a formalizzare questa intuizione consideriamo un approccio completamente diverso: probabilistico. 3

4 Consideriamo il vettore riordinato A con le variabili z 1, z,..., z n, (quindi z 1 z z n e z i è l i-esimo elemento più piccolo di A). Il problema dell analisi è che il pivot non è deterministico (in quest analisi consideriamo i pivot scelti casualmente e indipentemente), e quindi non è semplice capire il comportamento della partition. D altra parte noi siamo interessati al numero di confronti, quindi possiamo introdurre una variabile aleatoria X i,j che prende il valore 1 se i valori di z i, z j sono stati confrontati in un qualunque momento della quicksort, e 0 altrimenti. Essendo l algoritmo probabilistico (se lo lanciate due volte sullo stesso input probabilmente cambia il suo comportamento), lo è anche il numero totale di confronti, che è: X = n X i,j (11) Mentre il suo valore atteso 1, il numero di confronti che ci aspettiamo in media, consiste in E[X] = E (Per linearità del valore atteso) = = n n n X i,j [1 P r(z i sia confrontato con z j )+ (1) E[X i,j ] (13) +0 (1 P r(z i sia confrontato con z j ))] (14) n = P r(z i sia confrontato con z j ) (15) (16) Innanzitutto osserviamo che dato un intervallo z i x z j uno degli x dovrà essere scelto come pivot, infatti questo è l unico modo che ha quicksort per determinare se z i < z j. Dal momento che la scelta del pivot è uniforme sull intervallo z i x z j, z i è scelto con probabilità 1/(j i + 1) (idem z j ). Ebbene, questi due casi pivot = z i o pivot = z j sono gli unici in cui 1 Il valore atteso di una variabile aleatoria è la somma dei suoi valori per la loro probabilità di realizzarsi. Se gioco 1 euro sul rosso della roulette francese con probabilità 18 vinco euro, 37 e con probabilità vinco 0 euro. Il valore atteso è dunque Il valore 37 atteso di una somma di variabili aleatorie è uguale alla somma dei valori attesi delle variabili (si dice linearità del valore atteso). Se gioco per 10 volte euro sul rosso della roulette francese il mio valore atteso di vincita è = Questo vale anche nel caso di giocate dipendenti, quindi se gioco due ambi al lotto, ad esempio le coppie (13, 17) e (13, 3) (hanno il 13 in comune, per questo sono dipendenti) il valore atteso della vincita è identico a giocare due coppie indipendenti, ad esempio (13, 17) e (19, 3). 4

5 z i verrà direttamente confrontato con z j, se invece il pivot è all interno z i < x < z j i due elementi vengono confrontati indirettamente, e non ci saranno altre possibilità di confronto (notate che questo è un vantaggio). Quindi la probabilità P r(z i sia confrontato con z j ) è uguale a /(j i + 1). E[X] = Quattro osservazioni. n P r(z i sia confrontato con z j ) (17) = n n i (ciclo sulla variabile j i) = (semplice maggiorazione) < i=1 k=1 j i + 1 k + 1 n i=1 k=1 k (18) (19) (0) (somma di una serie armonica) = log(n) (1) i=1 = O(n log(n)) () (3) Come mai la probabilità non dipende dal numero totale di dati? Risposta: perché ci siamo focalizzati sull intervallo z i x z j, ogni considerazione è dunque a valle di questa focalizzazione. Come mai non consideriamo la dipendenza con gli altri intervalli? Ad esempio un sotto-intervallo z t x z o contenuto in z i z t x z o z j? Risposta: la dipendenza tra sottointervalli esiste ma non ci interessa, l operatore E[.] che calcola il valore atteso non ne è influenzato, infatti passa tranquillamente dentro alla sommatoria. Cosa succede se il pivot è estratto fuori dall intervallo z i x z j? Risposta: questa domanda è fuori tema, i pivot sono estratti un po ovunque e analizzare il modo in cui sono estratti è parecchio difficile. Nell analisi siamo già all interno di z i x z j, e quando si è all interno due cose possono succedere, come già detto. La probabilità che uno fra z i z i+1 sia scelto come pivot è 1, consistentemente con la nostra intuizione. 5

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

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

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

Parte 2. Determinante e matrice inversa

Parte 2. Determinante e matrice inversa Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice

Dettagli

Esercizi Capitolo 2 - Analisi di Algoritmi

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

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

CORSO DI CALCOLO DELLE PROBABILITÀ E STATISTICA. Esercizi su eventi, previsioni e probabilità condizionate

CORSO DI CALCOLO DELLE PROBABILITÀ E STATISTICA. Esercizi su eventi, previsioni e probabilità condizionate CORSO DI CALCOLO DELLE PROBABILITÀ E STATISTICA Esercizi su eventi, previsioni e probabilità condizionate Nota: Alcuni esercizi sono tradotti, più o meno fedelmente, dal libro A first course in probability

Dettagli

Tasso di interesse e capitalizzazione

Tasso di interesse e capitalizzazione Tasso di interesse e capitalizzazione Tasso di interesse = i = somma che devo restituire dopo un anno per aver preso a prestito un euro, in aggiunta alla restituzione dell euro iniziale Quindi: prendo

Dettagli

Cosa dobbiamo già conoscere?

Cosa dobbiamo già conoscere? Cosa dobbiamo già conoscere? Insiemistica (operazioni, diagrammi...). Insiemi finiti/numerabili/non numerabili. Perché la probabilità? In molti esperimenti l esito non è noto a priori tuttavia si sa dire

Dettagli

Introduzione al Corso di Algoritmi

Introduzione al Corso di Algoritmi Università di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Accademico 2014/15 p. 1/36 Introduzione al Corso di Algoritmi Di cosa parliamo oggi: Una discussione generale su cosa studieremo, perchè

Dettagli

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: G.C.D.( a d, b d ) = 1 Sono state introdotte a lezione due definizioni importanti che ricordiamo: Definizione

Dettagli

Esercizi su. Funzioni

Esercizi su. Funzioni Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità

Dettagli

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi.

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi. Iniziamo con definizione (capiremo fra poco la sua utilità): DEFINIZIONE DI VARIABILE ALEATORIA Una variabile aleatoria (in breve v.a.) X è funzione che ha come dominio Ω e come codominio R. In formule:

Dettagli

Serie numeriche e serie di potenze

Serie numeriche e serie di potenze Serie numeriche e serie di potenze Sommare un numero finito di numeri reali è senza dubbio un operazione che non può riservare molte sorprese Cosa succede però se ne sommiamo un numero infinito? Prima

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

Random number generators

Random number generators Statistica computazionale Random number generators www.cash-cow.it Distribuito sotto licenza Creative Common, Share Alike Attribution 2 Indice I. Introduzione II. Processi fisici per la creazione di numeri

Dettagli

Corso di Calcolo delle Probabilità e Statistica. Esercizi su variabili aleatorie discrete

Corso di Calcolo delle Probabilità e Statistica. Esercizi su variabili aleatorie discrete Corso di Calcolo delle Probabilità e Statistica Esercizi su variabili aleatorie discrete Es.1 Da un urna con 10 pallina bianche e 15 palline nere, si eseguono estrazioni con reimbussolamento fino all estrazione

Dettagli

Calcolo delle Probabilita, INGEGNERIA INFORMATICA, semestre II, laurea (ord. Leonardo.

Calcolo delle Probabilita, INGEGNERIA INFORMATICA, semestre II, laurea (ord. Leonardo. Capitolo 1 9 Ottobre 00 Calcolo delle Probabilita, INGEGNERIA INFORMATICA, semestre II, laurea (ord. Leonardo. 000, Milano Esercizio 1.0.1 (svolto in classe [II recupero Ing. Matematica aa.00-0-rivisitato]nel

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

Corso di ELEMENTI DI STATISTICA Alcuni problemi di probabilità, con soluzioni

Corso di ELEMENTI DI STATISTICA Alcuni problemi di probabilità, con soluzioni Corso di ELEMENTI DI STATISTICA Alcuni problemi di probabilità, con soluzioni Si tratta di problemi elementari, formulati nel linguaggio ordinario Quindi, per ogni problema la suluzione proposta è sempre

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

= variazione diviso valore iniziale, il tutto moltiplicato per 100. \ Esempio: PIL del 2000 = 500; PIL del 2001 = 520:

= variazione diviso valore iniziale, il tutto moltiplicato per 100. \ Esempio: PIL del 2000 = 500; PIL del 2001 = 520: Fig. 10.bis.1 Variazioni percentuali Variazione percentuale di x dalla data zero alla data uno: x1 x 0 %x = 100% x 0 = variazione diviso valore iniziale, il tutto moltiplicato per 100. \ Esempio: PIL del

Dettagli

Corso di Esercitazioni di Programmazione

Corso di Esercitazioni di Programmazione Corso di Esercitazioni di Programmazione Introduzione Dott.ssa Sabina Rossi Informazioni Pagina web del corso: News Orari Mailing list Lezioni Esercitazioni Date esami Risultati esami.. http://www.dsi.unive.it/~prog1

Dettagli

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO 1. Load Balancing Un istanza del problema del load balancing consiste di una sequenza p 1,..., p n di interi positivi (pesi dei job) e un

Dettagli

Sommario della lezione

Sommario della lezione Università degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/33 Sommario della lezione Ancora sui cammini minimi: Cammini minimi in grafi con archi di costo negativo Algoritmi

Dettagli

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme G Pareschi Principio di induzione Il Principio di Induzione (che dovreste anche avere incontrato nel Corso di Analisi I) consente di dimostrare Proposizioni il cui enunciato è in funzione di un numero

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

Laboratorio di Algoritmi e Strutture Dati II Semestre 2005/2006. Ordinamenti: mergesort e quicksort

Laboratorio di Algoritmi e Strutture Dati II Semestre 2005/2006. Ordinamenti: mergesort e quicksort Laboratorio di Algoritmi e Strutture Dati II Semestre 2005/2006 Ordinamenti: mergesort e quicksort Marco Antoniotti Mergesort e Quicksort Due importantissimi algoritmi di ordinamento La conoscenza completa

Dettagli

QUICKSORT. Basato sul paradigma divide-et-impera (come MERGE-SORT)

QUICKSORT. Basato sul paradigma divide-et-impera (come MERGE-SORT) QUICKSORT Basato sul paradigma divide-et-impera (come MERGE-SORT) Divide: stabilisce un valore di q tale da dividere l array A[p.. r] in due sottoarray non vuoti A[p.. q] e A[q+1.. r], dove ogni elemento

Dettagli

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Appello dell 8 Febbraio 2005 Esercizio 1 (ASD) 1. Dire quale delle seguenti affermazioni è vera giustificando la risposta. (a) lg

Dettagli

USO DI CONCETTI PROBABILISTICI NEL PROGETTO E NELL ANALISI DI ALGORITMI

USO DI CONCETTI PROBABILISTICI NEL PROGETTO E NELL ANALISI DI ALGORITMI USO DI CONCETTI PROBABILISTICI NEL PROGETTO E NELL ANALISI DI ALGORITMI - Analisi probabilistica di algoritmi deterministici: si assume una distribuzione di probabilità delle istanze e si calcola il tempo

Dettagli

NULLSTELLENSATZ PER TUTTI

NULLSTELLENSATZ PER TUTTI NULLSTELLENSATZ PER TUTTI MARCO MANETTI Dedicato alla memoria di Franco Conti Il Nullstellensatz, detto anche teorema degli zeri di Hilbert, è la generalizzazione in più dimensioni del teorema fondamentale

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

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

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

Matematica finanziaria: svolgimento della prova di esame del 4 settembre 2007 1

Matematica finanziaria: svolgimento della prova di esame del 4 settembre 2007 1 Matematica finanziaria: svolgimento della prova di esame del 4 settembre. Calcolare il montante che si ottiene dopo anni con un investimento di e in regime nominale al tasso annuale del % pagabile due

Dettagli

Laboratorio di dinamiche socio-economiche

Laboratorio di dinamiche socio-economiche Dipartimento di Matematica Università di Ferrara giacomo.albi@unife.it www.giacomoalbi.com 21 febbraio 2012 Seconda parte: Econofisica La probabilità e la statistica come strumento di analisi. Apparenti

Dettagli

Matematica in laboratorio

Matematica in laboratorio Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a

Dettagli

Reti sequenziali e strutturazione firmware

Reti sequenziali e strutturazione firmware Architettura degli Elaboratori, a.a. 25-6 Reti sequenziali e strutturazione firmware Alla parte di corso sulle reti sequenziali è apportata una sensibile semplificazione rispetto a quanto contenuto nel

Dettagli

ESERCIZI SVOLTI. 1) Dimostrare che l insieme. non è ricorsivo. Soluzione: Definiamo l insieme

ESERCIZI SVOLTI. 1) Dimostrare che l insieme. non è ricorsivo. Soluzione: Definiamo l insieme ESERCIZI SVOLTI 1) Dimostrare che l insieme Allora notiamo che π non è vuoto perché la funzione ovunque divergente appartiene all insieme avendo per dominio l insieme. Inoltre π non coincide con l insieme

Dettagli

Parte 3. Rango e teorema di Rouché-Capelli

Parte 3. Rango e teorema di Rouché-Capelli Parte 3. Rango e teorema di Rouché-Capelli A. Savo Appunti del Corso di Geometria 203-4 Indice delle sezioni Rango di una matrice, 2 Teorema degli orlati, 3 3 Calcolo con l algoritmo di Gauss, 6 4 Matrici

Dettagli

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri.

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri. Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri. A partire da questa lezione, ci occuperemo di come si riescono a codificare con sequenze binarie, quindi con sequenze di 0 e 1,

Dettagli

Viene lanciata una moneta. Se esce testa vinco 100 euro, se esce croce non vinco niente. Quale è il valore della mia vincita?

Viene lanciata una moneta. Se esce testa vinco 100 euro, se esce croce non vinco niente. Quale è il valore della mia vincita? Viene lanciata una moneta. Se esce testa vinco 00 euro, se esce croce non vinco niente. Quale è il valore della mia vincita? Osserviamo che il valore della vincita dipende dal risultato dell esperimento

Dettagli

Esercizi di Calcolo delle Probabilita (I)

Esercizi di Calcolo delle Probabilita (I) Esercizi di Calcolo delle Probabilita (I) 1. Si supponga di avere un urna con 15 palline di cui 5 rosse, 8 bianche e 2 nere. Immaginando di estrarre due palline con reimmissione, si dica con quale probabilità:

Dettagli

Decisioni in condizioni di rischio. Roberto Cordone

Decisioni in condizioni di rischio. Roberto Cordone Decisioni in condizioni di rischio Roberto Cordone Decisioni in condizioni di rischio Rispetto ai problemi in condizioni di ignoranza, oltre all insieme Ω dei possibili scenari, è nota una funzione di

Dettagli

Ancora sull indipendenza. Se A e B sono indipendenti allora lo sono anche

Ancora sull indipendenza. Se A e B sono indipendenti allora lo sono anche Ancora sull indipendenza Se A e B sono indipendenti allora lo sono anche A e B Ā e B Ā e B Sfruttiamo le leggi di De Morgan Leggi di De Morgan A B = Ā B A B = Ā B P (Ā B) = P (A B) = 1 P (A B) = 1 (P (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

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

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

Dettagli

VERIFICA DELLE IPOTESI

VERIFICA DELLE IPOTESI VERIFICA DELLE IPOTESI Introduzione Livelli di significatività Verifica di ipotesi sulla media di una popolazione normale Verifica di ipotesi sulla varianza di una popolazione normale Verifica di ipotesi

Dettagli

Teoria delle code. Sistemi stazionari: M/M/1 M/M/1/K M/M/S

Teoria delle code. Sistemi stazionari: M/M/1 M/M/1/K M/M/S Teoria delle code Sistemi stazionari: M/M/1 M/M/1/K M/M/S Fabio Giammarinaro 04/03/2008 Sommario INTRODUZIONE... 3 Formule generali di e... 3 Leggi di Little... 3 Cosa cerchiamo... 3 Legame tra N e le

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

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati schifano@fe.infn.it Laurea di Informatica - Università di Ferrara 2011-2012 [1] Strutture dati Dinamiche: Le liste Una lista è una sequenza di elementi di un certo tipo in cui è possibile aggiungere e/o

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

Stima per intervalli Nei metodi di stima puntuale è sempre presente un ^ errore θ θ dovuto al fatto che la stima di θ in genere non coincide con il parametro θ. Sorge quindi l esigenza di determinare una

Dettagli

1. Calcolare la probabilità che estratte a caso ed assieme tre carte da un mazzo di 40, fra di esse vi sia un solo asso, di qualunque seme.

1. Calcolare la probabilità che estratte a caso ed assieme tre carte da un mazzo di 40, fra di esse vi sia un solo asso, di qualunque seme. Esercizi difficili sul calcolo delle probabilità. Calcolare la probabilità che estratte a caso ed assieme tre carte da un mazzo di, fra di esse vi sia un solo asso, di qualunque seme. Le parole a caso

Dettagli

Matematica II: Calcolo delle Probabilità e Statistica Matematica

Matematica II: Calcolo delle Probabilità e Statistica Matematica Matematica II: Calcolo delle Probabilità e Statistica Matematica ELT A-Z Docente: dott. F. Zucca Esercitazione # Esercizi Statistica Descrittiva Esercizio I gruppi sanguigni di persone sono B, B, AB, O,

Dettagli

Tutorato di Probabilità e Statistica

Tutorato di Probabilità e Statistica Università Ca Foscari di Venezia Dipartimento di informatica 20 aprile 2006 Variabili aleatorie... Example Giochiamo alla roulette per tre volte 1 milione sull uscita del numero 29. Qual è la probabilità

Dettagli

Algoritmi e Strutture Dati

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

Dettagli

Algoritmi (9 CFU) (A.A. 2009-10)

Algoritmi (9 CFU) (A.A. 2009-10) Algoritmi (9 CFU) (A.A. 2009-10) Probabilità e Algoritmi randomizzati Prof. V. Cutello Algoritmi 1 Overview Definiamo concetti di base di probabilità Variabili casuali e valore medio Algoritmi randomizzati

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E04 Esempi di algoritmi e programmi C. Limongelli - A. Miola Novembre 2011 1 Contenuti q Somma di una sequenza di numeri interi

Dettagli

2.4.1 Generazione di numeri pseudocasuali con distribuzione uniforme

2.4.1 Generazione di numeri pseudocasuali con distribuzione uniforme GENERAZIONE DI OSSERVAZIONI CASUALI 157 2.4 GENERAZIONE DI OSSERVAZIONI CASUALI Una volta determinate le distribuzioni di input, la simulazione dovrà generare durante ogni esecuzione osservazioni casuali

Dettagli

Elementi di calcolo delle probabilità

Elementi di calcolo delle probabilità Elementi di calcolo delle probabilità Definizione di probabilità A) Qui davanti a me ho un urna contenente 2 palline bianche e 998 nere. Mi metto una benda sugli occhi, scuoto ripetutamente l urna ed estraggo

Dettagli

Clickomania con Blockly

Clickomania con Blockly Clickomania con Blockly Violetta Lonati Sommario Clickomania è un solitario, noto anche come Chain Shot! o Same Game. Il campo di gioco è costituito da una parete inizialmente coperta di mattoni, uno per

Dettagli

Minimo Albero Ricoprente

Minimo Albero Ricoprente Minimo lbero Ricoprente Pag. 1/20 Minimo lbero Ricoprente Il problema della definizione di un Minimo lbero Ricoprente trova applicazione pratica in diverse aree di studio, quali ad esempio la progettazione

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

L Ultimo Teorema di Fermat per n = 3 e n = 4

L Ultimo Teorema di Fermat per n = 3 e n = 4 Università degli Studi di Cagliari Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Matematica L Ultimo Teorema di Fermat per n = 3 e n = 4 Relatore Prof. Andrea Loi Tesi di Laurea

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

Domanda e offerta di lavoro

Domanda e offerta di lavoro Domanda e offerta di lavoro 1. Assumere (e licenziare) lavoratori Anche la decisione di assumere o licenziare lavoratori dipende dai costi che si devono sostenere e dai ricavi che si possono ottenere.

Dettagli

Linguaggi. Claudio Sacerdoti Coen 11/04/2011. 18: Semantica della logica del prim ordine. Universitá di Bologna

Linguaggi. Claudio Sacerdoti Coen 11/04/2011. 18: Semantica della logica del prim ordine. <sacerdot@cs.unibo.it> Universitá di Bologna Linguaggi 18: Semantica della logica del prim ordine Universitá di Bologna 11/04/2011 Outline Semantica della logica del prim ordine 1 Semantica della logica del prim ordine Semantica

Dettagli

PRIMAVERA IN BICOCCA

PRIMAVERA IN BICOCCA PRIMAVERA IN BICOCCA 1. Numeri primi e fattorizzazione Una delle applicazioni più rilevanti della Teoria dei Numeri si ha nel campo della crittografia. In queste note vogliamo delineare, in particolare,

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

APPUNTI SU PROBLEMI CON CALCOLO PERCENTUALE

APPUNTI SU PROBLEMI CON CALCOLO PERCENTUALE APPUNTI SU PROBLEMI CON CALCOLO PERCENTUALE 1. Proporzionalità diretta e proporzionalità inversa Analizziamo le seguenti formule Peso Lordo = Peso Netto + Tara Ricavo = Utile + Costo Rata = Importo + Interesse

Dettagli

Sorgenti autorevoli in ambienti hyperlinkati.

Sorgenti autorevoli in ambienti hyperlinkati. Sorgenti autorevoli in ambienti hyperlinkati. La qualità di un metodo di ricerca richiede la valutazione umana dovuta alla soggettività inerente alla nozione di rilevanza. I motori di ricerca correnti,

Dettagli

La scelta in condizioni di incertezza

La scelta in condizioni di incertezza La scelta in condizioni di incertezza 1 Stati di natura e utilità attesa. L approccio delle preferenza per gli stati Il problema posto dall incertezza riformulato (state-preference approach). L individuo

Dettagli

Elementi di Psicometria con Laboratorio di SPSS 1

Elementi di Psicometria con Laboratorio di SPSS 1 Elementi di Psicometria con Laboratorio di SPSS 1 12-Il t-test per campioni appaiati vers. 1.2 (7 novembre 2014) Germano Rossi 1 germano.rossi@unimib.it 1 Dipartimento di Psicologia, Università di Milano-Bicocca

Dettagli

Teoria dei Giochi non Cooperativi

Teoria dei Giochi non Cooperativi Politecnico di Milano Descrizione del gioco Egoismo Razionalità 1 L insieme dei giocatori 2 La situazione iniziale 3 Le sue possibili evoluzioni 4 I suoi esiti finali I Giochi della teoria Perché studiare

Dettagli

Vincere a testa o croce

Vincere a testa o croce Vincere a testa o croce Liceo B. Russell - Cles (TN) Classe 3D Insegnante di riferimento: Claretta Carrara Ricercatrice: Ester Dalvit Partecipanti: Alessio, Christian, Carlo, Daniele, Elena, Filippo, Ilaria,

Dettagli

Risoluzione. Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005

Risoluzione. Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005 Risoluzione Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005 1 Risoluzione Introdurremo ora un metodo per capire se un insieme di formule è soddisfacibile o meno. Lo vedremo prima per insiemi

Dettagli

Liceo Scientifico Statale Leonardo Da Vinci

Liceo Scientifico Statale Leonardo Da Vinci Liceo Scientifico Statale Leonardo Da Vinci Via Possidonea 14, 89125 Reggio Calabria Dirigente Scolastico:Preside Prof.essa Vincenzina Mazzuca Progetto multimediale di matematica e fisica per le terze

Dettagli

TEOREMI SULLA PROBABILITÀ

TEOREMI SULLA PROBABILITÀ TEOREMI SULLA PROBABILITÀ o Probabilità totale oprobabilità contraria oprobabilità condizionata odipendenza stocastica oprobabilità composta oformula di Bayes oproblemi di riepilogo Probabilità di eventi

Dettagli

Prob(CCCCCCCCCC) = 1 2 10

Prob(CCCCCCCCCC) = 1 2 10 12. Contenuto di Informazione Algoritmico (AIC) - 17/05/12 Vogliamo adesso introdurre una nozione di contenuto di informazione di una stringa infinita, prodotta da una sorgente di informazione, che non

Dettagli

Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10. Lecture 22: 1 Giugno 2010. Meccanismi Randomizzati

Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10. Lecture 22: 1 Giugno 2010. Meccanismi Randomizzati Strumenti della Teoria dei Giochi per l Informatica AA 2009/10 Lecture 22: 1 Giugno 2010 Meccanismi Randomizzati Docente Vincenzo Auletta Note redatte da: Davide Armidoro Abstract In questa lezione descriveremo

Dettagli

IL PROBLEMA DELLO SHORTEST SPANNING TREE

IL 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

Dettagli

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona e e Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario e ed implementazione in Java Visita di un grafo e e Concetti di base Struttura

Dettagli

- LAVORO - - ENERGIA MECCANICA - - POTENZA -

- LAVORO - - ENERGIA MECCANICA - - POTENZA - Danilo Saccoccioni - LAVORO - - ENERGIA MECCANICA - - POTENZA - Indice Lavoro compiuto da una forza relativo ad uno spostamento pag. 1 Lavoro ed energia cinetica 3 Energia potenziale 4 Teorema di conservazione

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

TSP con eliminazione di sottocicli

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

Dettagli

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache... Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Dettagli

Soluzione degli esercizi sul moto rettilineo uniformemente accelerato

Soluzione degli esercizi sul moto rettilineo uniformemente accelerato Liceo Carducci Volterra - Classe 3 a B Scientifico - Francesco Daddi - 8 novembre 00 Soluzione degli esercizi sul moto rettilineo uniformemente accelerato Esercizio. Un corpo parte da fermo con accelerazione

Dettagli

Il principio di induzione e i numeri naturali.

Il principio di induzione e i numeri naturali. Il principio di induzione e i numeri naturali. Il principio di induzione è un potente strumento di dimostrazione, al quale si ricorre ogni volta che si debba dimostrare una proprietà in un numero infinito

Dettagli

Esericizi di calcolo combinatorio

Esericizi di calcolo combinatorio Esericizi di calcolo combinatorio Alessandro De Gregorio Sapienza Università di Roma alessandrodegregorio@uniroma1it Problema (riepilogativo) La segretaria di un ufficio deve depositare 3 lettere in 5

Dettagli

Entropia. Motivazione. ? Quant è l informazione portata dalla sequenza? Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,...

Entropia. Motivazione. ? Quant è l informazione portata dalla sequenza? Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,... Entropia Motivazione Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,... ) s,s 2,s 3,... ognuno dei quali appartiene ad un alfabeto A di M elementi.? Quant è l informazione portata

Dettagli

Esercizi sul moto rettilineo uniformemente accelerato

Esercizi sul moto rettilineo uniformemente accelerato Liceo Carducci Volterra - Classe 3 a B Scientifico - Francesco Daddi - 8 novembre 010 Esercizi sul moto rettilineo uniformemente accelerato Esercizio 1. Un corpo parte da fermo con accelerazione pari a

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

9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A = LU

9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A = LU 9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A LU 9.1 Il metodo di Gauss Come si è visto nella sezione 3.3, per la risoluzione di un sistema lineare si può considerare al posto

Dettagli

x (x i ) (x 1, x 2, x 3 ) dx 1 + f x 2 dx 2 + f x 3 dx i x i

x (x i ) (x 1, x 2, x 3 ) dx 1 + f x 2 dx 2 + f x 3 dx i x i NA. Operatore nabla Consideriamo una funzione scalare: f : A R, A R 3 differenziabile, di classe C (2) almeno. Il valore di questa funzione dipende dalle tre variabili: Il suo differenziale si scrive allora:

Dettagli

TSP con eliminazione di sottocicli

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

Dettagli

Ricerca Operativa 2. Introduzione al metodo del Simplesso

Ricerca Operativa 2. Introduzione al metodo del Simplesso Ricerca Operativa 2. Introduzione al metodo del Simplesso Luigi De Giovanni Giacomo Zambelli 1 Problemi di programmazione lineare Un problema di ottimizzazione vincolata è definito dalla massimizzazione

Dettagli

COORDINAMENTO E GESTIONE DI PROGETTI COMPLESSI

COORDINAMENTO E GESTIONE DI PROGETTI COMPLESSI COORDINAMENTO E GESTIONE DI PROGETTI COMPLESSI 1. - Formulazione del problema Supponiamo di dover organizzare e gestire un progetto complesso, quale puó essere la costruzione di un edificio, oppure la

Dettagli