Algorytmy zrandomizowane

Podobne dokumenty
Algorytmy zrandomizowane

Prawdopodobieństwo i statystyka

Technologie Informacyjne

Metody numeryczne. Wykład nr 12. Dr Piotr Fronczak

Wyk lad 2: Algorytmy heurystyczne

Metody Rozmyte i Algorytmy Ewolucyjne

Kwantyle. Kwantyl rzędu p rozkładu prawdopodobieństwa to taka liczba x p. , że. Możemy go obliczyć z dystrybuanty: P(X x p.

Wykład 14. Testowanie hipotez statystycznych - test zgodności chi-kwadrat. Generowanie liczb losowych.

Modelowanie komputerowe

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Prawdopodobieństwo i statystyka

Matura próbna 2014 z matematyki-poziom podstawowy

Generowanie ciągów pseudolosowych o zadanych rozkładach przykładowy raport

Generacja liczb pseudolosowych

Algorytmy sortujące i wyszukujące

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

Komputerowa Analiza Danych Doświadczalnych

Podstawy symulacji komputerowej

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

1. Znajdowanie miejsca zerowego funkcji metodą bisekcji.

Podstawy OpenCL część 2

Wstęp do programowania

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Sieci Mobilne i Bezprzewodowe laboratorium 2 Modelowanie zdarzeń dyskretnych

Identyfikacja i modelowanie struktur i procesów biologicznych

Wstęp do Rachunku Prawdopodobieństwa, IIr. WMS

Instytut Fizyki Politechniki Łódzkiej Laboratorium Metod Analizy Danych Doświadczalnych Ćwiczenie 3 Generator liczb losowych o rozkładzie Rayleigha.

Metoda Monte Carlo, przykład symulacji statycznej (brak czynnika czasowego). Część I

MATLAB - laboratorium nr 1 wektory i macierze

Metoda bisekcji (inaczej połowienia przedziału lub równych podziałów)

Całkowanie numeryczne

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

Wstęp do programowania

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

Złożoność algorytmów. Wstęp do Informatyki

Monte Carlo, bootstrap, jacknife

Lista 6. Kamil Matuszewski 13 kwietnia D n =

Spacery losowe generowanie realizacji procesu losowego

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

Ważne rozkłady i twierdzenia c.d.

Ważne rozkłady i twierdzenia

Zadanie 1. Test (6 pkt) Zaznacz znakiem X w odpowiedniej kolumnie P lub F, która odpowiedź jest prawdziwa, a która fałszywa.

Algorytm Euklidesa. Największy wspólny dzielnik dla danych dwóch liczb całkowitych to największa liczba naturalna dzieląca każdą z nich bez reszty.

Statystyka w przykładach

Komputerowa analiza danych doświadczalnych

Symulacja w przedsiębiorstwie

Symulacja układu sztywnych kul

Analiza algorytmów zadania podstawowe

Całkowanie metodą Monte Carlo

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

Komputerowa analiza danych doświadczalnych

c) ( 13 (1) (2) Zadanie 2. Losując bez zwracania kolejne litery ze zbioru AAAEKMMTTY, jakie jest prawdopodobieństwo Odp.

Prawdopodobieństwo i statystyka r.

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Analiza Statystyczna

Wybrane rozkłady zmiennych losowych. Statystyka

Ilustracja metody MONTE CARLO. obliczania całek podwójnych

Zadania do samodzielnego rozwiązania

Rachunek prawdopodobieństwa projekt Ilustracja metody Monte Carlo obliczania całek oznaczonych

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

Komputerowa Analiza Danych Doświadczalnych

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Wersja testu A 18 czerwca 2012 r. x 2 +x dx

Matematyka stosowana i metody numeryczne

Aleksander Adamowski (s1869) zmienn ą losow ą T o rozkładzie wykładniczym o średniej 5 minut.

Algorytmy i struktury danych. Wykład 4

Co to jest grupowanie

Generowanie ciągów pseudolosowych o zadanych rozkładach wstęp do projektu

Metody Obliczeniowe w Nauce i Technice

Metoda Monte Carlo i jej zastosowania

Układy stochastyczne

Interpolacja funkcji

1 Wykład 3 Generatory liczb losowych o dowolnych rozkładach.

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

P (A B) = P (A), P (B) = P (A), skąd P (A B) = P (A) P (B). P (A)

ARKUSZ X

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

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

3 MODELE PROCESÓW STOCHASTYCZNYCH 3

Obóz Naukowy Olimpiady Matematycznej Gimnazjalistów

Wstęp do programowania

Wersja testu A 18 czerwca 2009 r.

Definicja 7.4 (Dystrybuanta zmiennej losowej). Dystrybuantą F zmiennej losowej X nazywamy funkcję: Własności dystrybuanty zmiennej losowej:

Rozkłady zmiennych losowych

Technologie informacyjne Wykład VII-IX

*W uproszczeniu: jest dziewięciu sędziów przyznających po dwie noty: za wartość techniczną i artystyczną (skala od 0.0 do 6.0)

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

Aby przygotować się do kolokwiów oraz do egzaminów należy ponownie przeanalizować zadania

Tablice jednowymiarowe

Typy algorytmów losowych. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Rozdział 4. Algorytmy sortowania 73 Rozdział 5. Typy i struktury danych 89 Rozdział 6. Derekursywacja i optymalizacja algorytmów 147

Optymalizacja. Wybrane algorytmy

POLITECHNIKA WROCŁAWSKA STUDIA DOKTORANCKIE JEDNOSTKA ZGŁASZAJĄCA/REALIZUJĄCA KURS: WYDZIAŁ BUDOWNICTWA LĄDOWEGO I WODNEGO / STUDIUM DOKTORANCKIE

Matematyka rozszerzona matura 2017

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Prawdopodobieństwo i statystyka

Optymalizacja. Przeszukiwanie tabu

Metoda Monte Carlo. Jerzy Mycielski. grudzien Jerzy Mycielski () Metoda Monte Carlo grudzien / 10

Liczby pseudolosowe. #include <stdio.h> #include <stdlib.h> int main() { printf("%d\n", RAND_MAX); return 0; }

Transkrypt:

Algorytmy zrandomizowane http://zajecia.jakubw.pl/nai ALGORYTMY ZRANDOMIZOWANE Algorytmy, których działanie uzależnione jest od czynników losowych. Algorytmy typu Monte Carlo: dają (po pewnym czasie) wynik optymalny z prawdopodobieństwem bliskim 1 np. algorytm szukania pokrycia macierzy przez wielokrotny losowy wybór kolejnych kolumn (o ile pokrywają nowe wiersze macierzy) Algorytmy typu Las Vegas: dają zawsze wynik optymalny, a randomizacja służy jedynie poprawie szybkości działania. np. zrandomizowany QuickSort 1

PRZESZUKIWANIE TABU Schemat działania: przeglądamy przestrzeń stanów (rozwiązań), przechodząc zawsze do tego sąsiada, dla którego wartość funkcji oceny jest największa (jak w algorytmie wspinaczki), o ile nie znajduje się on na liście punktów zabronionych. Na liście tej przechowujemy k ostatnio odwiedzonych punktów (np. k=1000). Przykład: maksymalizacja funkcji dwuwymiarowej (na siatce o ustalonej dokładności). Wersja zrandomizowana: Z prawdopodobieństwem 1/2 wybieramy najlepszego (dozwolonego) sąsiada, z prawd. 1/4 - drugiego z kolei, z prawd. 1/8 - trzeciego itd. Metoda oparta na sąsiedztwie. PRZESZUKIWANIE LOSOWE Najprostsza metoda: z przestrzeni stanów S losujemy wiele obiektów x i wybieramy ten, dla którego f(x) ma wartość największą. Metoda bardziej złożona: po wylosowaniu np. 1000 obiektów zapamiętujemy 100 najlepszych i kolejnych losowań dokonujemy z sąsiedztwa tych 100. (Przykład - problem komiwojażera: losujemy 1000 dróg, wybieramy 100 najkrótszych, następnie losowo je modyfikujemy, otrzymując kolejne 1000 przykładów itd.) Metoda hybrydowa: wybieramy 100 najlepszych z 1000 losowych, następnie dla każdego z nich uruchamiamy algorytm wspinaczki. Metody (często) oparte na sąsiedztwie. 2

SKĄD WZIĄĆ LICZBY LOSOWE Źródła prawdziwej losowości: zegar systemowy użytkownik (np. czas naciśnięcia klawisza, ruch myszki) przyrządy pomiarowe (np. szum wzmacniacza, licznik Geigera obok próbki promieniotwórczej) W praktyce te źródła losowości służą do inicjowania ciągów liczb pseudolosowych w generatorach programowych. Przykład: generator Marsaglii (1991): x n = (x n-s + x n-r + c) mod M, gdzie c = 1, jeśli poprzednia suma przekroczyła M, c = 0 w p.p. Np: x n = (x n-2 + x n-21 + c) mod 6, okres: 10 16 Np: x n = (x n-22 - x n-43 - c) mod 2 32-5, okres: 10 414 Generator z niektórych kompilatorów C/C++ (np. GCC): x n = (1103515245 x n-1 + 12345) mod 2 32 rand() = (x n / 2 16 ) mod 2 15 LICZBY LOSOWE O ZADANYM ROZKŁADZIE Metoda ogólna: odwracanie dystrybuanty. Mamy wygenerować zmienną losową z rozkładu o znanej gęstości f(x). Niech F(x) - dystrybuanta tego rozkładu. Wtedy: wynik = F -1 (u) jest szukaną zmienną losową, o ile u - wartość losowa z przedziału [0,1). Metoda eliminacji: Znamy gęstość f(x) na pewnej dziedzinie D, jednak nie znamy F -1. Niech M - ograniczenie górne f(x). repeat u1=random(d) u2=random(0,m) until u2<f(u1) 3

PRZYKŁAD - LOSOWANIE PUNKTÓW Z KOŁA Metoda biegunowa Losujemy współrzędne w układzie biegunowym (kąt i promień) z rozkładu jednostajnego. Metoda eliminacji Losujemy punkty z kwadratu i eliminujemy te, które leżą poza kołem. LAS VEGAS - PRZYKŁADY RandomQuickSort: 1. Mamy posortować zbiór S. Wybieramy z S losowy x. 2. Dzielimy S na zbiory S 1 - elementów mniejszych, niż x i S 2 - większych. 3. Rekurencyjnie sortujemy S 1 i S 2. Średnia złożoność jest taka sama, jak w przypadku deterministycznym. Losowanie zapobiega zbyt częstemu pojawianiu się złośliwych danych. Przykład pokrewny: budowa drzewa binarnego Przed budową drzewa mieszamy losowo dane wejściowe. zbudowane drzewo Przykład: ciąg liczb rosnących drzewo zbudowane po losowym przemieszaniu ciągu 4

MONTE CARLO Metody, które dają z pewnym prawdopodobieństwem dobry wynik Prawdopodobieństwo można zwiększać powtarzając obliczenia wielokrotnie (tej cechy nie mają alg. deterministyczne) Algorytmy numeryczne - całkowanie (liczymy średnią wartość funkcji w losowych punktach) - sprawdzanie, czy AB=C dla macierzy A,B,C (zamiast mnożyć A i B, co jest kosztowne, losujemy wektor x i badamy, czy A(Bx) = Cx, dla wielu różnych x) 5