Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Równania rekurencyjne

Podobne prezentacje


Prezentacja na temat: "Równania rekurencyjne"— Zapis prezentacji:

1 Równania rekurencyjne

2 Złożoność obliczeniowa – miara efektywności algorytmu
Złożoność obliczeniowa wyraża zależność czasu „t” wykonywania algorytmu (tj. liczby operacji niezbędnych do wykonania algorytmu) od liczby elementów „n” zbioru (n) na którym działa algorytm. t=f(n) Ponieważ często trudno określić dokładną postać funkcji, stosuje się więc, postać asymptotyczną

3 Notacja Θ Dla danej funkcji g(n) oznaczamy przez Θ (g(n)) zbiór funkcji Θ(g(n))={f(n): istnieją dodatnie stałe c1, c2 i n0 takie, że 0≤c1g(n) ≤f(n) ≤c2g(n) dla wszystkich n ≥n0} Mówimy, że g(n) jest asymptotycznie dokładnym oszacowaniem dla f(n) Do oznaczenia wartości stałej lub funkcji stałej względem pewnej zmiennej będziemy używać Θ(1).

4 Notacja Θ c2g(n) c1g(n) f(n) n n0

5 Notacja O Dla danej funkcji g(n) oznaczamy przez O (g(n)) zbiór funkcji O(g(n))={f(n): istnieją dodatnie stałe c i n0 takie, że 0≤ f(n) ≤cg(n) dla wszystkich n ≥n0} Notacja O określa asymptotyczną granicę górną.

6 Notacja O cg(n) f(n) n n0

7 Notacja Ω Dla danej funkcji g(n) oznaczamy przez Ω (g(n)) zbiór funkcji Ω (g(n))={f(n): istnieją dodatnie stałe c i n0 takie, że 0≤cg(n) ≤f(n) dla wszystkich n ≥n0} Notacja Ω określa asymptotyczną granice dolną. Twierdzenie Dla każdych dwóch funkcji f(n) i g(n) zachodzi zależność f(n)= Θ(g(n)) wtedy i tylko wtedy gdy f(n)=O(g(n)) i f(n)= Ω(g(n)).

8 Notacja Ω cg(n) f(n) n n0

9 Notacja o Dla danej funkcji g(n) oznaczamy przez o (g(n)) zbiór funkcji o(g(n))={f(n): dla każdej dodatniej stałej c istnieje stała n0 >0 taka, że 0≤f(n)<cg(n) dla wszystkich n ≥n0} Dla danej funkcji g(n) oznaczamy przez ω (g(n)) zbiór funkcji ω (g(n))={f(n): dla każdej dodatniej stałej c>0 istnieje stała n0 >0 taka, że 0≤cg(n) <f(n) dla wszystkich n ≥n0} Notacja ω

10 Zależności rekurencyjne
Czas algorytmu, który odwołuje się rekurencyjnie do samego siebie, można opisać zależnością rekurencyjną , która wyraża czas dla podproblemów rozmiaru n za pomocą czasu dla podproblemów mniejszych rozmiarów. Przykład funkcji rekurencyjnej – funkcja potęga:

11 Rekurencje Rekurencja jest równaniem lub nierównością opisującą funkcję złożoności w zależności od jej wartości dla danych wejściowych o mniejszych rozmiarach. Można wyróżnić trzy metody rozwiązywanie rekurencji: metoda podstawiania metoda iteracyjna metoda rekurencji uniwersalnej

12 Metoda podstawiania Metoda ta najpierw wymaga odgadnięcia postaci rozwiązania a następnie wykazania przez indukcję, że jest ono poprawne. Konieczne tez jest znalezienie odpowiednich stałych. Metoda ta może być używana do określenia górnego albo dolnego oszacowania na wartości rozwiązania rekurencji.

13 Metoda podstawiania Przykład 1
Obliczyć ograniczenie górne funkcji zadanej zależności rekurencyjną Rozwiązanie: Zgadujemy, ze rozwiązaniem będzie T(nO(nlgn). Udowodnimy, że T(n)≤cnlgn dla dobrze wybranej stałej c>0. Zakładamy, ze ograniczenie zachodzi dla tzn. gdzie lg to log2

14 Metoda podstawiania Przykład 1
Mamy: T(n) ≤cnlg(n/2)+n =cnlgn-cnlg2+n =cnlgn-cn+n ≤cnlgn spełnione dla c≥1

15 Zgadywanie rozwiązania
Jeżeli rekurencja jest podobna do innej, dla której znamy rozwiązanie, można spróbować podstawić postać rozwiązania tej innej funkcji. Można też udowodnić najpierw zgrubne górne oraz dolne oszacowanie a następnie zmniejszać błąd oszacowania aż się dojdzie do poprawnego rozwiązania

16 Przykład 2 Zamiana zmiennych
Czasami stosując zabiegi algebraiczne można upodobnić rekurencją do innej wcześniej znanej. Niech będzie dana równanie rekurencyjne: Dla wygodny nie przejmujemy się czy zaokrągleniami wartości takich jak√n. Podstawiając m=lgn otrzymujemy: T(2m)=2T(2m/2)+m Możemy teraz podstawić S(m)=T(2m), otrzymując rekurencję S(m)=2S(m/2)+m podobną do rekurencji w przykładzie 1 i mająca takie samo rozwiązanie: S(m)=O(mlgm). Zamieniając ponownie S(m) na T(n) otrzymujemy T(n)=T(2m)=S(m)=O(mlgm)=O(lgnlglgn).

17 Metoda iteracyjna Polega na rozwijaniu (iterowaniu) rekurencji i wyrażeniu jej jako sumy składników zależnych tylko od n oraz warunków brzegowcyh. Następnie można użyć technik sumowania do oszacowania rozwiązania.

18 Metoda iteracyjna Przykład 3

19 Metoda iteracyjna Przykład 3

20 Ograniczanie wyrazów sumy

21 Ograniczanie wyrazów sumy

22 Rozdzielanie sum

23 Szacowanie całkami

24 Metoda rekurencji uniwersalnej Twierdzenie o rekurencji uniwersalnej

25 Metoda rekurencji uniwersalnej Przykłady

26 Metoda rekurencji uniwersalnej Przykłady

27 Bibliografia Th.H. Cormen, Ch.E. Leiserson, R. L. Rivest,, „Wprowadzenie do algorytmów”, Wydawnictwa Naukowo-Techniczne, Warszawa 2001;


Pobierz ppt "Równania rekurencyjne"

Podobne prezentacje


Reklamy Google