In informatica, il metodo Akra-Bazzi, o teorema Akra-Bazzi, è utilizzato per analizzare il comportamento asintotico delle ricorrenze matematiche che appaiono nello studio degli algoritmi divide et impera, in cui i diversi sottoproblemi hanno dimensioni decisamente differenti. È una generalizzazione del teorema principale, in cui si assume che i sottoproblemi abbiano invece dimensioni simili.
Il metodo Akra-Bazzi si applica alle formule ricorsive del tipo:

per
Le pre-condizioni sono:
- vi sono sufficienti casi base;
e
sono costanti per ogni 
per ogni 
per ogni 
, dove
è una costante e
è la notazione O grande;
per ogni 
è una costante.
Il comportamento asintotico di
si trova determinando il valore di
per cui
, sostituendolo poi nell'equazione

(si veda Θ). Intuitivamente
rappresenta una perturbazione piccola nell'indice di
notando che

e

sono sempre comprese tra 0 e 1,
può essere utilizzato per escludere la parte intera nell'indice, e lo stesso si può fare per la parte intera superiore.
Quindi,
e
avranno, ai fini del metodo Akra-Bazzi, lo stesso comportamento asintotico.
Un esempio
Sia

Applicando il metodo, il primo passo consiste nel trovare il valore di
per cui
. Nell'esempio proposto,
. Usando quindi la formula, si ha per il comportamento asintotico

Impiego
Il metodo Akra-Bazzi è più utile di molte altre tecniche in quanto copre un ventaglio molto ampio di casi. La sua principale applicazione è l'approssimazione del tempo di esecuzione di molti algoritmi divide et impera. Ad esempio nel merge sort, il numero di comparazioni richieste nel caso peggiore, che è all'incirca proporzionale al tempo di esecuzione, è dato ricorsivamente da
e

per gli
, e può essere valutato come
.
Bibliografia
- (EN) Mohamad Akra, Louay Bazzi, On the solution of linear recurrence equations, in Computational Optimization and Applications, vol. 10, n. 2, 1998, pp. 195-210.
- (EN) Tom Leighton, Notes on Better Master Theorems for Divide-and-Conquer Recurrences (manoscritto, 9 pagine), Massachusetts Institute of Technology, 1996.
Voci correlate
Collegamenti esterni