Analiza Algorytmów 2018/2019 (zadania na laboratorium)

Podobne dokumenty
Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Wykład 9: Markov Chain Monte Carlo

Spacery losowe generowanie realizacji procesu losowego

Grafy Alberta-Barabasiego

Ćwiczenia: Ukryte procesy Markowa lista 1 kierunek: matematyka, specjalność: analiza danych i modelowanie, studia II

Analiza algorytmów zadania podstawowe

Procesy stochastyczne WYKŁAD 2-3. Łańcuchy Markowa. Łańcuchy Markowa to procesy "bez pamięci" w których czas i stany są zbiorami dyskretnymi.

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

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

Procesy stochastyczne

Algorytmy MCMC (Markowowskie Monte Carlo) dla skokowych procesów Markowa

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

Prawdopodobieństwo i statystyka

Podstawowe własności grafów. Wykład 3. Własności grafów

Geometryczna zbieżność algorytmu Gibbsa

Elementy modelowania matematycznego

Procesy Markowa zawdzięczają swoją nazwę ich twórcy Andriejowi Markowowi, który po raz pierwszy opisał problem w 1906 roku.

Wykład 11: Martyngały: definicja, twierdzenia o zbieżności

Matematyka ubezpieczeń majątkowych r.

Zadania do Rozdziału X

Funkcje dwóch zmiennych

5 Błąd średniokwadratowy i obciążenie

Testowanie hipotez statystycznych.

Wstęp do metod numerycznych Zadania numeryczne 2016/17 1

Prawdopodobieństwo i statystyka

Symulacyjne metody wyceny opcji amerykańskich

9. Schematy aproksymacyjne

Sortowanie topologiczne skierowanych grafów acyklicznych

a) 7 b) 19 c) 21 d) 34

19 marzec, Łańcuchy Markowa z czasem dyskretnym. Procesy Stochastyczne, wykład 6, T. Byczkowski, Procesy Stochastyczne, PPT, Matematyka MAP1136

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

Algorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV

Prawdopodobieństwo i statystyka

Optymalizacja. Symulowane wyżarzanie

Spis treści 3 SPIS TREŚCI

1 Wartości własne oraz wektory własne macierzy

Programowanie liniowe

Wykład 1 Próba i populacja. Estymacja parametrów z wykorzystaniem metody bootstrap

Metody probabilistyczne

Statystyka i eksploracja danych

WYKŁADY ZE STATYSTYKI MATEMATYCZNEJ wykład 9 i 10 - Weryfikacja hipotez statystycznych

Rozdział 2: Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów

Algorytmy Równoległe i Rozproszone Część II - Sieci porównujące

7. Estymacja parametrów w modelu normalnym( ) Pojęcie losowej próby prostej

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Algorytmy i Struktury Danych.

Statystyka opisowa. Wykład I. Elementy statystyki opisowej

MATEMATYKA Z ELEMENTAMI STATYSTYKI LABORATORIUM KOMPUTEROWE DLA II ROKU KIERUNKU ZARZĄDZANIE I INŻYNIERIA PRODUKCJI ZESTAWY ZADAŃ

Algorytmy stochastyczne laboratorium 03


Sieci Mobilne i Bezprzewodowe laboratorium 2 Modelowanie zdarzeń dyskretnych

ALHE Z11 Jarosław Arabas wykład 11

wstęp do informatyki i programowania część testowa (25 pyt. / 60 min.)

Analiza Algorytmów. Informatyka, WPPT, Politechnika Wroclawska. 1 Zadania teoretyczne (ćwiczenia) Zadanie 1. Zadanie 2. Zadanie 3

Prognozowanie i Symulacje. Wykład I. Matematyczne metody prognozowania

Algorytmy i Struktury Danych, 2. ćwiczenia

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Weryfikacja hipotez statystycznych

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

1 Wykład 4. Proste Prawa wielkich liczb, CTG i metody Monte Carlo

EGZAMIN DYPLOMOWY, część II, Biomatematyka

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

Metody probabilistyczne

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Generowanie liczb o zadanym rozkładzie. ln(1 F (y) λ

Prawdopodobieństwo i statystyka

Transformaty. Kodowanie transformujace

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Grupowanie Witold Andrzejewski, Politechnika Poznańska, Wydział Informatyki 201/633

Elementy modelowania matematycznego

dla t ściślejsze ograniczenie na prawdopodobieństwo otrzymujemy przyjmując k = 1, zaś dla t > t ściślejsze ograniczenie otrzymujemy przyjmując k = 2.

Estymacja parametrów w modelu normalnym

Sprzedaż online. Piotr Sankowski Uniwersytet Warszawski Warszawa p. 1/40

Estymacja w regresji nieparametrycznej

Struktury danych (I): kolejka, stos itp.

System BCD z κ. Adam Slaski na podstawie wykładów, notatek i uwag Pawła Urzyczyna. Semestr letni 2009/10

Zadanie 1. Liczba szkód N w ciągu roku z pewnego ryzyka ma rozkład geometryczny: k =

Laboratorium 5: Tablice. Wyszukiwanie binarne

LABORATORIUM PODSTAW TELEKOMUNIKACJI

0 + 0 = 0, = 1, = 1, = 0.

Minimalne drzewa rozpinające

Rozkład Gaussa i test χ2

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Lista 5. Zadanie 3. Zmienne losowe X i (i = 1, 2, 3, 4) są niezależne o tym samym

Przykłady problemów optymalizacyjnych

Znajdowanie skojarzeń na maszynie równoległej

Jeśli wszystkie wartości, jakie może przyjmować zmienna można wypisać w postaci ciągu {x 1, x 2,...}, to mówimy, że jest to zmienna dyskretna.

O ŚREDNIEJ STATYSTYCZNEJ

Ogólne wiadomości o grafach

Prawdopodobieństwo i rozkład normalny cd.

Metody probabilistyczne

Prawdopodobieństwo i statystyka

Metody systemowe i decyzyjne w informatyce

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Teoria obliczeń i złożoność obliczeniowa

Transkrypt:

Analiza Algorytmów 2018/2019 (zadania na laboratorium) Wybór lidera (do 9 III) Zadanie 1 W dowolnym języku programowania zaimplementuj symulator umożliwiający przetestowanie algorytmu wyboru lidera ELECT ION( P ) opisanego na pierwszym wykładzie. Niech L będzie zmienną losową oznaczającą liczę slotów potrzebnych do czasu wyboru lidera. Dla scenariuszy: 1) liczba stacji n jest znana, 2) znane jest jedynie górne ograniczenie u n, a faktyczna liczba stacji to n = 2, n = u/2, n = u, wykorzystaj symulator aby a. narysować rozkład empiryczny (histogram) dla zmiennej L, b. oszacować E[L] oraz Var[L]. Czy wyniki symulacji są zgodne z wynikami teoretycznymi? (10p) Zadanie 2 Zaproponuj odpowiednie doświadczenie i za pomocą symulacji potwierdź poprawność Lematu 4 z pierwszego wykładu (10p): P r[s L,u,n ] λ 0.579.

Analiza strumieni danych (do 30 III) MinCount(M, h, k) Inicjalizacja: ustaw k pozycji M[1],..., M[k] tablicy M na 1 1: for all x M do M to multizbiór 2: if h(x) < M[k] h(x) / M then hasz h(x) [0, 1) 3: M[k] h(x) 4: sort(m) posortuj M rosnąco 5: end if 6: end for 7: if M[k] == 1 then 8: Return: ˆn {i : M[i] 1} 9: else 10: Return: ˆn (k 1)/M[k] ˆn to oszacowanie liczby różnych elementów M 11: end if Zadanie 3 Zaimplementuj algorytm MinCount(k, h, M) i przetestuj jego działanie: (10p) a) Rozważ multizbiory M n = (S n, m) takie, że S n = n oraz n = 1, 2,..., 10 4. Czy obecność powtórzeń ma wpływ na wartość estymacji ˆn uzyskiwanej w algorytmie? b) Dla k = 2, 3, 10, 100, 400 i multizbiorów z punktu a) narysuj wykres mający na osi poziomej wartości n a na osi pionowej stosunek ˆn/n. c) Eksperymentalnie dobierz wartość k tak by w 95% przypadków ˆn n 1 < 10%. Zadanie 4 Dla kilku różnych funkcji haszujących h : S {0, 1} B i różnych wartości parametru B przetestuj działanie algorytmu MinCount(k, h, M). Postaraj się znaleźć funkcję haszującą h dla której wyniki algorytmu są istotnie gorsze i wyjaśnij z czego może wynikać utrata dokładności. (10p) Zadanie 5 Twoim zadaniem jest porównanie teoretycznych wyników dotyczących koncentracji estymatora ˆn wykorzystanego w algorytmie MinCount(k, h, M) uzyskanych przez a) nierówność Czebyszewa oraz b) nierówność Chernoffa, z wynikami symulacji. Dla n = 1, 2,... 10 4, k = 400 i α = 5%, 1%, 0.5% przedstaw na wykresie wartości ˆn/n (uzyskane w wyniku eksperymentów) oraz wartości 1 δ i 1 + δ takie, że P r [1 δ < ˆnn ] < 1 + δ > 1 α. (10p) Zadanie 6 Zaimplementuj algorytm HyperLogLog z korektami i przetestuj jego działanie dla różnych wartości parametru m (liczba rejestrów) oraz różnych funkcji haszujących - stwórz wykresy analogiczne do tych z zadania 3. Porównaj dokładność estymacji algorytmów MinCount oraz HyperLogLog, gdy oba mają do dyspozycji taką samą ilość pamięci (możesz założyć, że potrzeba 5 bitów na rejestr w HyperLogLog oraz 32 bity na wartość hasza w MinCount). (20p)

Samostabilizacja (do 10 V) Zadanie 7 Zaimplementuj symulator algorytmu Mutual Exclusion Dijkstry. Dla ustalonego n oznaczającego liczbę procesów w pierścieniu, zweryfikuj, że startując z dowolnej konfiguracji początkowej algorytm przejdzie do legalnej konfiguracji. Jeśli z pewnej konfiguracji można przejść do kilku możliwych konfiguracji w zależności od tego, który proces wykona krok jako pierwszy, każde wykonanie powinno zostać zweryfikowane. Jaka jest największa liczba kroków do czasu osiągnięcia legalnej konfiguracji dla ustalonego n? Dla jakich wartości n możesz uzyskać odpowiedź w sensownym czasie? Za zadanie możesz otrzymać 3 N punktów, gdzie N oznacza największą wartość n, dla której uda Ci się zweryfikować algorytm. Zadanie 8 Rozważmy graf G = (V, E). Dwa wierzchołki v, w V nazywamy niezależnymi, jeśli {v, w} / E. Podzbiór S V wierzchołków nazywamy niezależnym, jeśli wszystkie jego elementy są parami niezależne. Wzorując się na algorytmie Maximal Machting podanym na wykładzie zaprojektuj, zaimplementuj i przetestuj samo-stabilizujący algorytm znajdujący maksymalny zbiór niezależny (ang. Maximal Independent Set) w nieskierowanym grafie spójnym. Podaj przekonywujące uzasadnienie poprawności algorytmu (formalny dowód - zadanie na ćwiczenia). Algorytmy znajdowania maksymalnego zbioru niezależnego mają wiele zastosowań, możesz np. myśleć o problemie przydziału częstotliwości w sieciach bezprzewodowych. (15p)

Łańcuchy Markowa Zadanie 9 (do 24 V) Dla danego grafu skierowanego G o n wierzchołkach definiujemy macierz Google M G = (1 α)p G + α 1 n J n, (1) gdzie P G to stochastyczna macierz n n opisująca prawdopodobieństwa przejścia * między wierzchołkami grafu G, J n to macierz n n złożona z samych jedynek, α [0, 1] to współczynnik tłumienia. Poniższy graf przedstawia schemat połączeń między sześcioma stronami internetowymi. Wyznacz rozkłady stacjonarne dla łańcucha Markowa związanego z macierzą M G dla α = 0, 0.15, 0.5, 1. Co się zmieni jeśli zlikwidujemy połączenie między stanem 2 i 3? Jaki jest cel wprowadzania macierzy α 1 n J n? Dlaczego α nazywa się czasem współczynnikiem znudzenia? (10p) 1 4 3 2 5 6 Zadanie 10 (do 24 V) Rozważ łańcuch Markowa o zbiorze stanów {0, 1, 2, 3} i macierzy przejścia 0 3/10 1/10 3/5 P = 1/10 1/10 7/10 1/10 1/10 7/10 1/10 1/10. 9/10 1/10 0 0 a) Znajdź rozkład stacjonarny π = (π 0, π 1, π 2, π 3 ) dla tego łańcucha Markowa. b) Znajdź prawdopodobieństwo znalezienia się w stanie 3 po 32 krokach, jeśli zaczynamy w stanie 0. c) Znajdź prawdopodobieństwo znalezienia się w stanie 3 po 128 krokach, jeśli łańcuch zaczyna się w stanie wybranym losowo w sposób jednostajny ze wszystkich czterech stanów. d) Przypuśćmy, że zaczynamy w stanie 0. Jaka jest najmniejsza wartość liczby kroków t, dla której max P t s 0,s π s ε dla ε = 1/10, 1/100, 1/1000. Kiedy przydaje się możliwość tego rodzaju aproksymacji rozkładu stacjonarnego? (10p) * Przyjmujemy, że dla danego wierzchołka prawdopodobieństwo przejścia do każdego z jego sąsiadów w grafie skierowanym jest takie samo. Dodatkowo zakładamy, że jeśli wierzchołek nie ma krawędzi wychodzących, to przechodzi do każdego wierzchołka w grafie z takim samym prawdopodobieństwem 1/n.

Zadanie 11 (do 24 V) Przyjmijmy, że mamy łańcuch Markowa opisany macierzą M G zdefiniowaną w formule (1), gdzie macierz sąsiedztwa skierowanego grafu G ma postać 0 1 1 0 0 0 0 0 1 0 N G = 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 oraz, że π 0 = (1/5, 1/5, 1/5, 1/5, 1/5) jest rozkładem w chwili 0 na stanach łańcucha. Sprawdź jaki jest rozkład w kolejnych 25 krokach ( π i dla i = 1, 2,..., 25) dla α = 0, 0.25, 0.5, 0.75, 0.85, 1. Jak wartość parametru α wpływa na czas zbiegania do rozkładu stacjonarnego? Czy wartość parametru α ma wpływ na kolejność stron w rankingu PageRank? Narysuj stosowne wykresy. Pytanie dodatkowe: jaki związek ma współczynnik α z tzw. przerwą spektralną macierzy M G? (10p) Zadanie 12 (do 31 V) Zaimplementuj symulator prostej kolejki z czasem dyskretnym i bez ograniczenia rozmiaru (model z wykładu) dla różnych wartości parametrów λ i µ, takich, że λ > µ, λ < µ oraz λ = µ. Dla dużej liczby kroków sprawdź, jak często łańcuch przebywa w danym stanie i jaka jest średnia liczba kroków do chwili powrotu do danego stanu. Porównaj swoje wyniki z wynikami teoretycznymi. Zaproponuj jak mógłby wyglądać łańcuch w modelu z ograniczonym rozmiarem kolejki i przeprowadź analogiczną analizę. (10p) Procesy Markowa Zadanie 13 Zaimplementuj symulator opisany w Zadaniu 8.26 w książce "Metody probabilistyczne i obliczenia"(mitzenmacher, Upfal) i wykonaj opisane w tym zdaniu polecenia. Można łatwo uzyskać dostęp do angielskojęzycznej wersji książki: "Probability and Computing: Randomized Algorithms and Probabilistic Analysis". W razie problemów z dostępem chętnie użyczę swój egzemplarz (proszę o maila). Spróbuj wyjaśnić jaki związek ma to zdanie z formułą Pollaczka-Khinchina. (25p)