Esercizio - ricorrenza di quicksort, forma chiusa e confronto con n log n
Teoria: Analisi probabilistica di quicksort e quickselectCon pivot casuale due elementi di rango $i<j$ vengono confrontati con probabilità $2/(j-i+1)$; sommando sulle coppie il numero atteso di confronti di quicksort è esattamente $2(n+1)H_n-4n\approx2n\ln n-2{,}85,n$ (stessa formula dalla ricorrenza $C_n=n-1+\frac2n\sum_{k<n}C_k$). Quickselect trova il $k$-esimo elemento con attesa lineare, al più $4n$ confronti (mediana $\approx3{,}39,n$). Pivot fisso su input casuale equivale a pivot casuale su input qualunque.Analisi probabilistica di quicksort e quickselect → (ricorrenza alternativa), Notazione asintoticaDefinizioni di O, Omega, Theta e o piccolo con le costanti c ed n0; esempi con costanti esplicite; proprietà (polinomi, esponenziali, logaritmi, somme, implicazioni tra notazioni); sommatorie notevoli; terminologia (logaritmica, lineare, polinomiale, esponenziale).Notazione asintotica →.
Testo. Sia il numero atteso di confronti di quicksort con pivot casuale su chiavi distinte.
- Scrivere la ricorrenza (con ) e spiegarla.
- Trasformarla nella ricorrenza a un solo termine e risolverla.
- Calcolare .
- Per e calcolare e confrontarlo con e con .
Soluzione
1. Ricorrenza. Il pivot ha rango con probabilità ciascuno; la partizione costa confronti e lascia due sottoproblemi di taglie e , ancora su chiavi distinte e in ordine "casuale" per le scelte del pivot. Per probabilità totale sul rango (attesa condizionata: Linearità del valore atteso e variabili indicatriciLa linearità $E[X+Y]=E[X]+E[Y]$ vale sempre, anche senza indipendenza; con le variabili indicatrici ($E[I_A]=P(A)$) trasforma un conteggio in una somma di probabilità. Applicazioni: attesa del primo successo $1/p$, collezionista di figurine $nH_n$, punti fissi di una permutazione (media $1$), record (media $H_n$), inversioni ($n(n-1)/4$), attesa condizionata, identità di Wald $E[S_N]=E[N]E[X]$.Linearità del valore atteso e variabili indicatrici →) perché le due somme e contengono gli stessi addendi .
2. Un solo termine. Si moltiplica per : . La stessa uguaglianza per è . Sottraendo, la somma si riduce al solo termine : Si divide per per ottenere un telescopio: e (denominatore comune: ). Srotolando fino a : dove . Quindi .
3. Valori. Dalla ricorrenza a un termine: ; ; ; ; ; ; . La formula dà gli stessi valori (per esempio ).
4. Taglie grandi. Con :
- : ; (rapporto ); .
- : ; (rapporto , che tende a ); : il caso pessimo è volte più grande della media.
Risultato. ; ; , .
Verifica Python: ricorrenza risolta con Fraction e confronto con la formula chiusa per (uguaglianza esatta); simulazione di ordinamenti con : media (scarto dalla media esatta , compatibile con l'errore statistico).
Versione ripasso
- Ricorrenza: , (rango del pivot uniforme, probabilità totale).
- Differenza tra e : .
- Telescopio: ; (Analisi probabilistica di quicksort e quickselectCon pivot casuale due elementi di rango $i<j$ vengono confrontati con probabilità $2/(j-i+1)$; sommando sulle coppie il numero atteso di confronti di quicksort è esattamente $2(n+1)H_n-4n\approx2n\ln n-2{,}85,n$ (stessa formula dalla ricorrenza $C_n=n-1+\frac2n\sum_{k<n}C_k$). Quickselect trova il $k$-esimo elemento con attesa lineare, al più $4n$ confronti (mediana $\approx3{,}39,n$). Pivot fisso su input casuale equivale a pivot casuale su input qualunque.Analisi probabilistica di quicksort e quickselect →).
- Valori: per .
- : (caso pessimo ); : , rapporto verso (Notazione asintoticaDefinizioni di O, Omega, Theta e o piccolo con le costanti c ed n0; esempi con costanti esplicite; proprietà (polinomi, esponenziali, logaritmi, somme, implicazioni tra notazioni); sommatorie notevoli; terminologia (logaritmica, lineare, polinomiale, esponenziale).Notazione asintotica →).
- Verifica: Fraction, uguaglianza esatta per ; simulazione .
- Errore tipico: dimenticare il termine o che conta ogni due volte (fattore ).