Rozważmy teraz rekursję, którą otrzymamy z (7) poprzez dodanie do prawej strony ciągu
Otrzymana wówczas rekurencja nazywa się niejednorodną.
Problem:
Jak znaleźć rozwiązanie szczególne rekurencji
niejednorodnej?
Jeśli jest ciągiem stałym, to są gotowetwierdzenia.
Rozwiązania szczególnego równania niejednorodnego można poszukiwać również metodą przewidywań. Najważniejsze jej przypadki to:
Metoda podstawiania polega na odgadnięciu oszacowania, a następnie wykazaniu, że jest ono trafne.
Kroki postępowania:
Wyznaczamy kilka początkowych wyrazów ciągu
Odgadujemy postać n-tego wyrazu ciągu
Wykazujemy (zwykle indukcyjnie), że ciąg o tak określonym n-tym wyrazie
spełnia rozwiązanie równania
Przykład
R c
N c n
y y
y
n n
, , ,
0
2 2
1
1
Odgadujemy, po wyliczeniu kilku pierwszych wyrazów, że
y
k kc
2
Robimy podstawienie
2
k=n
i otrzymujemyy
n c log
2n
Stosujemy zasadę indukcji matematycznej, aby udowodnić to rozwiązanie dla n będących potęgami dwójki.
Ćwiczenie - tablica
Metoda iteracyjna polega na tym, że przekształcamy rekurencję
w sumę, a następnie korzystamy z różnych technik szacowania
sum.
Przykład
Jak długo musimy powtarzać ten proces, zanim osiągniemy warunki początkowe?
Metoda rekurencji uniwersalnej stosowana jest do rekursji postaci
T(n)=aT(n/b)+f(n),
(10)gdzie
a≥1, b>1, f
jest pewną funkcją nieujemną określoną na podzbiorze liczb naturalnych.Rekursja (10) opisuje czas działania algorytmu, który dzieli problem rozmiaru n na a podproblemów o rozmiarze n/b.
Każdy z a podproblemów jest rozwiązywany rekurencyjnie w czasie T(n/b).
Koszt dzielenia problemu oraz łączenia rezultatów częściowych jest opisany funkcją f.
Ważne twierdzenie!!
I część (zakładamy, że n jest potęgą liczby b)
Etap 1
Etap 2
II część (rozszerzenie poprzedniej analizy na
przypadek dowolnych liczb naturalnych)
Etap 1 Etap 3
Etap 2 Schemat
dowodu:
Przykład
Pokażemy teraz przykład prawdziwości ostatniej uwagi.
Przykład ten wpada w lukę między przypadkami 2 i 3.
Uwaga końcowa: