Ricorrenze

Attraverso i metodi delle ricorrenze è possibile risolvere la ricorsione nelle complessità degli algoritmi.

Metodo dell'iterazione

La procedura consiste nell'esplodere la ricorsione fino a trovare un pattern, come:

che viene esploso fino ad arrivare al caso base, quando l'argomento è , cioè: quindi dopo essere stato esploso fino al caso base con , si ottiene:

Per esempio, se per la serie geometrica, fino al caso base in cui:

Metodo della sostituzione

In questo caso si indovina la complessità e si dimostra per induzione, come per: si dimostra che , cioè che: per il caso base ipotizzando sia allora , quindi: dove perchè il caso base ha provato la proprietà fino a e , mentre perchè l'intero prima è sempre più piccolo. Va quindi dimostrato che : che è valido perchè dal caso base.

Teorema Master

Se consideriamo un algoritmo come la suddivisione in sottoproblemi, si ha: dove è il tempo della suddivisione in sottoproblemi grandi . Quindi:

Allora dato un , si ha:

  • Caso 1

    per cui la complessità è dominata dalla parte ricorsiva .

    Per esempio, se allora , e per cui: e se per esempio allora quindi .

  • Caso 2

    allora la complessità della parte di suddivisione e ricorsiva si equivalgono.

    Per esempio, se allora , e per cui: e che corrisponde al caso 2, di conseguenza .

  • Caso 3

    per cui, se ci vuole più tempo per dividere il padre in figli che per dividere tutti gli figli (per la condizione ausiliaria), allora la complessità è dominata dalla parte di suddivisione .

    Per esempio, se allora , e per cui: e se per esempio allora e va trovata per cui:
    che è valido perchè dalla condizione, quindi .

Dimostrazione

Esplodendo il tempo si trova che, e.g. con :

ovvero che al livello ci sono nodi e i sottoproblemi sono grandi , per cui: dove è il tempo per finire le chiamate al livello , e all'ultimo livello : da cui si può ricavare il numero di foglie: da cui deriva la del teorema, e con cui si può trovare il numero di nodi:

  • Caso 1

    Per ipotesi , quindi va dimostrato che : con cui si può trovare che: e anche è verificato perchè è il numero di foglie che verranno sicuramente visitate.

  • Caso 2

    Per ipotesi , quindi va dimostrato che : da cui si trova che:

  • Caso 3

    Per ipotesi e cioè, che per ogni livello : e va quindi dimostrato che , per cui: e quindi dato che . Inoltre perchè si sa che: