Analiza algorytmów to dział informatyki zajmujcy si szukaniem najefektywniejszych, poprawnych algorytmów dla danych problemów komputerowych.

Podobne dokumenty
Analiza algorytmów to dział informatyki zajmujcy si szukaniem najefektywniejszych, poprawnych algorytmów dla danych problemów komputerowych

Nieklasyczne modele kolorowania grafów

lim a n Cigi liczbowe i ich granice

Egzamin maturalny z informatyki Poziom rozszerzony część I

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2011 POZIOM ROZSZERZONY WYBRANE: CZĘŚĆ I. Czas pracy: 90 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

MACIERZE STOCHASTYCZNE

I kolokwium z Analizy Matematycznej

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2012 POZIOM PODSTAWOWY CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

KLUCZ ODPOWIEDZI I ZASADY PUNKTOWANIA PRÓBNEGO EGZAMINU MATURALNEGO Z MATEMATYKI POZIOM PODSTAWOWY

ma rozkład złożony Poissona z oczekiwaną liczbą szkód równą λ i rozkładem wartości pojedynczej szkody takim, że Pr( Y

Równoliczno zbiorów. Definicja 3.1 Powiemy, e niepuste zbiory A i B s równoliczne jeeli istnieje. Piszemy wówczas A~B. Przyjmujemy dodatkowo, e ~.

O liczbach naturalnych, których suma równa się iloczynowi

7 Liczby zespolone. 7.1 Działania na liczbach zespolonych. Liczby zespolone to liczby postaci. z = a + bi,

Fraktale - ciąg g dalszy

Pojcie estymacji. Metody probabilistyczne i statystyka Wykład 9: Estymacja punktowa. Własnoci estymatorów. Rozkłady statystyk z próby.

Zadania z analizy matematycznej - sem. I Szeregi liczbowe

Matematyka ubezpieczeń majątkowych r.

Jarosław Wróblewski Analiza Matematyczna 2B, lato 2015/16

Analiza Matematyczna I.1

Algorytmy I Struktury Danych Prowadząca: dr Hab. inż. Małgorzata Sterna. Sprawozdanie do Ćwiczenia 3 Algorytmy grafowe ( )

1.3. Największa liczba naturalna (bez znaku) zapisana w dwóch bajtach to a) b) 210 c) d) 32767

Stwierdzenie 1. Jeżeli ciąg ma granicę, to jest ona określona jednoznacznie (żaden ciąg nie może mieć dwóch różnych granic).

Jarosław Wróblewski Analiza Matematyczna 1A, zima 2012/13. Ciągi.

Statystyka matematyczna. Wykład II. Estymacja punktowa

2 n < 2n + 2 n. 2 n = 2. 2 n 2 +3n+2 > 2 0 = 1 = 2. n+2 n 1 n+1 = 2. n+1

MATURA 2014 z WSiP. Zasady oceniania zadań

Jarosław Wróblewski Analiza Matematyczna 1, zima 2016/17

Internetowe Kółko Matematyczne 2004/2005

Analiza numeryczna. Stanisław Lewanowicz. Aproksymacja funkcji

Metrologia: miary dokładności. dr inż. Paweł Zalewski Akademia Morska w Szczecinie

x t 1 (x) o 1 : x s 3 (x) Tym samym S(3) = {id 3,o 1,o 2,s 1,s 2,s 3 }. W zbiorze S(n) definiujemy działanie wzorem

RÓWNANIA RÓŻNICZKOWE WYKŁAD 11

Funkcje tworz ce skrypt do zada«

ZBIÓR LICZB RZECZYWISTYCH - DZIAŁANIA ALGEBRAICZNE

Metody Obliczeniowe w Nauce i Technice laboratorium

Zbiory. Zadanie 5. Wykaza to»samo±ci (a) A (B \ C) = [(A B) \ C] (A C), (b) A \ [B \ (C \ D)] = (A \ B) [(A C) \ D],

MINIMALIZACJA PUSTYCH PRZEBIEGÓW PRZEZ ŚRODKI TRANSPORTU

Wykªad 2. Szeregi liczbowe.

Analiza matematyczna 1 Notatki do wykªadu Mateusz Kwa±nicki. 7 Sumy i iloczyny uogólnione

szereg jest szeregiem o wyrazach nieujemnych. Ponadto dla α (0; π ) zachodzi nierówno± sinα < α,

X i. X = 1 n. i=1. wartość tej statystyki nazywana jest wartością średnią empiryczną i oznaczamy ją symbolem x, przy czym x = 1. (X i X) 2.

O trzech elementarnych nierównościach i ich zastosowaniach przy dowodzeniu innych nierówności

Egzaminy. na wyższe uczelnie zadania

MODELE MATEMATYCZNE W UBEZPIECZENIACH. 1. Renty

3 Arytmetyka. 3.1 Zbiory liczbowe.

Estymacja. Dr Joanna Banaś Zakład Badań Systemowych Instytut Sztucznej Inteligencji i Metod Matematycznych. Wykład 7

Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: Badania operacyjne. Temat ćwiczenia: Problemy transportowe cd, Problem komiwojażera

CIĄGI LICZBOWE. Poziom podstawowy

Literatura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy:

Wprowadzenie do algorytmów. START

Zadania z algebry liniowej - sem. I Liczby zespolone

3. Funkcje elementarne

Zdarzenia losowe, definicja prawdopodobieństwa, zmienne losowe

1 Twierdzenia o granicznym przejściu pod znakiem całki

Analiza matematyczna dla informatyków 4 Zajęcia 5

Przykład Zbiór {0, 2} jest podgrup grupy Z 4, bo elementem odwrotnym do liczby 2 jest ta sama liczba ((2 + 2)mod4 = 0).

> 1), wi c na mocy kryterium porównawczego szereg sin(n n)

Zmienna losowa N ma rozkład ujemny dwumianowy z parametrami (, q) = 7,

Zadania - powtórzenie do egzaminu dojrzałoci

Trzeba pokazać, że dla każdego c 0 c Mc 0. ) = oraz det( ) det( ) det( ) jest macierzą idempotentną? Proszę odpowiedzieć w

Metoda najszybszego spadku

Analiza I.1, zima wzorcowe rozwiązania

Jarosław Wróblewski Analiza Matematyczna 2B, lato 2015/16

Teoria. a k. Wskaźnik sumowania można oznaczać dowolną literą. Mamy np. a j = a i =

EGZAMIN MATURALNY Z INFORMATYKI

Informatyka 1. Wykład nr 7 ( ) Plan wykładu nr 7. Politechnika Białostocka. - Wydział Elektryczny. Algorytm - definicje.

z przedziału 0,1. Rozważmy trzy zmienne losowe:..., gdzie X

Prawdopodobieństwo i statystyka r.

Scenariusz lekcji: Kombinatoryka utrwalenie wiadomości

Model Lesliego. Oznaczmy: 0 m i liczba potomstwa pojawiającego się co jednostkę czasu u osobnika z i-tej grupy wiekowej, i = 1,...

Tw. 1. Je»eli ci g {a n } ma granic a i ci g {b n } ma granic b, to ci g {a n b n } ma granic a b. Tw. 2. b n. Tw. 3. Tw. 4.

Zadania z Matematyka 2 - SIMR 2008/ szeregi zadania z rozwiązaniami. n 1. n n. ( 1) n n. n n + 4

Przykładowe zadania dla poziomu rozszerzonego

Jarosław Wróblewski Analiza Matematyczna 1A, zima 2014/15. n = Rozwiązanie: Stosując wzór na wartość współczynnika dwumianowego otrzymujemy

Definicja interpolacji

Ciągi i szeregi liczbowe. Ciągi nieskończone.

Analiza Matematyczna I.1

Szereg geometryczny. 5. b) b n = 4n 2 (b 1 = 2, r = 4) lub b n = 10 (b 1 = 10, r = 0). 2. jest równa 1 x dla x = 1+ Zad. 3:

Matematyka. Zakres podstawowy. Nawi zanie do gimnazjum. n/m Rozwi zywanie zada Zadanie domowe Dodatkowe Komunikaty Bie ce materiały

( ) WŁASNOŚCI MACIERZY

Elastyczno silników FIAT

Algorytmy I Struktury Danych Prowadząca: dr Hab. inż. Małgorzata Sterna. Sprawozdanie do Ćwiczenia 1 Algorytmy sortowania (27.02.

c 2 + d2 c 2 + d i, 2

Wektory Funkcje rzeczywiste wielu. Matematyka Studium doktoranckie KAE SGH Semestr letni 2008/2009 R. Łochowski

Wykªad 05 (granice c.d., przykªady) Rozpoczniemy od podania kilku przykªadów obliczania granic ci gów. n an = + dla a > 1. (5.1) lim.

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.

Informatyka 1. Wykład nr 8 ( ) Plan wykładu nr 8. Politechnika Białostocka. - Wydział Elektryczny. Algorytm - definicje.

O pewnych zastosowaniach rachunku różniczkowego funkcji dwóch zmiennych w ekonomii

Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe.

Jarosław Wróblewski Analiza Matematyczna 2 (LUX), lato 2017/18. a n n = 10.

1 Przedziały ufności. ). Obliczamy. gdzie S pochodzi z rozkładu B(n, 1 2. P(2 S n 2) = 1 P(S 2) P(S n 2) = 1 2( 2 n +n2 n +2 n ) = 1 (n 2 +n+2)2 n.

Pierwiastki z liczby zespolonej. Autorzy: Agnieszka Kowalik

3. Regresja liniowa Założenia dotyczące modelu regresji liniowej

Chemia Teoretyczna I (6).

STATYSTYKA I ANALIZA DANYCH

UKŁADY RÓWNAŃ LINOWYCH

5. Zasada indukcji matematycznej. Dowody indukcyjne.

ZAGADNIENIE ESTYMACJI. ESTYMACJA PUNKTOWA I PRZEDZIAŁOWA

Rozsądny i nierozsądny czas działania

Transkrypt:

Temat: Poprawo całkowita i czciowa algorytmu. Złooo obliczeiowa algorytmu. Złooo czasowa redia i pesymistycza. Rzd fukcji. I. Literatura 1. A. V. Aho, J.E. Hopcroft, J. D. Ullma - Projektowaie i aaliza algorytmów komputerowych. L. Baachowski, K. Diks, W. Rytter Algorytmy i struktury daych 3. (!)T. H. Corme, C. E. Leiserso, R. L. Rivest Wprowadzeie do algorytmów 4. (!)A. Drozdek, D. L. Simo Struktury daych w jzyku C 5. D. Harel Rzecz o istocie iformatyki. Algorytmika 6. (!)R. Neapolita, K. Naimipour, Podstawy algorytmów z przykładami w C++ 7. (!)V. V. Vazirai, Algorytmy aproksymacyje Aaliza algorytmów to dział iformatyki zajmujcy si szukaiem ajefektywiejszych, poprawych algorytmów dla daych problemów komputerowych. I. Problem komputerowy Problem komputerowy to zadaie przezaczoe do realizacji a maszyie cyfrowej z okreloym warukiem pocztkowym i kocowym. WP waruek pocztkowy formuła logicza defiiujca dae wejciowe problemu WK waruek kocowy formuła logicza defiiujca dae wyjciowe (wyiki rozwizaia problemu) uzyskae dla daych wejciowych spełiajcych WP 1

II. Poprawo całkowita i czciowa algorytmu Defiicja 1 Algorytm A jest czciowo poprawy wzgldem daego waruku WP i daego waruku WK wtedy i tylko wtedy, gdy dla dowolych daych wejciowych spełiajcych waruek WP, jeeli algorytm A zatrzymuje si, to dae wyjciowe algorytmu spełiaj waruek WK. Defiicja Algorytm A jest całkowicie poprawy wzgldem daego waruku WP i daego waruku WK wtedy i tylko wtedy, gdy dla dowolych daych wejciowych spełiajcych waruek WP algorytm A zatrzymuje si i dae wyjciowe tego algorytmu spełiaj waruek WK. Przykład 1 Formaly zapis WP i WK WP: >0 N WK: (s=1+3+5+...+ mod 0) (s=1+3+5+...+-1 mod =0) Nieformala specyfikacja WP i WK WP: liczba aturala wiksza od zera WK: s suma kolejych liczb ieparzystych ie wikszych i Algorytm (pseudokod) s=0; i=1; while (i!=+) { s=s + i; i+=; }; Powyszy algorytm jest poprawy czciowo, ale ie całkowicie. Dla parzystego ptla ie ma stopu, ale dla dowolego ieparzystego ptla koczy si po skoczoej liczbie kroków i warto kocowa zmieej s spełia WK.

III. Złooo obliczeiowa algorytmu Złooo obliczeiowa algorytmu to ilo zasobów komputerowych, potrzebych do jego wykoaia. Zasoby komputerowe to czas działaia i ilo zajmowaej pamici. złooo obliczeiowa złooo czasowa złooo pamiciowa IV. Złooo czasowa algorytmu Złooo czasowa algorytmu okrela czas realizacji algorytmu. Złooo czasowa musi by iezalea od: - szybkoci procesora, który wykouje algorytm, - wyboru jzyka programowaia, w którym wykoaa jest implemetacja algorytmu. a) Rozmiar zadaia Rozmiar zadaia (problemu) to rozmiar tych daych wejciowych, których ilo wpływa a czas wykoaia algorytmu, tz. im wiksza jest ilo tych daych, tym dłuej realizuje si algorytm. Przykład Problem A1 WP: a 0, a 1,..., a -1 - cig liczb całkowitych ( >0) WK: Cig day w WP posortoway iemalejco Rozmiar zadaia: długo cigu, który aley posortowa 3

Problem A WP: a 0, a 1,..., a - cig liczb rzeczywistych ( 0) defiiujcy współczyiki daego wielomiau W, x- daa liczba rzeczywista WK: Liczba W(x) warto wielomiau W dla argumetu x Rozmiar zadaia: - stopie wielomiau W(x) Problem A3 WP: t 1, t,..., t - cig zaków tekstu ( > 0) w 1, w,..., w m - cig zaków wzorca ( m > 0) WK: p- zmiea logicza, która przyjmuje warto 1 (prawda), gdy wzorzec wystpuje w tekcie, a 0 (fałsz), gdy wzorzec ie wystpuje w tekcie Rozmiar zadaia: długo wzorca, m długo tekstu b) operacja elemetara Operacja elemetara (iaczej operacja domiujca) to operacja charakterystycza dla daego algorytmu. To taka operacja, której łcza liczba wykoa jest proporcjoala do rozmiaru zadaia, tz. im wikszy rozmiar zadaia, tym wicej razy realizuje si operacja elemetara. Przykład 3 Problem A1 - operacj elemetar jest operacja porówywaia elemetów sortowaego cigu albo operacja przestawiaia elemetów cigu w czasie sortowaia. Problem A - operacj elemetar jest operacja arytmetycza moeia albo operacja arytmetycza dodawaia realizowaa w procesie obliczaia wartoci wielomiau dla daego x. Problem A3 operacja porówywaia zaków wzorca ze zakami tekstu w procesie sprawdzaia, czy wzorzec wystpuje w tekcie. Za jedostk złoooci czasowej przyjmuje si wykoaie jedej operacji elemetarej (domiujcej). Złooo czasowa algorytmu jest fukcj parametru (parametrów) rozmiaru zadaia. 4

c) Złooo czasowa redia i pesymistycza Nieformalie Złooo czasowa pesymistycza to ilo wykoaych operacji elemetarych dla daych ajgorszego przypadku Złooo czasowa oczekiwaa to ilo wykoaych operacji elemetarych dla daych typowego przypadku Formalie Defiicja 3 Ozaczeia D zbiór zestawów moliwych daych wejciowych rozmiaru t(d) liczba operacji elemetarych wykoaych dla daych wejciowych d pr(d) prawdopodobiestwo, e dae d s daymi wejciowymi algorytmu Pesymistycza złooo czasowa algorytmu to fukcja T ( ) = max { t( d ): d } max D Oczekiwaa (redia) złooo czasowa algorytmu to fukcja T r ( ) = pr ( d ) t( d ) d D Przykład 4 Problem wyszukiwaia ustaloej liczby w cigu ieuporzdkowaym WP: A: a 0, a 1,..., a -1 - cig liczb całkowitych ( > 0). Liczby w cigu s róe. x szukaa warto. x jest liczb całkowit. WK: zmiea logicza jest=1, gdy a i = x oraz jest=0 w przeciwym Algorytm i = 0; przypadku while (i< && a i!=x) i++; jest=i<; { 1 } i.. 5

Operacja elemetara: porówaia midzy elemetami cigu A a liczb x. Rozmiar daych: - długo cigu Złooo czasowa pesymistycza Dae ajgorszego przypadku to cig, w którym x ie wystpuje albo wystpuje w ideksie -1 T ( ) = max { t( d ): d D } max = Złooo czasowa redia Zakładamy, e prawdopodobiestwo zalezieia liczby x w cigu A jest rówe p. Prawdopodobiestwo, e x wystpuje a kadej z pozycji w cigu jest takie p samo i wyosi. T + r ( ) = pr ( d ) t( d ) = pr ( x A) t( x A) 1 i = 0 pr d D 1 ( x = a ) t( x = a ) = ( 1 p ) + ( i + 1) p 1+ p = 1 i ( 1 p) + = + ( ) V. Rzd fukcji i Przy formułowaiu ostateczych wiosków dotyczcych efektywoci czasowej (złoooci czasowej algorytmu) bierze si pod uwag ie tyle dokład fukcj kosztu, ile jej rzd (klas wzrostu fukcji). Na przykład, jeeli dwa algorytmy A i B rozwizujce te sam problem maj złooo pesymistycz wyraajc si odpowiedio wzorami: A B Tmax ( ) = + i Tmax ( ) = 3 to róica realego czasu wykoaia obydwu algorytmów jest stosukowo iewielka, awet dla duego. Na czas realizacji algorytmu zasadiczo wpływa bowiem w obydwu fukcjach fakt, e s wielomiaami stopia. i = 0 N 0,1 0,1 ++100 10 10 10 0 40 160 50 50 400 100 1000 100 1000 100000 101100 p + = 6

Defiicja 4 Powiemy, e fukcja f() jest co ajwyej takiego rzdu jak fukcja g() i zapiszemy astpujco: f()=o(g()), gdy istieje rzeczywista, dodatia stała c oraz pewa ieujema warto całkowita N, taka, e dla wszystkich N zachodzi waruek: f c g ( ) ( ) Na przykład, jeeli f()=100 a g()= +100 to wystarczy przyj c=5 i N=10, 100 5 + 100 była prawdziwa dla wszystkich N aby ierówo ( ) Defiicja 5 Powiemy, e fukcje f() i g() s tego samego rzdu i zapiszemy astpujco: f()=θ(g()), gdy f()=o(g()) oraz g()=o(f()), czyli istiej rzeczywiste, dodatie stałe c 1 i c oraz pewe ieujeme wartoci całkowite N 1 i N, takie, e dla wszystkich N 1 zachodzi waruek: g c f ( ) ( ) 1 a dla wszystkich N waruek: f ( ) c g( ) Na przykład, jeeli f()=100 a g()= +3+10 to wystarczy przyj c 1 =1 i N 1 =1, aby ierówo + 3 + 10 1 100 była prawdziwa dla wszystkich 1 oraz c =100 aby ierówo 100 100 ( + 3 + 10) była prawdziwa dla wszystkich 1 VI. Lemat o porówywaiu rzdów fukcji Lemat 1 f(), g() fukcje, których rzdy mamy porówa f ( ) E = lim g ( ) Jeli E=+, to g()=o(f()), ale ie f()=o(g()), Jeli E=c>0, to g()= Θ (f()), Jeli E=0, to f()= O (g()), ale ie g()=o(f()). 7

Przy kład 5 f ( E = ) g( ) czyli log l l 1/ l lim = lim = lim = lim = log=o( ), ale ieprawda, e =O(log). Kategorie złoooci: Θ j k ( log) Θ( ) Θ( log) Θ( ) Θ( ) Θ( ) Θ( a ) Θ( b ) Θ(! ) gdzie k > j > oraz b > a > 1. Jeeli fukcja złoooci g() aley do kategorii lecej a lewo od kategorii g = O f. zawierajcej fukcj f(), to ( ) ( ( )) VII. Porówaie czasów realizacji algorytmu wykładiczego a dwóch komputerach o róej szybkoci wykoaia operacji elemetarej Pewie algorytm ma złooo Θ( ). Załómy, ze mamy do dyspozycji dwa komputery: - woliejszy taki, który jed operacj elemetar wykouje w czasie 10-6 s, - szybszy dokładie 1000 razy szybszy, który jed operacj elemetar wykouje w czasie 10-9 s W poiszej tabelce zobrazowao wzrost realego czasu wykoaia algorytmu dla roscego rozmiaru zadaia Rozmiar zadaia - 0 50 100 00 Czas realizacji a 1,04 s 35,7 lat 14 44 4 10 5 10 woliejszym procesorze wieków Wieków 6 ( /10 ) Czas realizacji a 0,001 s 13 di 11 41 4 10 5 10 szybszym procesorze wieków Wieków 9 /10 ( ) Z powyszej tabelki wyika, e rozsdy czas wykoaia algorytmu o złoooci Θ( ) przestaje by rozsdy przy stosukowo iewielkim, bo =50. 0, 8