Obliczenia inspirowane Naturą

Podobne dokumenty
Prawdopodobieństwo i statystyka

Obliczenia inspirowane Naturą

,,Matematyczna Ruletka Czyli jak sie robi liczby (pseudo)losowe.

Obliczenia inspirowane Naturą

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

Liczby losowe w informatyce Filip Piękniewski

Krytyczność, przejścia fazowe i symulacje Monte Carlo. Katarzyna Sznajd-Weron Physics of Complex System

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

Metoda Monte Carlo i jej zastosowania

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 8

Sieci Mobilne i Bezprzewodowe laboratorium 2 Modelowanie zdarzeń dyskretnych

Prawdopodobieństwo geometryczne

Podstawy symulacji komputerowej

Informatyka kwantowa. Zaproszenie do fizyki. Zakład Optyki Nieliniowej. wykład z cyklu. Ryszard Tanaś. mailto:tanas@kielich.amu.edu.

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

Technologie Informacyjne

Prawdopodobieństwo geometryczne

Generacja liczb pseudolosowych

Prawdopodobieństwo i statystyka

Obliczenia inspirowane Naturą

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

Generatory liczb pseudolosowych. Tomasz Kubik

Komputerowa Analiza Danych Doświadczalnych

Algorytmy zrandomizowane

Modelling of quantum informatics systems with the use of quantum programming languages and symbolic computation

MODELOWANIE RZECZYWISTOŚCI

Identyfikacja i modelowanie struktur i procesów biologicznych

Rozkłady i ich dystrybuanty 16 marca F X (t) = P (X < t) 0, gdy t 0, F X (t) = 1, gdy t > c, 0, gdy t x 1, 1, gdy t > x 2,

Generatory Liczb Losowych

Mikroekonometria 5. Mikołaj Czajkowski Wiktor Budziński

Metody Rozmyte i Algorytmy Ewolucyjne

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

Całkowanie metodą Monte Carlo

Chaotyczne generatory liczb pseudolosowych

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

Wynik pomiaru jako zmienna losowa

Sterowanie wielkością zamówienia w Excelu - cz. 3

AKADEMIA GÓRNICZO-HUTNICZA Wydział Matematyki Stosowanej ROZKŁAD NORMALNY ROZKŁAD GAUSSA

Modelowanie komputerowe

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

bity kwantowe zastosowania stanów splątanych

Mikroekonometria 6. Mikołaj Czajkowski Wiktor Budziński

Komputerowa analiza danych doświadczalnych

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

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

Metody probabilistyczne

PWSZ w Tarnowie Instytut Politechniczny Elektrotechnika

Liczby półpierwsze (Semiprimes)

Wykład 2 Zmienne losowe i ich rozkłady

Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak

W4 Eksperyment niezawodnościowy

Zastosowania arytmetyki modularnej. Zastosowania arytmetyki modularnej

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 13

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

Wprowadzenie do metod numerycznych Wykład 13 Metody statystyczne

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

Komputerowa analiza danych doświadczalnych

Statystyka i eksploracja danych

bity kwantowe zastosowania stanów splątanych

MODELOWANIE RZECZYWISTOŚCI

Kwantowa kooperacja. Robert Nowotniak. Wydział Fizyki Technicznej, Informatyki i Matematyki Stosowanej Politechnika Łódzka

Teoretyczne podstawy informatyki

Ważne rozkłady i twierdzenia

Obliczenia inspirowane Naturą

3 Przygotował: mgr inż. Maciej Lasota

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 6a

Generowanie ciągów bitów losowych z wykorzystaniem sygnałów pochodzących z komputera

Wybrane rozkłady zmiennych losowych. Statystyka

1. Symulacje komputerowe Idea symulacji Przykład. 2. Metody próbkowania Jackknife Bootstrap. 3. Łańcuchy Markova. 4. Próbkowanie Gibbsa

Prawdopodobieństwo i statystyka r.

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

Programowanie w C Wartości pseudolosowe i pomiar czasu

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

KARTA KURSU (realizowanego w module specjalności) Metody numeryczne

METODY STATYSTYCZNE W BIOLOGII

Niech X i Y będą niezależnymi zmiennymi losowymi o rozkładach wykładniczych, przy czym Y EX = 4 i EY = 6. Rozważamy zmienną losową Z =.

METODY BADAŃ NA ZWIERZĘTACH ze STATYSTYKĄ wykład 3-4. Parametry i wybrane rozkłady zmiennych losowych

Haszowanie. dr inż. Urszula Gałązka

Obliczenia inspirowane Naturą

Wybrane rozkłady zmiennych losowych. Statystyka

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

Obliczenia inspirowane Naturą

METODY STATYSTYCZNE W BIOLOGII

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

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.

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

Informatyka I Lab 06, r.a. 2011/2012 prow. Sławomir Czarnecki. Zadania na laboratorium nr. 6

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

Matematyka ubezpieczeń majątkowych r.

Wykład 9: Markov Chain Monte Carlo

Peter W. Shor - Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. 19 listopada 2004 roku

GENEROWANIE ROZDAŃ: TEORIA I PRAKTYKA MICHAŁ KLICHOWICZ KRAJOWA KURSOKONFERENCJA SĘDZIÓW IT PZBS, GRUDZIEŃ 2018

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

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

ESTYMACJA PRZEDZIAŁOWA WYBRANYCH PARAMETRÓW

Janusz Adamowski METODY OBLICZENIOWE FIZYKI Kwantowa wariacyjna metoda Monte Carlo. Problem własny dla stanu podstawowego układu N cząstek

Matematyka ubezpieczeń majątkowych r.

Obliczenia inspirowane Naturą

4. ZNACZENIE ROZKŁADU WYKŁADNICZEGO

Transkrypt:

Obliczenia inspirowane Naturą Wykład 14 - Losowość Jarosław Miszczak IITiS PAN Gliwice 09/06/2016 1 / 59

1... 2... 3... 2 / 59

1 2 3 Architektura Ivy Bridge Serwis Random.org 3 / 59

Zastosowania Gdzie stosujemy liczby (pseudo)losowe w algorytmach metaheurystycznych w metodzie Monte Carlo (np. do całkowania numerycznego) w symulacjach komputerowych w kryptografii w grach hazardowych 4 / 59

Any one who considers arithmetical methods of producing random digits is, of course, in a state of sin. John von Neumann 5 / 59

Monte Carlo Metody Monte Carlo to wspólna nazwa grupy technik komputerowych bazujących na obserwacji, iż wyniki dotyczące układu nie wymagają znajomości wszystkich możliwych stanów, a jedynie zbadania zachowania w stanach (konfiguracjach) typowych. Początki metod Monte Carlo sięgają prac nad projektem Manhatan, a ich pomysłodawcą byli Stanisław Ulam oraz John von Neuman. 6 / 59

Najstarszy przykład zastosowania metody Monte Carlo to estymacja wartości π. Igła Buffona (1777) Dana jest (nieskończona) kartka papieru liniami odległymi od siebie o t. Mamy do dyspozycji igłę od długości l. Ile wynosi prawdopodobieństwo zdarzenia, że rzucona igła dotknie linii? 7 / 59

Co zakładamy? Odległość środka igły od linii jest losowana z rozkładem równomiernym na [0, t 2 ]. Kąt między linią a igła jest losowany z rozkładem równomiernym na [0, π 2 ]. 8 / 59

Co obserwujemy? Częstość zdarzenia igła dotknęła linii R w n eksperymentach, czyli R n. 9 / 59

α x l t 10 / 59

Ile wynosi prawdopodobieństwo zdarzenia igła dotknęła linii R n? Zdarzenie zachodzi gdy x l 2 sin α. Zatem R π/2 l/2 sin θ n dxdθ. 0 0 11 / 59

(a) π 2.4168 (b) π 2.9792 (c) π 3.1120 (d) π 3.1416 Rysunek: Reprezentacja próbek wykorzystanych do obliczenia wartości π dla próbek z prawdopodobieństwem wylosowania 1 zwiększonym o 0.2 (a), 0.1 (b), 0.025 (c) oraz dla równego prawdopodobieństwa wylosowani 0 i 1 (d). Każda próbka zawiera 5000 punktów. 12 / 59

Żeby wyniki numeryczne były poprawne konieczne jest dostarczenie do algorytmu liczb (pseudo)losowych które są równomiernie rozłożone na badanym zbiorze. Małe zaburzenie rozkładu liczb, może mieć duże znacznie dla dokładności uzyskiwanych wyników. 13 / 59

Doby generator powinien generować liczby, które mają rozkład jak najbliższy do jednostajnego; produkować ciągi w których podciągi są wzajemnie niezależne; mieć długi okres czyli najmniejszą liczbę p taką, że x n = x n+p ; być przenośny, efektywny i powtarzalny. 14 / 59

Determinizm są deterministyczne. Wada:... Zaleta: możliwe jest powtórzenie wyników eksperymentów (lub przetestowania kodu) dla tego samego ciągu liczb losowych. 15 / 59

Niemal każdy język programowania dostarcza mechanizmu generowania liczby losowych. Generatory te mają za zadanie dostarczanie liczb z rozkładem jednorodnym. Mając do dyspozycji ciąg liczb losowych z przedziału [0, 1) można go stosunkowo łatwo przekształcić w ciąg o dowolnym rozkładzie. 16 / 59

Najprostszy generator liczb pseudolosowych to generator udostępniany w bibliotece standardowej języka C przez funkcję rand. Jest to tak zwany Liniowy Generator Kongruentny ang. linear congruential generator (LCG), który działa zgodnie z regułą x n = ax n 1 + c (mod m), gdzie a (mnożnik) c (przyrost) i m (moduł) to odpowiednio dobrane parametry. Jeżeli c = 0, to generator nazywamy multiplikatywnym. 17 / 59

Wartość początkowa ciągu x 0 to ziarno (ang. seed) Zły dobór ziarna może zepsuć generator. Generator można zainicjować aktualnym czasem innym generatorem 18 / 59

Generatory kongruentne są bardzo wrażliwe na dobór parametrów. Ich zaletą jest wydajna implementacja. Generator powinien osiągać maksymalny okres. Okres postaci 2 31 1 jest popularny ze względu na łatwość implementacji, ale jest zbyt mały na współczesne potrzeby. 19 / 59

0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 Znormalizowane losowe punkty x n m uzyskane z generatora multiplikatywnego x n+1 = 7x n (mod 101) dla wartości początkowych x 0 = 10 i x 0 = 13. 20 / 59

RANDU Jednym z najgorszych, powszechnie stosowanych, generatorów liczb pseudolosowych jest RANDU opisany formułą x n+1 = 65539 x n (mod 2 31 ) Generator ten był powszechnie stosowany w latach 60 i 70. 21 / 59

Lenore Blum, Manuel Blum i Michael Shub, 1986 1 Generator postaci x n+1 = (x n ) 2 (mod M), gdzie M = pq jest iloczynem dwóch dużych liczb pierwszych. Ziarnem x 0 powinna być liczba względnie pierwsza z M. Wyjściem jest tylko część bitów x n. 1 L. Blum, M. Blum, and M. Shub. A Simple Unpredictable Pseudo-Random Number Generator. SIAM Journal on Computing, vol. 15, p. 364-383, May 1986 22 / 59

Dość wolny. Bardzo bezpieczny. Odróżnienie jego wyników od szumu jest równie trudne jak faktoryzacja M. 23 / 59

Opracowany W 1997 roku przez Makoto Matsumoto i Takuji Nishimura 2. Zaprojektowany z myślą o metodach Monte Carlo i innych symulacjach statystycznych. 2 M. Matsumoto, T. Nishimura, Mersenne twister: a 623-dimensionally equidistributed uniform pseudorandom number generator, ACM Trans. Model. Comput. Simul. 8, 3 (1998). 24 / 59

Na okres wybierana jest liczba pierwsza Mersenne a np. 2 19937 1. Generator osiąga pełny okres i daje bardzo dobre źródło losowości. 2 19937 1 4.3 10 6001 czyli więcej niż liczba cząstek w obserwowanym Wszechświecie (czyi 10 87 ). 25 / 59

Liczby Mersenne a liczby pierwsze postaci 2 p 1, gdzie p jest liczba pierwszą. Nie wiadomo czy jest ich nieskończenie wiele. Dotychczas znamy 49 takich liczb. Największa z nich to 2 74207281 1 odkryta w styczniu 2016. GIMPS Projekt który ma na celu znajdowanie nowych liczb Mersenne a: http://www.mersenne.org/ 26 / 59

to obecnie domyślny generator stosowany w wielu popularnych językach programowania, m.in. PHP, Python, R oraz Ruby, a także wielu systemach algebry liniowej, m.in. Maple, Matlab, GNU Octave oraz Scilab. Generator też został wprowadzony do standardu C++11 i dostępny jest w pliku nagłówkowym <random>. 27 / 59

W systemie Mathematica domyślnie zastosowana metoda generowania liczb pseudolosowych oparta jest na automatach komórkowych. Wykorzystuje on chaotyczne zachowanie ciągów bitów generowanych przez automaty komórkowe. Prostym przykładem zastosowania automatów komórkowych do generowania ciągów pseudolosowych jest automat Rule30. 28 / 59

Ekstraktor losowości (ang. randomness extractor), to funkcja, która zastosowana do wyjścia ze źródła losowości o małej entropii generuje losowe wyjście niezależne od wejścia. 29 / 59

Ekstraktor von Neumanna Dla ciągu bitów x 1, x 2,..., x n 1, x n ekstraktor von Neumanna dla nienakładających się par bitów daje gdzie ɛ to napis pusty. ɛ jeżeli x i = x i+1 x i jeżeli x i x i+1 30 / 59

Ekstraktor losowości redukuje ilość bitów na wyjściu. 31 / 59

Metoda odwracania dystrybuanty: Zakładamy, że mamy dostęp do źródła U(0, 1). Niech F będzie dystrybuantą interesującego nas rozkładu. Definiujemy X = F 1 (U). Zmienna losowa ma rozkład o dystrybuancie F. 32 / 59

Metoda odwracania dystrybuanty RandomRealNormal[d] := Mean[d] + Sqrt[2]Sqrt[Variance[d]] InverseErf[-1+2 RandomReal[0,1]]; gdzie RandomReal[0,1] daje liczbę z U(0, 1). Erf[z] = 2 z π 0 e t2 dt 33 / 59

Działa zawsze. Jest mało wydajne. Wymaga znajomości analitycznej postaci funkcji odwrotnej do dystrybuanty. 34 / 59

Metoda eliminacji (John von Neumann): Załóżmy, że gęstość prawdopodobieństwa f rozkładu jest nieujemna na (a, b) i ograniczona z góry przez d. Wygeneruj U 1 z U(a, b) oraz U 2 z U(0, d). Jeżeli U 2 f (U 1 ), to przyjmujemy X = U 1 W przeciwnym wypadku powtarzamy. Metoda to odpowiada całkowaniu gęstości rozkładu poprzez próbkowanie. 35 / 59

Ciekawym przykładem złego mechanizmu generowania liczb losowych jest wybieranie ich przez ludzi. Okazuje się, iż ludzie poproszeni o wypisanie losowego ciągu liczb (np. zer i jedynek) mają tendencję do unikania powtórzeń liczb. Zjawisko to jako pierwszy opisał w 1953 roku amerykański psycholog Alphonse Chapanis. 36 / 59

Prostym sposobem na wykrycie nie-losowego ciągu cyfr jest zastosowanie prawa Benforda. Prawo Benforda zaobserwował po raz pierwszy w 1881 roku amerykański astronom Simon Newcomb. Zauważył on, iż tablice logarytmów są najbardziej zabrudzone na początku. Fizyk Frank Benford dokonał podobnej obserwacji w 1938 roku i poparł ją wieloma wynikami pomiarów (m.in. ciężarów atomowych czy powierzchni dorzecza rzek). 37 / 59

... [generowanie liczb nie-losowych] 38 / 59

Prawo Benforda mówi, iż w losowym zbiorze danych prawdopodobieństwo wystąpienia na pierwszym miejscu cyfry d = 1, 2,..., 9 wynosi ( P(d) = log 1 + 1 ). (1) d Wynika stąd, iż prawdopodobieństwo tego, że na pierwszym miejscu jest jedynka wynosi ok. 30%. 39 / 59

Architektura Ivy Bridge Serwis Random.org możemy podzielić na takie które: wyglądają na losowe, są losowe. 40 / 59

Architektura Ivy Bridge Serwis Random.org Architektura Ivy Bridge Intel R Math Kernel Library (Intel R MKL) zestaw bibliotek do obliczeń numerycznych udostępniana przez firmę Intel i zoptymalizowana dla procesorów tej firmy. Ivy Bridge W roku 2011 firma Intel wprowadziła na rynek mikroarchitekturę procesorów o nazwie kodowej Ivy Bridge w technologii 22 nm. Jedną z nowości tej architektury jest pojawienie się instrukcji rdrand, która umożliwia korzystanie ze sprzętowego generatora liczb losowych. 41 / 59

Architektura Ivy Bridge Serwis Random.org Serwis Random.org Źródło liczb losowych bazujące na szumie atmosferycznym. Ponieważ źródło jest bardzo skomplikowane, nie jest możliwe udowodnienie, że liczby są losowe. To że uzyskane liczby wydają się losowe wynika z faktu, że nie jesteśmy w stanie odtworzyć pełnej ewolucji układu. 42 / 59

Architektura Ivy Bridge Serwis Random.org Serwis Random.org https://play.google.com/store/apps/details?id=org.random.randomapp 43 / 59

Architektura Ivy Bridge Serwis Random.org Opis probabilistyczny Mechanika kwantowa mówi, że nie jest możliwe podanie deterministycznego opisu układu możemy jedynie przewidywać z jakim prawdopodobieństwem wystąpi dany wynik. 44 / 59

Architektura Ivy Bridge Serwis Random.org Stan kwantowy 1 2 0 + 1 2 1 opisuje układ w superpozycji stanów bazowych. Stany bazowe są określone przez pomiary które możemy wykonać na układzie. Wykonanie pomiaru powoduje, że otrzymamy 0 lub 1. 45 / 59

Architektura Ivy Bridge Serwis Random.org W mechanice klasycznej stan układu może być przewidziany z dowolną dokładnością o ile znamy dokładnie prawa rządzące układem i warunki początkowe mechanika klasyczna jest deteministyczna. Z powodu dużej liczby cząstek (np. w filiżance kawy) do opisu wielu układów fizycznych stosujemy podejście statystyczne. W mechanice kwantowej nawet w przypadku jednej cząstki nie jest zawsze możliwe deterministyczne podanie wyniku pomiaru. 46 / 59

Architektura Ivy Bridge Serwis Random.org Quantis firmy idquantique 47 / 59

Architektura Ivy Bridge Serwis Random.org 48 / 59

Architektura Ivy Bridge Serwis Random.org Zastosowania kryptograficzne. Zbyt wolny do celów symulacji komputerowych do 4Mbits/sec. Tani: 1500 EUR i można go kupić. Dostępne jest oprogramowanie do komunikacji z urządzeniem. 49 / 59

Architektura Ivy Bridge Serwis Random.org Quantis wykorzystuje do generowania liczb losowych mechanizm lustra półprzepuszczalnego. Do jego działania konieczny jest pomiar pojedynczych fotonów. 50 / 59

Architektura Ivy Bridge Serwis Random.org źródło fotonów lustro półprzepuszczalne 50% detektor detektor 50% 51 / 59

Architektura Ivy Bridge Serwis Random.org Lustro półprzepuszczalne przepuszcza 50% fotonów, a resztę odbija. Jak zadziała w przypadku jednego fotonu? 52 / 59

Architektura Ivy Bridge Serwis Random.org źródło fotonów lustro półprzepuszczalne?? "0" detektor detektor "1" 53 / 59

Architektura Ivy Bridge Serwis Random.org Odpowiada to działaniu bramki Hadamarda H 0 = 1 2 ( 0 + 1 ). 54 / 59

Architektura Ivy Bridge Serwis Random.org Wadą generatora Quantis jest jego prędkość. Istnieją rozwiązanie szybsze i kilka z nich jest dostępnych jako usługi sieciowe. Wykorzystują one bardziej subtelne metody i droższy sprzęt. 55 / 59

Architektura Ivy Bridge Serwis Random.org High Bit Rate Quantum Random Number Generator PicoQuant GmbH i Wydział Fizyki Uniwersytetu Humboldta Metoda: pomiar czasu przyjścia fotonu. https://qrng.physik.huberlin.de/ 56 / 59

Architektura Ivy Bridge Serwis Random.org QRBG Centre for Informatics and Computing, Ruder Bošković Institute, Zagreb, Chorwacja http://random.irb.hr/ 57 / 59

Architektura Ivy Bridge Serwis Random.org ANU Quantum Random Numbers Server Australian National University Metoda: pomiary fluktuacji próżni https://qrng.anu.edu.au/ 58 / 59

Architektura Ivy Bridge Serwis Random.org In mathematics you don t understand things. You just get used to them. John von Neumann 59 / 59