METODY PROBABILISTYCZNE I STATYSTYKA

Wielkość: px
Rozpocząć pokaz od strony:

Download "METODY PROBABILISTYCZNE I STATYSTYKA"

Transkrypt

1 METODY PROBABILISTYCZNE I STATYSTYKA INFORMACJE UZUPEŁNIAJĄCE SPIS TREŚCI. ANALIZA ALGORYTMÓW POD WZGLĘDEM ŚREDNIEGO ZACHOWANIA UWAGI WSTĘPNE SZACOWANIE RODZAJU / KLASY ZŁOśONOŚCI OBLICZENIOWEJ DANEGO ALGORYTMU PRZYKŁADOWE WYZNACZANIE ZŁOśONOŚCI OBLICZENIOWEJ SYMULACYJNA OCENA ZŁOśONOŚCI ALGORYTMÓW PRZYKŁADOWE PYTANIA TESTOWE ZADANIA NA ĆWICZENIA RACHUNKOWE OBLICZANIE NIEZAWODNOŚCI PROSTYCH UKŁADÓW SPRZĘTOWYCH I SYSTEMÓW PROGRAMOWYCH UWAGI WSTĘPNE POJĘCIE NIEZAWODNOŚCI POPRAWNOŚĆ, NIEZAWODNOŚĆ I ODPORNOŚĆ OPROGRAMOWANIA ZWIĘKSZANIE NIEZAWODNOŚCI OPROGRAMOWANIA OBLICZANIE NIEZAWODNOŚCI PODSTAWOWYCH KONFIGURACJI UKŁADÓW SPRZĘTOWYCH ZADANIA NA ĆWICZENIA RACHUNKOWE ANALIZA WYDAJNOŚCI PROSTYCH UKŁADÓW SPRZĘTOWO- PROGRAMOWYCH - ZASTOSOWANIA TEORII PROCESÓW STOCHASTYCZNYCH UWAGI WSTĘPNE OCENA WYDAJNOŚCI OPROGRAMOWANIA PODSTAWOWE POJĘCIA TEORII MASOWEJ OBSŁUGI MODEL JEDNOKANAŁOWY M / M / L (, ) MODEL WIELOKANAŁOWY M / M / S (, ) DLA S PRZYKŁADY ZADANIA NA ĆWICZENIA RACHUNKOWE...39 WYKAZ RYSUNKÓW...40 WYKAZ TABEL...40 Data ostatniej aktualizacji: piątek, 29 października 200

2 Jednym z przedmiotów podstawowych wymienionych w standardach kształcenia dla kierunku studiów informatyka na studiach I stopnia jest przedmiot Metody probabilistyczne i statystyka. Minimalna liczba godzin dla tego przedmiotu wynosi 30 dla studiów licencjackich i 60 dla studiów inŝynierskich. Sprawdzony układ godzin dla stacjonarnych studiów in- Ŝynierskich to 45 godzin wykładów i 30 godzin ćwiczeń rachunkowych. Z kolei dla studiów niestacjonarnych to układ Treści i efekty kształcenia dla tego przedmiotu są następujące: Treści kształcenia: Prawdopodobieństwo dyskretne. Prawdopodobieństwo ciągłe. Wartości oczekiwane. Procesy stochastyczne. Próbkowanie. Estymacja. Testowanie hipotez statystycznych. Efekty kształcenia umiejętności i kompetencje: obliczania prawdopodobieństwa zdarzeń, wartości oczekiwanej, wariancji i odchylenia standardowego; analizy algorytmów pod względem średniego zachowania; obliczania niezawodności prostych układów sprzętowych i systemów programowych; zastosowania koncepcji procesów stochastycznych do analizy wydajności prostych układów sprzętowo-programowych; przeprowadzania prostego wnioskowania statystycznego. Z analizy przedstawionych wymagań wynika, Ŝe: W przedmiocie zagadnienia teoretyczne ograniczone są niezbędnego minimum. Pominięto przykładowe klasyczne tematy dot. np.: twierdzeń granicznych, analizy regresji, estymacji przedziałowej czy weryfikacji hipotez nieparametrycznych. Rozbudowane są treści dotyczące informatycznych zastosowań rachunku prawdopodobieństwa, statystyki matematycznej i procesów stochastycznych. W dostępnej literaturze brak jest podręcznika, który zawierałby tak określone treści. Na dodatek informacje dotyczące zastosowań są publikowane w ograniczonej i niejednolitej formie. Stan taki był powodem opracowania niniejszego uzupełnienia. Niniejsze uzupełnienie obejmuje następujące, specjalistyczne zagadnienia: Analizy algorytmów pod względem średniego zachowania; Obliczania niezawodności prostych układów sprzętowych i systemów programowych; Zastosowania koncepcji procesów stochastycznych do analizy wydajności prostych układów sprzętowo-programowych. 2 Data ostatniej aktualizacji: piątek, 29 października 200

3 . ANALIZA ALGORYTMÓW POD WZGLĘDEM ŚREDNIEGO ZACHOWANIA 2.. Uwagi wstępne Istnieje wiele problemów, których człowiek nie jest w stanie rozwiązywać, posługując się nawet najszybszymi z istniejących komputerów. Nawet kolejne generacje coraz szybszych komputerów niewiele zmieniają tę sytuację. Panuje powszechne przekonanie, Ŝe cała nadzieja w coraz szybszych algorytmach. To przekonanie najlepiej oddają następujące powiedzenia: Najlepszym sposobem przyspieszania pracy komputerów jest obarczanie ich mniejszą liczbą działań - Ralf Gomory, szef ośrodka badawczego IBM. Największe przyspieszenie osiąga się nie pedałem gazu, a głową Ferrari. Analiza algorytmu obejmuje ocenę poprawności wykonywanych na jego podstawie obliczeń oraz ocenę złoŝoności algorytmu. W wyniku oceny złoŝoności algorytmu określane są zasoby potrzebne do rozwiązania problemów obliczeniowych. RozwaŜanymi zasobami są czas wykonywania obliczeń, niezbędna pamięć czy liczba procesorów. Za twórców podstaw oceny złoŝoności uwaŝani są Juris Hartmanis i Richard Stearns. Podejście do oceny poprawności obliczeń przedstawiono w rozdziale 5 Obliczanie niezawodności prostych układów sprzętowych i systemów programowych. Ocena złoŝoności algorytmów jest szczegółowo omawiana w ramach przedmiotu Algorytmy i złoŝoność, stąd po krótkim wprowadzeniu dalsze rozwaŝania ograniczono zgodnie z tytułem rozdziału do analizy algorytmów pod względem średniego zachowania. WyróŜnia się trzy rodzaje złoŝoności: ZłoŜoność obliczeniowa liczba elementarnych operacji wykonywanych w algorytmie. ZłoŜoność czasowa czas wykonania algorytmu. ZłoŜoność pamięciowa wielkość pamięci potrzebnej do przechowywania danych, oraz pośrednich i końcowych i wyników obliczeń ZłoŜoność czasowa określona jest przez złoŝoność obliczeniową oraz dodatkowo zaleŝy od parametrów wykorzystywanych komputerów i ich systemów operacyjnych, języków w których były napisane programy, uŝytych kompilatorów itp. Wraz z zmniejszaniem cen układów elektronicznych nawet najtańsze komputery maja pamięci operacyjne o duŝej pojemności, co spowodowało zmniejszenie znaczenia złoŝoności pamięciowej. ZłoŜoność obliczeniowa z reguły nie zaleŝy wyłącznie od rozmiaru danych, ale moŝe się znacznie róŝnić dla danych wejściowych o identycznym rozmiarze. 2 Maciej M. Sysło, Anna B. Kwiatkowska, ZłoŜoność obliczeniowa i efektywność algorytmów, Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman: Projektowanie i analiza algorytmów, ftp://ftp.helion.pl/online/proalg/proalg-.pdf Algorytmy i struktury danych/wstęp: poprawność i złoŝoność algorytmu, %9B%C4%87_i_z%C5%82o%C5%BCono%C5%9B%C4%87_algorytmu ZłoŜoność obliczeniowa: Data ostatniej aktualizacji: piątek, 29 października 200 3

4 Czas wykonywania obliczeń zaleŝy od danych wejściowych. Przykładowo przy sortowaniu: im krótszy jest ciąg danych tym krótszy jest czas ich posortowania, im bardziej wstępnie posortowany jest ciąg danych tym krótszy jest czas ich całkowitego posortowania. Jak wiadomo dwoma często stosowanymi sposobami podejścia są: rozpatrywanie przypadków najgorszych (złoŝoność pesymistyczna) oraz zastosowanie określonego sposobu uśrednienia wszystkich moŝliwych przypadków (złoŝoność oczekiwana). Ocena złoŝoności obliczeniowej algorytmu moŝe być dokonana teoretycznie lub symulacyjnie jest ona niezaleŝna od środowiska sprzętowo-programowego. Z kolei ocena złoŝoności czasowej jest zawsze prowadzona w określonym środowisku sprzętowo-programowym. Na zakończenie rozwaŝań wstępnych naleŝy podkreślić, Ŝe 3 istnieje wiele programów, które testują róŝne charakterystyki sprzętu komputerowego i oprogramowanie - moc pojedynczej maszyny, interakcje w systemie klient-serwer (z pojedynczym lub wieloma klientami) czy liczbę transakcji na sekundę w systemie przetwarzania transakcyjnego. W miarę jak pojawiają się nowe wersje oprogramowania i sprzętu, zmieniają się składowe testy benchmarków i ich wagi w obliczaniu wyniku benchmarku - dlatego jednym z warunków uzyskania wiarygodnej oceny w testach porównawczych jest konieczność zastosowania tej samej wersji benchmarku..2. Szacowanie rodzaju / klasy złoŝoności obliczeniowej danego algorytmu 4 W niektórych prostych przypadkach moŝliwe jest oszacowanie złoŝoności obliczeniowej bez wykonywania skomplikowanych obliczeń, czy symulacji. Przykład Wyszukiwanie wartości maksymalnej w ciągu nieposortowanym ZałóŜmy, Ŝe mamy n liczb. Potrzebujemy przejrzeć kaŝdą z nich po to, by określić, która z nich jest największa. Potrzebujemy zatem n operacji ("spojrzeń) - liczba potrzebnych operacji jest proporcjonalna do rozmiaru ciągu - więc złoŝoność liniowa - O(n). Przykład 2 Wyszukiwanie danej liczby w ciągu posortowanym. Pomyślmy jakąś liczbę od do 000. MoŜna ją zgadnąć zadając maksymalnie 0 pytań na które odpowiada się tak lub nie. A oto pytania: Czy ta liczba jest mniejsza od 500? Jeśli tak, to czy jest mniejsza od 250? Jesli nie, to czy jest mniejsza od 375? Jeśli nie, to czy jest mniejsza od 438? Jeśli nie, to czy jest mniejsza od 469? Jeśli tak, to czy jest mniejsza od 443? Jeśli tak, to czy jest mniejsza od 440? Jeśli tak, to tą liczbą jest 439. Idea jest taka, Ŝe dzięki temu, Ŝe ciąg jest posortowany, w kolejnych krokach pomniejszany jest o połowę zakres, w którym znajduje się liczba dzięki temu potrzebne jest ok. log operacji - a więc występuje tu złoŝoność logarytmiczna - O(log 2 n) Data ostatniej aktualizacji: piątek, 29 października 200

5 Przykład 3 Sortowanie przez wybieranie. Mamy nieposortowany ciąg o n elementach i posortowany o 0 elementach. Szukamy najmniejszego elementu w ciągu nieposortowanym i wstawiamy go na koniec posortowanego ciągu, tyle razy, aŝ posortowany ciąg będzie miał n elementów, a nieposortowany 0. Taki stan uzyskamy wtedy, gdy wszystkie n elementów z nieposortowanego przerzucimy w posortowany. Musimy zatem n razy wyszukać najmniejszy element w ciągu - a wyszukiwanie najmniejszego elementu, jak wiemy z. przykładu, ma złoŝoność O(n) (liniową). Zatem wykonanie n razy operacji o złoŝoności n wymaga n*n operacji, czyli ma złoŝoność kwadratową O(n*n) = O(n 2 ). Najczęściej algorytmy mają złoŝoność czasową proporcjonalną do funkcji: log(n)- złoŝoność logarytmiczna n - złoŝoność liniowa nlog(n) - złoŝoność liniowo-logarytmiczna n 2 - złoŝoność kwadratowa n k - złoŝoność wielomianowa 2 n - złoŝoność wykładnicza n! - złoŝoność wykładnicza, poniewaŝ n!>2 n juŝ od n=4.3. Przykładowe wyznaczanie złoŝoności obliczeniowej 5 Ocenimy złoŝoność obliczeniową sortowania przez wstawianie, które polega na pobieraniu kolejnych elementów ciągu i poszukaniu dla niego odpowiedniego miejsca na liście elementów uporządkowanych. Gdy miejsce zostanie znalezione, to elementy listy się rozsuwa i w tak ustalone miejsce wkłada ostatnio pobrany element. Algorytm sortowania przez wstawianie moŝna porównać do sposobu układania kart pobieranych z talii. Najpierw bierzemy pierwszą kartę. Następnie pobieramy kolejne, aŝ do wyczerpania talii. KaŜdą pobraną kartę porównujemy z kartami, które juŝ trzymamy w ręce i szukamy dla niej miejsca przed pierwszą kartą starszą (młodszą w przypadku porządku malejącego). Gdy znajdziemy takie miejsce, rozsuwamy karty i nową wstawiamy na przygotowane w ten sposób miejsce (stąd pochodzi nazwa algorytmu - sortowanie przez wstawianie, ang. Insertion Sort). Jeśli nasza karta jest najstarsza (najmłodsza), to umieszczamy ją na samym końcu. Tak porządkujemy karty. A jak przenieść tę ideę do świata komputerów i zbiorów liczbowych? Przykład Ciąg liczb do sortowania: 2,4,,6,3 Realizacja: ) element ostatni jest początkiem listy uporządkowanej 2) wybiera się element leŝący tuŝ przed elementem ostatnim (liczba 6 na miejscu czwartym) i porównuje się z elementem listy (3), element 6 > 3 zatem liczbę 3 przesuwa się na miejsce czwarte, a na zwolnione miejsce piąte wstawia się liczbę 6. Po tym kroku mamy więc ) wybiera się następny element (), i porównuje z elementami listy. PoniewaŜ < 3 to liczba pozostaje na swoim, trzecim miejscu. Zatem otrzymujemy Data ostatniej aktualizacji: piątek, 29 października 200 5

6 4) wybiera się następny element (4), i porównuje z elementami listy poniewaŝ dopiero dla ostatniego elementu 4 < 6, to liczby z pozycji trzeciej i czwartej przesuwa się odpowiednio na pozycję drugą i trzecią, a na zwolnioną pozycję czwartą wstawią się liczbę 4. Zatem ) wybiera się ostatni (2), i porównuje z elementami listy. Dla trzeciej pozycji 2 < 3, to liczbę z pozycji drugiej przesuwa się na pozycję pierwszą, a na zwolnioną pozycję wstawią liczbę 2. Zatem W tabeli podano schemat blokowy algorytmu, opis w pseudokodzie, liczbę wykonań poszczególnych instrukcji i komentarz. Zakładając, Ŝe czas wykonania kaŝdej instrukcji wynosi c i, na podstawie tabeli moŝna podać wzór na złoŝoność czasową. n Z t (n) = c +nc 2 +(n-)c 3 +(n-)c 4 + t(i) c 5 +( t(i) -)c 6 +( t(i) -)c 7 +(n-)c 8 +(n-)c 9 Po uporządkowaniu otrzymujemy zaleŝność w postaci następującej: i= Z t (n) =(c -c 3 -c 4 -c 6 -c 7 -c 8 -c 9 ) + (c 2 +c 3 +c 4 +c 8 +c 9 )n + (c 5 +c 6 +c 7 ) n t(i) Wprowadzając oznaczenia: d =c -c 3 -c 4 -c 6 -c 7 -c 8 -c 9 d 2 =c 2 +c 3 +c 4 +c 8 +c 9 d 3 =c 5 +c 6 +c 7 otrzymuje się ostateczny wzór na złoŝoność czasową algorytmu / programu na sortowanie przez wstawianie n Z t (n) =d + d 2 n + d 3 t(i) Ocena optymistyczna Tablica jest juŝ posortowana na samym początku - a zatem wykonanie algorytmu jest zbędne. Wszystkie elementy są na właściwych miejscach, a więc liczba sprawdzeń t i będzie równa przy kaŝdym obrocie zewnętrznej pętli. Wówczas funkcja złoŝoności jest następująca: n n i= T opt (n) = 5n-4+3 t(i) = 5n-4+3 = 5n 4 +3(n-) = 5n-4+3n-3 = 8n-7 i= Otrzymaliśmy liniową zaleŝność od n! Ocena pesymistyczna n i= W tym przypadku podana tablica jest takŝe posortowana, ale w odwrotnym porządku! Wtedy teŝ wszystkie elementy muszą być kolejno posyłane na koniec tablicy: i-ty element przemieści się więc o i - miejsc do tyłu w kaŝdym obrocie zewnętrznej pętli. Wniosek: t i = i dla kaŝdego i = 2, 3,, n. Funkcja T(n) będzie zatem wyglądała tak: T pes (n) = 5n-4+3 n n n(n + ) Uwzględniając, Ŝe n = i = otrzymuje się i = i= 2 i= Zatem n(n ) 3 T pes (n) = 5n-4+3 = 2 7 n + n Otrzymaliśmy więc funkcję kwadratową. i= n i= i n i= i= n(n ) 2 + n(n ) -n = 2 6 Data ostatniej aktualizacji: piątek, 29 października 200

7 Tabela. Algorytm sortowania przez wstawianie Schemat blokowy algorytmu Opis algorytmu Krok Postać instrukcji Liczba wykonań Komentarz j = n- 2 for i= to n- n 3 x = d[j] n- 4 i = j + n- 5 while i n & x d[i] 6 d[i-] = d[i] 7 i = i+ n i= n i= t(i) Instrukcja inicjująca licznik (j = n-) zewnętrznej pętli for Sprawdzenie wartości tegoŝ licznika (j ) na początku kaŝdego cyklu zewnętrznej pętli for Przypisanie zmiennej pomocniczej x wartości d[j] w zewnętrznej pętli Instrukcja inicjująca licznik (i = j + ) na początku wewnętrznej pętli for Instrukcja sprawdzająca wartość tego licznika (i n & x d[i]) na początku kaŝdego cyklu wewnętrznej pętli for (właściwie mamy tutaj dwa porównania, ale dla uproszczenia potraktujemy to jako jedną instrukcję) t(i) - Przypisanie d[i -] = d[i] w wewnętrznej pętli n t(i) - i= Inkrementacja licznika (i) - operacja matematyczna powodująca zwiększenie wartości zmiennej o jeden 8 d[i-] = x n- Przypisanie d[i-] = x w zewnętrznej pętli 9 j = j - n- Dekrementacja licznika (j) pod koniec cyklu wewnętrznej pętli - instrukcja zmniejszająca o jeden wartość zmiennej podanej jako argument Suma n Uwaga: t(i) oznacza liczba sprawdzeń warunku pętli 5n-4+3 t(i) for w i-tym przebiegu i= 7

8 Ocena średnia Przyjmujemy, Ŝe z jednakowym prawdopodobieństwem i-ty element jest przemieszczany o moŝliwą liczbę miejsc: ti i. Zatem średnia liczba przesunięć tego elementu jest równa: t i i i(i + ) i + = k = = i i 2 2 k= Wówczas funkcja złoŝoności przedstawia się następująco: Suma w powyŝszej zaleŝności jest równa: n n n n i= i= i= i= n T sr (n) = 5n-4+3 ti = 5n-4+3 i= n i= i + 2 i + n n(n ) n n n (n )(n 2) = i = i = = = Zatem ostatecznie T sr (n) = n + n Czyli podobnie jest przy ocenie pesymistycznej otrzymaliśmy funkcję kwadratową. Przykład 6 Sortowanie tablicy zawierającej milion liczb (0 6 ). Superkomputer: wykonuje 00 milionów (0 8 ) operacji na sekundę. Sortujemy algorytmem przez wstawianie: T(n) = 2n 2 T(0 6 ) = 2 * (0 6 )2 / 0 8 = sekund 5.56 godzin Komputer osobisty: wykonuje milion (06) operacji na sekundę Sortujemy algorytmem przez scalanie: T(n) = 50nlgn T(0 6 ) = 50 * 0 6 * lg0 6 / sekund 6.67 minut Komputer osobisty wykonał zadanie 20 razy szybciej..4. Symulacyjna ocena złoŝoności algorytmów Analityczna ocena złoŝoności algorytmów jest moŝliwa jedynie dla obliczeń stosunkowo prostych. Dla obliczeń skomplikowanych jedyną drogą oceny złoŝoności jest metoda symulacyjna. Przy ocenie złoŝoności obliczeniowej naleŝy opracować model symulacyjny algorytmu, który umoŝliwia rejestrację liczby wykonywanych operacji elementarnych. Ideę postępowania dla prostego algorytmu przedstawiono na rys.. Dla algorytmu sortowania przez wstawianie kluczowe jest rejestrowanie liczby sprawdzeń warunku pętli for w i-tym przebiegu. PoniŜej zamieszczono wyniki oceny analitycznej i oceny symulacyjnej 7 dla tego algorytmu Algorytmy sortowania. Opis i demonstracja 8

9 Liczba porównań przy ocenie optymistycznej jest równa k opt = n, a przy ocenie pesymistycznej k pes =. Zakładając, Ŝe wszystkie te wartości są jednakowo prawdopo- n(n ) 2 dobne w oparciu o wzór na sumę k początkowych wyrazów ciągu arytmetycznego a + a k Sk = a + a a k = k 2 otrzymuje się zaleŝność na średnią liczbę porównań: 2 n(n ) 2n 2 + n n n 2 kopt + k + pes n n 2 k sr = n sr = = = n gdzie: sr n(n ) n(n ) 2n n 3n + 4 n sr = (n ) + = = Rodzaj oceny Wyznaczanie Liczba porównań dla n = 0 Optymistyczna Pesymistyczna Średnia Analityczne k opt = 0 - = 9 k pes = = 45 ksr = = = 29, Symulacyjne Średnia = 287/0=28,7 Przy wykorzystaniu tego samego programu symulacyjnego otrzymano następujące liczbą porównań L dla wybranych liczb sortowanych, przypadkowo ustawionych danych - N: L N Wykres dla tych danych wraz z liniową linia trendu jest następujący: Liczba porównań Liczba danych Data ostatniej aktualizacji: piątek, 29 października 200 9

10 Generator danych wejściowych Czy kontynuować symulację? TAK Wylosowanie i-tej porcji danych wejściowych NIE Obliczenie estymatorów parametrów złoŝoności O L O 2 L 2 W 3 O 5 O 4 L 5 L 4 Rysunek. Przykład symulacji dla wyznaczenia złoŝoności obliczeniowej Przy ocenie złoŝoności czasowej programów wykorzystuje się program implementujący algorytm, który uzupełnia się o generator danych wejściowych, liczniki ilości wykonywanych operacji w poszczególnych fragmentach programu oraz moduł obliczający ich średnie charakterystyki. Ideę przedstawia rysunek 2. 0 Data ostatniej aktualizacji: piątek, 29 października 200

11 Generator danych wejściowych Czy kontynuować symulację? NIE TAK Wylosowanie i-tej porcji danych wejściowych Obliczenie estymatorów parametrów złoŝoności Pomiar czasu t i Program implementujący algorytm Pomiar czasu t i2 Obliczenie czasu przetwarzania Ti = ti2-ti Rysunek 2. Schemat blokowy symulacyjnej oceny złoŝoności czasowej programów MoŜliwe jest takŝe symulacyjne wyznaczenie średnich czasów wykonywania operacji z ustaloną szczegółowością, np. na poziomie modułów. W tym przypadku naleŝy rejestrować czasy wykonywania obliczeń w poszczególnych modułach. Przypadek ten jest więc połączeniem podejść przedstawionych na rys. i 2. NaleŜy pamiętać tutaj, ze rejestracja czasów wykonywania obliczeń zajmuje teŝ pewien czas. Tak więc estymowane czasy obliczeń będą zawyŝone. K i = W metodzie symulacyjnej kluczowe jest zapewnienie reprezentatywności generowanych danych. NaleŜy takŝe zapewnić wystarczającą liczbę prób (liczbę generowanych porcji danych). Wyznaczane estymatory parametrów złoŝoności obliczeniowej mogą być zarówno K punktowe, począwszy od średniej arytmetycznej T = Ticzy wariancji, jak i przedziałowe w postaci przedziałów ufności. Symulacyjnie moŝna wyznaczać takŝe wartości rozmaitych współczynników korelacji, np. określających zaleŝność czasu obliczeń od wielkości danych wejściowych. Data ostatniej aktualizacji: piątek, 29 października 200

12 .5. Przykładowe pytania testowe 8. Sortowanie polega na: uporządkowaniu zbioru danych względem pewnych cech charakterystycznych kaŝdego elementu tego zbioru wyznaczaniu wartości argumentów funkcji tylko wtedy, kiedy są potrzebne (na Ŝądanie) wyznaczania wartości argumentów funkcji przed jej wywołaniem wyznaczania wartości argumentów funkcji po jej wywołaniu 2. Czasowa złoŝoność obliczeniowa algorytmu określa: kolejności wykonywania obliczeń statystycznie czas wykonywania algorytmu w zaleŝności od liczby danych wejściowych podanie równowaŝnika terminu nieznanego w terminach znanych statystycznie czas wykonywania algorytmu w zaleŝności od liczby danych wyjściowych 3. ZłoŜoność obliczeniowa charakteryzowana jest przy pomocy: sumy zakresów wszystkich nazw współczynnika operacji dominujących notacji O (omikron) wartości implementacji 4. Który algorytm jest najbardziej korzystny: O(n) O(n!) O(n log n) wszystkie odpowiedzi są poprawne 5. O(n 2 ) zapis klasy złoŝoności obliczeniowej algorytmu oznacza: algorytm o liniowej zaleŝności czasu wykonania od ilości danych algorytm, w którym czas wykonania rośnie z kwadratem liczby przetwarzanych elementów bardzo pesymistyczny algorytm, czas wykonania rośnie szybko wraz ze wzrostem liczby elementów wejściowych algorytm, w którym czas wykonania rośnie wprost proporcjonalnie do kwadratu liczb przetwarzanych elementów 6. Pamięciowa złoŝoność obliczeniowa określa: ilość zasobów komputera, których wymaga dany algorytm w zaleŝności od liczby danych wejściowych statystycznie czas wykonywania algorytmu w zaleŝności od liczby danych wejściowych liczbę procesów potrzebnych do wykonania danego algorytmu wszystkie odpowiedzi są poprawne 7. Algorytmy sortujące w miejscu: wymagają zarezerwowania w pamięci dodatkowych obszarów, których wielkość jest uzaleŝniona od liczby sortowanych elementów lub od ich wartości wymagają stałej liczby dodatkowych struktur danych, która nie zaleŝy od liczby elementów sortowanego zbioru danych ani od ich wartości wymagają wyznaczenia wartości argumentów funkcji tylko wtedy, kiedy są potrzebne (na Ŝądanie) wymagają zmiennej liczby struktur danych, która zaleŝy od liczby elementów sortowanego zbioru danych oraz od ich wartości Data ostatniej aktualizacji: piątek, 29 października 200

13 8. Algorytmy stabilne: zachowują kolejność elementów równych kolejność wynikowa elementów równych jest nieokreślona wyszukują elementy mające się znaleźć na zadanej pozycji nie zachowują kolejności elementów równych 9. Sortowanie przez wybór polega na: wyszukaniu elementu mającego się znaleźć na zadanej pozycji i zamianie miejscami z tym, który jest tam obecnie usuwaniu pewnego elementu z danych wejściowych i wstawianiu go na odpowiednie miejsce w wynikach badaniu kolejno wszystkich pary obiektów odległych o określoną rozpiętość usuwaniu kolejnego elementu z danych wejściowych i wstawianiu go na ściśle określone miejsce w wynikach 0. W metodzie sortowania przez wybór: algorytm jest niestabilny, sortowanie odbywa się w miejscu algorytm jest stabilny, sortowanie odbywa się w miejscu algorytm jest niestabilny, sortowanie nie odbywa się w miejscu algorytm jest stabilny, sortowanie nie odbywa się w miejscu. Jaką klasę czasowej złoŝoności obliczeniowej posiada metoda sortowania przez wybór? O(n!) O(n2) O(n log n) O(n) 2. Sortowanie przez wstawianie polega na: usuwaniu pewnego elementu z danych wejściowych i wstawianiu go na odpowiednie miejsce w wynikach wyszukaniu elementu mającego się znaleźć na zadanej pozycji i zamianie miejscami z tym, który jest tam obecnie badaniu kolejno wszystkich pary obiektów odległych o określoną rozpiętość przestawieniu elementów zbioru wejściowego między sobą, według określonej zasady 3. Które stwierdzenie jest nieprawdziwe: algorytm sortowania przez wstawianie jest wydajny dla danych wstępnie posortowanych algorytm sortowania przez wstawianie jest stabilny algorytm sortowania przez wstawianie jest wydajny dla zbiorów o duŝej liczebności algorytm sortowania przez wstawianie jest wydajny dla zbiorów o małej liczebności 4. Algorytm sortowania przez wybór jest duŝo lepszy od sortowania przez wstawianie w przypadku zbiorów w znacznym stopniu uporządkowanych prawda fałsz 5. W metodzie sortowania przez wybór: algorytm jest niestabilny, sortowanie nie odbywa się w miejscu algorytm jest stabilny, sortowanie odbywa się w miejscu algorytm jest stabilny, sortowanie nie odbywa się w miejscu algorytm jest niestabilny, sortowanie odbywa się w miejscu 6. Najbardziej niekorzystnym przypadkiem sortowania przez wybór jest: sortowanie zbioru posortowanego odwrotnie sortowania zbioru o losowym rozkładzie elementów Ŝadne z powyŝszych wszystkie odpowiedzi są poprawne Data ostatniej aktualizacji: piątek, 29 października 200 3

14 .6. Zadania na ćwiczenia rachunkowe Zadanie - Algorytm sortowania przez wybór 9 ZałóŜmy, iŝ chcemy posortować zbiór liczbowy rosnąco. Zatem element najmniejszy powinien znaleźć się na pierwszej pozycji. Szukamy w zbiorze elementu najmniejszego i wymieniamy go z elementem na pierwszej pozycji. W ten sposób element najmniejszy znajdzie się na swojej docelowej pozycji. W identyczny sposób postępujemy z resztą elementów naleŝących do zbioru. Znów wyszukujemy element najmniejszy i zamieniamy go z elementem na drugiej pozycji. Otrzymamy dwa posortowane elementy. Procedurę kontynuujemy dla pozostałych elementów dotąd, aŝ wszystkie będą posortowane. Rysunek 3. Algorytm sortowania przez wybór Dla algorytmu sortowania przez wybór: Pętla zewnętrzna sterowana zmienną j wyznacza kolejne elementy zbioru o indeksach od do n -, w których zostaną umieszczone elementy minimalne. Na początku tej pętli zakładamy, iŝ elementem minimalnym jest element d[j] i zapamiętujemy jego indeks w zmiennej p min. W pętli numer 2 sterowanej zmienną i porównujemy pozostałe elementy zbioru z elementem d[p min ]. Jeśli element zbioru d[i] jest mniejszy od elementu d[p min ], to znaleźliśmy nowy element minimalny. W takim przypadku zapamiętujemy jego pozycję w p min i kontynuujemy pętlę wewnętrzną. Po zakończeniu pętli wewnętrznej pmin zawiera indeks elementu minimalnego. Zamieniamy miejscami element d[j] z elementem d[p min ]. Dzięki tej operacji element minimalny znajduje się na swojej docelowej pozycji. Zwiększamy j przechodząc do kolejnego elementu zbioru i kontynuujemy pętlę zewnętrzną.. Wyznaczyć optymistyczną, pesymistyczną i średnią złoŝoność obliczeniową. 2. Wyznaczyć liczbę wykonywanych iteracji dla powyŝszych przypadków. 3. Obliczyć wartości powyŝszych wskaźników dla n = Porównać obliczone wartości z wynikami symulacji 0 liczby porównań w której dla n = 0 dla wszystkich sprawdzanych danych otrzymano taką samą liczbę porównań, równą Dla otrzymanych wyników symulacji ocenić korelację pomiędzy liczbą porównań L i liczbą sortowanych, przypadkowo ustawionych danych - N: L N Data ostatniej aktualizacji: piątek, 29 października 200

15 Zadanie 2 Algorytm sortowania szybkiego Idea sortowania szybkiego jest następująca: DZIEL najpierw sortowany zbiór dzielimy na dwie części w taki sposób, aby wszystkie elementy leŝące w pierwszej części (zwanej lewą partycją) były mniejsze lub równe od wszystkich elementów drugiej części zbioru (zwanej prawą partycją). ZWYCIĘśAJ kaŝdą z partycji sortujemy rekurencyjnie tym samym algorytmem. POŁĄCZ połączenie tych dwóch partycji w jeden zbiór daje w wyniku zbiór posortowany. Do utworzenia partycji musimy ze zbioru wybrać jeden z elementów, który nazwiemy piwotem. W lewej partycji znajdą się wszystkie elementy niewiększe od piwotu, a w prawej partycji umieścimy wszystkie elementy niemniejsze od piwotu. PołoŜenie elementów równych nie wpływa na proces sortowania, zatem mogą one występować w obu partycjach. RównieŜ porządek elementów w kaŝdej z partycji nie jest ustalony. Jako piwot moŝna wybierać element pierwszy, środkowy, ostatni, medianę lub losowy. Dla naszych potrzeb wybierzemy element środkowy: piwot d[(lewy + prawy) div 2] piwot - element podziałowy d[ ] - dzielony zbiór lewy - indeks pierwszego elementu prawy - indeks ostatniego elementu Dzielenie na partycje polega na umieszczeniu dwóch wskaźników na początku zbioru - i oraz j. Wskaźnik i przebiega przez zbiór poszukując wartości mniejszych od piwotu. Po znalezieniu takiej wartości jest ona wymieniana z elementem na pozycji j. Po tej operacji wskaźnik j jest przesuwany na następną pozycję. Wskaźnik j zapamiętuje pozycję, na którą trafi następny element oraz na końcu wskazuje miejsce, gdzie znajdzie się piwot. W trakcie podziału piwot jest bezpiecznie przechowywany na ostatniej pozycji w zbiorze. Na element podziałowy wybieramy element leŝący w środku dzielonej partycji. Wyliczamy jego pozycję i zapamiętujemy ją tymczasowo w zmiennej i. Robimy to po to, aby dwukrotnie nie wykonywać tych samych rachunków. Rysunek 4. Algorytm sortowania szybkiego Data ostatniej aktualizacji: piątek, 29 października 200 5

16 Element d[i] zapamiętujemy w zmiennej piwot, a do d[i] zapisujemy ostatni element partycji. Dzięki tej operacji piwot został usunięty ze zbioru. Ustawiamy zmienną j na początek partycji. Zmienna ta zapamiętuje pozycję podziału partycji. W pętli sterowanej zmienną i przeglądamy kolejne elementy od pierwszego do przedostatniego (ostatni został umieszczony na pozycji piwotu, a piwot zapamiętany). Jeśli i-ty element jest mniejszy od piwotu, to trafia on na początek partycji - wymieniamy ze sobą elementy na pozycjach i-tej i j-tej. Po tej operacji przesuwamy punkt podziałowy partycji j. Po zakończeniu pętli element z pozycji j-tej przenosimy na koniec partycji, aby zwolnić miejsce dla piwotu, po czym wstawiamy tam piwot. Zmienna j wskazuje zatem wynikową pozycję piwotu. Pierwotna partycja została podzielona na dwie partycje: partycja lewa od pozycji lewy do j - zawiera elementy mniejsze od pikotu partycja prawa od pozycji j + do pozycji prawy zawiera elementy większe lub równe piwotowi. Sprawdzamy, czy partycje te obejmują więcej niŝ jeden element. Jeśli tak, to wywołujemy rekurencyjnie algorytm sortowania szybkiego przekazując mu granice wyznaczonych partycji. Po powrocie z wywołań rekurencyjnych partycja wyjściowa jest posortowana rosnąco. Kończymy algorytm. Dla algorytmu sortowania szybkiego:. Wyznaczyć optymistyczną, pesymistyczną i średnią złoŝoność obliczeniową. 2. Wyznaczyć liczbę wykonywanych iteracji dla powyŝszych przypadków. 3. Obliczyć wartości powyŝszych wskaźników dla n = Porównać obliczone wartości z wynikami symulacji 2 liczby porównań w której dla n = 0 niezaleŝnie od posortowania danych otrzymano taką samą liczbę porównań, równą 45. Natomiast dla danych losowych otrzymano: 23, 30, 23, 22, 2, 2, 28, 2, 27, Dla otrzymanych wyników symulacji ocenić korelację pomiędzy liczbą porównań L i liczbą sortowanych, przypadkowo ustawionych danych - N: L N Zadanie 3 Otrzymano wyniki dot. liczby iteracji w procesie obliczeniowym realizowanym według dwóch algorytmów. Zweryfikować hipotezę o takiej samej wydajności obliczeniowej tych algorytmów. Zadanie 4 Otrzymano wyniki dot. czasu trwania obliczeń tym samym programem na dwóch typach komputerów. Zweryfikować hipotezę o takiej samej wydajności czasowej tych komputerów. Zadanie 5 Otrzymano wyniki dot. czasu trwania obliczeń na tym samym komputerze dwoma programami napisanymi według tego samego algorytmu. Zweryfikować hipotezę o takiej samej wydajności obliczeniowej tych programów. Zadanie 6 Otrzymano wyniki dot. czasu trwania obliczeń na tym samym komputerze dwoma programami napisanymi według dwóch róŝnych algorytmów. Zweryfikować hipotezę o takiej samej wydajności obliczeniowej par (algorytm, program) Data ostatniej aktualizacji: piątek, 29 października 200

17 2. OBLICZANIE NIEZAWODNOŚCI PROSTYCH UKŁADÓW SPRZĘTOWYCH I SYSTEMÓW PROGRAMOWYCH Uwagi wstępne Jako wprowadzenie do tematu na poniŝszym rysunku przedstawiono informacje dotyczące uruchomienia i wykonywania programu. Nr kroku. Realizowane operacje Załadowanie programu z pamięci zewnętrznej do pamięci systemowej komputera Ilustracja graficzna 2. Pobranie danych dla programu z pamięci zewnętrznej lub z urządzeń wejściowych Wykonanie algorytmu dla pobranych danych Podanie wyniku działania programu na ekranie lub zapisanie do pliku Rysunek 5. Uruchomianie i wykonywanie programu 3 M.Rawski Wstęp do Informatyki, Data ostatniej aktualizacji: piątek, 29 października 200 7

18 Układ sprzętowo-programowy to najczęściej spotykane rozwiązanie w przetwarzaniu danych. Część funkcji realizowane jest przez oprogramowanie, a część przez sprzęt. KaŜdy komputer jest układem sprzętowo-programowym. Termin środowisko sprzętowo-programowe oznacza przykładowo serwery oraz bazę danych i system informatyczny Pojęcie niezawodności 4 KaŜdy system, w tym takŝe komputer, jest budowany z myślę o spełnieniu określonej funkcji. Jako miarę zdolności systemu do spełnienia zadanej funkcji wprowadza się pojęcie wydajności. JednakŜe z tym pojęciem nie wiąŝe się Ŝadne stwierdzenie dotyczące przedziału czasowego, w którym system działa poprawnie. To czasowe zmniejszenie wydajności zaleŝy od niezawodności oraz moŝliwości konserwacji. Formalnie niezawodność moŝna zdefiniować w sposób następujący: Niezawodność (ang. reliability) systemu jest to prawdopodobieństwo zdarzenia polegającego na tym, Ŝe w z góry zadanym przedziale czasowym, przy określonych warunkach, system wykona zadania, do których został przeznaczony. Pojecie niezawodności moŝna interpretować jako prawdopodobieństwo przeŝycia systemu. Ilościowo moŝna opisać niezawodność za pomocą funkcji niezawodności R(t) określającej prawdopodobieństwo działania systemu w przedziale czasowym (0, t). Rysunek 6. Przykładowa funkcja niezawodności Funkcja ta ma następujące własności: t = 0 R(t) = 0 t Na początku przedziału czasowego system działa poprawnie, gdy czas rośnie nieskończenie, system na pewno przestanie działać. W przedziale czasowym (0, od) funkcja niezawodności jest monotonicznie malejąca. Za zawodność systemu Q(t) moŝna przyjąć prawdopodobieństwo niesprawności systemu. Tak więc Kolejne pojęcie to efektywność. Q(t)+R(t) = 4 W dalszych punktach niniejszego rozdziału zamieszczono przede wszystkim fragmenty ksiąŝki: Herman Kopetz, Niezawodność oprogramowania, WNT, Warszawa Data ostatniej aktualizacji: piątek, 29 października 200

19 System jest efektywny, jeśli zadowalająco wykonuje powierzone zadania w dłuŝszym okresie czasu. Analizując dokładniej efektywność z punktu widzenia czasu, dochodzimy do wniosku, Ŝe pojęcie to ma tak wielkie znaczenie, jak pojęcia niezawodności i moŝliwości konserwacji. Efektywność systemu Wydajność systemu MoŜliwość konserwacji systemu Niezawodność systemu Personel konserwujący Łatwość konserwacji systemu Dostępność części zamiennych Budowa systemu Dokumentacja systemu Rysunek 7. Związki miedzy wydajnością, moŝliwością konserwacji oraz niezawodnością systemu MoŜliwość konserwacji systemu jest to prawdopodobieństwo tego, Ŝe w określonym przedziale czasowym po wystąpieniu uszkodzenia (błędu) moŝna doprowadzić system do pełnych moŝliwości funkcjonalnych. Średni czas potrzebny do usunięcia błędu lub usterki nazywa się średnim czasem naprawy t n (ang. mean time to repair - MTTR). Ten interwał czasowy rozpoczyna się w chwili powstania niesprawności i kończy z ponownym przywróceniem działania systemu. MoŜliwość konserwacji jest zaleŝna od pewnej liczby czynników: moŝliwości dysponowania personelem konserwującym, umiejętności tego personelu, dostępności części zamiennych oraz łatwości konserwacji systemu. Łatwość konserwacji jest prawdopodobieństwem, Ŝe błędnie działający system moŝe być zreperowany w określonym przedziale czasowym przez przeciętny personel konserwujący, przy załoŝeniu dostępności wszystkich potrzebnych części zamiennych. PoniewaŜ moŝliwość konserwacji w kaŝdym konkretnym przypadku zaleŝy od organizacji prac konserwacyjnych, łatwość konserwacji stanowi charakterystykę systemu, zaleŝną od jego budowy, dokumentacji itd. Dla praktycznych zastosowań duŝe znaczenie ma średni czas między uszkodzeniami t mu (ang. mean time between failures - MTBF). Pojęcie to moŝna wprowadzić, gdy zachowanie się błędów systemu nie zmienia się przez dłuŝszy czas w porównaniu ze średnim czasem między uszkodzeniami. Mówi się wówczas o stałej intensywności pojawiania się błędów albo, inaczej, o stałym prawdopodobieństwie niesprawności na jednostkę czasu. Zakłada się przy tym, Ŝe system działa poprawnie na początku rozwaŝanego przedziału czasowego. Średni czas między uszkodzeniami t mu jest sumą średniego czasu do kolejnego uszkodzenia t ku (ang. mean time to fail - MTTF) oraz średniego czasu naprawy t n t mu = t ku + t n Data ostatniej aktualizacji: piątek, 29 października 200 9

20 PoniewaŜ średni czas t n w porównaniu z czasem t ku jest bardzo mały, w praktyce często nie odróŝnia się czasu t mu od t ku. Przez współczynnik gotowości systemu K rozumie się udział czasu, w którym system moŝna uŝytkować t K ku = t t ku + u DuŜy współczynnik gotowości moŝna uzyskać albo dzięki bardzo małemu czasowi t n przy niewielkim czasie t ku albo dzięki trochę większemu t n przy duŝym t ku Rysunek 8. Związki pomiędzy średnim czasem naprawy t n, średnim czasem do kolejnego uszkodzenia t ku oraz współczynnikiem gotowości systemu Sam współczynnik gotowości nie jest wystarczający do scharakteryzowania efektywności systemu, poniewaŝ znaczenie decydujące moŝe mieć liczba uszkodzeń. Redundancja Gdy w systemie uŝywa się więcej środków, niŝ to jest konieczne do wykonania jego zadań, wówczas mówi się, Ŝe system jest redundancyjny. System taki korzysta więc ze środków niezbędnych oraz z dodatkowych. Pojęcie środki" jest utaj oczywiście rozumiane w najszerszym znaczeniu tego słowa. W systemach komputerowych dotyczy to sprzętu, oprogramowania i czasu. Z punktu widzenia niezawodności bardzo duŝe znaczenie ma pojęcie redundancji. Za miarę redundancji przyjmiemy następujący stosunek środki dodatkowe r = środki niezbędne + środki dodatkowe Redundancja jest niezbędna, aby moŝna było wykryć uszkodzenie oraz je usunąć. Dopiero przy uwzględnieniu redundancji moŝna podczas projektowania wybrać jedną z dwóch całkowicie róŝnych metod zapewniających duŝą niezawodność. Tę duŝą niezawodność moŝna osiągnąć albo bez redundancji, przy uŝyciu bardzo dobrych jakościowo elementów, albo z redundancją, z zastosowaniem większej liczby elementów średniej klasy. Redundancja aktywna występuje wówczas, gdy wszystkie elementy redundacyjne systemu przez cały czas jego działania współdziałają w wykonaniu jego zadań. Gdy natomiast z elementów redundancyjnych systemu korzysta się dopiero w przypadku niesprawności jakiegoś elementu aktywnego, wówczas mówimy o redundancji pasywnej. 20 Data ostatniej aktualizacji: piątek, 29 października 200

PODSTAWY PROBABILISTYKI Z PRZYKŁADAMI ZASTOSOWAŃ W INFORMATYCE

PODSTAWY PROBABILISTYKI Z PRZYKŁADAMI ZASTOSOWAŃ W INFORMATYCE Marek Cieciura, Janusz Zacharski PODSTAWY PROBABILISTYKI Z PRZYKŁADAMI ZASTOSOWAŃ W INFORMATYCE CZĘŚĆ V PRZYKŁADY ZASTOSOWAŃ W INFORMATYCE Na prawach rękopisu Warszawa, październik 20 Data ostatniej aktualizacji:

Bardziej szczegółowo

Sortowanie przez wstawianie Insertion Sort

Sortowanie przez wstawianie Insertion Sort Sortowanie przez wstawianie Insertion Sort Algorytm sortowania przez wstawianie można porównać do sposobu układania kart pobieranych z talii. Najpierw bierzemy pierwszą kartę. Następnie pobieramy kolejne,

Bardziej szczegółowo

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 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ółowo

INFORMATYKA SORTOWANIE DANYCH.

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

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Proste algorytmy sortowania Witold Marańda maranda@dmcs.p.lodz.pl 1 Pojęcie sortowania Sortowaniem nazywa się proces ustawiania zbioru obiektów w określonym porządku Sortowanie

Bardziej szczegółowo

Efektywna metoda sortowania sortowanie przez scalanie

Efektywna 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ółowo

Rekurencje. 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: 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ółowo

Sortowanie Shella Shell Sort

Sortowanie Shella Shell Sort Sortowanie Shella Shell Sort W latach 50-tych ubiegłego wieku informatyk Donald Shell zauważył, iż algorytm sortowania przez wstawianie pracuje bardzo efektywnie w przypadku gdy zbiór jest w dużym stopniu

Bardziej szczegółowo

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 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ółowo

Wyszukiwanie. Wyszukiwanie binarne

Wyszukiwanie. Wyszukiwanie binarne Wyszukiwanie Wejście: posortowana, n-elementowa tablica liczbowa T oraz liczba p. Wyjście: liczba naturalna, określająca pozycję elementu p w tablicy T, bądź 1, jeŝeli element w tablicy nie występuje.

Bardziej szczegółowo

Algorytmy sortujące i wyszukujące

Algorytmy sortujące i wyszukujące Algorytmy sortujące i wyszukujące Zadaniem algorytmów sortujących jest ułożenie elementów danego zbioru w ściśle określonej kolejności. Najczęściej wykorzystywany jest porządek numeryczny lub leksykograficzny.

Bardziej szczegółowo

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

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

Bardziej szczegółowo

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

Definicja. 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ółowo

Statystyka hydrologiczna i prawdopodobieństwo zjawisk hydrologicznych.

Statystyka hydrologiczna i prawdopodobieństwo zjawisk hydrologicznych. Statystyka hydrologiczna i prawdopodobieństwo zjawisk hydrologicznych. Statystyka zajmuje się prawidłowościami zaistniałych zdarzeń. Teoria prawdopodobieństwa dotyczy przewidywania, jak często mogą zajść

Bardziej szczegółowo

Statystyka od podstaw Janina Jóźwiak, Jarosław Podgórski

Statystyka od podstaw Janina Jóźwiak, Jarosław Podgórski Statystyka od podstaw Janina Jóźwiak, Jarosław Podgórski Książka jest nowoczesnym podręcznikiem przeznaczonym dla studentów uczelni i wydziałów ekonomicznych. Wykład podzielono na cztery części. W pierwszej

Bardziej szczegółowo

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for. Zadania do wykonania Rozwiązując poniższe zadania użyj pętlę for. 1. apisz program, który przesuwa w prawo o dwie pozycje zawartość tablicy 10-cio elementowej liczb całkowitych tzn. element t[i] dla i=2,..,9

Bardziej szczegółowo

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

operacje 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ółowo

Statystyki: miary opisujące rozkład! np. : średnia, frakcja (procent), odchylenie standardowe, wariancja, mediana itd.

Statystyki: miary opisujące rozkład! np. : średnia, frakcja (procent), odchylenie standardowe, wariancja, mediana itd. Wnioskowanie statystyczne obejmujące metody pozwalające na uogólnianie wyników z próby na nieznane wartości parametrów oraz szacowanie błędów tego uogólnienia. Przewidujemy nieznaną wartości parametru

Bardziej szczegółowo

Sortowanie. LABORKA Piotr Ciskowski

Sortowanie. LABORKA Piotr Ciskowski Sortowanie LABORKA Piotr Ciskowski main Zaimplementuj metody sortowania przedstawione w następnych zadaniach Dla każdej metody osobna funkcja Nagłówek funkcji wg uznania ale wszystkie razem powinny być

Bardziej szczegółowo

Wykład Centralne twierdzenie graniczne. Statystyka matematyczna: Estymacja parametrów rozkładu

Wykład Centralne twierdzenie graniczne. Statystyka matematyczna: Estymacja parametrów rozkładu Wykład 11-12 Centralne twierdzenie graniczne Statystyka matematyczna: Estymacja parametrów rozkładu Centralne twierdzenie graniczne (CTG) (Central Limit Theorem - CLT) Centralne twierdzenie graniczne (Lindenberga-Levy'ego)

Bardziej szczegółowo

1. Znajdowanie miejsca zerowego funkcji metodą bisekcji.

1. Znajdowanie miejsca zerowego funkcji metodą bisekcji. 1. Znajdowanie miejsca zerowego funkcji metodą bisekcji. Matematyczna funkcja f ma być określona w programie w oddzielnej funkcji języka C (tak, aby moŝna było łatwo ją zmieniać). Przykładowa funkcja to:

Bardziej szczegółowo

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany. Przedstawiamy algorytmy porządkowania dowolnej liczby elementów, którymi mogą być liczby, jak również elementy o bardziej złożonej postaci (takie jak słowa i daty). Porządkowanie, nazywane również często

Bardziej szczegółowo

Złożoność obliczeniowa zadania, zestaw 2

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

Bardziej szczegółowo

Programowanie w VB Proste algorytmy sortowania

Programowanie w VB Proste algorytmy sortowania Programowanie w VB Proste algorytmy sortowania Sortowanie bąbelkowe Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich

Bardziej szczegółowo

Statystyka 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 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ółowo

Modelowanie niezawodności prostych struktur sprzętowych

Modelowanie niezawodności prostych struktur sprzętowych Modelowanie niezawodności prostych struktur sprzętowych W ćwiczeniu tym przedstawione zostaną proste struktury sprzętowe oraz sposób obliczania ich niezawodności przy założeniu, że funkcja niezawodności

Bardziej szczegółowo

Statystyki: miary opisujące rozkład! np. : średnia, frakcja (procent), odchylenie standardowe, wariancja, mediana itd.

Statystyki: miary opisujące rozkład! np. : średnia, frakcja (procent), odchylenie standardowe, wariancja, mediana itd. Wnioskowanie statystyczne obejmujące metody pozwalające na uogólnianie wyników z próby na nieznane wartości parametrów oraz szacowanie błędów tego uogólnienia. Przewidujemy nieznaną wartości parametru

Bardziej szczegółowo

Weryfikacja hipotez statystycznych, parametryczne testy istotności w populacji

Weryfikacja hipotez statystycznych, parametryczne testy istotności w populacji Weryfikacja hipotez statystycznych, parametryczne testy istotności w populacji Dr Joanna Banaś Zakład Badań Systemowych Instytut Sztucznej Inteligencji i Metod Matematycznych Wydział Informatyki Politechniki

Bardziej szczegółowo

Testowanie hipotez statystycznych. Wnioskowanie statystyczne

Testowanie hipotez statystycznych. Wnioskowanie statystyczne Testowanie hipotez statystycznych Wnioskowanie statystyczne Hipoteza statystyczna to dowolne przypuszczenie co do rozkładu populacji generalnej (jego postaci funkcyjnej lub wartości parametrów). Hipotezy

Bardziej szczegółowo

Wnioskowanie bayesowskie

Wnioskowanie bayesowskie Wnioskowanie bayesowskie W podejściu klasycznym wnioskowanie statystyczne oparte jest wyłącznie na podstawie pobranej próby losowej. Możemy np. estymować punktowo lub przedziałowo nieznane parametry rozkładów,

Bardziej szczegółowo

STATYSTYKA MATEMATYCZNA

STATYSTYKA MATEMATYCZNA Zał. nr 4 do ZW WYDZIAŁ ELEKTRONIKI KARTA PRZEDMIOTU Nazwa w języku polskim STATYSTYKA MATEMATYCZNA Nazwa w języku angielskim Mathematical Statistics Kierunek studiów (jeśli dotyczy): Specjalność (jeśli

Bardziej szczegółowo

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1 Weryfikacja hipotez statystycznych KG (CC) Statystyka 26 V 2009 1 / 1 Sformułowanie problemu Weryfikacja hipotez statystycznych jest drugą (po estymacji) metodą uogólniania wyników uzyskanych w próbie

Bardziej szczegółowo

Wstęp do teorii niepewności pomiaru. Danuta J. Michczyńska Adam Michczyński

Wstęp do teorii niepewności pomiaru. Danuta J. Michczyńska Adam Michczyński Wstęp do teorii niepewności pomiaru Danuta J. Michczyńska Adam Michczyński Podstawowe informacje: Strona Politechniki Śląskiej: www.polsl.pl Instytut Fizyki / strona własna Instytutu / Dydaktyka / I Pracownia

Bardziej szczegółowo

166 Wstęp do statystyki matematycznej

166 Wstęp do statystyki matematycznej 166 Wstęp do statystyki matematycznej Etap trzeci realizacji procesu analizy danych statystycznych w zasadzie powinien rozwiązać nasz zasadniczy problem związany z identyfikacją cechy populacji generalnej

Bardziej szczegółowo

Liczba godzin Punkty ECTS Sposób zaliczenia. ćwiczenia 16 zaliczenie z oceną

Liczba godzin Punkty ECTS Sposób zaliczenia. ćwiczenia 16 zaliczenie z oceną Wydział: Zarządzanie i Finanse Nazwa kierunku kształcenia: Finanse i Rachunkowość Rodzaj przedmiotu: podstawowy Opiekun: prof. nadzw. dr hab. Tomasz Kuszewski Poziom studiów (I lub II stopnia): II stopnia

Bardziej szczegółowo

Algorytmy i struktury danych Matematyka III sem.

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

Bardziej szczegółowo

Laboratorium nr 7 Sortowanie

Laboratorium nr 7 Sortowanie Laboratorium nr 7 Sortowanie 1. Sortowanie bąbelkowe (BbS) 2. Sortowanie przez wstawianie (IS) 3. Sortowanie przez wybieranie (SS) Materiały Wyróżniamy następujące metody sortowania: 1. Przez prostą zamianę

Bardziej szczegółowo

Typowe błędy w analizie rynku nieruchomości przy uŝyciu metod statystycznych

Typowe błędy w analizie rynku nieruchomości przy uŝyciu metod statystycznych Typowe błędy w analizie rynku nieruchomości przy uŝyciu metod statystycznych Sebastian Kokot XXI Krajowa Konferencja Rzeczoznawców Majątkowych, Międzyzdroje 2012 Rzetelnie wykonana analiza rynku nieruchomości

Bardziej szczegółowo

Doświadczalnictwo leśne. Wydział Leśny SGGW Studia II stopnia

Doświadczalnictwo leśne. Wydział Leśny SGGW Studia II stopnia Doświadczalnictwo leśne Wydział Leśny SGGW Studia II stopnia Metody nieparametryczne Do tej pory omawialiśmy metody odpowiednie do opracowywania danych ilościowych, mierzalnych W kaŝdym przypadku zakładaliśmy

Bardziej szczegółowo

Weryfikacja hipotez statystycznych

Weryfikacja hipotez statystycznych Weryfikacja hipotez statystycznych Hipoteza Test statystyczny Poziom istotności Testy jednostronne i dwustronne Testowanie równości wariancji test F-Fishera Testowanie równości wartości średnich test t-studenta

Bardziej szczegółowo

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa Diagnostyka i niezawodność robotów Laboratorium nr 6 Model matematyczny elementu naprawialnego Prowadzący: mgr inż. Marcel Luzar Cele ćwiczenia:

Bardziej szczegółowo

Sortowanie - wybrane algorytmy

Sortowanie - 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ółowo

Statystyka matematyczna dla leśników

Statystyka matematyczna dla leśników Statystyka matematyczna dla leśników Wydział Leśny Kierunek leśnictwo Studia Stacjonarne I Stopnia Rok akademicki 03/04 Wykład 5 Testy statystyczne Ogólne zasady testowania hipotez statystycznych, rodzaje

Bardziej szczegółowo

Testowanie hipotez statystycznych

Testowanie hipotez statystycznych Temat Testowanie hipotez statystycznych Kody znaków: Ŝółte wyróŝnienie nowe pojęcie pomarańczowy uwaga kursywa komentarz 1 Zagadnienia omawiane na zajęciach 1. Idea i pojęcia teorii testowania hipotez

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Algorytmy na tablicach Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) WP w. III Jesień 2013 1 / 23 Dwadzieścia pytań Zasady 1 Osoba 1 wymyśla hasło z ustalonej

Bardziej szczegółowo

Temat: BADANIE NIEZALEśNOŚCI DWÓCH CECH JAKOŚCIOWYCH TEST CHI KWADRAT. Anna Rajfura 1

Temat: BADANIE NIEZALEśNOŚCI DWÓCH CECH JAKOŚCIOWYCH TEST CHI KWADRAT. Anna Rajfura 1 Temat: BADANIE NIEZALEśNOŚCI DWÓCH CECH JAKOŚCIOWYCH TEST CHI KWADRAT Anna Rajfura 1 Przykład W celu porównania skuteczności wybranych herbicydów: A, B, C sprawdzano, czy masa chwastów na poletku zaleŝy

Bardziej szczegółowo

Wprowadzenie do analizy korelacji i regresji

Wprowadzenie do analizy korelacji i regresji Statystyka dla jakości produktów i usług Six sigma i inne strategie Wprowadzenie do analizy korelacji i regresji StatSoft Polska Wybrane zagadnienia analizy korelacji Przy analizie zjawisk i procesów stanowiących

Bardziej szczegółowo

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) podstawowy (podstawowy / kierunkowy / inny HES)

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) podstawowy (podstawowy / kierunkowy / inny HES) KARTA MODUŁU / KARTA PRZEDMIOTU Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/2013

Bardziej szczegółowo

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Pracownia nr 9 (studia stacjonarne) - 05.12.2008 - Rok akademicki 2008/2009 2/16 Bazy danych - Plan zajęć Podstawowe pojęcia: baza danych, system zarządzania bazą danych tabela,

Bardziej szczegółowo

Opis przedmiotu. Karta przedmiotu - Probabilistyka I Katalog ECTS Politechniki Warszawskiej

Opis przedmiotu. Karta przedmiotu - Probabilistyka I Katalog ECTS Politechniki Warszawskiej Kod przedmiotu TR.NIK304 Nazwa przedmiotu Probabilistyka I Wersja przedmiotu 2015/16 A. Usytuowanie przedmiotu w systemie studiów Poziom kształcenia Studia I stopnia Forma i tryb prowadzenia studiów Niestacjonarne

Bardziej szczegółowo

Odchudzamy serię danych, czyli jak wykryć i usunąć wyniki obarczone błędami grubymi

Odchudzamy serię danych, czyli jak wykryć i usunąć wyniki obarczone błędami grubymi Odchudzamy serię danych, czyli jak wykryć i usunąć wyniki obarczone błędami grubymi Piotr Konieczka Katedra Chemii Analitycznej Wydział Chemiczny Politechnika Gdańska D syst D śr m 1 3 5 2 4 6 śr j D 1

Bardziej szczegółowo

Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć)

Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć) Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć) 1. Populacja generalna a losowa próba, parametr rozkładu cechy a jego ocena z losowej próby, miary opisu statystycznego

Bardziej szczegółowo

Zapisywanie algorytmów w języku programowania

Zapisywanie algorytmów w języku programowania Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym

Bardziej szczegółowo

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

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

Bardziej szczegółowo

Wprowadzenie do złożoności obliczeniowej

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

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

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ółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć)

Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć) Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć) 1. Populacja generalna a losowa próba, parametr rozkładu cechy a jego ocena z losowej próby, miary opisu statystycznego

Bardziej szczegółowo

dr Jerzy Pusz, st. wykładowca, Wydział Matematyki i Nauk Informacyjnych Politechniki Warszawskiej B. Ogólna charakterystyka przedmiotu

dr Jerzy Pusz, st. wykładowca, Wydział Matematyki i Nauk Informacyjnych Politechniki Warszawskiej B. Ogólna charakterystyka przedmiotu Kod przedmiotu TR.SIK303 Nazwa przedmiotu Probabilistyka I Wersja przedmiotu 2015/16 A. Usytuowanie przedmiotu w systemie studiów Poziom kształcenia Studia I stopnia Forma i tryb prowadzenia studiów Stacjonarne

Bardziej szczegółowo

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny Klasa 2 INFORMATYKA dla szkół ponadgimnazjalnych zakres rozszerzony Założone osiągnięcia ucznia wymagania edukacyjne na poszczególne oceny Algorytmy 2 3 4 5 6 Wie, co to jest algorytm. Wymienia przykłady

Bardziej szczegółowo

STATYSTYKA MATEMATYCZNA. rachunek prawdopodobieństwa

STATYSTYKA MATEMATYCZNA. rachunek prawdopodobieństwa STATYSTYKA MATEMATYCZNA rachunek prawdopodobieństwa treść Zdarzenia losowe pojęcie prawdopodobieństwa prawo wielkich liczb zmienne losowe rozkłady teoretyczne zmiennych losowych Zanim zajmiemy się wnioskowaniem

Bardziej szczegółowo

ANALIZA HIERARCHICZNA PROBLEMU W SZACOWANIU RYZYKA PROJEKTU INFORMATYCZNEGO METODĄ PUNKTOWĄ. Joanna Bryndza

ANALIZA HIERARCHICZNA PROBLEMU W SZACOWANIU RYZYKA PROJEKTU INFORMATYCZNEGO METODĄ PUNKTOWĄ. Joanna Bryndza ANALIZA HIERARCHICZNA PROBLEMU W SZACOWANIU RYZYKA PROJEKTU INFORMATYCZNEGO METODĄ PUNKTOWĄ Joanna Bryndza Wprowadzenie Jednym z kluczowych problemów w szacowaniu poziomu ryzyka przedsięwzięcia informatycznego

Bardziej szczegółowo

Sortowanie bąbelkowe - wersja nr 1 Bubble Sort

Sortowanie bąbelkowe - wersja nr 1 Bubble Sort Sortowanie bąbelkowe - wersja nr 1 Bubble Sort Algorytm Algorytm sortowania bąbelkowego jest jednym z najstarszych algorytmów sortujących. Można go potraktować jako ulepszenie opisanego w poprzednim rozdziale

Bardziej szczegółowo

Interpretacja krzywych sondowania elektrooporowego; zagadnienie niejednoznaczności interpretacji (program IX1D Interpex) Etapy wykonania:

Interpretacja krzywych sondowania elektrooporowego; zagadnienie niejednoznaczności interpretacji (program IX1D Interpex) Etapy wykonania: Interpretacja krzywych sondowania elektrooporowego; zagadnienie niejednoznaczności interpretacji (program IX1D Interpex) Etapy wykonania: 1. Opisać problem geologiczny, który naleŝy rozwiązać (rozpoznanie

Bardziej szczegółowo

Algorytmy sortujące. sortowanie kubełkowe, sortowanie grzebieniowe

Algorytmy sortujące. sortowanie kubełkowe, sortowanie grzebieniowe Algorytmy sortujące sortowanie kubełkowe, sortowanie grzebieniowe Sortowanie kubełkowe (bucket sort) Jest to jeden z najbardziej popularnych algorytmów sortowania. Został wynaleziony w 1956 r. przez E.J.

Bardziej szczegółowo

Statystyka. Rozkład prawdopodobieństwa Testowanie hipotez. Wykład III ( )

Statystyka. Rozkład prawdopodobieństwa Testowanie hipotez. Wykład III ( ) Statystyka Rozkład prawdopodobieństwa Testowanie hipotez Wykład III (04.01.2016) Rozkład t-studenta Rozkład T jest rozkładem pomocniczym we wnioskowaniu statystycznym; stosuje się go wyznaczenia przedziału

Bardziej szczegółowo

Wyszukiwanie binarne

Wyszukiwanie binarne Wyszukiwanie binarne Wyszukiwanie binarne to technika pozwalająca na przeszukanie jakiegoś posortowanego zbioru danych w czasie logarytmicznie zależnym od jego wielkości (co to dokładnie znaczy dowiecie

Bardziej szczegółowo

Analiza ilościowa w przetwarzaniu równoległym

Analiza ilościowa w przetwarzaniu równoległym Komputery i Systemy Równoległe Jędrzej Ułasiewicz 1 Analiza ilościowa w przetwarzaniu równoległym 10. Analiza ilościowa w przetwarzaniu równoległym...2 10.1 Kryteria efektywności przetwarzania równoległego...2

Bardziej szczegółowo

Podstawy Informatyki. Sprawność algorytmó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

Bardziej szczegółowo

Tablica Wzorów Rachunek Prawdopodobieństwa i Statystyki

Tablica Wzorów Rachunek Prawdopodobieństwa i Statystyki Tablica Wzorów Rachunek Prawdopodobieństwa i Statystyki Spis treści I. Wzory ogólne... 2 1. Średnia arytmetyczna:... 2 2. Rozstęp:... 2 3. Kwantyle:... 2 4. Wariancja:... 2 5. Odchylenie standardowe:...

Bardziej szczegółowo

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar... 1. Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar... 1. Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16 Spis treści Przedmowa.......................... XI Rozdział 1. Pomiar: jednostki miar................. 1 1.1. Wielkości fizyczne i pozafizyczne.................. 1 1.2. Spójne układy miar. Układ SI i jego

Bardziej szczegółowo

Informatyka 1. Złożoność obliczeniowa

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

Bardziej szczegółowo

Wykład 3 Hipotezy statystyczne

Wykład 3 Hipotezy statystyczne Wykład 3 Hipotezy statystyczne Hipotezą statystyczną nazywamy każde przypuszczenie dotyczące nieznanego rozkładu obserwowanej zmiennej losowej (cechy populacji generalnej) Hipoteza zerowa (H 0 ) jest hipoteza

Bardziej szczegółowo

VI WYKŁAD STATYSTYKA. 9/04/2014 B8 sala 0.10B Godz. 15:15

VI WYKŁAD STATYSTYKA. 9/04/2014 B8 sala 0.10B Godz. 15:15 VI WYKŁAD STATYSTYKA 9/04/2014 B8 sala 0.10B Godz. 15:15 WYKŁAD 6 WERYFIKACJA HIPOTEZ STATYSTYCZNYCH PARAMETRYCZNE TESTY ISTOTNOŚCI Weryfikacja hipotez ( błędy I i II rodzaju, poziom istotności, zasady

Bardziej szczegółowo

Spacery losowe generowanie realizacji procesu losowego

Spacery 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ółowo

WYDZIAŁ BUDOWNICTWA LĄDOWEGO I WODNEGO

WYDZIAŁ BUDOWNICTWA LĄDOWEGO I WODNEGO Zał. nr 4 do ZW WYDZIAŁ BUDOWNICTWA LĄDOWEGO I WODNEGO KARTA PRZEDMIOTU Nazwa w języku polskim STATYSTYKA STOSOWANA Nazwa w języku angielskim APPLIED STATISTICS Kierunek studiów (jeśli dotyczy): Specjalność

Bardziej szczegółowo

Idea. θ = θ 0, Hipoteza statystyczna Obszary krytyczne Błąd pierwszego i drugiego rodzaju p-wartość

Idea. θ = θ 0, Hipoteza statystyczna Obszary krytyczne Błąd pierwszego i drugiego rodzaju p-wartość Idea Niech θ oznacza parametr modelu statystycznego. Dotychczasowe rozważania dotyczyły metod estymacji tego parametru. Teraz zamiast szacować nieznaną wartość parametru będziemy weryfikowali hipotezę

Bardziej szczegółowo

PLAN WYNIKOWY DLA KLASY DRUGIEJ POZIOM PODSTAWOWY I ROZSZERZONY. I. Proste na płaszczyźnie (15 godz.)

PLAN WYNIKOWY DLA KLASY DRUGIEJ POZIOM PODSTAWOWY I ROZSZERZONY. I. Proste na płaszczyźnie (15 godz.) PLAN WYNIKOWY DLA KLASY DRUGIEJ POZIOM PODSTAWOWY I ROZSZERZONY I. Proste na płaszczyźnie (15 godz.) Równanie prostej w postaci ogólnej Wzajemne połoŝenie dwóch prostych Nierówność liniowa z dwiema niewiadomymi

Bardziej szczegółowo

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,

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

Bardziej szczegółowo

POJĘCIA WSTĘPNE. STATYSTYKA - nauka traktująca o metodach ilościowych badania prawidłowości zjawisk (procesów) masowych.

POJĘCIA WSTĘPNE. STATYSTYKA - nauka traktująca o metodach ilościowych badania prawidłowości zjawisk (procesów) masowych. [1] POJĘCIA WSTĘPNE STATYSTYKA - nauka traktująca o metodach ilościowych badania prawidłowości zjawisk (procesów) masowych. BADANIE STATYSTYCZNE - ogół prac mających na celu poznanie struktury określonej

Bardziej szczegółowo

METODY PROBABILISTYCZNE I STATYSTYKA

METODY PROBABILISTYCZNE I STATYSTYKA METODY PROBABILISTYCZNE I STATYSTYKA PROPOZYCJE DYDAKTYCZNE Opracował Marek Cieciura SPIS TREŚCI 1. ROZLICZENIE GODZINOWE... 2 2. CELE ZAJĘĆ Z PRZEDMIOTU... 2 3. ORGANIZACJA ZAJĘĆ... 2 3.1. KLUCZOWE ZAŁOśENIA...

Bardziej szczegółowo

Ćwiczenie nr 2: ZaleŜność okresu drgań wahadła od amplitudy

Ćwiczenie nr 2: ZaleŜność okresu drgań wahadła od amplitudy Wydział PRACOWNIA FIZYCZNA WFiIS AGH Imię i nazwisko 1. 2. Temat: Rok Grupa Zespół Nr ćwiczenia Data wykonania Data oddania Zwrot do popr. Data oddania Data zaliczenia OCENA Ćwiczenie nr 2: ZaleŜność okresu

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

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

Bardziej szczegółowo

Korzystanie z podstawowych rozkładów prawdopodobieństwa (tablice i arkusze kalkulacyjne)

Korzystanie z podstawowych rozkładów prawdopodobieństwa (tablice i arkusze kalkulacyjne) Korzystanie z podstawowych rozkładów prawdopodobieństwa (tablice i arkusze kalkulacyjne) Przygotował: Dr inż. Wojciech Artichowicz Katedra Hydrotechniki PG Zima 2014/15 1 TABLICE ROZKŁADÓW... 3 ROZKŁAD

Bardziej szczegółowo

Doświadczalnictwo leśne. Wydział Leśny SGGW Studia II stopnia

Doświadczalnictwo leśne. Wydział Leśny SGGW Studia II stopnia Doświadczalnictwo leśne Wydział Leśny SGGW Studia II stopnia Treści i efekty kształcenia Treści: Statystyka matematyczna, planowanie eksperymentu Efekty kształcenia: student potrafi opisywać zjawiska za

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej

Bardziej szczegółowo

Algorytmika i pseudoprogramowanie

Algorytmika i pseudoprogramowanie Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Programowanie Strukturalne i Obiektowe Klasa: druga Dział Dopuszczający Dostateczny Dobry

Bardziej szczegółowo

W4 Eksperyment niezawodnościowy

W4 Eksperyment niezawodnościowy W4 Eksperyment niezawodnościowy Henryk Maciejewski Jacek Jarnicki Jarosław Sugier www.zsk.iiar.pwr.edu.pl Badania niezawodnościowe i analiza statystyczna wyników 1. Co to są badania niezawodnościowe i

Bardziej szczegółowo

A B. Modelowanie reakcji chemicznych: numeryczne rozwiązywanie równań na szybkość reakcji chemicznych B: 1. da dt. A v. v t

A B. Modelowanie reakcji chemicznych: numeryczne rozwiązywanie równań na szybkość reakcji chemicznych B: 1. da dt. A v. v t B: 1 Modelowanie reakcji chemicznych: numeryczne rozwiązywanie równań na szybkość reakcji chemicznych 1. ZałóŜmy, Ŝe zmienna A oznacza stęŝenie substratu, a zmienna B stęŝenie produktu reakcji chemicznej

Bardziej szczegółowo

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe Algorytmy i złożoności Wykład 3. Listy jednokierunkowe Wstęp. Lista jednokierunkowa jest strukturą pozwalającą na pamiętanie danych w postaci uporzadkowanej, a także na bardzo szybkie wstawianie i usuwanie

Bardziej szczegółowo

Sortowanie zewnętrzne

Sortowanie zewnętrzne Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Sortowanie zewnętrzne 1 Wstęp Bardzo często

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4

Algorytmy 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ółowo

Wstęp do programowania

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

Bardziej szczegółowo

Testy nieparametryczne

Testy nieparametryczne Testy nieparametryczne Testy nieparametryczne możemy stosować, gdy nie są spełnione założenia wymagane dla testów parametrycznych. Stosujemy je również, gdy dane można uporządkować według określonych kryteriów

Bardziej szczegółowo

Statystyka w pracy badawczej nauczyciela Wykład 4: Analiza współzależności. dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl

Statystyka w pracy badawczej nauczyciela Wykład 4: Analiza współzależności. dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl Statystyka w pracy badawczej nauczyciela Wykład 4: Analiza współzależności dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl Statystyczna teoria korelacji i regresji (1) Jest to dział statystyki zajmujący

Bardziej szczegółowo

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2 - 1 - MS EXCEL CZ.2 FUNKCJE Program Excel zawiera ok. 200 funkcji, będących predefiniowanymi formułami, słuŝącymi do wykonywania określonych obliczeń. KaŜda funkcja składa się z nazwy funkcji, która określa

Bardziej szczegółowo

WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI WYDZIAŁ GEOINŻYNIERII, GÓRNICTWA I GEOLOGII KARTA PRZEDMIOTU Nazwa w języku polskim: Statystyka matematyczna Nazwa w języku angielskim: Mathematical Statistics Kierunek studiów (jeśli dotyczy): Górnictwo

Bardziej szczegółowo

Opis przedmiotu: Probabilistyka I

Opis przedmiotu: Probabilistyka I Opis : Probabilistyka I Kod Nazwa Wersja TR.SIK303 Probabilistyka I 2012/13 A. Usytuowanie w systemie studiów Poziom Kształcenia Stopień Rodzaj Kierunek studiów Profil studiów Specjalność Jednostka prowadząca

Bardziej szczegółowo

WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Zał. nr 4 do ZW WYDZIAŁ ELEKTRONIKI KARTA PRZEDMIOTU Nazwa w języku polskim STATYSTYKA MATEMATYCZNA (EiT stopień) Nazwa w języku angielskim Mathematical Statistics Kierunek studiów (jeśli dotyczy): Specjalność

Bardziej szczegółowo

Ćwiczenie 14. Maria Bełtowska-Brzezinska KINETYKA REAKCJI ENZYMATYCZNYCH

Ćwiczenie 14. Maria Bełtowska-Brzezinska KINETYKA REAKCJI ENZYMATYCZNYCH Ćwiczenie 14 aria Bełtowska-Brzezinska KINETYKA REAKCJI ENZYATYCZNYCH Zagadnienia: Podstawowe pojęcia kinetyki chemicznej (szybkość reakcji, reakcje elementarne, rząd reakcji). Równania kinetyczne prostych

Bardziej szczegółowo