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,
|
|
- Tadeusz Kulesza
- 6 lat temu
- Przeglądów:
Transkrypt
1 Oznaczenia:
2 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 w najgorszym przypadku.
3 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 w najgorszym przypadku.
4 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 w najgorszym przypadku. Gwarancja, że algorytm nigdy nie będzie działał dłużej
5 Warto pamiętać! Może się zdarzyć, że algorytm o pesymistycznej złożoności czasowej rzędu nlgn będzie dla większości danych wejściowych działał wolniej niż algorytm o pesymistycznym czasie działania rzędu n2. Istnieją algorytmy o pesymistycznej złożoności czasowej rzędu wykładniczego, które często działają szybciej niż algorytm o złożoności wielomianowej, a nawet liniowej (np. tzw. metoda simplex programowania liniowego).
6 Miara wrażliwości pesymistycznej algorytmu bada, na ile wielkość Tmax(n) odzwierciedla rzeczywisty czas działania algorytmu.
7 Zachowanie algorytmu dla losowych danych wejściowych określa średnia (lub oczekiwana) złożoność.
8 Zachowanie algorytmu dla losowych danych wejściowych określa średnia (lub oczekiwana) złożoność.
9 Zachowanie algorytmu dla losowych danych wejściowych określa średnia (lub oczekiwana) złożoność. Przypomnienie!
10 Podsumowanie: Miara wrażliwości pesymistycznej i miara wrażliwości oczekiwanej informują, jak bardzo zachowanie algorytmu dla rzeczywistych danych wejściowych może odbiegać od zachowania opisanego za pomocą pesymistycznej i oczekiwanej złożoności czasowej. Im większe są te wartości, tym algorytm jest bardziej wrażliwy na dane wejściowe.
11 Przykład: Rozważmy zbiór danych ZDWn jako n-wyrazowych ciągów uporządkowanych liczb naturalnych. Rozważmy dalej typowy algorytm w rodzaju dziel i zwyciężaj sprawdzenia, czy liczba naturalna x jest elementem ciągu zdw ZDWn.
12 Przykład: Rozważmy zbiór danych ZDWn jako n-wyrazowych ciągów uporządkowanych liczb naturalnych. Rozważmy dalej typowy algorytm w rodzaju dziel i zwyciężaj sprawdzenia, czy liczba naturalna x jest elementem ciągu zdw ZDWn. Rozwiązanie: Przyjmijmy, że ilość n elementów ciągu {a1,a2, an} jest potęgą dwójki, czyli n=2k, gdzie k jest pewną liczba naturalną. Sprawdzamy, czy x==an/2. Jeśli tak, to algorytm kończy działanie, jeśli nie, to po sprawdzeniu, że x<an/2 przechodzimy do przeszukania lewej połowy ciągu o ilości elementów równej n/2; jeśli spełniona jest nierówność przeciwna, to przeszukujemy prawą połowę ciągu. Maksymalną pesymistyczną liczbę porównań otrzymamy, gdy kolejne zagłębienia rekurencyjne doprowadzą do zbioru dwuelementowego, dla którego dwa porównania dadzą ostateczną odpowiedź dla zadania rozwiązywanego tym algorytmem.
13 Zatem dla Otrzymujemy: Tmax(n)=Tmax(n/2)+2, gdzie 2 stanowią dwa dodatkowe porównania na każdym etapie.
14 Zatem dla Otrzymujemy: Tmax(n)=Tmax(n/2)+2, gdzie 2 stanowią dwa dodatkowe porównania na każdym etapie. Dostajemy po rozwinięciu postać funkcji pesymistycznej złożoności czasowej: Tmax(n)=Tmax(n/2)+2=Tmax(2k-1)+2=Tmax(2k-2)+2+2= = =Tmax(2k-(k-1))+(k-1)*2=Tmax(2)+(k-1)*2=2+(k-1)*2=2*k.
15 Zatem dla Otrzymujemy: Tmax(n)=Tmax(n/2)+2, gdzie 2 stanowią dwa dodatkowe porównania na każdym etapie. Dostajemy po rozwinięciu postać funkcji pesymistycznej złożoności czasowej: Tmax(n)=Tmax(n/2)+2=Tmax(2k-1)+2=Tmax(2k-2)+2+2= = =Tmax(2k-(k-1))+(k-1)*2=Tmax(2)+(k-1)*2=2+(k-1)*2=2*k. Ponieważ k=log2n, zatem Tmax(n)=2*(log2n)
16 Policzmy teraz pesymistyczną wrażliwość tego algorytmu. Przypomnijmy, że
17 Policzmy teraz pesymistyczną wrażliwość tego algorytmu. Przypomnijmy, że Jest to zatem kres górny zbioru liczb, które powstają jako różnice ilości operacji dominujących. Zatem od liczby największej z możliwych należy odjąć najmniejszą z możliwych, żeby otrzymać taki kres górny. Ponieważ najmniejszą ilością porównań dla dowolnego n jest jedno porównanie, a największa ilość wyraża się obliczoną właśnie Tmax(n)=2*(log2n), to = =2*(log2n)-1
18 Policzmy teraz pesymistyczną wrażliwość tego algorytmu. Przypomnijmy, że Jest to zatem kres górny zbioru liczb, które powstają jako różnice ilości operacji dominujących. Zatem od liczby największej z możliwych należy odjąć najmniejszą z możliwych, żeby otrzymać taki kres górny. Ponieważ najmniejszą ilością porównań dla dowolnego n jest jedno porównanie, a największa ilość wyrażą się obliczoną właśnie Tmax(n)=2*(log2n), to = =2*(log2n)-1 Pesymistyczna wrażliwość złożoności czasowej jest zatem duża i możemy się spodziewać dużej zmienności złożoności obliczeniowej.
19 Policzmy teraz typową wartość złożoności obliczeniowej, czyli dla losowo wybranych n liczb. Przypomnijmy:
20 Policzmy teraz typową wartość złożoności obliczeniowej, czyli dla losowo wybranych n liczb. Przypomnijmy: Określmy kolejno elementy tej definicji: n={zdw ZDWn} zbiór zdarzeń elementarnych, Xn zmienna losowa, której wartością jest l(zdw)- liczba operacji dominujących na n, pnk rozkład zmiennej losowej Xn, czyli prawdopodobieństwo, że dla danych wejściowych rozmiaru n algorytm wykona k operacji dominujących, tzn. pnk=p{zdw n: l(zdw)=k}, przy k całkowitym, k [1, 2*(log2n) ].
21 Ponieważ nasze prawdopodobieństwo pnk nie zależy od k, więc pnk=1/(2*log2n) dla każdego całkowitego k [1, 2*(log2n)]. Stąd k 2*log2 n (k * p nk k 1 ) k 2*log2 n (k * (1 /( 2 * log k 1 2 n))) (1 / 2 * log 2 n) * 2n (1 /( 2 * log 2 n)) * 1 2*log * (2 * log 2 n) 2 1 2*log2 n * (1 2 * log 2 n) * log 2 n 12 log 2 n k 2*log2 n k k 1
22 Ponieważ nasze prawdopodobieństwo pnk nie zależy od k, więc pnk=1/(2*log2n) dla każdego całkowitego k [1, 2*(log2n)]. Stąd k 2*log2 n (k * p nk k 1 ) k 2*log2 n (k * (1 /( 2 * log k 1 2 n))) (1 / 2 * log 2 n) * k 2*log2 n 2n (1 /( 2 * log 2 n)) * 1 2*log * (2 * log 2 n) 2 1 2*log2 n * (1 2 * log 2 n) * log 2 n 12 log 2 n Zauważmy, że Tśr(n) jest o ½ większe od połowy Tmax(n). k k 1
23 Obliczmy na koniec miarę wrażliwości oczekiwanej algorytmu.
24 Obliczmy na koniec miarę wrażliwości oczekiwanej algorytmu. ( n) (k T k 0 śr 2 (n)) pnk W naszym przypadku sumujemy po całkowitych k [1, 2*(log2n)]. Stąd otrzymujemy wyniki:
25 ( n) 2*log2 n 2 ( k T ( n )) pnk śr k (4(log 2 n) 2 1) 2*log2 n 2 ( k ( 1 / 2 log n )) 2 k 1 Szczegółowe rachunki na tablicy 1 2*log2 n
26 ( n) 2*log2 n 2 ( k T ( n )) pnk śr k (4(log 2 n) 2 1) 2*log2 n 2 ( k ( 1 / 2 log n )) 2 k 1 Szczegółowe rachunki na tablicy Otrzymane wyniki są może mało czytelne, ale można je przybliżać, wykorzystując oszacowania asymptotyczne. Takie oszacowania zostaną podane później 1 2*log2 n
27 Służą do wyznaczenia liczby operacji dominujących
28
29
30
31
32
33
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
Bardziej szczegółowoZaawansowane 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)
Bardziej szczegółowoZadanie 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
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowoUwaga: 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
Bardziej szczegółowoAlgorytmy 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,
Bardziej szczegółowoMatematyczne 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
Bardziej szczegółowoMetody 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
Bardziej szczegółowoZł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
Bardziej szczegółowoWstę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ść
Bardziej szczegółowoZł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ść
Bardziej szczegółowoWstę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
Bardziej szczegółowoWstę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
Bardziej szczegółowoZłożoność Obliczeniowa Algorytmów
Algorytmów 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
Bardziej szczegółowoLiczby 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
Bardziej szczegółowoWYŻ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
Bardziej szczegółowoZasady 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
Bardziej szczegółowooperacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.
Problem porządkowania zwanego również sortowaniem jest jednym z najważniejszych i najpopularniejszych zagadnień informatycznych. Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,, x n. Wynik: Uporządkowanie
Bardziej szczegółowoTEORETYCZNE 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
Bardziej szczegółowoANALIZA 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
Bardziej szczegółowoJeszcze o algorytmach
Jeszcze o algorytmach Przykłady różnych, podstawowych algorytmów 11.01.2018 M. Rad Plan Powtórka Znajdowanie najmniejszego elementu Segregowanie Poszukiwanie przez połowienie Wstawianie Inne algorytmy
Bardziej szczegółowoWprowadzenie 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
Bardziej szczegółowoProgramowanie dynamiczne
Programowanie dynamiczne Ciąg Fibonacciego fib(0)=1 fib(1)=1 fib(n)=fib(n-1)+fib(n-2), gdzie n 2 Elementy tego ciągu stanowią liczby naturalne tworzące ciąg o takiej własności, że kolejny wyraz (z wyjątkiem
Bardziej szczegółowoStrategia "dziel i zwyciężaj"
Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania
Bardziej szczegółowoSortowanie - wybrane algorytmy
Sortowanie - wybrane algorytmy Aleksandra Wilkowska Wydział Matematyki - Katedra Matematyki Stosowanej Politechika Wrocławska 2 maja 2018 1 / 39 Plan prezentacji Złożoność obliczeniowa Sortowanie bąbelkowe
Bardziej szczegółowoLuty 2001 Algorytmy (4) 2000/2001
Mając dany zbiór elementów, chcemy znaleźć w nim element największy (maksimum), bądź najmniejszy (minimum). We wszystkich naturalnych metodach znajdywania najmniejszego i największego elementu obecne jest
Bardziej szczegółowoZaliczenie. 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
Bardziej szczegółowoEGZAMIN - 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;
Bardziej szczegółowoPrawdopodobieństwo i statystyka
Wykład XIV: Metody Monte Carlo 19 stycznia 2016 Przybliżone obliczanie całki oznaczonej Rozważmy całkowalną funkcję f : [0, 1] R. Chcemy znaleźć przybliżoną wartość liczbową całki 1 f (x) dx. 0 Jeden ze
Bardziej szczegółowoTeoretyczne 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
Bardziej szczegółowoWstę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
Bardziej szczegółowoInformatyka 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
Bardziej szczegółowoINFORMATYKA 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
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowoANALIZA 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
Bardziej szczegółowoLogarytmy. 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
Bardziej szczegółowoRozdział 1 PROGRAMOWANIE LINIOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.2 Ćwiczenia komputerowe Ćwiczenie 1.1 Wykorzystując
Bardziej szczegółowoAlgebra abstrakcyjna
Algebra abstrakcyjna Przykłady 1. Sama liczba 0 tworzy grupę (rzędu 1) ze względu na zwykłe dodawanie, również liczba 1 tworzy grupę (rzędu 1) ze względu na zwykłe mnożenie.. Liczby 1 i 1 stanowią grupą
Bardziej szczegółowoStatystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory
Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory Dr Anna ADRIAN Paw B5, pok 407 adrian@tempus.metal.agh.edu.pl
Bardziej szczegółowoPoró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
Bardziej szczegółowoAlgorytm selekcji Hoare a. Łukasz Miemus
Algorytm selekcji Hoare a Łukasz Miemus 1 lutego 2006 Rozdział 1 O algorytmie 1.1 Problem Mamy tablicę A[N] różnych elementów i zmienną int K, takie że 1 K N. Oczekiwane rozwiązanie to określenie K-tego
Bardziej szczegółowoAlgorytmy i struktury danych
Algorytmy i struktury danych ĆWICZENIE 2 - WYBRANE ZŁOŻONE STRUKTURY DANYCH - (12.3.212) Prowadząca: dr hab. inż. Małgorzata Sterna Informatyka i3, poniedziałek godz. 11:45 Adam Matuszewski, nr 1655 Oliver
Bardziej szczegółowoW. Guzicki Próbna matura, grudzień 2014 r. poziom rozszerzony 1
W. Guzicki Próbna matura, grudzień 01 r. poziom rozszerzony 1 Próbna matura rozszerzona (jesień 01 r.) Zadanie 18 kilka innych rozwiązań Wojciech Guzicki Zadanie 18. Okno na poddaszu ma mieć kształt trapezu
Bardziej szczegółowoAlgorytm simplex i dualność
Algorytm simplex i dualność Łukasz Kowalik Instytut Informatyki, Uniwersytet Warszawski April 15, 2016 Łukasz Kowalik (UW) LP April 15, 2016 1 / 35 Przypomnienie 1 Wierzchołkiem wielościanu P nazywamy
Bardziej szczegółowoProgramowanie Równoległe i Rozproszone. Algorytm Kung a. Algorytm Kung a. Programowanie Równoległe i Rozproszone Wykład 8. Przygotował: Lucjan Stapp
Programowanie Równoległe i Rozproszone Lucjan Stapp Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska (l.stapp@mini.pw.edu.pl) 1/34 PRiR Algorytm Kunga Dany jest odcinek [a,b] i ciągła funkcja
Bardziej szczegółowo3. Modele tendencji czasowej w prognozowaniu
II Modele tendencji czasowej w prognozowaniu 1 Składniki szeregu czasowego W teorii szeregów czasowych wyróżnia się zwykle następujące składowe szeregu czasowego: a) składowa systematyczna; b) składowa
Bardziej szczegółowoRekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:
Rekurencje Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie: T(n) = Θ(1) (dla n = 1) T(n) = 2 T(n/2) + Θ(n) (dla n
Bardziej szczegółowoZADANIE 1. Ważenie (14 pkt)
ZADANIE 1. Ważenie (14 pkt) Danych jest n przedmiotów o niewielkich gabarytach i różnych wagach. Jest też do dyspozycji waga z dwiema szalkami, ale nie ma odważników. Kładąc na wadze przedmioty a i b,
Bardziej szczegółowoMatematyka 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)
Bardziej szczegółowoALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny
ALGORYMY 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
Bardziej szczegółowoALGORYTMY I STRUKTURY DANYCH
LGORTM I STRUKTUR DNH Temat 6: Drzewa ST, VL Wykładowca: dr inż. bigniew TRPT e-mail: bigniew.tarapata@isi.wat.edu.pl http://www.tarapata.strefa.pl/p_algorytmy_i_struktury_danych/ Współautorami wykładu
Bardziej szczegółowoAlgorytmy 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
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 2 2 Problemy algorytmiczne Klasy problemów algorytmicznych Liczby Fibonacciego Przeszukiwanie tablic Największy
Bardziej szczegółowoRozdział 1. Wektory losowe. 1.1 Wektor losowy i jego rozkład
Rozdział 1 Wektory losowe 1.1 Wektor losowy i jego rozkład Definicja 1 Wektor X = (X 1,..., X n ), którego każda współrzędna jest zmienną losową, nazywamy n-wymiarowym wektorem losowym (krótko wektorem
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowoSortowanie przez scalanie
Sortowanie przez scalanie Wykład 2 12 marca 2019 (Wykład 2) Sortowanie przez scalanie 12 marca 2019 1 / 17 Outline 1 Metoda dziel i zwyciężaj 2 Scalanie Niezmiennik pętli - poprawność algorytmu 3 Sortowanie
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowo1.1. Uzupełnij poniższą tabelę: i wynik(i)
Zadanie 1. Krzysztof, Kamil Wiązka zadań Ciągi rekurencyjne Dana jest następująca funkcja rekurencyjna: funkcja wynik( i ) jeżeli i < 3 zwróć 1 i zakończ; w przeciwnym razie jeżeli i mod 2 = 0 zwróć wynik(i
Bardziej szczegółowoPrzykładowe zadania z teorii liczb
Przykładowe zadania z teorii liczb I. Podzielność liczb całkowitych. Liczba a = 346 przy dzieleniu przez pewną liczbę dodatnią całkowitą b daje iloraz k = 85 i resztę r. Znaleźć dzielnik b oraz resztę
Bardziej szczegółowoWykład na Politechnice Krakowskiej w dniu 18 stycznia 2012 r. ZADAŃ I ALGORYTMÓW W OPTYMALIZACJI DYSKRETNEJ
Wykład na Politechnice Krakowskiej w dniu 18 stycznia 2012 r. ZŁOŻONOŚĆ OBLICZENIOWA ZADAŃ I ALGORYTMÓW W OPTYMALIZACJI DYSKRETNEJ dr hab. Krzysztof SZKATUŁA, prof. PAN Instytut Badań Systemowych PAN Uniwersytet
Bardziej szczegółowoCentralne twierdzenie graniczne
Instytut Sterowania i Systemów Informatycznych Universytet Zielonogórski Wykład 4 Ważne uzupełnienie Dwuwymiarowy rozkład normalny N (µ X, µ Y, σ X, σ Y, ρ): f XY (x, y) = 1 2πσ X σ Y 1 ρ 2 { [ (x ) 1
Bardziej szczegółowoRekurencja. Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Przykład: silnia: n! = n(n-1)!
Rekurencja Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Przykład: silnia: n! = n(n-1)! Pseudokod: silnia(n): jeżeli n == 0 silnia = 1 w przeciwnym
Bardziej szczegółowoTestowanie hipotez statystycznych.
Bioinformatyka Wykład 9 Wrocław, 5 grudnia 2011 Temat. Test zgodności χ 2 Pearsona. Statystyka χ 2 Pearsona Rozpatrzmy ciąg niezależnych zmiennych losowych X 1,..., X n o jednakowym dyskretnym rozkładzie
Bardziej szczegółowoEfektywna metoda sortowania sortowanie przez scalanie
Efektywna metoda sortowania sortowanie przez scalanie Rekurencja Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Metoda dziel i zwycięŝaj Dzielimy
Bardziej szczegółowoZł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
Bardziej szczegółowoEfektywność 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
Bardziej szczegółowoZł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
Bardziej szczegółowoWskaźniki. Programowanie Proceduralne 1
Wskaźniki Programowanie Proceduralne 1 Adresy zmiennych Sterta 1 #include 2 3 int a = 2 ; 4 5 int main ( ) 6 { 7 int b = 3 ; 8 9 printf ( " adres zmiennej a %p\n", &a ) ; 10 printf ( " adres
Bardziej szczegółowoDefinicja. Ciąg wejściowy: Funkcja uporządkowująca: Sortowanie polega na: a 1, a 2,, a n-1, a n. f(a 1 ) f(a 2 ) f(a n )
SORTOWANIE 1 SORTOWANIE Proces ustawiania zbioru elementów w określonym porządku. Stosuje się w celu ułatwienia późniejszego wyszukiwania elementów sortowanego zbioru. 2 Definicja Ciąg wejściowy: a 1,
Bardziej szczegółowoAlgorytmy i Struktury Danych, 9. ćwiczenia
Algorytmy i Struktury Danych, 9. ćwiczenia 206-2-09 Plan zajęć usuwanie z B-drzew join i split na 2-3-4 drzewach drzepce adresowanie otwarte w haszowaniu z analizą 2 B-drzewa definicja każdy węzeł ma następujące
Bardziej szczegółowoPodstawy Programowania
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
Bardziej szczegółowoZaawansowane 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)
Bardziej szczegółowoTransformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago
Transformata Fouriera Sylwia Kołoda Magdalena Pacek Krzysztof Kolago Transformacja Fouriera rozkłada funkcję okresową na szereg funkcji okresowych tak, że uzyskana transformata podaje w jaki sposób poszczególne
Bardziej szczegółowoJarosław Wróblewski Matematyka dla Myślących, 2008/09
9. Funkcje trygonometryczne. Elementy geometrii: twierdzenie Pitagorasa i twierdzenie cosinusów, twierdzenie o kącie wpisanym i środkowym, okrąg wpisany i opisany na wielokącie, wielokąty foremne (dokończenie).
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 5 Prof. dr hab. inż. Jan Magott DMT rozwiązuje problem decyzyjny π przy kodowaniu e w co najwyżej wielomianowym czasie, jeśli dla wszystkich łańcuchów wejściowych
Bardziej szczegółowoKARTA 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:
Bardziej szczegółowoANALIZA 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
Bardziej szczegółowoAlgorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne
Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na
Bardziej szczegółowoAlgorytmy sortujące 1
Algorytmy sortujące 1 Sortowanie Jeden z najczęściej występujących, rozwiązywanych i stosowanych problemów. Ułożyć elementy listy (przyjmujemy: tablicy) w rosnącym porządku Sortowanie może być oparte na
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott Metody konstrukcji algorytmów: Siłowa (ang. brute force), Dziel i zwyciężaj (ang. divide-and-conquer), Zachłanna (ang.
Bardziej szczegółowoTeoretyczne 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
Bardziej szczegółowoAlgorytmy i struktury danych. Wykład 4
Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych
Bardziej szczegółowoAlgorytmy przeszukiwania wzorca
Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Algorytmy przeszukiwania wzorca 1 Wstęp Algorytmy
Bardziej szczegółowoModelowanie 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
Bardziej szczegółowoTechnologie informacyjne Wykład VII-IX
Technologie informacyjne -IX A. Matuszak 19 marca 2013 A. Matuszak Technologie informacyjne -IX Rekurencja A. Matuszak (2) Technologie informacyjne -IX Gotowanie jajek na miękko weż czysty garnek włóż
Bardziej szczegółowoKARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Algorytmy i struktury danych, C3
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:
Bardziej szczegółowoTechnologie 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:
Bardziej szczegółowoSpacery losowe generowanie realizacji procesu losowego
Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z
Bardziej szczegółowo2. DZIAŁANIA NA WIELOMIANACH
WIELOMIANY 1. Stopieo wielomianu. Działania na wielomianach 2. Równość wielomianów. 3. Pierwiastek wielomianu. Rozkład wielomianu na czynniki 4. Równania wielomianowe. 1.STOPIEŃ WIELOMIANU Wielomian to
Bardziej szczegółowoWykład z równań różnicowych
Wykład z równań różnicowych 1 Wiadomości wstępne Umówmy się, że na czas tego wykładu zrezygnujemy z oznaczania n-tego wyrazu ciągu symbolem typu x n, y n itp. Zamiast tego pisać będziemy x (n), y (n) itp.
Bardziej szczegółowoZakładamy, że są niezależnymi zmiennymi podlegającymi (dowolnemu) rozkładowi o skończonej wartości oczekiwanej i wariancji.
Wnioskowanie_Statystyczne_-_wykład Spis treści 1 Centralne Twierdzenie Graniczne 1.1 Twierdzenie Lindeberga Levy'ego 1.2 Dowód 1.2.1 funkcja tworząca sumy zmiennych niezależnych 1.2.2 pochodna funkcji
Bardziej szczegółowoAlgorytmy i Struktury Danych, 2. ćwiczenia
Algorytmy i Struktury Danych, 2. ćwiczenia 2017-10-13 Spis treści 1 Optymalne sortowanie 5 ciu elementów 1 2 Sortowanie metodą Shella 2 3 Przesunięcie cykliczne tablicy 3 4 Scalanie w miejscu dla ciągów
Bardziej szczegółowoPrawa 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
Bardziej szczegółowoMetody numeryczne. materiały do wykładu dla studentów
Metody numeryczne materiały do wykładu dla studentów 5. Przybliżone metody rozwiązywania równań 5.1 Lokalizacja pierwiastków 5.2 Metoda bisekcji 5.3 Metoda iteracji 5.4 Metoda stycznych (Newtona) 5.5 Metoda
Bardziej szczegółowoPRÓBNY EGZAMIN MATURALNY Z INFORMATYKI
PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY ARKUSZ I STYCZEŃ 2014 Instrukcja dla zdającego 1. Sprawdź, czy arkusz egzaminacyjny zawiera 9 stron (zadania 1 3). Ewentualny brak zgłoś przewodniczącemu
Bardziej szczegółowoPrzetwarzanie równoległe Zadanie domowe III
Przetwarzanie równoległe Zadanie domowe III Jarosław Marek Gliwiński #indeksu 7439 16 stycznia 010 1 Wstęp 1.1 Wykaz skrótów i oznaczeń W pierwszej kolejności przedstawione zostaną używane w pracy oznaczenia,
Bardziej szczegółowoAnaliza 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ą
Bardziej szczegółowoFunkcje charakteryzujące proces. Dr inż. Robert Jakubowski
Funkcje charakteryzujące proces eksploatacji Dr inż. Robert Jakubowski Niezawodność Niezawodność Rprawdopodobieństwo, że w przedziale czasu od do t cechy funkcjonalne statku powietrznego Ubędą się mieścić
Bardziej szczegółowo