Rozwiązywanie równań rekurencyjnych zawierających dwa wezwania rekurencyjne

15

Próbuję znaleźć granicę Θ dla następującego równania rekurencyjnego:

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

Uważam, że Twierdzenie Mistrza jest nieodpowiednie ze względu na różną liczbę podproblemów i podziałów. Również drzewa rekurencyjne nie działają, ponieważ nie ma a raczej T ( 0 ) .T(1)T(0)

Laura
źródło
5
Jeśli masz powtarzalność tego formularza, MUSI istnieć przypadek podstawowy, powiedzmy dla wszystkich n < 100 . Jeśli nie, to nie ma mowy o rozwiązaniu problemu: może T ( n ) = 2 m dla wszystkich n < 100 , gdzie m jest rozmiarem pierwotnego problemu! (wyobraź sobie rekurencję, która kończy się porównywaniem stałej liczby wszystkiego, co rekursujesz, ze wszystkimi podzbiorami oryginalnych elementów) Innymi słowy: żaden przypadek podstawowy nie sugeruje wystarczającej ilości informacji do rozwiązania tej rekurencji. T(n)42n<100T(n)=2mn<100m
Alex ten Brink

Odpowiedzi:

15

Tak, drzewa rekurencyjne nadal działają! Nie ma znaczenia, czy w ogóle występuje, w przypadku podstawy i T ( 1 ) i T ( 2 ) , a nawet T ( 10 100 ) . Nie ma również znaczenia, jaka jest rzeczywista wartość przypadku podstawowego; niezależnie od tej wartości, jest stała.T(0)T(1)T(2)T(10100)

Widziana przez okulary Big-Theta, nawrót wynosi .T(n)=2T(n/2)+T(n/3)+n2

  • Korzeń drzewa rekurencyjnego ma wartość .n2

  • Rdzeń ma troje potomków o wartościach , ( n / 2 ) 2 i ( n / 3 ) 2 . Zatem, całkowita wartość wszystkich dzieci jest ( 11 / 18 ) n 2 .(n/2)2(n/2)2(n/3)2(11/18)n2

  • Sprawdzanie rozsądku: Rdzeń ma dziewięciu wnuków: czterech o wartości , czterech o wartości ( n / 6 ) 2 i jednego o wartości ( n / 9 ) 2 . Suma tych wartości jest ( 11 / 18 ), 2 n 2 .(n/4)2(n/6)2(n/9)2(11/18)2n2

  • Łatwe dowód indukcji wskazuje, że dla każdej liczby całkowitej , że 3 £ -l węzły na poziomie £ -l mieć całkowitą wartość ( 11 / 18 ) £ -l n 2 .03(11/18)n2

  • Kwoty poziom tworzą opadającą geometrycznym, więc tylko największym termin spraw.=0

  • Wnioskujemy, że .T(n)=Θ(n2)

JeffE
źródło
14

Możesz użyć bardziej ogólnej metody Akra-Bazzi .

W twoim przypadku musielibyśmy znaleźć takie p

12p1+13p=1

(co daje )p1.364

i wtedy mamy

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

Zauważ, że tak naprawdę nie musisz rozwiązywać problemów z . Wszystko, co musisz wiedzieć, to że 1 < p < 2 .p1<p<2

Prostszą metodą byłoby ustawienie i próba udowodnienia, że g ( x ) jest ograniczone.T(x)=x2g(x)g(x)

Aryabhata
źródło
14

Niech będzie skrótem dla prawej strony nawrotu. Znajdujemy dolną i górną granicę dla f , stosując 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

Jeśli użyjemy niższej lub niższej. górną granicę jako prawą stronę nawrotu, otrzymujemy w obu przypadkach przez twierdzenie Master. Zatem T ( n ) jest ograniczony od góry przez O ( n 2 ), a od dołu przez Ω ( n 2 ) lub, równoważnie, T ( n ) Θ ( n 2 ) .T(n)Θ(n2)T(n)O(n2)Ω(n2)T(n)Θ(n2)


  1. Aby uzyskać pełny dowód, powinieneś udowodnić, że jest funkcją rosnącą.T.
Raphael
źródło
1
T.(n)=2)T.(n/2))+3)T.(n/3))+n2)T.(n)=2)T.(n/2))+4T.(n/3))+n2), które można rozwiązać za pomocą Akra-Bazzi.)
JeffE