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

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

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

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

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

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

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

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

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

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

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

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

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

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme 1. L insieme R. Per lo svolgimento del corso risulta particolarmente utile considerare l insieme R = R {, + }, detto anche retta reale estesa, che si ottiene aggiungendo all insieme dei numeri reali R

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

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

OSSERVAZIONI TEORICHE Lezione n. 4

OSSERVAZIONI TEORICHE Lezione n. 4 OSSERVAZIONI TEORICHE Lezione n. 4 Finalità: Sistematizzare concetti e definizioni. Verificare l apprendimento. Metodo: Lettura delle OSSERVAZIONI e risoluzione della scheda di verifica delle conoscenze

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

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

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

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

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

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

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede

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

= 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

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

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

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

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

Teoria dei Giochi. Anna Torre

Teoria dei Giochi. Anna Torre Teoria dei Giochi Anna Torre Almo Collegio Borromeo 26 marzo 2015 email: anna.torre@unipv.it sito web del corso:www-dimat.unipv.it/atorre/borromeo2015.html COOPERAZIONE Esempio: strategie correlate e problema

Dettagli

STRUTTURE ALGEBRICHE

STRUTTURE ALGEBRICHE STRUTTURE ALGEBRICHE Operazioni in un insieme Sia A un insieme non vuoto; una funzione f : A A A si dice operazione binaria (o semplicemente operazione), oppure legge di composizione interna. Per definizione

Dettagli

Lezione 9: Cambio di base

Lezione 9: Cambio di base Lezione 9: Cambio di base In questa lezione vogliamo affrontare uno degli argomenti piu ostici per lo studente e cioè il cambio di base all interno di uno spazio vettoriale, inoltre cercheremo di capire

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

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

Esercizi su lineare indipendenza e generatori

Esercizi su lineare indipendenza e generatori Esercizi su lineare indipendenza e generatori Per tutto il seguito, se non specificato esplicitamente K indicherà un campo e V uno spazio vettoriale su K Cose da ricordare Definizione Dei vettori v,,v

Dettagli

(concetto classico di probabilità)

(concetto classico di probabilità) Probabilità matematica (concetto classico di probabilità) Teoria ed esempi Introduzione Il calcolo delle probabilità è la parte della matematica che si occupa di prevedere, sulla base di regole e leggi

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

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

RETI DI TELECOMUNICAZIONE

RETI DI TELECOMUNICAZIONE RETI DI TELECOMUNICAZIONE SISTEMI M/G/1 e M/D/1 Sistemi M/G/1 Nei sistemi M/G/1: i clienti arrivano secondo un processo di Poisson con parametro λ i tempi di servizio hanno una distribuzione generale della

Dettagli

b. Che cosa succede alla frazione di reddito nazionale che viene risparmiata?

b. Che cosa succede alla frazione di reddito nazionale che viene risparmiata? Esercitazione 7 Domande 1. L investimento programmato è pari a 100. Le famiglie decidono di risparmiare una frazione maggiore del proprio reddito e la funzione del consumo passa da C = 0,8Y a C = 0,5Y.

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

Matematica generale CTF

Matematica generale CTF Successioni numeriche 19 agosto 2015 Definizione di successione Monotonìa e limitatezza Forme indeterminate Successioni infinitesime Comportamento asintotico Criterio del rapporto per le successioni Definizione

Dettagli

Per poter affrontare il problema abbiamo bisogno di parlare di probabilità (almeno in maniera intuitiva). Analizziamo alcune situazioni concrete.

Per poter affrontare il problema abbiamo bisogno di parlare di probabilità (almeno in maniera intuitiva). Analizziamo alcune situazioni concrete. Parliamo di probabilità. Supponiamo di avere un sacchetto con dentro una pallina rossa; posso aggiungere tante palline bianche quante voglio, per ogni pallina bianca che aggiungo devo pagare però un prezzo

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

Alberi binari di ricerca

Alberi binari di ricerca Alberi binari di ricerca Definizione Visita dell albero inorder Ricerca Ricerca minimo, massimo e successore. Inserimento ed eliminazione di un nodo Problema del bilanciamento dell albero Albero binario

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

PROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE

PROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE Matematica e statistica: dai dati ai modelli alle scelte www.dima.unige/pls_statistica Responsabili scientifici M.P. Rogantin e E. Sasso (Dipartimento di Matematica Università di Genova) PROBABILITÀ -

Dettagli

Introduzione ai Metodi Formali

Introduzione ai Metodi Formali Intruzione ai Meti Formali Sistemi software anche molto complessi regolano la vita quotidiana, anche in situazioni life-critical (e.g. avionica) e business-critical (e.g. operazioni bancarie). Esempi di

Dettagli

Un modello matematico di investimento ottimale

Un modello matematico di investimento ottimale Un modello matematico di investimento ottimale Tiziano Vargiolu 1 1 Università degli Studi di Padova Liceo Scientifico Benedetti Venezia, giovedì 30 marzo 2011 Outline 1 Investimento per un singolo agente

Dettagli

1 Applicazioni Lineari tra Spazi Vettoriali

1 Applicazioni Lineari tra Spazi Vettoriali 1 Applicazioni Lineari tra Spazi Vettoriali Definizione 1 (Applicazioni lineari) Si chiama applicazione lineare una applicazione tra uno spazio vettoriale ed uno spazio vettoriale sul campo tale che "!$%!

Dettagli

Aspetti probabilistici del gioco d azzardo

Aspetti probabilistici del gioco d azzardo Università degli Studi di Genova Scuola di Scienze Sociali Dipartimento di Economia Perché il banco vince sempre? Aspetti probabilistici del gioco d azzardo Enrico di Bella (edibella@economia.unige.it)

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

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

10. Insiemi non misurabili secondo Lebesgue.

10. Insiemi non misurabili secondo Lebesgue. 10. Insiemi non misurabili secondo Lebesgue. Lo scopo principale di questo capitolo è quello di far vedere che esistono sottoinsiemi di R h che non sono misurabili secondo Lebesgue. La costruzione di insiemi

Dettagli

B+Trees. Introduzione

B+Trees. Introduzione B+Trees Introduzione B+Trees Il B+Trees e la variante maggiormente utilizzata dei BTrees BTrees e B+trees fanno parte della famiglia degli alberi di ricerca. Nel B+Trees i dati sono memorizzati solo nelle

Dettagli

Metodi statistici per l economia (Prof. Capitanio) Slide n. 9. Materiale di supporto per le lezioni. Non sostituisce il libro di testo

Metodi statistici per l economia (Prof. Capitanio) Slide n. 9. Materiale di supporto per le lezioni. Non sostituisce il libro di testo Metodi statistici per l economia (Prof. Capitanio) Slide n. 9 Materiale di supporto per le lezioni. Non sostituisce il libro di testo 1 TEST D IPOTESI Partiamo da un esempio presente sul libro di testo.

Dettagli

Esame di Statistica del 17 luglio 2006 (Corso di Laurea Triennale in Biotecnologie, Università degli Studi di Padova).

Esame di Statistica del 17 luglio 2006 (Corso di Laurea Triennale in Biotecnologie, Università degli Studi di Padova). Esame di Statistica del 17 luglio 2006 (Corso di Laurea Triennale in Biotecnologie, Università degli Studi di Padova). Cognome Nome Matricola Es. 1 Es. 2 Es. 3 Es. 4 Somma Voto finale Attenzione: si consegnano

Dettagli

Test statistici di verifica di ipotesi

Test statistici di verifica di ipotesi Test e verifica di ipotesi Test e verifica di ipotesi Il test delle ipotesi consente di verificare se, e quanto, una determinata ipotesi (di carattere biologico, medico, economico,...) è supportata dall

Dettagli

VARIABILI ALEATORIE CONTINUE

VARIABILI ALEATORIE CONTINUE VARIABILI ALEATORIE CONTINUE Se X è una variabile aleatoria continua, la probabilità che X assuma un certo valore x fissato è in generale zero, quindi non ha senso definire una distribuzione di probabilità

Dettagli

La variabile casuale Binomiale

La variabile casuale Binomiale La variabile casuale Binomiale Si costruisce a partire dalla nozione di esperimento casuale Bernoulliano che consiste in un insieme di prove ripetute con le seguenti caratteristiche: i) ad ogni singola

Dettagli

Numeri naturali numeri naturali minore maggiore Operazioni con numeri naturali

Numeri naturali numeri naturali minore maggiore Operazioni con numeri naturali 1 Numeri naturali La successione di tutti i numeri del tipo: 0,1, 2, 3, 4,..., n,... forma l'insieme dei numeri naturali, che si indica con il simbolo N. Tale insieme si può disporre in maniera ordinata

Dettagli

24 : 3 = 8 con resto 0 26 : 4 = 6 con resto 2

24 : 3 = 8 con resto 0 26 : 4 = 6 con resto 2 Dati due numeri naturali a e b, diremo che a è divisibile per b se la divisione a : b è esatta, cioè con resto 0. In questo caso diremo anche che b è un divisore di a. 24 : 3 = 8 con resto 0 26 : 4 = 6

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

Funzioni continue. ) della funzione calcolata in x 0, ovvero:

Funzioni continue. ) della funzione calcolata in x 0, ovvero: Funzioni continue Dal punto di vista intuitivo dire che una funzione è continua in un intervallo è come dire che nel disegnare il suo grafico non stacchiamo mai la penna dal foglio. Scriviamo adesso la

Dettagli

Il funzionamento di prezzipazzi, registrazione e meccanismi

Il funzionamento di prezzipazzi, registrazione e meccanismi Prima di spiegare prezzipazzi come funziona, facciamo il punto per chi non lo conoscesse. Nell ultimo periodo si fa un gran parlare di prezzipazzi ( questo il sito ), sito che offre a prezzi veramente

Dettagli

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo Logica Numerica Approfondimento E. Barbuto Minimo Comune Multiplo e Massimo Comun Divisore Il concetto di multiplo e di divisore Considerato un numero intero n, se esso viene moltiplicato per un numero

Dettagli

Primi esercizi per gli studenti del corso di Statistica ed Elementi di Probabilita

Primi esercizi per gli studenti del corso di Statistica ed Elementi di Probabilita Primi esercizi per gli studenti del corso di Statistica ed Elementi di Probabilita NOTA 1 Gli esercizi sono presi da compiti degli scorsi appelli, oppure da testi o dispense di colleghi. A questi ultimi

Dettagli

Università degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI

Università degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI ORDINAMENTO DEI DATI Quando si ordina un elenco (ovvero una serie di righe contenenti dati correlati), le righe sono ridisposte in base al contenuto di una colonna specificata. Distinguiamo due tipi di

Dettagli

E naturale chiedersi alcune cose sulla media campionaria x n

E naturale chiedersi alcune cose sulla media campionaria x n Supponiamo che un fabbricante stia introducendo un nuovo tipo di batteria per un automobile elettrica. La durata osservata x i delle i-esima batteria è la realizzazione (valore assunto) di una variabile

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

Alessandro Pellegrini

Alessandro Pellegrini Esercitazione sulle Rappresentazioni Numeriche Esistono 1 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono Alessandro Pellegrini Cosa studiare prima Conversione

Dettagli

Testi di Esercizi e Quesiti 1

Testi di Esercizi e Quesiti 1 Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica

Dettagli

CRITERI DI CONVERGENZA PER LE SERIE. lim a n = 0. (1) s n+1 = s n + a n+1. (2) CRITERI PER LE SERIE A TERMINI NON NEGATIVI

CRITERI DI CONVERGENZA PER LE SERIE. lim a n = 0. (1) s n+1 = s n + a n+1. (2) CRITERI PER LE SERIE A TERMINI NON NEGATIVI Il criterio più semplice è il seguente. CRITERI DI CONVERGENZA PER LE SERIE Teorema(condizione necessaria per la convergenza). Sia a 0, a 1, a 2,... una successione di numeri reali. Se la serie a k è convergente,

Dettagli

Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria).

Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria). Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria). Aprile 20 Indice Serie numeriche. Serie convergenti, divergenti, indeterminate.....................

Dettagli

Lezioni di Matematica 1 - I modulo

Lezioni di Matematica 1 - I modulo Lezioni di Matematica 1 - I modulo Luciano Battaia 16 ottobre 2008 Luciano Battaia - http://www.batmath.it Matematica 1 - I modulo. Lezione del 16/10/2008 1 / 13 L introduzione dei numeri reali si può

Dettagli

LEZIONE 23. Esempio 23.1.3. Si consideri la matrice (si veda l Esempio 22.2.5) A = 1 2 2 3 3 0

LEZIONE 23. Esempio 23.1.3. Si consideri la matrice (si veda l Esempio 22.2.5) A = 1 2 2 3 3 0 LEZIONE 23 231 Diagonalizzazione di matrici Abbiamo visto nella precedente lezione che, in generale, non è immediato che, data una matrice A k n,n con k = R, C, esista sempre una base costituita da suoi

Dettagli

Esercizio 1: trading on-line

Esercizio 1: trading on-line Esercizio 1: trading on-line Si realizzi un programma Java che gestisca le operazioni base della gestione di un fondo per gli investimenti on-line Creazione del fondo (con indicazione della somma in inizialmente

Dettagli

1. PRIME PROPRIETÀ 2

1. PRIME PROPRIETÀ 2 RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,

Dettagli

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Teoria dei Giochi. Anna Torre

Teoria dei Giochi. Anna Torre Teoria dei Giochi Anna Torre Almo Collegio Borromeo 9 marzo 2010 email: anna.torre@unipv.it sito web del corso:www-dimat.unipv.it/atorre/borromeo2010.html TEOREMI DI ESISTENZA TEOREMI DI ESISTENZA Teorema

Dettagli

Probabilità condizionata: p(a/b) che avvenga A, una volta accaduto B. Evento prodotto: Evento in cui si verifica sia A che B ; p(a&b) = p(a) x p(b/a)

Probabilità condizionata: p(a/b) che avvenga A, una volta accaduto B. Evento prodotto: Evento in cui si verifica sia A che B ; p(a&b) = p(a) x p(b/a) Probabilità condizionata: p(a/b) che avvenga A, una volta accaduto B Eventi indipendenti: un evento non influenza l altro Eventi disgiunti: il verificarsi di un evento esclude l altro Evento prodotto:

Dettagli

Esercitazione #5 di Statistica. Test ed Intervalli di Confidenza (per una popolazione)

Esercitazione #5 di Statistica. Test ed Intervalli di Confidenza (per una popolazione) Esercitazione #5 di Statistica Test ed Intervalli di Confidenza (per una popolazione) Dicembre 00 1 Esercizi 1.1 Test su media (con varianza nota) Esercizio n. 1 Il calore (in calorie per grammo) emesso

Dettagli

VINCERE AL BLACKJACK

VINCERE AL BLACKJACK VINCERE AL BLACKJACK Il BlackJack è un gioco di abilità e fortuna in cui il banco non può nulla, deve seguire incondizionatamente le regole del gioco. Il giocatore è invece posto continuamente di fronte

Dettagli

4. Operazioni binarie, gruppi e campi.

4. Operazioni binarie, gruppi e campi. 1 4. Operazioni binarie, gruppi e campi. 4.1 Definizione. Diremo - operazione binaria ovunque definita in A B a valori in C ogni funzione f : A B C - operazione binaria ovunque definita in A a valori in

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

1 n. Intero frazionato. Frazione

1 n. Intero frazionato. Frazione Consideriamo un intero, prendiamo un rettangolo e dividiamolo in sei parti uguali, ciascuna di queste parti rappresenta un sesto del rettangolo, cioè una sola delle sei parti uguali in cui è stato diviso.

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

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

PROBABILITA. Sono esempi di fenomeni la cui realizzazione non è certa a priori e vengono per questo detti eventi aleatori (dal latino alea, dado)

PROBABILITA. Sono esempi di fenomeni la cui realizzazione non è certa a priori e vengono per questo detti eventi aleatori (dal latino alea, dado) L esito della prossima estrazione del lotto L esito del lancio di una moneta o di un dado Il sesso di un nascituro, così come il suo peso alla nascita o la sua altezza.. Il tempo di attesa ad uno sportello

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

Comparatori. Comparatori di uguaglianza

Comparatori. Comparatori di uguaglianza Comparatori Scopo di un circuito comparatore é il confronto tra due codifiche binarie. Il confronto può essere effettuato per verificare l'uguaglianza oppure una relazione d'ordine del tipo "maggiore",

Dettagli

UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA

UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA Tutti gli anni, affrontando l argomento della divisibilità, trovavo utile far lavorare gli alunni sul Crivello di Eratostene. Presentavo ai ragazzi una

Dettagli

VC-dimension: Esempio

VC-dimension: Esempio VC-dimension: Esempio Quale è la VC-dimension di. y b = 0 f() = 1 f() = 1 iperpiano 20? VC-dimension: Esempio Quale è la VC-dimension di? banale. Vediamo cosa succede con 2 punti: 21 VC-dimension: Esempio

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

OGNI SPAZIO VETTORIALE HA BASE

OGNI SPAZIO VETTORIALE HA BASE 1 Mimmo Arezzo OGNI SPAZIO VETTORIALE HA BASE CONVERSAZIONE CON ALCUNI STUDENTI DI FISICA 19 DICEMBRE 2006 2 1 Preliminari Definizione 1.0.1 Un ordinamento parziale (o una relazione d ordine parziale)

Dettagli

Esercizi di Probabilità e Statistica

Esercizi di Probabilità e Statistica Esercizi di Probabilità e Statistica Samuel Rota Bulò 16 luglio 2006 V.a. discrete e distribuzioni discrete Esercizio 1 Dimostrare la proprietà della mancanza di memoria della legge geometrica, ovvero

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