Złożoność Obliczeniowa Algorytmów
|
|
- Adrian Zakrzewski
- 6 lat temu
- Przeglądów:
Transkrypt
1 Algorytmów
2 Pożądane cechy dobrego algorytmu Dobry algorytm mający rozwiązywać jakiś problem powinien mieć 2 naturalne cechy: 1 (poprawność) zwracać prawidłowy wynik (dokładniej: zgodność z warunkiem końcowym specyfikacji algorytmu) 2 (szybkość) być jak najbardziej wydajnym (dokładniej: osiąganie wyniku przy możliwie minimalnym nakładzie zasobów: ilości pracy (w efekcie: czasu działania) i ilości używanej pamięci) Pierwsza cecha odpowiada pojęciu poprawności całkowitej (poprzedni wykład) Druga cecha odpowiada pojęciu złożoności obliczeniowej algorytmu (definicja podana będzie w niniejszym wykładzie) Niższa złożoność algorytmu oznacza wydajniejszy algorytm.
3 Przykład: problem wyszukiwania klucza w tablicy Specyfikacja: find(arr, len, key) wejście: arr - tablica liczb całkowitych, len - długość tablicy, key - liczba całkowita, której szukamy w tablicy wyjście: liczba naturalna i < len będąca wartością indeksu, pod którym w tablicy arr występuje szukany klucz
4 Przykład: problem wyszukiwania klucza w tablicy Specyfikacja: find(arr, len, key) wejście: arr - tablica liczb całkowitych, len - długość tablicy, key - liczba całkowita, której szukamy w tablicy wyjście: liczba naturalna i < len będąca wartością indeksu, pod którym w tablicy arr występuje szukany klucz (czy ta specyfikacja jest pełna?)
5 Przykład: problem wyszukiwania klucza w tablicy Specyfikacja: find(arr, len, key) wejście: arr - tablica liczb całkowitych, len - długość tablicy, key - liczba całkowita, której szukamy w tablicy wyjście: liczba naturalna i < len będąca wartością indeksu, pod którym w tablicy arr występuje szukany klucz (czy ta specyfikacja jest pełna?) nie: nie wiadomo co zrobić jeśli nie ma klucza w tablicy. Uzupełnienie:
6 Przykład: problem wyszukiwania klucza w tablicy Specyfikacja: find(arr, len, key) wejście: arr - tablica liczb całkowitych, len - długość tablicy, key - liczba całkowita, której szukamy w tablicy wyjście: liczba naturalna i < len będąca wartością indeksu, pod którym w tablicy arr występuje szukany klucz (czy ta specyfikacja jest pełna?) nie: nie wiadomo co zrobić jeśli nie ma klucza w tablicy. Uzupełnienie: lub wartość -1 jeśli pośród len pierwszych elementów nie ma klucza
7 Przykład: problem wyszukiwania klucza w tablicy Specyfikacja: find(arr, len, key) wejście: arr - tablica liczb całkowitych, len - długość tablicy, key - liczba całkowita, której szukamy w tablicy wyjście: liczba naturalna i < len będąca wartością indeksu, pod którym w tablicy arr występuje szukany klucz (czy ta specyfikacja jest pełna?) nie: nie wiadomo co zrobić jeśli nie ma klucza w tablicy. Uzupełnienie: lub wartość -1 jeśli pośród len pierwszych elementów nie ma klucza pseudokod: find(arr, len, key){ i = 0 while(i < len){ if(arr[i] == key) return i i++ return -1 Od czego zależy ilość pracy tego algorytmu?
8 Szybkość algorytmu Jak mierzyć jak szybki jest algorytm? Wybierając miarę szybkości algorytmu należy mieć na uwadze 2 względy: 1 niezależność od języka programowania/platformy 2 możliwie duża niezależność od wejściowych Pomysł?
9 Szybkość algorytmu Jak mierzyć jak szybki jest algorytm? Wybierając miarę szybkości algorytmu należy mieć na uwadze 2 względy: 1 niezależność od języka programowania/platformy 2 możliwie duża niezależność od wejściowych Pomysł? Zliczać podstawowe operacje wykonywane przez algorytm
10 dominujące Nie trzeba zliczać wszystkich operacji wykonywanych przez algorytm. Wystarczy zliczać operacje dominujące czyli te, które proporcjonalnie pokrywają całą pracę algorytmu. Zbiór operacji dominujących danego algorytmu to zbiór takich operacji, których liczba jest proporcjonalna do liczby wszystkich operacji wykonanych przez cały algorytm. Operacją dominującą nie jest więc np. operacja wykonywana tylko jednokrotnie. Natomiast każda pętla lub odgałęzienie instrukcji warunkowej powinna zawierać operację dominującą.
11 Przykład: wyznaczanie operacji dominujących Co może być operacją dominującą w poniższym algorytmie? find(arr, len, key){ i = 0 while(i < len){ if(arr[i] == key) return i i++ return -1 przypisanie i = 0?
12 Przykład: wyznaczanie operacji dominujących Co może być operacją dominującą w poniższym algorytmie? find(arr, len, key){ i = 0 while(i < len){ if(arr[i] == key) return i i++ return -1 przypisanie i = 0? nie porównanie i < len?
13 Przykład: wyznaczanie operacji dominujących Co może być operacją dominującą w poniższym algorytmie? find(arr, len, key){ i = 0 while(i < len){ if(arr[i] == key) return i i++ return -1 przypisanie i = 0? nie porównanie i < len? tak porównanie arr[i] == key?
14 Przykład: wyznaczanie operacji dominujących Co może być operacją dominującą w poniższym algorytmie? find(arr, len, key){ i = 0 while(i < len){ if(arr[i] == key) return i i++ return -1 przypisanie i = 0? nie porównanie i < len? tak porównanie arr[i] == key? tak obie naraz?
15 Przykład: wyznaczanie operacji dominujących Co może być operacją dominującą w poniższym algorytmie? find(arr, len, key){ i = 0 while(i < len){ if(arr[i] == key) return i i++ return -1 przypisanie i = 0? nie porównanie i < len? tak porównanie arr[i] == key? tak obie naraz? tak (choć nie jest to konieczne) instrukcja return i?
16 Przykład: wyznaczanie operacji dominujących Co może być operacją dominującą w poniższym algorytmie? find(arr, len, key){ i = 0 while(i < len){ if(arr[i] == key) return i i++ return -1 przypisanie i = 0? nie porównanie i < len? tak porównanie arr[i] == key? tak obie naraz? tak (choć nie jest to konieczne) instrukcja return i? nie (bo wykonywana najwyżej raz) zwiększanie indeksu i++?
17 Przykład: wyznaczanie operacji dominujących Co może być operacją dominującą w poniższym algorytmie? find(arr, len, key){ i = 0 while(i < len){ if(arr[i] == key) return i i++ return -1 przypisanie i = 0? nie porównanie i < len? tak porównanie arr[i] == key? tak obie naraz? tak (choć nie jest to konieczne) instrukcja return i? nie (bo wykonywana najwyżej raz) zwiększanie indeksu i++? tak
18 Dwa kroki niezbędne do wykonania analizy złożoności Zanim wykona się analizę złożoności danego algorytmu należy wykonać 2 następujące kroki: 1 wyznaczyć zbiór operacji dominujących 2 wyznaczyć funkcję argumentów ( wejściowych), która stanowi wejściowych ad 1) zostało już omówione ad 2) zostanie wyjaśnione w dalszej części wykładu
19 czasowa algorytmu Definition czasowa algorytmu to liczba operacji dominujących jakie wykona algorytm jako funkcja u. czasowa algorytmu mierzy jak wiele pracy musi wykonać algorytm realizujący zadanie w zależności od tego jak duże są dane. Niższa złożoność algorytmu oznacza szybszy algorytm i odwrotnie.
20 Przykład: wyznaczanie u Co stanowi (wpływa na ilość pracy) w poniższym algorytmie? find(arr, len, key){ i = 0 while(i < len){ if(arr[i] == key) return i i++ return -1
21 Przykład: wyznaczanie u Co stanowi (wpływa na ilość pracy) w poniższym algorytmie? find(arr, len, key){ i = 0 while(i < len){ if(arr[i] == key) return i i++ return -1 Rozmiar stanowi tu: długość tablicy arr
22 Przykład: wyznaczanie u Co stanowi (wpływa na ilość pracy) w poniższym algorytmie? find(arr, len, key){ i = 0 while(i < len){ if(arr[i] == key) return i i++ return -1 Rozmiar stanowi tu: długość tablicy arr Operacją dominującą może być np. porównanie arr[i] == key Wyznaczywszy i operację dominującą, można wyznaczyć złożoność czasową tego algorytmu
23 Przykład - złożoność czasowa algorytmu Dokonajmy analizy złożoności czasowej poniższego algorytmu: find(arr, len, key){ i = 0 while(i < len){ if(arr[i] == key) return i i++ return -1 Wykonujemy 2 kroki: 1 wyznaczamy operację dominującą: porównanie arr[i] == key 2 wyznaczamy co stanowi : długość tablicy Wtedy, zgodnie z definicją złożoności czasowej, liczba operacji dominujących wykonanych przez algorytm jako funkcja u jest w zakresie: od 1: kiedy klucz jest na pierwszej pozycji tablicy (wariant optymistyczny ) do len: kiedy klucz jest na końcu lub nieobecny (warant pesymistyczny ) Widzimy więc pewien problem: nie ma pojedynczej funkcji, tylko ich zakres,
24 Warianty złożoności czasowej Skoro więc liczba wykonanych operacji dominujących nawet dla ustalonego u może się wahać w pewnym zakresie (nie ma pojedynczej funkcji, która to wyraża tylko ich zakres), wprowadza się kilka wariantów: pesymistyczna złożoność czasowa, oznaczana W () (od ang. worst ). Jest to funkcja wyrażająca kres górny możliwej liczby operacji dominujących dla ustalonego u (wariant pesymistyczny) przeciętna złożoność czasowa, oznacza przez A() (od ang. average ).Jest to funkcja wyrażająca przeciętną liczbę wykonanych operacji dominujących przy założeniu pewnego modelu losowości wejściowych Są to najbardziej podstawowe warianty (w niektórych zagadnieniach rozważa się też np. amortyzowaną złożoność czasową, której definicji nie podajemy w tym wykładzie)
25 Formalna definicja pesymistycznej złożoności czasowej Załóżmy następujące oznaczenia: n - D n - zbiór wszystkich możliwych wejściowych o ze n t(d) - liczba wykonanych operacji dominujących dla pewnych konkretnych wejściowych d D n o ze n Definition Pesymistyczna złożoność czasowa algorytmu: W (n) = sup{t(d) : d D n (W(n) - Worst) Pesymistyczna złożoność czasowa wyraża liczbę wykonanych operacji dominujących w najgorszym (pesymistycznym) przypadku. Ile wynosi pesymistyczna złożoność czasowa w naszym przykładzie? (czyli: jaka funkcją ją wyraża?) W (n) =
26 Formalna definicja pesymistycznej złożoności czasowej Załóżmy następujące oznaczenia: n - D n - zbiór wszystkich możliwych wejściowych o ze n t(d) - liczba wykonanych operacji dominujących dla pewnych konkretnych wejściowych d D n o ze n Definition Pesymistyczna złożoność czasowa algorytmu: W (n) = sup{t(d) : d D n (W(n) - Worst) Pesymistyczna złożoność czasowa wyraża liczbę wykonanych operacji dominujących w najgorszym (pesymistycznym) przypadku. Ile wynosi pesymistyczna złożoność czasowa w naszym przykładzie? (czyli: jaka funkcją ją wyraża?) W (n) =n
27 Przeciętna złożoność czasowa algorytmu załóżmy następujące oznaczenia: n - X n - zmienna losowa oznaczająca faktyczną liczbę wykonanych operacji dominujących dla losowych o ze n p nk - prawdopodobieństwo, że liczba wykonanych operacji dominujących wyniesie k dla losowych o ze n Definition Przeciętna złożoność czasowa algorytmu: A(n) = k 0 p nk k = P(X n = k) k = E(X n ) Jest to wartość oczekiwana zmiennej losowej X n (A(n) Average) Uwaga: dla obliczenia przeciętnej złożoności czasowej niezbędne jest założenie pewnego modelu losowości, wyrażonego przez rozkład prawdopodobieństwa p nk.
28 Przykład: wyznaczanie przeciętnej złożoności algorytmu Wróćmy do naszego roboczego przykładu. Najpierw należy założyć konkretny model losowości. Konkretnie sprowadza się to do założenia ile wynosi p nk - prawdopodobieństwo, że wykonane będzie k operacji dominujących dla u n. Założymy tu najprostszy wariant, że wszystkie wartości k dla ustalonego u są równe i wynoszą 1/n. Jest to podobne do założenia, że klucz może być na każdym miejscu tablicy z takim samym prawdopodobieństwem: 0 k<n p nk = P(X n = k) = 1/n Otrzymujemy wtedy z definicji: A(n) = k 0 P(X n = k) k = 0 k<n 1/n k = n+1 2 Jest to zgodne z intuicją: klucz będzie wtedy przeciętnie w połowie tablicy
29 Pamięciowa złożoność algorytmu Inną (obok szybkości działania) miarą efektywności algorytmu jest złożoność pamięciowa algorytmu. Jest ona zdefiniowana analogicznie do złożoności czasowej, tylko zamiast liczby operacji dominujących zliczamy liczbę jednostek pamięci. Definition Pamięciowa złożoność algorytmu: S(n) jest to liczba jednostek pamięci głównej użyta przez algorytm jako funkcja u Jak zauważymy później, po wprowadzeniu tzw. notacji asymptotycznej dla złożoności, nie będzie istotne o jakiej konkretnie jednostce pamięci mówimy (bit, bajt, MB, GB, etc.) gdyż będzie nas interesowało raczej tempo wzrostu zużycia pamięci przy wzroście u wejściowych a nie konkretna ilość pamięci. Możemy rozważać zarówno pesymistyczną jak i przeciętną złożoność pamięciową (SW(n), SA(n)). Specjalnym przypadkiem jest, gdy algorytm zużywa zawsze stałą ilość pamięci niezależnie od wejściowych. W takim przypadku oznaczamy S(n) = const lub S(n) = O(1). Jest to dosyć częsty przypadek.
30 Pomijanie nieistotnych detali Ostateczna szybkość konkretnej implementacji danego algorytmu zależy zawsze od użytego języka programowania i sprzętu, na którym jest realizowany. Np. 2 razy wolniejszy algorytm zaimplementowany na 6 razy szybszym sprzęcie będzie w sumie 3 razy szybszy! A interesuje nas szybkość samego algorytmu. Dlatego obiektem zainteresowania podstawowej analizy algorytmów jest raczej charakter tempa wzrostu ilości operacji dominujących jako funkcja rosnącego u (czyli rodzaj tej funkcji) niż konkretna funkcja.
31 Pomijanie nieistotnych detali, c.d. Przy takim podejściu można pominąć nieistotne detale takie jak np. stałe multiplikatywne i addytywne. W tym celu, do wyrażania funkcji złożoności algorytmów używana jest notacja asymptotyczna. Pozwala ona na uproszczenie zapisu przez pominięcie w/w nieistotnych szczegółów. Np. dla poniższej funkcji złożoności czasowej: A(n) = 3.45 n + 2 Nieistotny jest składnik +2. Co więcej, jeśli interesuje nas tylko charakter tempa wzrostu (czyli funkcja liniowa), a nie konkretna stała (3.45) to użyta notacja powinna pozwolić pominąć te szczegóły. Taką notacją jest asymptotyczna
32 asymptotyczna - duże o Jest kilka wariantów tej notacji, najczęściej używanym jest wariant duże o (czytane jako litera alfabetu a nie jak cyfra zero) O() służy do oznaczania górnego ograniczenia na tempo wzrostu danej funkcji. Przykładowe użycie: 3.45 n + 2 = O(n), co należy interpretować: funkcja 3.45 n + 2 = O(n) ma charakter tempa wzrostu conajwyżej liniowy. Definition f (n) = O(g(n)) c>0 n0 n n0 f (n) c g(n) Funkcja g(n) jest ograniczeniem górnym rzędu wielkości funkcji f(n). O() dla rzędów wielkości funkcji odpowiada intuicyjnie symbolowi dla liczb.
33 Przykłady Przeciętna złożoność czasowa z naszego przykładu jest liniowa: A(n) = n+1 2 = O(n) Przeciętna złożoność pamięciowa z naszego przykładu jest stała: SA(n) = O(1) (od: Space Average ) Przykład wyższego rzędu funkcji: f (n) = 3n 2 + 2n 7 (rząd: kwadratowy) Wtedy z definicji f (n) = O(n) nie będzie prawdą, bo funkcja f ma wyższy (kwadratowy) rząd wzrostu (niż liniowy). Można więc napisać f (n) = O(n 2 ). Można też napisać f (n) = O(n 3 ), chociaż jest to mniej dokładne ograniczenie górne niż O(n 2 ). Ćwiczenie kontrolne: sprawdzić, że dla każdego z powyższych przypadków wynika to bezpośrednio z definicji matematycznej tej notacji (możliwość znalezienia lub nie odpowiednich stałych c i n 0 )
34 asymptotyczna: Θ() ( duże teta ) Ważnym wariantem notacji asymptotycznej jest notacja Θ(). Służy ona do wyrażania faktu, że funkcja ma dokładnie taki sam rząd wielkości jak inna funkcja. Odpowiada to więc znakowi = dla rzędów wielkości funkcyj. Jest to równoważne temu, że g jest zarazem ograniczeniem górnym f jak i na odwrót. Definition f (n) = Θ(g(n)) f (n) = O(g(n)) g(n) = O(f (n)) Funkcja f(n) ma taki sam rząd wielkości jak funkcja g(n) Przykład: f (n) = n 2 + n 3 = Θ(n 2 ) czyli: funkcja n 2 + n 3 ma dokładnie kwadratowy rząd wielkości. Zauważmy, że pozostałe składniki: n oraz -3 są zdominowane, przez składnik n 2. Do wyzaczania dokładnego rzędu funkcji będącej sumą wystarczy skupić się na dominującym składniku tej sumy.
35 Inne warianty notacji asymptotycznej Tak jak występuje 5 symboli do porównywania wielkości liczb: = < >, stosowane jest też 5 wariantów notacji asymptotycznej. (Uwaga: ta analogia nie jest jednak pełna, gdyż porządek na liczbach jest porządkiem liniowym) 1 Θ - = (równe rzędy wielkości funkcji) 2 O - (ograniczenie górne nieostre rzędu wielkości) 3 Ω (wielkie omega ) - (ograniczenie dolne nieostre) 4 o - < (ograniczenie górne ostre) 5 ω (małe omega ) - > (ograniczenie dolne ostre) (Wielkie litery dotyczą ograniczeń z równością (nieostrych), małe ostrych) Przykład: W(n)=o(n) ( małe o ) znaczy: rząd złożoności pesymistycznej jest istotnie mniejszy niż liniowy
36 Uwagi odnośnie użycia notacji asymptotycznej Uwaga: w notacji asymptotycznej, np. f(n)=o(g(n)) symbol = nie ma zwykłego znaczenia równości, jest to tylko rodzaj notacji. Wobec tego notacji takiej nie można traktować jako zwykłej równości i np. odejmować od obu stron symbolu O(n), etc. W szczególności notacji asymptotycznej używamy głównie po prawej stronie znaku =. Np. notacja: O(f(n)) = n lub O(f(n)) = O(g(n)) nie ma sensu. Można natomiast użyć notacji asymptotycznej w nieco rozszerzonej formie np.: f(n) = g(n) + O(h(n)) co oznacza: f(n) - g(n) = O(h(n)) (czyli, że rzędy wielkości funkcyj f i g różnią się co najwyżej o składnik liniowy)
37 Alternatywna definicja notacji asymptotycznej W niektórych zastosowaniach (np. porównywania rzędów wielkości dwóch funkcji) ma zastosowanie inna wersja definicji. Nie używa ona kwantyfikatorów lecz pojęcia przejścia granicznego z analizy matematycznej (ale można udowodnić, że jest matematycznie równoważna): Obliczamy wtedy granicę ilorazu dwóch funkcyj f i g: (zakładamy, że obie funkcje mają wartości dodatnie) lim n f (n) g(n) jeśli granica istnieje, to możliwe są 3 przypadki jej wartości: 1 - w tym przypadku f ma wyższy rząd wielkości od g: f(n)=ω(g(n)) 2 stała dodatnia - w tym przypadku rzędy wielkości f i g są równe: f(n)=θ(g(n)) 3 zero - w tym przypadku f ma niższy rząd wielkości niż g: f(n)=o(g(n))
38 Najczęściej spotykane rzędy wielkości Poniżej wymienione są często spotykane rzędy złożoności algorytmów: stała (np. S(n) = 3 = Θ(1)) logarytmiczna (np. W (n) = 2 + lg 2 n = Θ(log(n))) liniowa (np. A(n) = 2n + 1 = Θ(n)) liniowo-logarytmiczna (np. A(n) = 1.44 n log(n) = Θ(n log(n))) kwadratowa (e.g. W (n) = 3n = Θ(n 2 )) sześcienna (e.g. A(n) = Θ(n 3 )) pod-wykładniczna (e.g. A(n) = Θ(n log(n)) ) wykładnicza (e.g. A(n) = Θ(2 n )) silniowa (e.g. W (n) = Θ(n!)) Algorytmy o złożoności czasowej wyższej niż wielomianowa uważane są za niepraktyczne poza przypadkami wejściowych o małym ze.
39 Praktyczne reguły przy ustalaniu rzędu wielkości funkcji Jeśli funkcja jest w postaci sumy kilku czynników, to rząd wielkości wyznaczony jest przez dominujący składnik. Każdy wielomian ma dokładnie taki rząd wielkości jaki wyznaczony jest przez składnik o najwyższym stopniu Każda funkcja potęgowa (n α gdzie α R) ma inny rząd, zależny od wykładnika α. Jest tylko jeden rząd logarytmiczny (tzn. wszystkie logarytmy mają ten sam rząd wielości niezależnie od podstawy logarytmu) Rząd logarytmiczny log β n jest ostro niższy od dowolnej funkcji potęgowej n α (nawet dla np. α = , etc.) każda funkcja wykładnicza γ n ma inny rząd w zależności od podstawy γ każda funkcja wykładnicza γ n (dla dowolnego γ R + ) ma rząd ostro większy od każdej funkcji potęgowej n α.
40 Pytania/Zadania kontrolne czym mierzymy szybkość algorytmu? jakie 2 kroki muszą być wykonane zanim przystąpimy do analizy złożoności czasowej algorytmu? Znajomość na pamięć definicji i umiejętność wyznaczenia dla danego algorytmu: operacji dominującej u złożoności czasowej pesymistycznej złożoności czasowej przeciętnej (na razie tylko dla bardzo prostych algorytmów) złożoności pamięciowej jaki jest cel notacji asymptotycznej? definicja (na pamięć) i interpretacja notacji asymptotycznej w 5 wariantach umieć udowodnić z definicji, że dane wyrażenie zawierające notację asymptotyczną jest prawdziwe lub fałszywe
41 Dziękuję za uwagę
Wprowadzenie do złożoności obliczeniowej
problemów Katedra Informatyki Politechniki Świętokrzyskiej Kielce, 16 stycznia 2007 problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów
Podstawy Informatyki. Sprawność algorytmów
Podstawy Informatyki Sprawność algorytmów Sprawność algorytmów Kryteria oceny oszczędności Miara złożoności rozmiaru pamięci (złożoność pamięciowa): Liczba zmiennych + liczba i rozmiar struktur danych
Wykład 2. Poprawność algorytmów
Wykład 2 Poprawność algorytmów 1 Przegląd Ø Poprawność algorytmów Ø Podstawy matematyczne: Przyrost funkcji i notacje asymptotyczne Sumowanie szeregów Indukcja matematyczna 2 Poprawność algorytmów Ø Algorytm
TEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie
Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).
Algorytmy definicja, cechy, złożoność. Algorytmy napotykamy wszędzie, gdziekolwiek się zwrócimy. Rządzą one wieloma codziennymi czynnościami, jak np. wymiana przedziurawionej dętki, montowanie szafy z
Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,
Oznaczenia: Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze, to interesuje nas złożoność obliczeniowa
Matematyka dyskretna. Andrzej Łachwa, UJ, /14
Matematyka dyskretna Andrzej Łachwa, UJ, 2012 andrzej.lachwa@uj.edu.pl 2/14 Funkcji podłogi z logarytmu można użyć do wyliczenia liczby cyfr liczby naturalnej k (k>0): w układzie dziesiętnym log 10 (k)
TEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 3 2 Złożoność obliczeniowa algorytmów Notacja wielkie 0 Notacja Ω i Θ Algorytm Hornera Przykłady rzędów
Zasady analizy algorytmów
Zasady analizy algorytmów A więc dziś w programie: - Kilka ważnych definicji i opisów formalnych - Złożoność: czasowa i pamięciowa - Kategorie problemów - Jakieś przykłady Problem: Zadanie możliwe do rozwiązania
Złożoność algorytmów. Wstęp do Informatyki
Złożoność algorytmów Złożoność pamięciowa - liczba i rozmiar struktur danych wykorzystywanych w algorytmie Złożoność czasowa - liczba operacji elementarnych wykonywanych w trakcie przebiegu algorytmu Złożoność
Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.
Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy
INFORMATYKA SORTOWANIE DANYCH.
INFORMATYKA SORTOWANIE DANYCH http://www.infoceram.agh.edu.pl SORTOWANIE Jest to proces ustawiania zbioru obiektów w określonym porządku. Sortowanie stosowane jest w celu ułatwienia późniejszego wyszukania
1. Analiza algorytmów przypomnienie
1. Analiza algorytmów przypomnienie T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein Wprowadzenie do algorytmów, rozdziały 1-4 Wydawnictwa naukowo-techniczne (2004) Jak mierzyć efektywność algorytmu?
Algorytmy i struktury danych Matematyka III sem.
Algorytmy i struktury danych Matematyka III sem. 30 godz. wykł. / 15 godz. ćw. / 15 godz. projekt dr inŝ. Paweł Syty, 413GB, sylas@mif.pg.gda.pl, http://sylas.info Literatura T.H. Cormen i inni, Wprowadzenie
Algorytm i złożoność obliczeniowa algorytmu
Algorytm i złożoność obliczeniowa algorytmu Algorytm - przepis postępowania, którego wykonanie prowadzi do rozwiązania określonego problemu określa czynności, jakie należy wykonać wyszczególnia wszystkie
Matematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Algorytm 1. Termin algorytm jest używany w informatyce
Efektywność algorytmów
Efektywność algorytmów Algorytmika Algorytmika to dział informatyki zajmujący się poszukiwaniem, konstruowaniem i badaniem własności algorytmów, w kontekście ich przydatności do rozwiązywania problemów
Algorytmy i Struktury Danych
Algorytmy i Struktury Danych Podstawowe informacje Prowadzący: Jan Tuziemski Email: jan.tuziemski@pg.edu.pl Konsultacje: pokój 412 GB (do ustalenia 412 GB) Podstawowe informacje literatura K. Goczyła Struktury
Liczby pierwsze - wstęp
Artykuł pobrano ze strony eioba.pl Liczby pierwsze - wstęp W latach 60 ubiegłego wieku w Afryce znaleziono kości z wyrytymi na nich karbami liczące ponad 5000 lat. Na jednej z nich (kość z Ishango) karby
Algorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Organizacja wykładu. Problem Sortowania. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury
Teoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 3a: Złożoność obliczeniowa algorytmów http://kiwi.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Złożoność obliczeniowa i asymptotyczna
Wstęp do programowania
Wstęp do programowania Złożoność obliczeniowa, poprawność programów Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XII Jesień 2013 1 / 20 Złożoność obliczeniowa Problem Ile czasu
Zaawansowane algorytmy i struktury danych
Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)
Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami
Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Przykład 1. Napisz program, który dla podanej liczby n wypisze jej rozkład na czynniki pierwsze. Oblicz asymptotyczną złożoność
Podstawy programowania. Podstawy C# Przykłady algorytmów
Podstawy programowania Podstawy C# Przykłady algorytmów Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania
Algorytmy i Struktury Danych. (c) Marcin Sydow. Sortowanie Selection Sort Insertion Sort Merge Sort. Sortowanie 1. Listy dowiązaniowe.
1 Tematy wykładu: problem sortowania sortowanie przez wybór (SelectionSort) sortowanie przez wstawianie (InsertionSort) sortowanie przez złaczanie (MergeSort) struktura danych list dowiązaniowych Input:
Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to
Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to wprowadzili J. Hartmanis i R. Stearns. Najczęściej przez zasób rozumie się czas oraz pamięć dlatego
Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie
Więcej o sprawności algorytmów Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Załóżmy, że możemy wykonać dane zadanie przy użyciu dwóch algorytmów: jednego o złożoności czasowej
Grzegorz Mazur. Zak lad Metod Obliczeniowych Chemii UJ. 14 marca 2007
Zak lad Metod Obliczeniowych Chemii UJ 14 marca 2007 Rzad 1 Zamiast wst epu 2 Rzad Notacja dużego O Notacja Ω Notacja Θ 3 S lowniczek Rzad Algorytm W matematyce oraz informatyce to skończony, uporzadkowany
Sortowanie przez wstawianie
Sortowanie przez wstawianie Wykład 1 26 lutego 2019 (Wykład 1) Sortowanie przez wstawianie 26 lutego 2019 1 / 25 Outline 1 Literatura 2 Algorytm 3 Problem sortowania Pseudokod 4 Sortowanie przez wstawianie
(1) Poprawność Algorytmów
(1) Algorytmów Kontakt dr hab. Marcin, Katedra SIAM, PJATK Polecane Podręczniki: Ogólne: T.Cormen, C.Leiserson, R.Rivest et al. do Algorytmów, PWN 2018 (lub wydanie anglojęzyczne) G.Mirkowska et al. -
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA
WYŻSZA SZKOŁA IFORMATYKI STOSOWAEJ I ZARZĄDZAIA Złożoność algorytmów Złożoność pamięciowa algorytmu wynika z liczby i rozmiaru struktur danych wykorzystywanych w algorytmie. Złożoność czasowa algorytmu
i = n = n 1 + n 2 1 i 2 n 1. n(n + 1)(2n + 1) n (n + 1) =
Druga zasada inducji matematycznej Niech m będzie liczbą całowitą, niech p(n) będzie ciągiem zdań zdefiniowanych na zbiorze {n Z: n m} oraz niech l będzie nieujemną liczbą całowitą. Jeśli (P) wszystie
Algorytmy i Struktury Danych. (c) Marcin Sydow. Introduction. QuickSort. Sortowanie 2. Limit. CountSort. RadixSort. Summary
Sortowanie 2 Zawartość wykładu: Własność stabilności algorytmów sortujących algorytm sortowania szybkiego () czy można sortować szybciej niż ze złożonością Θ(n log(n))? algorytm sortowania przez zliczanie
Zaliczenie. Egzamin. lub. Wykład. Zaliczenie. Ćwiczenie. 3 zadania. Projekty. Ocena. Na ocenę
Zaliczenie Egzamin Ocena lub Zerówka Wykład z Zaliczenie Ocena Ćwiczenie Projekty 3 zadania Na ocenę Sylabus O http://wmii.uwm.edu.pl/~jakula/sylabus_23 17N1-ALISTD_PL.pdf JAK? CO? ILE? Polecane Cormen
Analiza algorytmów zadania podstawowe
Analiza algorytmów zadania podstawowe Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r 0 Jaka wartość zostanie zwrócona przez powyższą
Algorytmy w teorii liczb
Łukasz Kowalik, ASD 2004: Algorytmy w teorii liczb 1 Algorytmy w teorii liczb Teoria liczb jest działem matemtyki dotyczącym własności liczb naturalnych. Rozważa się zagadnienia związane z liczbami pierwszymi,
ANALIZA ALGORYTMÓW. Analiza algorytmów polega między innymi na odpowiedzi na pytania:
ANALIZA ALGORYTMÓW Analiza algorytmów polega między innymi na odpowiedzi na pytania: 1) Czy problem może być rozwiązany na komputerze w dostępnym czasie i pamięci? 2) Który ze znanych algorytmów należy
Algorytmy i struktury danych
Letnie Warsztaty Matematyczno-Informatyczne Algorytmy i struktury danych Mariusz Różycki University of Cambridge Zajęcia będą mieć formę wykładową. Slajdy można znaleźć na stronie kursu: http://lw.mi.edu.pl/informatyka/algorytmy.
Matematyka dyskretna. Andrzej Łachwa, UJ, /15
Matematyka dyskretna Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl 7/15 Rachunek różnicowy Dobrym narzędziem do obliczania skończonych sum jest rachunek różnicowy. W rachunku tym odpowiednikiem operatora
Krzysztof Gniłka. Twierdzenie o rekurencji uniwersalnej
Krzysztof Gniłka Twierdzenie o rekurencji uniwersalnej Spis treści Wstęp 3 Rozdział 1 Definicje i pomocnicze lematy 4 1 Części całkowite liczb 4 2 Logarytmy 9 3 Notacja asymptotyczna 12 Rozdział 2 Metoda
Podstawy Programowania. Złożoność obliczeniowa
Podstawy Programowania Wykład X Złożoność obliczeniowa Robert Muszyński Katedra Cybernetyki i Robotyki, PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada
Złożoność obliczeniowa zadania, zestaw 2
Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze
Biostatystyka, # 3 /Weterynaria I/
Biostatystyka, # 3 /Weterynaria I/ dr n. mat. Zdzisław Otachel Uniwersytet Przyrodniczy w Lublinie Katedra Zastosowań Matematyki i Informatyki ul. Głęboka 28, p. 221 bud. CIW, e-mail: zdzislaw.otachel@up.lublin.pl
Modelowanie wybranych pojęć matematycznych. semestr letni, 2016/2017 Wykład 10 Własności funkcji cd.
Modelowanie wybranych pojęć matematycznych semestr letni, 206/207 Wykład 0 Własności funkcji cd. Ciągłość funkcji zastosowania Przybliżone rozwiązywanie równań Znajdziemy przybliżone rozwiązanie równania
Struktura danych. Sposób uporządkowania informacji w komputerze.
Struktura danych Sposób uporządkowania informacji w komputerze. Algorytm Skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania. Al-Khwarizmi perski matematyk
Teoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 4a: Rozwiązywanie rekurencji http://kiwi.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Czas działania programu Dla konkretnych
Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer
Realizacja algorytmu przez komputer Wstęp do informatyki Wykład UniwersytetWrocławski 0 Tydzień temu: opis algorytmu w języku zrozumiałym dla człowieka: schemat blokowy, pseudokod. Dziś: schemat logiczny
Złożoność informacyjna Kołmogorowa. Paweł Parys
Złożoność informacyjna Kołmogorowa Paweł Parys Serock 2012 niektóre liczby łatwiej zapamiętać niż inne... (to zależy nie tylko od wielkości liczby) 100...0 100 100... 100 100 100 25839496603316858921 31415926535897932384
Podstawy Programowania
Podstawy Programowania Wykład X Złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada 80 20, ocena efektywności
3. Macierze i Układy Równań Liniowych
3. Macierze i Układy Równań Liniowych Rozważamy równanie macierzowe z końcówki ostatniego wykładu ( ) 3 1 X = 4 1 ( ) 2 5 Podstawiając X = ( ) x y i wymnażając, otrzymujemy układ 2 równań liniowych 3x
Podstawy Programowania. Złożoność obliczeniowa
Podstawy Programowania Wykład X Złożoność obliczeniowa Robert Muszyński Katedra Cybernetyki i Robotyki, PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada
3a. Wstęp: Elementarne równania i nierówności
3a. Wstęp: Elementarne równania i nierówności Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2017/2018 Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 3a. Wstęp: w Krakowie) Elementarne równania
Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny
Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu danych
Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15
Technologie cyfrowe Artur Kalinowski Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.pl Semestr letni 2014/2015 Zadanie algorytmiczne: wyszukiwanie dane wejściowe:
MODELE MATEMATYCZNE W UBEZPIECZENIACH
MODELE MATEMATYCZNE W UBEZPIECZENIACH WYKŁAD 6: SKŁADKI OKRESOWE Składki okresowe netto Umowę pomiędzy ubezpieczycielem a ubezpieczonym dotyczącą ubezpieczenia na życie nazywa się polisą ubezpieczeniową
Kompletna dokumentacja kontenera C++ vector w - http://www.cplusplus.com/reference/stl/vector/
STL, czyli o co tyle hałasu W świecie programowania C++, hasło STL pojawia się nieustannie i zawsze jest o nim głośno... często początkujące osoby, które nie znają STL-a pytają się co to jest i czemu go
Oznacza to, że chcemy znaleźć minimum, a właściwie wartość najmniejszą funkcji
Wykład 11. Metoda najmniejszych kwadratów Szukamy zależności Dane są wyniki pomiarów dwóch wielkości x i y: (x 1, y 1 ), (x 2, y 2 ),..., (x n, y n ). Przypuśćmy, że nanieśliśmy je na wykres w układzie
Algorytmy asymetryczne
Algorytmy asymetryczne Klucze występują w parach jeden do szyfrowania, drugi do deszyfrowania (niekiedy klucze mogą pracować zamiennie ) Opublikowanie jednego z kluczy nie zdradza drugiego, nawet gdy można
Wstęp do analizy matematycznej
Wstęp do analizy matematycznej Andrzej Marciniak Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych i ich zastosowań w
Uwaga: Funkcja zamień(a[j],a[j+s]) zamienia miejscami wartości A[j] oraz A[j+s].
Zadanie 1. Wiązka zadań Od szczegółu do ogółu Rozważmy następujący algorytm: Dane: Algorytm 1: k liczba naturalna, A[1...2 k ] tablica liczb całkowitych. n 1 dla i=1,2,,k wykonuj n 2n s 1 dopóki s
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 13. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 13 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Złożoność algorytmów czy to istotne, skoro
Podyplomowe Studium Informatyki
Podyplomowe Studium Informatyki Wstęp do informatyki 30 godz. wykładu dr inż. Paweł Syty, 413GB, sylas@mif.pg.gda.pl, http://sylas.info Literatura D. Harel, Rzecz o istocie informatyki. Algorytmika, WNT
Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 13. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 13 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Złożoność algorytmów czy to istotne, skoro
EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew
1. ( pkt) Dany jest algorytm, który dla dowolnej liczby naturalnej n, powinien wyznaczyd sumę kolejnych liczb naturalnych mniejszych od n. Wynik algorytmu jest zapisany w zmiennej suma. Algorytm i=1; suma=0;
2. LICZBY RZECZYWISTE Własności liczb całkowitych Liczby rzeczywiste Procenty... 24
SPIS TREŚCI WYRAŻENIA ALGEBRAICZNE RÓWNANIA I NIERÓWNOŚCI ALGEBRAICZNE 7 Wyrażenia algebraiczne 0 Równania i nierówności algebraiczne LICZBY RZECZYWISTE 4 Własności liczb całkowitych 8 Liczby rzeczywiste
Prawa wielkich liczb, centralne twierdzenia graniczne
, centralne twierdzenia graniczne Katedra matematyki i ekonomii matematycznej 17 maja 2012, centralne twierdzenia graniczne Rodzaje zbieżności ciągów zmiennych losowych, centralne twierdzenia graniczne
Informatyka 1. Złożoność obliczeniowa
Informatyka 1 Wykład XI Złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada 80 20, ocena efektywności
Temat: Algorytmy wyszukiwania wzorca w tekście
Temat: Algorytmy wyszukiwania wzorca w tekście 1. Sformułowanie problemu Dany jest tekst T oraz wzorzec P, będące ciągami znaków o długości równej odpowiednio n i m (n m 1), nad pewnym ustalonym i skończonym
3.Funkcje elementarne - przypomnienie
3.Funkcje elementarne - przypomnienie Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie rzegorz Kosiorowski (Uniwersytet Ekonomiczny3.Funkcje w Krakowie) elementarne - przypomnienie 1 / 51 1 Funkcje
Przepustowość kanału, odczytywanie wiadomości z kanału, poprawa wydajności kanału.
Przepustowość kanału, odczytywanie wiadomości z kanału, poprawa wydajności kanału Wiktor Miszuris 2 czerwca 2004 Przepustowość kanału Zacznijmy od wprowadzenia równości IA, B HB HB A HA HA B Można ją intuicyjnie
1. Granice funkcji - wstępne definicje i obliczanie prostych granic
1. Granice funkcji - wstępne definicje i obliczanie prostych granic Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie rzegorz Kosiorowski (Uniwersytet Ekonomiczny 1. Granice w Krakowie) funkcji -
Algorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Złożoność obliczeniowa algorytmu dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 2 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury
KARTA PRZEDMIOTU. Algorytmy i struktury danych, C4
KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:
Podyplomowe Studium Programowania i Systemów Baz Danych
Podyplomowe Studium Programowania i Systemów Baz Danych Algorytmy, struktury danych i techniki programowania 15 godz. wykładu / 15 godz. laboratorium dr inż. Paweł Syty, 413GB, sylas@mif.pg.gda.pl, http://sylas.info
Największy wspólny dzielnik Algorytm Euklidesa (także rozszerzony) WZAiP1: Chińskie twierdzenie o resztach
Największy wspólny dzielnik Algorytm Euklidesa (także rozszerzony) Chińskie twierdzenie o resztach Wybrane zagadnienia algorytmiki i programowania I 27 października 2010 Największy wspólny dzielnik - definicja
III. Funkcje rzeczywiste
. Pojęcia podstawowe Załóżmy, że dane są dwa niepuste zbiory X i Y. Definicja. Jeżeli każdemu elementowi x X przyporządkujemy dokładnie jeden element y Y, to mówimy, że na zbiorze X została określona funkcja
Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne.
Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne. Definicja. Niech a i b będą dodatnimi liczbami rzeczywistymi i niech a. Logarytmem liczby b przy podstawie
Jeśli wszystkie wartości, jakie może przyjmować zmienna można wypisać w postaci ciągu {x 1, x 2,...}, to mówimy, że jest to zmienna dyskretna.
Wykład 4 Rozkłady i ich dystrybuanty Dwa typy zmiennych losowych Jeśli wszystkie wartości, jakie może przyjmować zmienna można wypisać w postaci ciągu {x, x 2,...}, to mówimy, że jest to zmienna dyskretna.
Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A
Egzamin z Metod Numerycznych ZSI, 06.2007. Egzamin, Gr. A Imię i nazwisko: Nr indeksu: Section 1. Test wyboru, max 33 pkt Zaznacz prawidziwe odpowiedzi literą T, a fałszywe N. Każda prawidłowa odpowiedź
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem
Zaawansowane algorytmy i struktury danych
Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań praktycznych z egzaminów. Strona 1 z 12 Pytania praktyczne z kolokwium zaliczeniowego z 19 czerwca 2014 (studia dzienne)
Podstawy Programowania
Podstawy Programowania Monika Wrzosek Instytut Matematyki Uniwersytet Gdański Matematyka 2017/18 Monika Wrzosek (IM UG) Podstawy Programowania 1 / 119 Sprawy organizacyjne E-mail: mwrzosek@mat.ug.edu.pl
Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.
Funkcje wymierne Jerzy Rutkowski Teoria Przypomnijmy, że przez R[x] oznaczamy zbiór wszystkich wielomianów zmiennej x i o współczynnikach rzeczywistych Definicja Funkcją wymierną jednej zmiennej nazywamy
Metody numeryczne I. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61
Metody numeryczne I Dokładność obliczeń numerycznych. Złożoność obliczeniowa algorytmów Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61 ... the purpose of
Statystyka. Wykład 8. Magdalena Alama-Bućko. 10 kwietnia Magdalena Alama-Bućko Statystyka 10 kwietnia / 31
Statystyka Wykład 8 Magdalena Alama-Bućko 10 kwietnia 2017 Magdalena Alama-Bućko Statystyka 10 kwietnia 2017 1 / 31 Tematyka zajęć: Wprowadzenie do statystyki. Analiza struktury zbiorowości miary położenia
Aproksymacja funkcji a regresja symboliczna
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą
Pojęcie szeregu nieskończonego:zastosowania do rachunku prawdopodobieństwa wykład 1
Pojęcie szeregu nieskończonego:zastosowania do rachunku prawdopodobieństwa wykład dr Mariusz Grządziel 5 lutego 04 Paradoks Zenona z Elei wersja uwspółcześniona Zenek goni Andrzeja; prędkość Andrzeja:
Metody numeryczne. materiały do wykładu dla studentów. 1. Teoria błędów, notacja O
Metody numeryczne materiały do wykładu dla studentów 1. Teoria błędów, notacja O 1.1. Błąd bezwzględny, błąd względny 1.2. Ogólna postać błędu 1.3. Problem odwrotny teorii błędów - zasada równego wpływu
Funkcja wykładnicza kilka dopowiedzeń
Funkcje i ich granice Było: Zbiór argumentów; zbiór wartości; monotoniczność; funkcja odwrotna; funkcja liniowa; kwadratowa; wielomiany; funkcje wymierne; funkcje trygonometryczne i ich odwrotności; funkcja
1 Macierz odwrotna metoda operacji elementarnych
W tej części skupimy się na macierzach kwadratowych. Zakładać będziemy, że A M(n, n) dla pewnego n N. Definicja 1. Niech A M(n, n). Wtedy macierzą odwrotną macierzy A (ozn. A 1 ) nazywamy taką macierz
Matematyka licea ogólnokształcące, technika
Matematyka licea ogólnokształcące, technika Opracowano m.in. na podstawie podręcznika MATEMATYKA w otaczającym nas świecie zakres podstawowy i rozszerzony Funkcja liniowa Funkcję f: R R określoną wzorem
Następnie przypominamy (dla części studentów wprowadzamy) podstawowe pojęcia opisujące funkcje na poziomie rysunków i objaśnień.
Zadanie Należy zacząć od sprawdzenia, co studenci pamiętają ze szkoły średniej na temat funkcji jednej zmiennej. Na początek można narysować kilka krzywych na tle układu współrzędnych (funkcja gładka,
x a 1, podając założenia, przy jakich jest ono wykonywalne. x a 1 = x a 2 ( a 1) = x 1 = 1 x.
Zestaw. Funkcja potęgowa, wykładnicza i logarytmiczna. Elementarne równania i nierówności. Przykład 1. Wykonać działanie x a x a 1, podając założenia, przy jakich jest ono wykonywalne. Rozwiązanie. Niech
1 Wprowadzenie do algorytmiki
Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności
Maksymalne powtórzenia w tekstach i zerowa intensywność entropii
Maksymalne powtórzenia w tekstach i zerowa intensywność entropii Łukasz Dębowski ldebowsk@ipipan.waw.pl i Instytut Podstaw Informatyki PAN Warszawa 1 Wprowadzenie 2 Ograniczenia górne i dolne 3 Przykłady
Jarosław Wróblewski Analiza Matematyczna 1A, zima 2012/13
35. O zdaniu 1 T (n) udowodniono, że prawdziwe jest T (1), oraz że dla dowolnego n 6 zachodzi implikacja T (n) T (n+2). Czy można stąd wnioskować, że a) prawdziwe jest T (10), b) prawdziwe jest T (11),
Tablice z haszowaniem
Tablice z haszowaniem - efektywna metoda reprezentacji słowników (zbiorów dynamicznych, na których zdefiniowane są operacje Insert, Search i Delete) - jest uogólnieniem zwykłej tablicy - przyspiesza operacje
Próbny egzamin z matematyki dla uczniów klas II LO i III Technikum. w roku szkolnym 2012/2013
Próbny egzamin z matematyki dla uczniów klas II LO i III Technikum w roku szkolnym 2012/2013 I. Zakres materiału do próbnego egzaminu maturalnego z matematyki: 1) liczby rzeczywiste 2) wyrażenia algebraiczne
Rozdział 1. Zmienne losowe, ich rozkłady i charakterystyki. 1.1 Definicja zmiennej losowej
Rozdział 1 Zmienne losowe, ich rozkłady i charakterystyki 1.1 Definicja zmiennej losowej Zbiór możliwych wyników eksperymentu będziemy nazywać przestrzenią zdarzeń elementarnych i oznaczać Ω, natomiast