[Algoritmi] Complessità QuickSelect-Analisi al caso medio

Messaggioda TizioConfuso » 09/07/2018, 08:36

Salve a tutti!
Studiando il QuickSelect (aka RANDOMIZED-SELECT) da questo libro: https://people.mpi-inf.mpg.de/~mehlhorn ... oolbox.pdf
non sono riuscito a capire l'analisi al caso medio (pagina 115, Teorema 19).

In particolare mi sfugge il senso della disequazione

$ T(n) <= cn + \gammaT(2n/3) + (1 - \gamma)T(n) $

dove $ \gamma $ indica la probabilità per un pivot di essere un 'buon pivot'. Secondo la teoria un pivot è detto buon pivot se, quando viene pescato all'interno dell'array in modo casuale (con la subroutine in versione random di Parition, utilizzata da Quicksort), il pivot cade nel terzo centrale (ovvero, supposto di aver suddiviso l'array in tre parti 'uguali', per terzo centrale si intende la parte di mezzo). Non riesco proprio a capire il senso di quella disequazione e come essa possa limitare inferiormente la relazione di ricorrenza.

Il prof scrisse una versione analoga di quella disequazione, ovvero l'equazione seguente:

$ T(n) = \theta(n) + 1/3 T(2n/3) + 2/3T(n-1) $

dove si è esplicitato il valore della probailità $ \gamma $.

Per una maggiore comprensione fornisco anche il codice:

Immagine
TizioConfuso
New Member
New Member
 
Messaggio: 22 di 56
Iscritto il: 25/11/2016, 15:22

Re: [Algoritmi] Complessità QuickSelect-Analisi al caso medio

Messaggioda apatriarca » 10/07/2018, 00:44

L'idea principale della disequazione è che il costo sarà \(T1(n) \leq c\,n + T(2n/3)\) nel caso in cui ti trovi nella condizione del buon pivot o \(T2(n) \leq c\,n + T(n)\) nel caso in cui questa condizione non è verificata. Il costo medio è calcolato moltiplicando ogni costo per la sua probabilità e sommando tra di loro questi valori. Nel tuo caso hai quindi \( E(T(n)) \leq \gamma\,T1(n) + (1 - \gamma)\,T2(n) \) che si riduce alla tua disuguaglianza facendo qualche semplificazione. Nota che hai \(\gamma\) e \(1 - \gamma\) semplicemente perché le probabilità di due eventi opposti sommano a uno..
apatriarca
Moderatore
Moderatore
 
Messaggio: 5068 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite