Równania rekurencyjne

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

Funkcje tworzące są wygodnym narzędziem przy badaniu zmiennych losowych o wartościach całkowitych nieujemnych. Funkcje tworzące pierwszy raz badał de.
Metody badania stabilności Lapunowa
Równanie różniczkowe zupełne i równania do niego sprowadzalne
Zaawansowane techniki algorytmiczne
11. Różniczkowanie funkcji złożonej
CIĄGI.
METODY ANALIZY PROGRAMÓW
Metody Analizy Programów Wykład 02
STATYSTYKA WYKŁAD 03 dr Marek Siłuszyk.
Homologia, Rozdział I „Przegląd” Homologia, Rozdział 1.
Metody rozwiązywania układów równań liniowych
Programowanie I Rekurencja.
dr Przemysław Garsztka
ATOM WODORU, JONY WODOROPODOBNE; PEŁNY OPIS
BUDOWA MODELU EKONOMETRYCZNEGO
Badania operacyjne. Wykład 2
Metody numeryczne wykład no 2.
Metody Numeryczne Wykład no 3.
Wykład no 11.
Teoretyczne podstawy informatyki
Złożoność obliczeniowa
ZLICZANIE cz. II.
Zliczanie III.
ZŁOŻONOŚĆ OBLICZENIOWA
„METODA FOURIERA DLA JEDNORODNYCH WARUNKÓW BRZEGOWYCH f(0)=f(a)=0”
Wykład 2: Upraszczanie, optymalizacja i implikacja
1.
Wykład no 6 sprawdziany:
Rzędy wielkości funkcji
Algorytmy i struktury danych
Równania i Nierówności czyli:
Metody matematyczne w Inżynierii Chemicznej
Co to jest układ równań Układ równań – koniukcja pewnej liczby (być może nieskończonej) równań. Rozwiązaniem układu równań jest każde przyporządkowanie.
Nierówności (mniej lub bardziej) geometryczne
RÓWNANIA Aleksandra Janes.
Metody Lapunowa badania stabilności
Metody numeryczne SOWIG Wydział Inżynierii Środowiska III rok
Krzysztof Kucab Rzeszów, 2012
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Elementy Rachunku Prawdopodobieństwa i Statystyki
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Homogenizacja Kulawik Krzysztof.
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
Podstawy analizy matematycznej I
Rachunki Gentzena Joanna Witoch.
Źródła błędów w obliczeniach numerycznych
Szeregi funkcyjne dr Małgorzata Pelczar.
Określenie wartości (wycena) papierów wartościowych
Gramatyki Lindenmayera
Rozwiązywanie układów równań liniowych różnymi metodami
Metody matematyczne w Inżynierii Chemicznej
Określenie wartości (wycena) papierów wartościowych
Złożoność obliczeniowa algorytmów
Metody rozwiązywania układów równań nieliniowych
Rekurencje Rekurencja jest równaniem lub nierównością, opisującą funkcję w zależności od jej wartości dla danych wejściowych o mniejszych rozmiarach. Na.
Metody nieinkluzyjne: Metoda iteracji prostej.
Rodzaje liczb.
MECHANIKA NIEBA WYKŁAD r. E r Zagadnienie dwóch ciał I prawo Keplera Potencjał efektywny Potencjał efektywny w łatwy sposób tłumaczy kształty.
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej MATEMATYCZNE MODELOWANIE PROCESÓW BIOTECHNOLOGICZNYCH Temat – 5 Modelowanie różniczkowe.
Ekonometria Wykład III Modele wielorównaniowe dr hab. Mieczysław Kowerski.
Rozwiązywanie układów równań Radosław Hołówko Konsultant: Agnieszka Pożyczka.
Elementy cyfrowe i układy logiczne
Metody matematyczne w Inżynierii Chemicznej
Analiza numeryczna i symulacja systemów
jest najbardziej efektywną i godną zaufania metodą,
Efektywność algorytmów
Jednorównaniowy model regresji liniowej
Własności asymptotyczne ciągów zmiennych losowych
Zapis prezentacji:

Równania rekurencyjne

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ą

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).

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

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ą.

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

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)).

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

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 ω

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:

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

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.

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

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

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

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).

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.

Metoda iteracyjna Przykład 3

Metoda iteracyjna Przykład 3

Ograniczanie wyrazów sumy

Ograniczanie wyrazów sumy

Rozdzielanie sum

Szacowanie całkami

Metoda rekurencji uniwersalnej Twierdzenie o rekurencji uniwersalnej

Metoda rekurencji uniwersalnej Przykłady

Metoda rekurencji uniwersalnej Przykłady

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