Risoluzione di equazioni di ricorrenza contenenti due chiamate di ricorsione


15

Sto cercando di trovare un limite per la seguente equazione di ricorrenza:Θ

T(n)=2T(n/2)+T(n/3)+2n2+5n+42

Immagino che il Teorema del Maestro sia inappropriato a causa della diversa quantità di sottoproblemi e divisioni. Inoltre, gli alberi di ricorsione non funzionano poiché non c'è o piuttosto .T(1)T(0)


5
Se hai una ricorrenza di quel modulo, DEVE esserci un caso base, ad esempio per tutti . In caso contrario, non si può dire a cosa risolverà la ricorrenza: forse T (n) = 2 ^ m per tutto n <100 , dove m è la dimensione del problema originale! (immagina una ricorsione che termina nel confrontare il numero costante di qualsiasi cosa tu stia ricorrendo a tutti i sottoinsiemi degli elementi originali) In altre parole: nessun caso di base implica informazioni insufficienti per risolvere la ricorrenza. n < 100 T ( n ) = 2 m n < 100 mT(n)42n<100T(n)=2mn<100m
Alex ten Brink,

Risposte:


15

Sì, gli alberi di ricorsione funzionano ancora! Non importa affatto se il caso base si verifica in o o o anche in . Inoltre, non importa quale sia il valore effettivo del caso base; qualunque sia quel valore, è una costante.T ( 1 ) T ( 2 ) T ( 10 100 )T(0)T(1)T(2)T(10100)

Visto attraverso gli occhiali big-Theta, la ricorrenza è .T(n)=2T(n/2)+T(n/3)+n2

  • La radice dell'albero di ricorsione ha valore .n2

  • La radice ha tre figli, con valori , e . Pertanto, il valore totale di tutti i bambini è .(n/2)2(n/2)2(n/3)2(11/18)n2

  • Controllo di integrità: la radice ha nove nipoti: quattro con valore , quattro con valore e uno con valore . La somma di questi valori è .(n/4)2(n/6)2(n/9)2(11/18)2n2

  • Una semplice prova di induzione implica che per qualsiasi numero intero , i nodi a livello hanno un valore totale .03(11/18)n2

  • Le somme di livello formano una serie geometrica discendente, quindi conta solo il termine più grande .=0

  • Concludiamo che .T(n)=Θ(n2)


14

Puoi usare il metodo Akra-Bazzi più generale .

Nel tuo caso, dovremmo trovare tale chep

12p1+13p=1

(che dà )p1.364

e poi abbiamo

T(x)=Θ(xp+xp1xt1pdt)=Θ(x2)

Si noti che non è necessario risolvere per . Tutto quello che devi sapere è che 1 < p < 2 .p1<p<2

Un metodo più semplice sarebbe impostare e provare a provare che g ( x ) è limitato.T(x)=x2g(x)g(x)


14

Sia essere una scorciatoia per il lato destro della ricorrenza. Troviamo un limite inferiore e superiore per f usando T ( n / 3 ) T ( n / 2 ) :f(n)=2T(n/2)+T(n/3)+2n2+5n+42fT(n/3)T(n/2)

3T(n/3)+2n2+5n+42f(n)3T(n/2)+2n2+5n+42

Se usiamo il resp inferiore. limite superiore come lato destro della ricorrenza, otteniamo in entrambi i casi dal teorema del Maestro. Pertanto, T ( n ) è delimitato dall'alto da O ( n 2 ) e dal basso da Ω ( n 2 ) o, equivalentemente, T ( n ) Θ ( n 2 ) .T(n)Θ(n2)T(n)O(n2)Ω(n2)T(n)Θ(n2)


  1. Per una prova completa, dovresti provare che è una funzione crescente.T


1
Quel trucco non funzionerà per ricorrenze simili, come , che possono essere risolti con alberi di ricorsione. (Ma anche gli alberi di ricorsione non funzioneranno per T ( n ) = 2 T ( n / 2 ) + 4 T ( n / 3 ) + n 2 , che può essere risolto con Akra-Bazzi.)T(n)=2T(n/2)+3T(n/3)+n2T(n)=2T(n/2)+4T(n/3)+n2
JeffE,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.