Definizione di equazione di ricorrenza
Una equazione di ricorrenza è un'equazione matematica che descrive una funzione in termini del suo valore in altri argomenti. Le equazioni di ricorrenza permettono di descrivere matematicamente i tempi di esecuzione di un algoritmo ricorsivo.
- Se la ricorrenza è espressa con ’=’ allora si userà la notazione
, se con ’<’ allora si userà , se con ’>’ allora si userà Analisi asintotica (Matematica)
Formalmente, in una ricorrenza della forma:
è il tempo di esecuzione dell’algoritmo per un input di dimensione . è il numero di sottoproblemi in cui il problema originale viene diviso, con . è la dimensione di ciascun sotto-problema, dove è una costante. è la funzione forzante.
- Caso base: ogni equazione di ricorrenza deve essere accompagnata da un “caso base”, ovvero una condizione che non è definita in termini ricorsivi. Questo è il punto in cui la ricorsione si ferma.
- Passo ricorsivo: questo è il cuore dell’equazione e di solito è composto da due parti:
- il costo delle chiamate ricorsive e
- il costo del lavoro svolto al di fuori di esse (come la divisione del problema o la combinazione dei risultati).
Esempio di equazione di ricorrenza (MergeSort)
L’equazione di ricorrenza T(n) = 2T(n/2) + Θ(n) descrive perfettamente questo concetto:
- 2T(n/2): Il costo per risolvere ricorsivamente due sottoproblemi di dimensione dimezzata.
- Θ(n): Il costo (lineare) per combinare le soluzioni dei sottoproblemi.
- In Analisi algoritmica utilizziamo sempre ricorrenze il cui caso base è
per una certa soglia abbastanza piccola.
Come risolvere una ricorrenza?
Per dimostrare il valore
- Metodo di sostituzione: si formula un’ipotesi e si usa un’induzione matematica per dimostrarla
- Albero di ricorsione: metodo grafico in cui si utilizza un albero per rappresentare la ricorsione
- Masters theorem (Algoritmo): metodo principale che permette di risolvere tramite l’analisi di 3 possibili casi di ricorrenze nella forma:
- Akra-Bazzi: generalizzazione del metodo principale per ogni tipo di equazione di ricorrenza