Algoritmi e strutture dati

Documenti analoghi
i-esima statistica d ordine di un insieme = i-esimo elemento più piccolo

Note per la Lezione 11 Ugo Vaccaro

Informatica 3. Informatica 3. LEZIONE 18: Ordinamento. Lezione 18 - Modulo 1. Introduzione. Analisi algoritmi di ordinamento.

CAPITOLO 3. Quicksort

Relazioni di ricorrenza

Corso di Linguaggi e Traduttori 1 AA TEORIA DELLA COMPUTAZIONE (cenni)

3 Ricorrenze. 3.1 Metodo iterativo

Programmazione dinamica vs. divide-et-impera

Algoritmi e Strutture Dati (Mod. B) Programmazione Dinamica (Parte I)

Algoritmi e Strutture Dati Esercizi Prima parte

Ricerca di un elemento in una matrice

Soluzioni degli esercizi di Analisi Matematica I

Tempo di calcolo. , per cui x è un caso più sfavorevole quando T. peggiore(

Insiemi numerici. Sono noti l insieme dei numeri naturali: N = {1, 2, 3, }, l insieme dei numeri interi relativi:

2T(n/2) + n se n > 1 T(n) = 1 se n = 1

Algoritmi e Programmazione Avanzata - teoria. Questa lezione si occupa di ordinamenti: gli algoritmi iterativi di ordinamento

Algoritmi e Strutture Dati (Elementi)

Ricorrenze. 3 1 Metodo iterativo

TECNICA DIVIDE ET IMPERA

Esercitazione 3 Sistemi lineari

Appendice A. Elementi di Algebra Matriciale

Pensiero Algoritmico. Lezione 4 30 Novembre Ripasso. Torri di Hanoi Soluzione. Torri di Hanoi Definizione. Ozalp Babaoglu Università di Bologna

Principio di induzione: esempi ed esercizi

algoritmi e strutture di dati

Tutorato di Probabilità 1, foglio I a.a. 2007/2008

Soluzioni degli esercizi del corso di Analisi Matematica I

Campionamento casuale da popolazione finita (caso senza reinserimento )

T n = f n log n = log n. 1 ] 1 ] 1 = sono verificate le disuguaglianze c 1

Metodi quantitativi per l analisi dello sviluppo

Popolazione e Campione

Popolazione e Campione

Entropia ed informazione

Algoritmi e Strutture Dati

Algoritmi di ordinamento per confronto di chiavi

Esercizi di Analisi Matematica

COMPLESSITA COMPUTAZIONALE ESERCITAZIONI (I PARTE) Tutor: Francesca Piersigilli

Analisi Matematica A e B Soluzioni prova scritta n. 4

Esercitazione 2 Soluzione di equazioni non lineari

P(X = k) = (k 1). 2 Infatti, le uniche sequenze di lunghezza k (di T e C) possibili sono

Facoltà di Scienze MM.FF.NN. Corso di Laurea in Matematica - A.A Prova scritta di Analisi Matematica I del c.1.

Esercizi: analisi asintotica delle funzioni di complessità ricorsive. January 31, 2007

1 + 1 ) n ] n. < e nα 1 n

Unità Didattica N 33 L algebra dei vettori

Analisi Matematica I modulo Soluzioni prova scritta preliminare n. 1

Matematica con elementi di Informatica

LE MISURE DI TENDENZA CENTRALE

Corsi di laurea in fisica ed astronomia Prova scritta di Analisi Matematica 2. Padova,

Trasmissione del calore con applicazioni numeriche: informatica applicata

1. a n = n 1 a 1 = 0, a 2 = 1, a 3 = 2, a 4 = 3,... Questa successione cresce sempre piú al crescere di n e vedremo che {a n } diverge.

TEORIA DELLE MATRICI. dove aij K. = di ordine n, gli elementi aij con i = j (cioè gli elementi a 11

APPENDICE 1 Richiami di algebra lineare

AM110 - ESERCITAZIONI V - VI. Esercizio svolto 1. Dimostrare che ogni insieme finito ha un massimo ed un minimo.

Equazioni di ricorrenza e Ordinamenti lineari

Una funzione delle osservazioni campionarie è una statistica che, nel contesto della stima di un parametro, viene definita stimatore.

Elementi di statistica descrittiva. Tabella dei dati :

Calcolo Numerico A.A Esercitazione n

Scritto di Analisi Matematica IV per Matematica Anno Accademico 2016/17 15/02/2018

Algoritmi e Strutture di Dati

Daniela Tondini

Disposizioni semplici

Distribuzione normale o gaussiana

Alberi Binari di Ricerca

Accenni al calcolo combinatorio

Es. di Ordine di crescita. Di quanto aumenta il running time se la taglia ~nlog(n) operazioni. dell input)

Ottavio Serra La costante C di Eulero-Mascheroni e la funzione Gamma. 1. =

Stima di somme: esercizio

Esercitazioni del Corso di Probabilitá e Statistica Lezione 6: Stime di parametri puntuali e per intervalli

Progetto e analisi di algoritmi

Algebra delle matrici

I TRIANGOLI ARITMETICI

Esercizi: analisi asintotica delle funzioni di complessitá ricorsive

Circuiti a tempo discreto Raffaele Parisi

Analisi e Geometria 1

(a 0, a 1, a 2,..., a n,...) (0, a 0 ), (1, a 1 ), (2, a 2 ),... (1, 3, 5, 7,...) Lezione del 26 settembre. 1. Successioni.

Giulio Cesare Barozzi: Primo Corso di Analisi Matematica Zanichelli (Bologna), 1998, ISBN

Corso di laurea in Matematica Corso di Analisi Matematica 1-2 AA Dott.ssa Sandra Lucente Successioni numeriche

Tecnica delle misurazioni applicate LM - Esame del 26 febbraio 2013

Divide et Impera. Minimo e Massimo. Minimo e Massimo. Risoluzione di problemi per partizione con lavoro bilanciato

Algoritmi e Strutture Dati (Mod. B) Programmazione Dinamica (Parte II)

Nozioni preliminari: sia R n lo spazio n-dimensionale dell algebra vettoriale. Un punto in R n e una n-pla di numeri reali (x 1, x 2 x n )

Distribuzione normale

Equazioni differenziali

SULLE PARTIZIONI DI UN INSIEME

Algoritmi e Strutture Dati. Introduzione

= = 32

Appunti complementari per il Corso di Statistica

(x log x) n2. (14) n + log n

SERIE DI POTENZE. n=0 a n z n.

In linguaggio analitico parlare di tre tagli equivale ad individuare le equazioni di tre rette che intersecano il triangolo in questione.

Somma E possibile sommare due matrici A e B ottenendo una matrice C se e solo se le due matrici hanno lo stesso numero di righe e di colonne.

2,3, (allineamenti decimali con segno, quindi chiaramente numeri reali); 4 ( = 1,33)

v = ( v 1,..., v n ).

LE MISURE DI SINTESI (misure di tendenza centrale)

Matematiche Complementari 24 gennaio 2012

5 CAMPIONAMENTO SISTEMATICO 5.1 INTRODUZIONE

Trasmissione del calore con applicazioni numeriche: informatica applicata

Sottospazi associati a matrici e forma implicita. Sottospazi associati a una matrice Dimensione e basi con riduzione Sottospazi e sistemi. Pag.

SERIE DI POTENZE Esercizi risolti. Esercizio 1 Determinare il raggio di convergenza e l insieme di convergenza della serie di potenze. x n.

Metodi numerici PROCESSI ITERATIVI PER VALORI SCALARI. Ivan Zivko. Metodi numerici. Docente: Ivan Zivko 1

Transcript:

Algoritmi e Strutture Dati Selezioe e statistiche di ordie Problemi di statistiche d ordie Estrarre da gradi quatità di dati u piccolo isieme di idicatori che e rappresetio caratteristiche statisticamete salieti Esempi: miimo, massimo, media, moda (valore più frequete), mediao. Selezioe (k,): Dati isieme di elemeti ed itero k [1,], trovare elemeto che occuperebbe la k-esima posizioe se l isieme fosse ordiato Mediao: selezioe per k = /2 2

Selezioe: approcci aïf Ordia gli elemeti, poi restituisci quello i posizioe k : O( log ) Costruisci u heap, ed estrai il miimo per k volte: O( + k log ) O() se k = O(/log ) ma o risolve problema del mediao i tempo lieare! 3 Calcolo radomizzato del mediao (co umero atteso di cofroti lieare ) 4

Usare QuickSort? 1. Divide: scegli pivot x e partizioa i elemeti x ed elemeti > x 2. Risolvi due sottoproblemi (QuickSort) 3. Impera: cocatea sottosequeze ordiate 4. Restituisci k-esimo elemeto ella sequeza Numero atteso di cofroti O( log ) Possiamo fare di meglio? 5 Usare QuickSort? 1. Divide: scegli pivot x e partizioa i elemeti x ed elemeti > x 2. Risolvi UN SOTTOPROBLEMA (QuickSort) 3. Impera: cocatea sottosequeze 4. Restituisci k-esimo elemeto ella sequeza Numero atteso di cofroti: acora O( log ) Possiamo fare di meglio? 6

1. Divide: scegli pivot x e partizioa i elemeti x ed elemeti > x 2. Risolvi u solo sottoproblema (RICORSIVAMENTE) QuickSelect 7 QuickSelect 8

Aalisi el caso peggiore Nel caso peggiore, pivot scelto ad ogi passo è miimo o massimo degli elemeti ell array Numero di cofroti el caso peggiore è: C() = C(-1) + O() Risolvedo per iterazioe si ottiee C() = O( 2 ) 9 QuickSelect Radomizzato Come per QuickSort, possiamo evitare caso peggiore scegliedo pivot a caso Ad ogi passo elimiiamo almeo elemeti A 2 + mi{ A 1, A 3 } 10

Aalisi di QuickSelect Numero atteso di cofroti: Relazioe di ricorreza dipederà da k e da Difficile da risolvere Ci aspettiamo caso più difficile per k = /2 11 Ituizioe Maggior umero di cofroti i QuickSelect si ha per k = /2, ovvero el caso del mediao Per k < /2 ci soo maggiori possibilità di ricorrere sul più piccolo dei due isiemi A 1 e A 3 12

Aalisi di QuickSelect Radomizzato Ad ogi passo elimiiamo almeo A 2 + mi{ A 1, A 3 } elemeti Ogi elemeto ha stessa probabilità di essere scelto come pivot: probabilità di ricorrere su array di dimesioe i [/2,-1] è 2/ Numero di cofroti el caso atteso è quidi: C() = -1+ -1 i=/2 2 C(i) 13 Aalisi di QuickSelect Radomizzato Dimostriamo per sostituzioe che C() A C() = -1+ -1+ -1 i=/2 2-1 2 C(i) -1+ A -1-1+ 2 A ( i=/2 ( 1 + 3A 4 ) C() A se ( 1 + 3A 4 ) i i=/2 2 A i -1 ( i ) 2-1+ A i - i=1 /2-1 i=1 2 2-2 8 - ) 4 = ( 1 + 3A) 4-1- A 2 A ovvero A 4 14

Numero atteso di cofroti Relazioe di ricorreza del QuickSelect ha soluzioe C() 4 Il umero atteso di cofroti di QuickSelect è lieare 15 Algoritmo usato i pratica Per covergere rapidamete, scegli il pivot il più vicio possibile al k-esimo (dal lato giusto) Come? Scegli u campioe opportuo (m elemeti) Scegli il pivot come il j-esimo degli m elemeti: j = k m + - δ 16

Calcolo determiistico del mediao (co u umero lieare di cofroti el caso peggiore) 17 Algoritmo determiistico Deradomizzare l algoritmo radomizzato Segui l idea dell algoritmo usato i pratica Scegli u campioe determiistico (o casuale) Scegli il pivot come il mediao del campioe 18

Algoritmo determiistico: dettagli 1. Scegli /5 quituple 2. Per ogi quitupla calcola il mediao 3. Il campioe è defiito dai mediai delle quituple 4. Calcola (ricorsivamete) il pivot come mediao dei mediai 5. Prosegui ricorsivamete (come per l algoritmo radomizzato) 19 Select Calcolo determiistico del pivot tramite ua chiamata ricorsiva (riga 6) 20

Mediao dei mediai Pivot M è mediao dei mediai m i dei /5 gruppi di 5 elemeti Mediao di 5 elemeti può essere calcolato co al più 7 cofroti l implemetazioe della riga 5 richiede (7/5) cofroti (ordiado i 5 elemeti) La riga 6 è ua chiamata ricorsiva su /5 elemeti La partizioe (righe 7-10) richiede -1 cofroti 21 Secoda chiamata ricorsiva La chiamata ricorsiva ella riga 11 (riga 12) viee effettuata su u isieme coteete al più 7/10 +3 elemeti 22

Algoritmo determiistico: aalisi 1. Scegli /5 quituple 2. Per ogi quitupla calcola mediao 3. Campioe defiito da mediai delle quituple 4. Calcola (ricorsivamete) il pivot come mediao dei mediai 5. Partizioa itoro al pivot 6. Prosegui ricorsivamete (come per l algoritmo radomizzato) (7/5) T( /5 ) -1 T( (7/10) ) 23 Aalisi La seguete relazioe di ricorreza descrive il umero di cofroti eseguiti da select el caso peggiore: T() (12/5) + T( /5 ) + T( (7/10) ) La relazioe di ricorreza ha soluzioe T() = O() Facile dimostrare per sostituzioe che T() c per c 24 24

Riepilogo Abbiamo risolto il problema del calcolo del mediao studiadoe ua geeralizzazioe, ovvero il calcolo del k-esimo elemeto per k [1,] A volte problema più geerale più semplice da risolvere del problema origiario (dà più facilmete luogo a sottoproblemi ricorsivi) Il problema della selezioe può essere risolto i tempo lieare, sia co algoritmi radomizzati che co algoritmi determiistici L algoritmo radomizzato, sebbea richieda tempo O( 2 ) el caso peggiore, è più efficiete i pratica 25