Zastosowanie błądzenia przypadkowego do testowania generatorów liczb pseudolosowych



Podobne dokumenty
3. Funkcje elementarne

Znajdowanie pozostałych pierwiastków liczby zespolonej, gdy znany jest jeden pierwiastek

Stwierdzenie 1. Jeżeli ciąg ma granicę, to jest ona określona jednoznacznie (żaden ciąg nie może mieć dwóch różnych granic).

Prawdopodobieństwo i statystyka

x t 1 (x) o 1 : x s 3 (x) Tym samym S(3) = {id 3,o 1,o 2,s 1,s 2,s 3 }. W zbiorze S(n) definiujemy działanie wzorem

O liczbach naturalnych, których suma równa się iloczynowi

ma rozkład złożony Poissona z oczekiwaną liczbą szkód równą λ i rozkładem wartości pojedynczej szkody takim, że Pr( Y

Estymacja przedziałowa

TESTY LOSOWOŚCI. Badanie losowości próby - test serii.

Zasada indukcji matematycznej. Dowody indukcyjne.

Analiza matematyczna. Robert Rałowski

0.1 ROZKŁADY WYBRANYCH STATYSTYK

X i. X = 1 n. i=1. wartość tej statystyki nazywana jest wartością średnią empiryczną i oznaczamy ją symbolem x, przy czym x = 1. (X i X) 2.

Metrologia: miary dokładności. dr inż. Paweł Zalewski Akademia Morska w Szczecinie

MINIMALIZACJA PUSTYCH PRZEBIEGÓW PRZEZ ŚRODKI TRANSPORTU

I. Podzielność liczb całkowitych

Damian Doroba. Ciągi. 1. Pierwsza z granic powinna wydawać się oczywista. Jako przykład może służyć: lim n = lim n 1 2 = lim.

Charakterystyki liczbowe zmiennych losowych: wartość oczekiwana i wariancja

2 n < 2n + 2 n. 2 n = 2. 2 n 2 +3n+2 > 2 0 = 1 = 2. n+2 n 1 n+1 = 2. n+1

STATYSTYKA I ANALIZA DANYCH

Kolorowanie Dywanu Sierpińskiego. Andrzej Szablewski, Radosław Peszkowski

Zdarzenia losowe, definicja prawdopodobieństwa, zmienne losowe

P = 27, 8 27, 9 27 ). Przechodząc do granicy otrzymamy lim P(Y n > Y n+1 ) = P(Z 1 0 > Z 2 X 2 X 1 = 0)π 0 + P(Z 1 1 > Z 2 X 2 X 1 = 1)π 1 +

Trzeba pokazać, że dla każdego c 0 c Mc 0. ) = oraz det( ) det( ) det( ) jest macierzą idempotentną? Proszę odpowiedzieć w

PODSTAWY OPRACOWANIA WYNIKÓW POMIARÓW Z ELEMENTAMI ANALIZY NIEPEWNOŚCI POMIAROWYCH

5. Zasada indukcji matematycznej. Dowody indukcyjne.

Metody badania zbieżności/rozbieżności ciągów liczbowych

Fundamentalna tabelka atomu. eureka! to odkryli. p R = nh -

1 Układy równań liniowych

Ćwiczenia rachunkowe TEST ZGODNOŚCI χ 2 PEARSONA ROZKŁAD GAUSSA

Lista 5. Odp. 1. xf(x)dx = xdx = 1 2 E [X] = 1. Pr(X > 3/4) E [X] 3/4 = 2 3. Zadanie 3. Zmienne losowe X i (i = 1, 2, 3, 4) są niezależne o tym samym

40:5. 40:5 = υ5 5p 40, 40:5 = p 40.

I. Ciągi liczbowe. , gdzie a n oznacza n-ty wyraz ciągu (a n ) n N. spełniający warunek. a n+1 a n = r, spełniający warunek a n+1 a n

RÓWNANIA RÓŻNICZKOWE WYKŁAD 11

c 2 + d2 c 2 + d i, 2

ZADANIA - ZESTAW 2. Zadanie 2.1. Wyznaczyć m (n)

Jarosław Wróblewski Analiza Matematyczna 1, zima 2016/17

Pierwiastki z liczby zespolonej. Autorzy: Agnieszka Kowalik

ZBIEŻNOŚĆ CIĄGU ZMIENNYCH LOSOWYCH. TWIERDZENIA GRANICZNE

ZAGADNIENIE ESTYMACJI. ESTYMACJA PUNKTOWA I PRZEDZIAŁOWA

Rachunek prawdopodobieństwa i statystyka W12: Statystyczna analiza danych jakościowych. Dr Anna ADRIAN Paw B5, pok 407 adan@agh.edu.

Lista 6. Estymacja punktowa

będą niezależnymi zmiennymi losowymi z rozkładu jednostajnego na przedziale ( 0,

Wokół testu Studenta 1. Wprowadzenie Rozkłady prawdopodobieństwa występujące w testowaniu hipotez dotyczących rozkładów normalnych

Arkusz ćwiczeniowy z matematyki Poziom podstawowy ZADANIA ZAMKNIĘTE. W zadaniach od 1. do 21. wybierz i zaznacz poprawną odpowiedź. 1 C. 3 D.

Wykład 11. a, b G a b = b a,

Zadanie 2 Niech,,, będą niezależnymi zmiennymi losowymi o identycznym rozkładzie,.

16 Przedziały ufności

Informatyka Stosowana-egzamin z Analizy Matematycznej Każde zadanie należy rozwiązać na oddzielnej, podpisanej kartce!

Materiał ćwiczeniowy z matematyki Marzec 2012

MODELE MATEMATYCZNE W UBEZPIECZENIACH. 1. Renty

Niezależność zmiennych, funkcje i charakterystyki wektora losowego, centralne twierdzenia graniczne

STATYSTKA I ANALIZA DANYCH LAB II

Jarosław Wróblewski Analiza Matematyczna 1A, zima 2012/13. Ciągi.

SIGMA KWADRAT LUBELSKI KONKURS STATYSTYCZNO- DEMOGRAFICZNY

Jarosław Wróblewski Analiza Matematyczna 1A, zima 2014/15. n = Rozwiązanie: Stosując wzór na wartość współczynnika dwumianowego otrzymujemy

I kolokwium z Analizy Matematycznej

Funkcja wykładnicza i logarytm

Egzaminy. na wyższe uczelnie zadania

Analiza I.1, zima wzorcowe rozwiązania

Elementy modelowania matematycznego

WERSJA TESTU A. Komisja Egzaminacyjna dla Aktuariuszy. LX Egzamin dla Aktuariuszy z 28 maja 2012 r. Część I. Matematyka finansowa

Chemia Teoretyczna I (6).

Ćwiczenie nr 14. Porównanie doświadczalnego rozkładu liczby zliczeń w zadanym przedziale czasu z rozkładem Poissona

Matematyka ubezpieczeń majątkowych r.

Ciągi liczbowe wykład 3

Wykład 5 Przedziały ufności. Przedział ufności, gdy znane jest σ. Opis słowny / 2

Parametryzacja rozwiązań układu równań

Wykład 7. Przestrzenie metryczne zwarte. x jest ciągiem Cauchy ego i posiada podciąg zbieżny. Na mocy

a 1, a 2, a 3,..., a n,...

Analiza numeryczna. Stanisław Lewanowicz. Aproksymacja funkcji

Internetowe Kółko Matematyczne 2004/2005

Jarosław Wróblewski Analiza Matematyczna 2B, lato 2015/16

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

Matematyka ubezpieczeń majątkowych r. Zadanie 1. Rozważamy proces nadwyżki ubezpieczyciela z czasem dyskretnym postaci: n

L.Kowalski zadania ze statystyki matematycznej-zestaw 3 ZADANIA - ZESTAW 3

Teoria. a k. Wskaźnik sumowania można oznaczać dowolną literą. Mamy np. a j = a i =

VII MIĘDZYNARODOWA OLIMPIADA FIZYCZNA (1974). Zad. teoretyczne T3.

Metody Obliczeniowe w Nauce i Technice laboratorium

Prawdopodobieństwo i statystyka r.

POLITECHNIKA OPOLSKA

BADANIA DOCHODU I RYZYKA INWESTYCJI

STATYSTYKA OPISOWA WYKŁAD 1 i 2

Metoda analizy hierarchii Saaty ego Ważnym problemem podejmowania decyzji optymalizowanej jest często występująca hierarchiczność zagadnień.

Kongruencje Wykład 4. Kongruencje kwadratowe symbole Legendre a i Jac

Rozkład normalny (Gaussa)

Egzamin maturalny z matematyki CZERWIEC 2011

UKŁADY RÓWNAŃ LINOWYCH

Podprzestrzenie macierzowe

z przedziału 0,1. Rozważmy trzy zmienne losowe:..., gdzie X

ROZDZIAŁ 5 WPŁYW SYSTEMU OPODATKOWANIA DOCHODU NA EFEKTYWNOŚĆ PROCESU DECYZYJNEGO

8. Optymalizacja decyzji inwestycyjnych

MACIERZE STOCHASTYCZNE

3. Tworzenie próby, błąd przypadkowy (próbkowania) 5. Błąd standardowy średniej arytmetycznej

1 Twierdzenia o granicznym przejściu pod znakiem całki

Matematyka finansowa r. Komisja Egzaminacyjna dla Aktuariuszy. XLIII Egzamin dla Aktuariuszy z 8 października 2007 r.

2. Nieskończone ciągi liczbowe

O pewnych zastosowaniach rachunku różniczkowego funkcji dwóch zmiennych w ekonomii

1. Wnioskowanie statystyczne. Ponadto mianem statystyki określa się także funkcje zmiennych losowych o

Podprzestrzenie macierzowe

Transkrypt:

Uiwersytet Wrocławski Wydział Matematyki i Iformatyki Istytut Iformatyki Grzegorz Łoś Zastosowaie błądzeia przypadkowego do testowaia geeratorów liczb pseudolosowych Praca magisterska apisaa pod kierukiem dr. Pawła Lorka Wrocław 2015

Spis treści Wprowadzeie 5 1 Błądzeie przypadkowe 7 1.1 Prawo iterowaego logarytmu.................. 8 1.2 Prawo arcusa siusa....................... 10 2 Geeratory liczb pseudolosowych 17 2.1 Defiicja GLP........................... 17 2.2 Geerowaie sekwecji bitów.................. 20 2.3 Populare metody testowaia GLP............... 22 3 Metoda testowaia oparta a błądzeiu przypadkowym 27 3.1 Opis metody........................... 27 3.1.1 Test arcusa siusa.................... 28 3.1.2 Test iterowaego logarytmu............... 29 3.2 Aaliza błędu........................... 30 4 Testy 33 4.1 Implemetacja.......................... 33 4.1.1 Uwagi praktycze.................... 33 4.1.2 Użycie programu..................... 34 4.2 Wyiki............................... 35 4.2.1 RANDU.......................... 36 4.2.2 Biblioteczy rad w Microsoft Visual C++...... 36 4.2.3 Biblioteczy rad w Borlad C/C++......... 37 4.2.4 Biblioteczy rad w BSD libc.............. 38 4.2.5 Biblioteczy rad w GLIBC............... 38 4.2.6 Mistd........................... 40 4.2.7 CMRG.......................... 41 4.2.8 Mersee Twister.................... 41 4.2.9 Hipotetyczy, wadliwy geerator............ 42 4.3 Podsumowaie.......................... 44 3

4

Wprowadzeie Wiele współczesych techologii opiera się a radomizacji. W iformatyce losowość pojawia się a każdym kroku i często ie zdajemy sobie sprawy jak bardzo jesteśmy od iej uzależiei. Programiści korzystają z iej a co dzień, często zupełie ieświadomie, a przykład używając biblioteczych implemetacji algorytmu quicksort lub tablic haszujących. Radomizacja jest iezbędym elemetem w wielu iych specjalistyczych dziedziach. Przykładowo w fiasach ważą rolę odgrywają metody Mote Carlo polegające a wielokrotej symulacji rozwoju ryku. Metody optymalizacji polegające a metaheurystykach lub algorytmach ewolucyjych ie miałyby bez losowości racji bytu. W podaych powyżej przykładach drobe wady geeratora liczb pseudolosowych (GLP), którego używają wspomiae metody, mogą obiżyć efektywość działaia lub dokładość wyików, ale ie rujują algorytmów całkowicie. Są jedak dziedziy, w których jakość geeratora ma zasadicze zaczeie. Dobrym przykładem jest kryptografia. Zauważale odstępstwa od losowości mogą istotie zwiększyć szase złamaia protokołu kryptograficzego, odkrycia klucza prywatego, itp. Wyika stąd potrzeba zidetyfikowaia tych GLP, a których moża polegać. Początki aalizy geeratorów sięgają lat pięćdziesiątych. Już wtedy Joh vo Neuma zauważył, że trudiej jest testować ciągi liczb pseudolosowych iż je produkować. Od tego czasu badacze ieustaie udoskoalają arzędzia służące testowaiu GLP. To zagadieie poruszał już Doald Kuth w swoim dziele Sztuka programowaia. Zapropoował o kilka testów statystyczych traktujących liczby otrzymae z GLP jako zmiee losowe. Przy założeiu jedostajości i iezależości, pewe fukcje tych zmieych powiy mieć zae rozkłady, co moża sprawdzić p. testem chi-kwadrat. To podejście było astępie dalej rozwijae zae paczki testów opracowali George Marsaglia (w 1995), Pierre L Ecuyer i Richard Simard (w 2007), a obecie ważą rolę odgrywa zestaw rozwijay przez amerykańską agecję Natioal Istitute of Stadards ad Techology. W iiejszej pracy przedstawiamy owe metody testowaia GLP: test arcusa siusa i test iterowaego logarytmu. Wymagają oe traktowaia wyjścia geeratora jako strumieia biarych daych. Rozstrzygięcie czy day GLP jest wystarczająco solidy sprowadza się do odpowiedzi a pytaie czy sekwecja otrzymaa z GLP jest ieodróżiala od ciągu prawdziwie losowego. Iterpretując wygeerowae bity jako +1 oraz -1, możemy łatwo zobaczyć, że wyjście GLP odpowiada realizacji błądzeia przypadkowego. Te proces stochastyczy jest dobrze zbaday i opisay w literaturze, zamy więc wiele jego własości. Testowaie GLP polega a sprawdzeiu czy jego wyjście rówież te cechy posiada. Opracowae testy silie polegają a teoretyczych własościach błądzeia przypadkowego, 5

6 dlatego w części 1 przedstawiamy iezbęde matematycze podstawy. Przypomiamy defiicję błądzeia losowego oraz przytaczamy dwa kluczowe twierdzeia. Pierwsze z ich, prawo iterowaego logarytmu, oszacowuje wielkość odchyleń od zera jakich ależy spodziewać się obserwując proces błądzeia. Drugie twierdzeie, prawo arcusa siusa, mówi, że jest bardziej prawdopodobe, iż błądzeie przypadkowe zdecydowaą większość czasu spędzi ad osią OX, iż że rozkład czasu spędzoy po obu stroach osi będzie w miarę rówy. Część 2 poświęcoa jest przybliżeiu obiektu aszego zaiteresowaia. Precyzujemy pojęcie geeratora liczb pseudolosowych. Przedstawiamy kilka rodzajów GLP, p. geeratory wykorzystujące kogruecje liiowe. GLP zwracają am pseudolosowe liczby, a do testów arcusa siusa i iterowaego logarytmu potrzebujemy pseudolosowych sekwecji bitów. Dlatego odotowujemy kilka uwag dotyczących iterpretowaia wyjścia geeratora jako ciągu zerojedykowego. Następie przywołujemy kilka popularych metod testowaia GLP. W części 3 opisujemy dokładiej jak wykorzystać przytoczoe własości błądzeia przypadkowego do testowaia GLP. Autorzy [10] zauważyli użyteczość prawa iterowaego logarytmu do testowaia geeratorów. W iiejszej pracy propoujemy podobą metodę, opartą o prawo arcusa siusa. Ogólie mówiąc, postępujemy tak jak w statystyce matematyczej, choć obserwacje są dość ietypowe, bo są imi długie ciągi zerojedykowe. Wykorzystujemy GLP, by otrzymać m sekwecji bitów. Każdą z ich iterpretujemy jako realizację błądzeia przypadkowego i a jej podstawie obliczamy pewą wartość, którą będziemy azywać charakterystyką ciągu. W te sposób dostajemy empiryczy rozkład tej charakterystyki. Natomiast dzięki twierdzeiom z części 1 zamy jej rozkład teoretyczy. Wykoując test chi-kwadrat sprawdzamy zgodość tych rozkładów. Alteratywie możemy skorzystać ze zaych fukcji odległości miar (rozkład prawdopodobieństwa ie jest iczym iym jak miarą zdefiiowaą a prostej rzeczywistej). Jeśli wartość statystyki testowej lub odległość miary teoretyczej i empiryczej jest duża, to możemy powiedzieć, że GLP iezbyt dobrze imituje losowość, w przeciwym razie ie ma podstaw by go zdyskredytować. Metoda opisaa w części 3 została zaprogramowaa w języku Julia. W części 4 przedstawiamy tę implemetację. Omawiamy róże praktycze aspekty, które wpłyęły a architekturę programu. Prezetujemy jak użyć wykoae arzędzie do przetestowaia własych GLP. Następie przedstawiamy wyiki testowaia wybraych geeratorów. Sprawdzamy jakość fukcji rad z języka C, w kilku popularych środowiskach. Ie przetestowae geeratory to RANDU, Mistd, CMRG oraz Mersee Twister. Na końcu prezetujemy jeszcze jede przykład, wprawdzie ieco sztuczy, jedak obrazujący zaletę testów arcusa siusa i iterowaego logarytmu w stosuku do podejścia stosowaego przykładowo przez NIST Test Suite.

CZĘŚĆ I Błądzeie przypadkowe Jak apisaliśmy we wprowadzeiu, własości błądzeia przypadkowego (iaczej: losowego) będą kluczowe dla testowaia GLP. Zebrae w tej części wiadomości opracowae są a podstawie [2]. Większość ozaczeń jest rówież wzorowaa a tej książce. Wyjście geerowae przez GLP zawsze moża traktować jako ciąg zerojedykowy. Dlatego ważym pojęciem będzie dla as ciąg iezależych prób Beroulliego (iaczej: proces Beroulliego) (B i ) i N. Dla ustaloego p [0, 1] ozaczamy w te sposób ciąg iezależych zmieych losowych o jedakowym rozkładzie, taki że P(B 1 = 1) = p = 1 P(B 1 = 0). Możemy postrzegać i-ty bit wygeeroway przez GLP jako wyik i-tej próby Beroulliego. Dobry geerator powiie z takim samym prawdopodobieństwem losować 0 oraz 1, dlatego ograiczymy się do przypadku p = 1 2. Często będzie am wygodiej posługiwać się ciągiem prób (X i ) i N, który przyjmuje wartości -1 zamiast 0, czyli X i D = 2Bi 1. Poadto ozaczmy S = X i. i=1 Tak zdefiioway proces (S i ) i N jest azyway błądzeiem przypadkowym. Ciąg te w każdym kolejym kroku zmieia swoją wartość o 1 lub -1. Czasem wygodie jest go postrzegać jako wyik astępującej gry. Dwóch graczy rzuca idealą moetą. Jeśli wypada orzeł, to pierwszy gracz otrzymuję złotówkę od drugiego, w przeciwym przypadku pierwszy płaci złotówkę drugiemu. Proces S przedstawia zysk ustaloego gracza. Sporo miejsca w rachuku prawdopodobieństwa poświęcoo badaiu własości błądzeia przypadkowego, z których dwie omawiamy poiżej. Ideą testów, które przedstawiamy w części 3 jest sprawdzaie czy wyjście GLP zachowuje się tak jak to wyika z praw rachuku prawdopodobieństwa. 7

8 Część 1. Błądzeie przypadkowe 8 6 4 2 0 Sta -2-4 -6-8 -10-12 0 10 20 30 40 50 Krok Rysuek 1.1: Przykładowe trajektorie procesu S. 1.1 Prawo iterowaego logarytmu Jest jase, że S. Moża się jedak domyślać, choćby a podstawie Rysuku 1.1, że duże wartości S są jedak bardzo mało prawdopodobe i w praktyce z dużym prawdopodobieństwem wartości S zajdą się w zaczie węższym przedziale iż [, ]. Słabe i moce prawo wielkich liczb (SPWL i MPWL) mówią am, że S P 0, a awet S p.. 0. Jest więc jase, że odchyleia procesu S od zera rosą zaczie woliej iż liiowo. Z drugiej stroy cetrale twierdzeie graicze (CTG) mówi am, że S D N (0, 1) co jest w pewym sesie oszacowaiem fluktuacji S od dołu będą oe wychodzić poza przedział [, ], mamy bowiem Fakt 1.1. Błądzeie przypadkowe S z prawdopodobieństwem 1 spełia lim sup S =. Dowód. Z prawa 0-1 Kołmogorowa { wyika, } że dla dowolego ciągu zmieych losowych (X i ) i.i.d., zdarzeia typu lim sup X > M mają prawdopodobieństwo rówe 0 lub 1 (patrz [4],

1.1. Prawo iterowaego logarytmu 9 7.2, zadaie 1). Weźmy dowolie duże M. Mamy ( ) S P lim sup > M = P =1 k = lim P k { Sk k > M} ( ) lim P S > M { Sk k > M} = 1 Φ(M) > 0. ( ) S Czyli P lim sup > M = 1, co wobec dowolości M ozacza, że ( P lim sup ) S = = 1. Okazuje się, że fluktuacje S moża oszacować precyzyjiej, mówi o tym Twierdzeie 1.2 (Prawo iterowaego logarytmu). Błądzeie przypadkowe S z prawdopodobieństwem 1 spełia S lim sup = 1. 2 log log Dowód moża zaleźć w [2], rozdział VIII, 5. Oczywiście ze względu a symetrię mamy aalogicze własości do Faktu 1.1 i Twierdzeia 1.2 dla lim if. Jak widać było zbyt dużym dzielikiem, a zbyt małym odchyleia S od zera rosą proporcjoalie do log log. Moża zatem powiedzieć, że prawo iterowaego logarytmu (PIL) działa pomiędzy prawem wielkich liczb i cetralym twierdzeiem graiczym. Te trzy twierdzeia dają am własości błądzeia przypadkowego, które zebrao w Tabeli 1.1. Przyjrzyjmy się Rysukowi 1.2. Widać, że fukcja 2 log log z grubsza odpowiada fluktuacjom procesu S. Moża jedak zauważyć, że kilka trajektorii po około miliardzie kroków ciągle ie mieści się w przedziale [ 2 log log, 2 log log ]. Prawo iterowaego logarytmu mówimy am, że dla odpowiedio dużych trajektorie ie będą wykraczać poza te zakres z prawdopodobieństwem 1. Wiosek jaki możemy wyciągąć z tego obrazka jest taki, że mowa tu o aprawdę olbrzymich wartościach. Choć ie będzie przydata w dalszej części pracy, jeszcze jeda ciekawa własość arzuca się by o iej wspomieć. Niech S lil S = 2 log log. Z PIL wyika, że wielkość S lil ie zbiega puktowo do żadej stałej. Zachodzi atomiast zbieżość do 0 według prawdopodobieństwa. Ustalmy więc dowolie małe ε > 0 i zastaówmy się jak często S lil opuści epsiloowy pasek wokół zera. Możemy przyjąć p < 1 dowolie bliskie jedości, a mimo to dla prawie wszystkich możemy powiedzieć, że z prawdopodobieństwem p wielkość S lil ie wyjdzie poza przedział ( ε, ε). Tymczasem PIL rówocześie mówi am, że te epsiloowy pasek opuścimy ieskończeie wiele razy. Ta iesamowita, pozora sprzeczość pokazuje jak bardzo asza ituicja zawodzi, gdy myślimy o zjawiskach zachodzących w ieskończoości.

10 Część 1. Błądzeie przypadkowe Tabela 1.1: Wioski dotyczące błądzeia przypadkowego wyikające ze zaych twierdzeń. Zbieżość według prawdop. Zbieżość prawie a pewo Wartość limes superior prawie a pewo Wartość limes iferior prawie a pewo PWL S P 0 S p.. 0 lim sup S = 0 S lim if = 0 PIL S 2 log log P 0 2 S p.. log log 0 lim sup S 2 log log = 1 lim if S 2 log log = 1 CTG x S P x x S p.. x lim sup S = lim if S = 1e+05 5e+04 Sta 0e+00-5e+04-1e+05 0e+00 3e+08 6e+08 9e+08 Krok Rysuek 1.2: Ilustracja prawa iterowaego logarytmu. Przedstawia oa 500 trajektorii błądzeia losowego, długości 2 30. Im ciemiejszy jest obszar wykresu, tym większe jest w im zagęszczeie trajektorii. Niebieska krzywa to wykresy fukcji x oraz x, zaś czerwoa fukcji 2x log log x oraz 2x log log x. 1.2 Prawo arcusa siusa Koleja własość błądzeia przypadkowego, którą postaramy się wykorzystać do testowaia GLP jest zaa jako prawo arcusa siusa. Odpowiada oo a pytaie przez jaką frakcję czasu ustaloy gracz będzie a prowadzeiu. Spodziewalibyśmy się, że w przypadku bardzo długiej

1.2. Prawo arcusa siusa 11 gry, obaj gracze będą a prowadzeiu przez miej więcej tyle samo czasu. Jedak pokażemy, że rówież w tym przypadku asza ituicja płata am figla. Powiemy, że bilas gry w k-tym kroku (k 1) był dodati, jeżeli S k > 0 lub S k 1 > 0. Pomijamy tu remisy przyjmując, że w przypadku wystąpieia rówej liczby reszek i orłów przewagę ma te, kto miał ją w poprzediej chwili. Geometryczie ozacza to, że odciek wykresu błądzeia losowego przebiegający pomiędzy odciętymi k 1 oraz k, musi zajdować się ad osią x-ów. Wprowadźmy astępujące ozaczeia: U zdarzeie, że w -tym kroku astąpił powrót do zera, F zdarzeie, ze w -tym kroku astąpił pierwszy powrót do zera, u = P(U ), f = P(F ). p k, prawdopodobieństwo, że przez k spośród pierwszych kroków gry, bilas był dodati. Łatwo zauważyć, że powrót do zera może astąpić tylko w parzystym kroku, zatem N u 2 1 = f 2 1 = 0, k, N p 2k 1,2 = 0, Poadto przyjmujemy, że p 0,0 = u 0 = 1. Zachodzi rówież Lemat 1.3. Dla każdego N spełioe są poiższe tożsamości: ( ) 2 u 2 = 2 2 (1.1) u 2 = f 2r u 2 2r (1.2) r=1 f 2 = 1 2 u 2 2 (1.3) f 2 = u 2 2 u 2 (1.4) Dowód. Wzór (1.1) wyika stąd, że wszystkich dróg długości 2 jest 2 2, a drogi wracające a końcu do zera odpowiadają ustawieiu orłów i reszek a 2 miejscach co robimy a ( 2) sposobów. Tożsamość (1.2) wyika wprost ze wzoru a prawdopodobieństwo całkowite: u 2 = P(U 2 ) = P(U 2 F 2r )P(F 2r ) = P(U 2 2r )P(F 2r ) = u 2 2r f 2r r=1 r=1 r=1 Dla dowodu (1.3) wprowadźmy dodatkowe ozaczeia: N (a, b) liczba ścieżek od stau a do stau b w krokach,

12 Część 1. Błądzeie przypadkowe N 0 (a, b) jak N (a, b), ale ścieżki ie mogą dotykać 0 (za wyjątkiem co ajwyżej końców), N =0 (a, b) jak N (a, b), ale ścieżki muszą dotkąć lub przeciąć 0. Łatwo zauważyć, że N (a, b) = ( ) (+b a)/2 oraz N (a, b) = N 0 (a, b) + N =0 (a, b). Wartość f 2 to oczywiście stosuek N 0 2 (0, 0) do liczby wszystkich ścieżek długości 2. Dlatego liczymy N 0 0 0 0 0 2 (0, 0) = N2 1 (1, 0) + N2 1 ( 1, 0) = 2N2 1 (1, 0) = 2N2 2 (1, 1) Patrząc a Rysuek 1.3 łatwo zauważyć, że N =0 2 2 (1, 1) = N 2 2( 1, 1), jest to szczególy przypadek tzw. zasady odbicia. Zatem 2 1 Sta 0-1 -2 2 4 6 8 Krok Rysuek 1.3: Ilustracja faktu N =0 (1, 1) = N ( 1, 1). Łatwo zobaczyć jedozaczą odpowiediość między oboma rodzajami ścieżek. Aż do mometu pierwszego dojścia do zera ścieżka jedego rodzaju jest odbiciem symetryczym względem osi odciętych ścieżki drugiego rodzaju, zaś dalej ścieżki się pokrywają. Ostateczie N 0 2 2 (1, 1) = N 2 2(1, 1) N 2 2(1, =0 1) = N 2 2 (1, 1) N 2 2 ( 1, 1) ( ) ( ) ( ) 2 2 2 2 2 2 = = 1 ( ) 2 2 1 1 1 = 1 ( ) 2 2 = 22 2 1 u 2 2 f 2 = N 0 0 2 (0, 0) 2N2 2 (1, 1) 2 2 = 2 2 = Formuła (1.4) to prosta kosekwecja (1.1) i (1.3), bo ( ) 2 u 2 2 u 2 = u 2 2 2 2 = u 2 2 = u 2 2 ( 1 (2 1) 2 ) 2 2 1 u 2 2 2 2 = u 2 2 2 ( 2 2 1 = 1 2 u 2 2 = f 2. ) (2 1)2 4 2 2 (2 2) =

1.2. Prawo arcusa siusa 13 Tożsamości z Lematu 1.3 itesywie wykorzystujemy w dowodzie astępującego, kluczowego faktu. Twierdzeie 1.4. Dla wszystkich k, N p 2k,2 = u 2k u 2 2k = ( 2k k )( 2 2k k ) 2 2 (1.5) Dowód. Niech q 2 ozacza prawdopodobieństwo, że w pierwszych 2 krokach gry ai razu ie doszło do remisu. Wzór (1.4) daje am q 2 = 1 f 2 f 4 f 2 = 1 (1 u 2 ) (u 2 u 4 ) (u 2 2 u 2 ) = u 2. Udowodimy teraz idukcyjie, że p 0,2 = u 2. (1.6) Łatwo sprawdzić, że p 0,2 = 1 2 = u 2. Załóżmy, że p 0,2ñ = u 2ñ dla ñ <. Zauważmy, że aby spędzić całą grę a miusie, musieliśmy w pierwszym kroku pójść w dół, co dzieje się z prawdopodobieństwem 1 2. Dalej musiała zajść jeda z dwóch możliwości. Z prawdopodobieństwem q 2 mogliśmy ai razu ie wrócić do zera. Mogło się też zdarzyć, że dla pewego r wróciliśmy do zera po raz pierwszy w kroku 2r (z prawdopodobieństwem f 2r ), ale resztę czasu mimo tego spędziliśmy pod kreską (z prawdopodobieństwem p 0,2 2r ). Te rozważaia, założeie idukcyje oraz wzór (1.2) dają p 0,2 = 1 ( ) q 2 + f 2r p 0,2 2r = 1 ( ) u 2 + f 2r u 2 2r 2 2 r=1 = 1 2 (u 2 + u 2 ) = u 2, co chcieliśmy pokazać. Teraz uogóliamy te wyik postępując rówież idukcyjie. Twierdzeie 1.4 jest w oczywisty sposób prawdziwe dla = 0. Załóżmy teraz, że dla wszystkich ñ < zachodzi 0 k ñ p 2k,2ñ = u 2k u 2ñ 2k i pokażemy, że 0 k p 2k,2 = u 2k u 2 2k. Wiemy już, że teza jest prawdziwa dla k = 0 oraz k =, gdyż p 2,2 = p 0,2 = u 2 = u 2 u 0. Dlatego weźmy dowole k, takie że 0 < k <. Aby zaszło rozważae zdarzeie, błądzeie musi przechodzić przez 0. Załóżmy, że pierwszy raz dzieje się to w pewym pukcie 2r. Jeżeli w pierwszym kroku poszliśmy w górę (co dzieje się z prawdopodobieństwem 1 2 ), to po powrocie musimy spędzić ad kreską jeszcze 2k 2r kroków, a szase tego zdarzeia wyoszą p 2k 2r,2 2r. W przeciwym razie po powrocie ciągle musimy być a plusie przez 2k kroków, co zdarzy się z prawdopodobieństwem p 2k,2 2r. Stąd p 2k,2 = 1 2 ( k f 2r p 2k 2r,2 2r + r=1 k r=1 r=1 f 2r p 2k,2 2r ) = ( )

14 Część 1. Błądzeie przypadkowe Z założeia idukcyjego p 2k 2r,2 2r = u 2k 2r u 2 2r (2k 2r) = u 2k 2r u 2 2k oraz zatem ( ) = 1 2 ( = 1 2 ( k p 2k,2 2r = u 2k u 2 2r 2k, f 2r u 2k 2r u 2 2k + r=1 k u 2 2k r=1 k r=1 k f 2r u 2k 2r + u 2k f 2r u 2k u 2 2r 2k ) r=1 = 1 2 (u 2 2ku 2k + u 2k u 2 2k ) = u 2k u 2 2k, f 2r u 2 2r 2k ) co było do okazaia. Korzystając z (1.1) otrzymujemy tezę. Dzięki Twierdzeiu 1.4 możemy obliczać dokłade prawdopodobieństwa frakcji przewagi. Na Rysuku 1.4 przedstawioy jest ich rozkład dla = 20. Widać wyraźie, że rówomiery podział czasu a przewagę jedego i drugiego gracza jest ajmiej prawdopodoby. Najbardziej prawdopodoba jest domiacja jedego z graczy przez większość czasu. Przykładowo prawdopodobieństwo, że po 100 rzutach jede z graczy wygrywa przez 90-100% czasu, wyosi 44%. jede z graczy ai razu ie wyjdzie a prowadzeie, wyosi 16%. ustaloy gracz będzie prowadził przez 40-60% czasu, wyosi 14%. Wzór (1.5) jest dokłady, ale często ieporęczy. Spróbujmy zaleźć rozsąde przybliżeie. Zakładając k, k i korzystając ze wzoru Stirliga (! 2π ( e ) ), dostajemy ( ) ( ) 2k 2k = (2k)! 4πk 2k e ( ) k k!k! 2k = 22k, 2πk k πk e i podobie ( ) 2 2k k Podstawiając to do wzoru (1.5) otrzymujemy p 2k,2 22 2k π( k). 1 π k( k) (1.7) Odpowiemy teraz a astępujące pytaie: jaka jest szasa, że w bardzo długiej grze byliśmy a prowadzeiu przez co ajwyżej frakcję x czasu? (0 < x < 1)

1.2. Prawo arcusa siusa 15 0.12 Prawdopodobieństwo 0.08 0.04 0.00 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 Czas przewagi Rysuek 1.4: Rozkład czasu prowadzeia ustaloego gracza przy 40 rzutach moetą. Niech P 2 (x) ozacza szukae prawdopodobieństwo przy 2 rzutach moetą. Załóżmy a początek, że x > 1 2. Wtedy P 2 (x) = k: p 2k,2 = k <x k 1 2 p 2k,2 k: } {{ } ( ) + p 2k,2 1 k: 2 < k } <x {{ } ( ) Pamiętając o symetryczości rozkładu moża zauważyć, że ( ) 1 2 (moża to też uzasadić iaczej jede z graczy musi być a prowadzeiu przez co ajwyżej połowę czasu). Przy i 1 2 < k < x < 1 zachodzi rówież k oraz k. Dlatego drugą sumę możemy estymować korzystając z (1.7) oraz defiicji całki Riemaa czyli ( ) k: 1 2 < k <x x 1 π 1 π k( k) = 1/2 k: 1 2 < k <x 1 1 π k (1 k ) dt t(1 t) = 2 π arcsi( x) 1 2, P 2 (x) 2 π arcsi( x). W celu zalezieia P 2 (x) dla 0 < x < 1 2 skorzystamy ze zaych własości fukcji cyklome-

16 Część 1. Błądzeie przypadkowe tryczych: arcsi x + arccos x = π 2 oraz arccos x = arcsi( 1 x 2 ). P 2 (x) = 1 P 2 (1 x) 1 2 π arcsi( 1 x) = 1 2 π arccos( x) = 1 2 ( ) π π 2 arcsi( x) = 2 π arcsi( x). W te sposób udowodiliśmy Twierdzeie 1.5 (Prawo arcusa siusa). Prawdopodobieństwo, że ustaloy gracz po krokach ma przewagę przez co ajwyżej frakcję x czasu (0 x 1), dąży przy do 1 π x 0 dt t(1 t) = 2 π arcsi( x). Iymi słowy w bardzo długiej grze frakcja czasu x spędzoa a plusie ma rozkład arcusa siusa. Oto jego podstawowe własości: 1 gęstość: f(t) =, dystrybuata: F (t) = 2 π t(1 t) π arcsi( t), wartość oczekiwaa: 1 2, wariacja: 1 8. Wykres gęstości i dystrybuaty przedstawia Rysuek 1.5. Fukcja gęstości w kształcie litery U pokazuje, że ierówy podział czasu przewagi jest zdecydowaie bardziej prawdopodoby iż względie rówomiery. Gęstość 1.00 Dystrybuata 4 0.75 3 0.50 2 0.25 1 0.00 0.00 0.25 0.50 0.75 1.00 0.00 0.25 0.50 0.75 1.00 Rysuek 1.5: Rozkład arcusa siusa. Ludzka ituicja silie podpowiada, że w grze z symetryczą moetą, każdy z graczy powiie być a plusie przez około połowę czasu. Wydaje się to logicze wiadomo, że liczba powrotów błądzeia przypadkowego do zera jest ieskończoa w ieskończeie długiej grze. Zatem obaj gracze mają miej więcej tyle samo fal kiedy są a plusie. Poadto, jak wyikałoby z MPWL, średia długość dodatiej fali powia być dla obu graczy zbliżoa. Co z kolei prowadzi do wiosku, że obaj powii być a prowadzeiu przez podobą frakcję czasu. Gdzie tkwi błąd w tym rozumowaiu? Otóż ie możemy tu zastosować MPWL. Dotyczy oo zmieych o skończoej wartości oczekiwaej. Tymczasem oczekiway czas powrotu do zera w błądzeiu przypadkowym okazuje się być ieskończoy, co kompletie zmyla asze ituicje.

CZĘŚĆ II Geeratory liczb pseudolosowych Każdy ituicyjie rozumie czym jest geerator liczb pseudolosowych. Jedak dla pełości matematyczego opisu zacziemy od przedstawieia jego ścisłej defiicji. Przedstawioa tu teoria opiera się a książce [1]. Na jej podstawie opisujemy rówież kilka rodzajów geeratorów liczb pseudolosowych. Sposób otrzymaia z GLP ciągu bitów o dobrych własościach rówież wymaga pewego kometarza, o czym piszemy dalej. Na końcu tej części krótko omówimy zae metody testowaia geeratorów liczb pseudolosowych. 2.1 Defiicja GLP Istieją metody otrzymaia liczb prawdziwie losowych. Najprostszym sposobem jest wielokrote rzuceie kostką do gry lub moetą i stablicowaie otrzymaych wyików. Lepszym sposobem jest obserwowaie cząsteczek emitowaych przez próbkę radioaktywego pierwiastka uważa się, że rozkład radioaktywy jest dobrze modeloway przez proces Poissoa. Kolejym pomysłem jest wykorzystaie szumu atmosferyczego, z tej metody korzysta stroa www.radom.org, którą wykorzystamy w testach GLP. Źródła takiej losowości są jedak zazwyczaj zbyt wole, trudo dostępe lub mają pewe iherete wady (moeta może być iesymetrycza, detektor cząstek ie rejestruje zgłoszeń o zbyt krótkim odstępie, itp.). Wyika stąd potrzeba utworzeia determiistyczych algorytmów, które imitowałyby losowość. Takie algorytmy azywamy geeratorami liczb pseudolosowych. Aby były praktycze, muszą być szybkie i obliczale a zwykłych komputerach. Liczby przez ie geerowae jedyie udają losowe, dlatego azywamy je pseudolosowymi. Defiicja 2.1. Geerator liczb pseudolosowych jest to piątka 1 E, V, s 0, f, g, gdzie E jest skończoą przestrzeią staów, V jest zbiorem wartości zwracaych przez geerator, s 0 jest to tzw. ziaro, czyli początkowy sta w ciągu staów (s i ) i=0, fukcja f : E E opisuje przejścia między kolejymi staami: s = f(s 1 ), zaś g : E V, odwzorowuje sta geeratora w wartość przez iego zwracaą. 1 Jest to ieco ia defiicja iż w [1], dostosowaa do aszych potrzeb. W książce Asmussea przyjmuje się V = [0, 1], zaś zamiast s 0 w defiicji zajduje się µ rozkład prawdopodobieństwa początkowego stau. 17

18 Część 2. Geeratory liczb pseudolosowych Najczęściej przyjmuje się V = (0, 1) lub V = M dla pewego M (dla N symbol ozacza zbiór {0, 1,..., 1}). U as będzie zachodzić właśie ta druga możliwość. Zauważmy, że każdy GLP prędzej lub późiej zapętla się, tz. musi istieć takie d, że dla pewego l zachodzi s l+d = s l (wyika to ze skończoości przestrzei staów). Miimale d o tej własości azywae jest okresem geeratora. Dobre geeratory powiy mieć jak ajdłuższe okresy, optymalie rówe E. Poiżej przedstawiamy populare rodzaje GLP. LCG Geeratory LCG (z ag. liear cogruetial geerator) zmieiają swój sta zgodie z rekurecją s = (as 1 + c) mod M. (2.1) Geerator tej klasy jest określoy przez moduł M, możik a oraz przyrost c, co ozaczamy LCG(M, a, c). Zauważmy, że LCG(M, a, c) spełia defiicję GLP z E = M, V = M, f(x) = (ax + c) mod M oraz g(x) = x. Dobraie wartości M, a, c o dobrych własościach przysparza sporych problemów. Jak się jedak okazuje, istieje kryterium ułatwiające zapewieie geeratorowi długiego okresu. Twierdzeie 2.1. Przy poiższych warukach LCG(M, a, c) ma okres rówy M: c oraz M są względie pierwsze, jeśli p jest liczbą pierwszą i p M, to p (a 1), jeśli 4 M, to 4 (a 1). Powyższe twierdzeie pochodzi z pracy [3]. Zauważmy jedak, że zalezieie LCG o pełym okresie ie gwaratuje, że geerator będzie dobrej jakości. Łatwo zauważyć astępujący Fakt 2.2. Niech M = 2 k. Wówczas d ajmiej istotych bitów LCG(M, a, c) ma okres rówy co ajwyżej 2 d. W tym przypadku ie ma więc mowy o iezależości liczb geerowaych przez LCG. Niektóre pakiety korzystające z LCG częściowo obchodzą te problem zwracając tylko ajbardziej zaczące bity wygeerowaych liczb. MCG MCG (z ag. multiplicative cogruetial geerator) zay jest też jako GLP Lehmera lub GLP Parka-Millera. Jest to szczególy przypadek LCG, w którym c = 0, czyli koleje stay opisuje rekurecja s = as 1 mod M. (2.2) MCG o parametrach M oraz a ozaczamy MCG(M, a). Aby MCG(M, a) mogło mieć dobre własości, M powio być liczbą pierwszą lub jej potęgą, a powio być geeratorem grupy Z M, a ziaro s 0 powio być względie pierwsze z M.

2.1. Defiicja GLP 19 GLCG Wyżej opisae GLP dzielą pewą wadę mają stosukowo krótkie okresy. W przypadku gdy potrzebujemy dłuższych okresów przydate mogą być uogólioe LCG, azywae GLCG (z ag. geeralized liear cogruetial geerator). Postępują oe zgodie z rekurecją x = (a 1 x 1 + a 2 x 2 +... + a k x k ) mod M. (2.3) ( GLCG zmieiający stay w te sposób ozaczamy GLCG ) M, (a i ) k i=1. Jest to ciągle GLP w myśl defiicji 2.1, gdzie E = M k, s = x, x 1,... x k+1, g(s ) = x. Dobry dobór parametrów może dać okres rówy M k 1. Geeratory mieszae Dobrym pomysłem a ulepszeie GLP jest połączeie kilku geeratorów w jede. Załóżmy, że mamy dae k GLP E j, V j, s j,0, f j, g j, 1 j k, gdzie j-ty geerator zmieia sta według zależości s j, = f j (s j, 1 ). Możemy teraz zdefiiować mieszay geerator w taki sposób, aby ciąg jego staów spełiał s = s 1,, s 2,,... s k, Niech poadto d j ozacza okres j-tego składowego geeratora. Jak pokazał L Ecuyer ([7], Lemma 2) mieszay geerator ma okres d = NW W (d 1, d 2,..., d k ). Szczególym przypadkiem geeratorów mieszaych są CMCG (z ag. combied multiplicative cogruetial geerator). Składa się o k geeratorów MCG(M j, a j ), gdzie M j są liczbami pierwszymi, czyli fukcją przejścia jest s j, = a j s j, 1 mod M j. Wyjście geeratora mieszaego otrzymujemy ze wzoru k g(s ) = ( 1) j 1 s j, mod M 1 1 j=1 Poadto jeśli liczby M j 1 2 są względie pierwsze, to CMCG ma optymaly okres wyoszący 1 (M 2 k 1 1)... (M k 1). LFSR LFSR (z ag. liear feedback shift register) to, z grubsza rzecz ujmując, geerator produkujący liczby pseudolosowe a podstawie obwodu bramek logiczych. Staem takiego geeratora jest sekwecja bitów, które przekazywae są a wejście wybraych bramek. Wyjścia tych bramek staowią wejście iych bramek, te z kolei przekazują swoje wyjścia kolejym bramkom, itd. Wyjścia ustaloych bramek mogą zmieiać sta geeratora lub być zwracae jako rezultat pracy geeratora.

20 Część 2. Geeratory liczb pseudolosowych Mersee Twister Mersee Twister (MT19937) został zapropooway przez Matsumoto i Nashimurę w [9]. Nie jest to wprawdzie klasa geeratorów, ale przykład kokretego GLP, jedak ze względu a jego ogromą popularość warto go opisać. Jest o stadardowym geeratorem w wielu arzędziach programistyczych, między iymi w R, Pytho, MATLAB, Julia. Został dołączoy rówież do stadardowej biblioteki C++11. Do opisu geeratora wykorzystamy otację, w której zapis d[i..j] ozacza bity o ideksach od i do j w liczbie d, symbol to operacja XOR a kolejych bitach, symbol & to operacja AND a kolejych bitach, zaś symbole oraz to operacja bitowego przesuięcia odpowiedio w lewo i w prawo. Sta geeratora opisay jest przez 624 32-bitowe liczby Koleje stay otrzymujemy ze wzoru x k+624 = x k, x k+1,... x k+623. { x397+k (0, x k [0], x k+1 [1..30]) jeśli x k+1 [31] = 0 x 397+k (0, x k [0], x k+1 [1..30]) a jeśli x k+1 [31] = 1, gdzie a = (9908B0D) 16. Przy k-tym wywołaiu MT19937 zwraca jako wyjście wartość t(x 623+k ), przy czym t(x) = y 3 (y 3 18), gdzie y 3 = y 2 ((y 2 15) & (EF C60000) 16 ) y 2 = y 1 ((y 1 7) & (9D2C5680) 16 ) y 1 = x (x 11) Geerator uzyskay w te sposób ma okres rówy 2 19937 1, co wyjaśia jego skrótową azwę. 2.2 Geerowaie sekwecji bitów Komputery operują tylko i wyłączie a ciągach bitów, dlatego wyjście każdego programu, w szczególości GLP, może być traktowae jako ciąg zerojedykowy. My potrzebujemy jedak ciągów specyficzych: każdy bit musi być geeroway iezależie i z jedakowym prawdopodobieństwem przyjmować wartości zero i jede. Dlatego dla wygody języka wprowadźmy poiższy termi. Defiicja 2.2. Idealym ciągiem losowych bitów azywamy proces Beroulliego z prawdopodobieństwem sukcesu p = 1 2

2.2. Geerowaie sekwecji bitów 21 Algorytm 2.1 Geerowaie sekwecji bitów przy użyciu GLP. 1: procedura GeerujCiągBitów(glp) 2: s ɛ ɛ to słowo puste 3: dopóki s ie jest wystarczająco długi wykouj 4: a astępa liczba z glp 5: b biary zapis a a log 2 M bitach 6: s s b to operator kokateacji 7: zwróć s Poiżej opisujemy jak zmieić geerator liczb pseudolosowych w geerator pseudolosowych ciągów zerojedykowych. Mamy day GLP geerujący liczby całkowite ze zbioru M = {0, 1,..., M 1}. Koleje wywołaia powiy dawać iezależe wyiki. Aby wykorzystać GLP do wygeerowaia idealego ciągu losowych bitów możemy użyć Algorytmu 2.1. Jeśli M jest potęgą dwójki, to zadziała o dobrze, mamy bowiem Lemat 2.3. Niech M = 2 k. Jeżeli GLP w każdym kroku geeruje liczby iezależie i jedostajie w zbiorze M, to Algorytm 2.1 geeruje idealy ciąg losowych bitów. Dowód. W przypadku M = 2 k mamy wzajemie jedozaczą odpowiediość pomiędzy zbiorem M oraz układami k bitów. Ozacza to, że w jedym kroku otrzymujemy z GLP każdy możliwy układ k bitów z jedakowym prawdopodobieństwem 1. Łatwo zauważyć, że wtedy każdy 2 k geeroway bit ma rówe szase bycia jedyką i zerem, oraz jest iezależy od pozostałych. Jedak jeśli M ie jest potęgą dwójki, to procedura ie działa przykładowo dla M = 5 w każdym kroku doklejamy jedą z sekwecji {000, 001, 010, 011, 100}. Wówczas w wygeerowaym ciągu spotkaie jedyki jest miej prawdopodobe iż zera jedyki staowią tylko około 1 3 wszystkich wygeerowaych bitów. Poadto ie ma iezależości wystąpieie jedyki a bicie o ideksie podzielym przez 3 ozacza, że koleje dwa bity będą zerami. Jak widać, gdy M ie jest postaci 2 k ie możemy w wyjściowym ciągu tak po prostu umieścić biarego zapisu wygeerowaej liczby, gdyż a ajbardziej zaczących bitach zera mogą zacząco przeważać. Prostym obejściem tego problemu jest ograiczeie się do miej zaczących bitów geerowaych liczb. Wprawdzie oe rówież ie mają idealego rozkładu, co moża łatwo zauważyć licząc prawdopodobieństwo wystąpieia jedyki a ajmiej zaczącym bicie, jedak odstępstwa są stosukowo iewielkie. Ie podejście przedstawia Algorytm 2.2. Jego dodatkową zaletą jest możliwość modyfikacji, tak by działał dla GLP zwracających liczby z odcika (0, 1).

22 Część 2. Geeratory liczb pseudolosowych Algorytm 2.2 Geerowaie sekwecji bitów przy użyciu GLP. 1: procedura GeerujCiągBitów(glp, d) 2: s ɛ 3: dopóki s ie jest wystarczająco długi wykouj 4: a astępa liczba z glp 5: b d pierwszych bitów rozwiięcia dwójkowego a M 6: s s b 7: zwróć s 2.3 Populare metody testowaia GLP Poiżej przedstawiamy kilka wybraych metod testowaia GLP. Lista z pewością jest daleka od kompletości, zwłaszcza, że zagadieie testowaia GLP cieszy się dużą popularością. Do testów używay jest ciąg liczb wygeerowaych przez GLP. Poiżej zazwyczaj będzie am wygodie przyjmować, że jest to ciąg liczb U 1, U 2, U 3,... pretedujący do miaa ciągu iezależie i rówomierie rozłożoego a odciku (0, 1). Zgodość z rozkładem jedostajym Pierwszym asuwającym się sposobem sprawdzeia jakości liczb geerowaych przez GLP jest zastosowaie zaego aparatu statystyczego. Możemy użyć testów zgodości z rozkładem jedostajym, p. testu Kołmogorowa-Smirowa. Niech będzie długością ciągu (U i ). Niech F będzie dystrybuatą U 1, czyli F (t) = t. Poadto określmy dystrybuatę empiryczą wzorem Niech F (t) = 1 1(U i < t). i=1 D = sup F (t) F (t). 0 t 1 Zauważmy, że obliczeie D ie staowi problemu, gdyż F jest fukcją schodkową zmieiającą wartość w puktach U 1, U 2,.... Twierdzeie Kołmogorowa mówi, że D D K, gdzie K jest zmieą losową o rozkładzie Kołmogorowa. Korzystając z tablic lub pakietów statystyczych możemy zaleźć p-wartość tego testu. Moża też użyć testu χ 2 Pearsoa. Polega o a podzieleiu odcika a r części. Niech E i będzie oczekiwaą liczbą zmieych U i, których wartość wpada to i-tego odcika, zaś O i obserwowaą liczbą. Wówczas statystyka r (O i E i ) 2 T = (2.4) E i i=1

2.3. Populare metody testowaia GLP 23 dąży do rozkładu χ 2 z (r 1) stopiami swobody, ozaczaego χ 2 (r 1). Tak jak w przypadku testu Kołmogorowa-Smirowa możemy pozać p-wartość testu korzystając z odpowiedich arzędzi. Wiele testów zgodości opracowao dla rozkładu ormalego, do ajbardziej zaych ależą test Shapiro-Wilka, test Jarque-Bera, test Adersoa-Darliga. Aby móc z ich skorzystać, wystarczy zmapować ciąg (U i ) a ciąg (N i ) zmieych losowych o rozkładzie ormalym, p. przy użyciu trasformacji Boxa-Mullera. Powyższe testy sprawdzają jedyie zgodość z rozkładem jedostajym. Do sprawdzeia iezależości teoretyczie moża poowie wykorzystać test χ 2. Dla ustaloego t dzielimy ciąg (U i ) a bloki (U 1,..., U t ), (U t+1,..., U 2t ),... (2.5) Otrzymujemy w te sposób obserwacje, które powiy być jedostajie rozłożoe w hiperkostce (0, 1) t. Możemy ją podzielić a miejsze kostki i skorzystać ze statystyki (2.4), aby stwierdzić czy wpada do ich odpowiedio wiele obserwacji. W praktyce jedak, oczekiwaa liczba obserwacji w pojedyczej kostce spada do zera tak szybko, że T ie jest dobrze przybliżae przez rozkład χ 2. Zgodość z twierdzeiami rachuku prawdopodobieństwa Wiele faktów w rachuku prawdopodobieństwa opiera się a ciągach iezależych zmieych losowych o jedakowym rozkładzie. Dzięki temu a podstawie ciągu (U i ) jesteśmy w staie otrzymać koleje zmiee losowe, których teoretycze rozkłady są zae. W [6] zapropoowaych jest kilka praw, które moża wykorzystać w te sposób. Oto iektóre z ich: Test odstępów. Dla ustaloego przedziału (α, β) mierzymy czasy oczekiwaia a koleje U i wpadające do tego przedziału. Otrzymae wartości powiy mieć rozkład geometryczy, co sprawdzamy testem χ 2. Test permutacyjy. Podzielmy ciąg (U i ) a bloki jak w (2.5), przy iezbyt dużym t. W każdym bloku zachodzi jedo z t! możliwych uporządkowań. Rozkład a uporządkowaiach powiie być jedostajy, co poowie weryfikujemy testem χ 2. Test kolizji. Staowi rozwiązaie, gdy mamy obserwacji wpadających do m pudełek, przy czym < m. Jak powiedzieliśmy wcześiej, w takiej sytuacji ie możemy zastosować testu χ 2. Jedak da się wyliczyć teoretycze prawdopodobieństwo otrzymaia k kolizji (kolizją jest trafieie obserwacji do pudełka, w którym jest już ia obserwacja). Jeśli zaobserwowaa liczba kolizji ie mieści się w pewych ramach, to możemy stwierdzić, że ciąg ie jest losowy. Metody opisae tutaj mają pewą zaletę w stosuku do przedstawioych wcześiej testów zgodości (U i ) z rozkładem jedostajym iejawie testują rówież iezależość.

24 Część 2. Geeratory liczb pseudolosowych Zestawy testów Rozwiięciem podejścia z poprzediego paragrafu jest tworzeie paczek testowych. Zawierają oe kilkaaście lub więcej testów opartych o fakty rachuku prawdopodobieństwa, które powiie spełiać idealy ciąg losowych bitów. Zae przykłady to: Diehard tests. Zestaw opracoway przez George a Marsaglia w 1995 r. Obecie uważay już za przestarzały. TestU01. Następca zestawu Diehard, który opracowali Pierre L Ecuyer oraz Richard Simard w 2007 r. NIST Test Suite. Zestaw opracoway przez orgaizację Natioal Istitute of Stadards ad Techology i ciągle rozwijay. Powiemy więcej o tym ostatim zestawie. Zawiera o kilkaaście testów rozstrzygających losowość ciągów zerojedykowych. Hipotezą zerową jest stwierdzeie, że testowaa sekwecja jest realizacją idealego ciągu losowych bitów. Testy badają m.i.: stosuek liczby jedyek do długości ciągu, liczbę jedocyfrowych podciągów, długość ajdłuższego podciągu zawierającego same jedyki. Jakość GLP oceiaa jest w systematyczy sposób. Dla każdego testu w NIST Test Suite postępujemy astępująco. Geerujemy m sekwecji bitów. Po kolei dla każdej z ich przeprowadzamy wybray test a ustaloym poziomie istotości α = 0.01. Test zwraca am p-wartość, i jeżeli p > α, to uzajemy, że day ciąg bitów jest losowy. Przyjmuje się, że GLP zaliczył wykoyway test jeżeli około 97% lub więcej sekwecji zostało uzaych za losowe (oczywiście ie moża wymagać, żeby wszystkie ciągi zostały uzae za losowe, bo awet spośród idealych ciągów losowych bitów około α z ich zostaie odrzucoa). Takie podejście wydaje się rozsąde, ma jedak zasadiczą wadę. Wyobraźmy sobie, że mamy zakomity GLP g 1. Na jego podstawie tworzymy owy GLP g 2 w taki sposób, że co sety ciąg bitów otrzymay z g 2 jest zdecydowaie ielosowy (p. ma zaczą przewagę zer ad jedykami, albo jest to pewie ustaloy ciąg, itp.), a w pozostałych przypadkach g 2 deleguje wygeerowaie ciągu do g 1. NIST Test Suite prawdopodobie uzałby geerator g 2 za dobry. Metoda opisaa w części 3 ma potecjał do wykrywaia tego rodzaju ieprawidłowości. Test spektraly Testowi spektralemu Doald Kuth poświęcił kilkaaście stro w swoim dziele [6], czego ie sposób tutaj streścić. Idea polega a spostrzeżeiu, że pukty w t-wymiarowej przestrzei, utworzoe z kolejych wyrazów ciągu (U i ) wygeerowaego przez LCG, leżą a stosukowo iewielkiej liczbie (t 1)-wymiarowych hiperpłaszczyz. Zagłębiając się w te temat moża dojść do dość skomplikowaej metody testowaia LCG. Jedak w iektórych przypadkach widać gołym okiem, że geerator jest zły. Takim przykładem jest iechluby RANDU (jest to MCG(2 31, 2 16 +3)). Na Rysuku 2.1 przedstawioo pukty w przestrzei otrzymae z tego geeratora. Widać wyraźie, że układają się oe a 15 płaszczyzach.

2.3. Populare metody testowaia GLP 25 Rysuek 2.1: Ilustracja rozmieszczeia w przestrzei puktów geerowaych przez RANDU. Każdy pukt został utworzoy z trzech kolejych liczb otrzymaych z geeratora i przeskalowaych a odciek (0, 1). Złożoość Kołmogorowa Zaczijmy od przykładu. Rozważmy ciągi biare długości 32 01010101010101010101010101010101 oraz 00110111001101001101101000110110. Choć wylosowaie obydwu z ich jest rówie prawdopodobe, te drugi uzajemy za bardziej losowy. Dzieje się tak dlatego, że pierwszy ciąg moża jedozaczie opisać w zaczie miejszej liczbie zaków: 16 01, zaś ajkrótszym opisem drugiego ciągu jest prawdopodobie przepisaie go całego. Tego typu ituicje próbujemy wyjaśiać za pomocą, tzw. złożoości Kołmogorowa. Służy oa do mierzeia stopia skomplikowaia ciągów zaków. Ustalmy dowoly język programowaia L. Złożoością Kołmogorowa łańcucha zaków s jest długość ajkrótszego programu P w języku L, takiego że P wypisuje s. Rzadko kiedy jesteśmy w staie zaleźć dokładą wartość złożoości łańcucha s. Dlatego może się wydawać, że powyższe podejście jest czysto teoretycze. Okazuje się jedak, że moża złożoość s oszacować. Niech P będzie programem implemetującym ustaloy algorytm kompresji, a P odpowiadającym mu programem dekompresji. Poadto iech s będzie skompresowaym łańcuchem s. Wówczas złożoość łańcucha s jest oszacowaa z góry przez sumę długości P oraz s. Odrzucamy hipotezę o losowości s, gdy otrzymaa wartość jest zaczie miejsza od długości s. Zagadieie ruiy gracza Bardzo iteresująca metoda testowaia GLP została przedstawioa w pracy [5]. Rozważae jest błądzeie po grupie Z. Autorzy badają czas dojścia do stau 0, co odpowiada zbiciu majątku

26 Część 2. Geeratory liczb pseudolosowych wysokości lub bakructwu gracza ze zaego zagadieia. W pracy opisae są trzy wariaty zastosowaej metody, tutaj przedstawiamy podstawową z ich. Ustalmy p (0, 1). Ciąg (U i ) otrzymay z geeratora wykorzystyway jest do poruszaia się po grupie Z. Jeśli w kroku i-tym byliśmy w staie s, to przechodzimy do stau s + 1, gdy U i+1 < p, a do s 1 w przeciwym przypadku. Dla każdego x Z, x 0, iech T x ozacza czas dojścia do 0 ze stau x. N-krotie z puktu x rozpoczyamy błądzeie po grupie. W te sposób otrzymujemy N replikacji zmieej T x. Ozaczmy ich średią przez T x. Niech µ oraz σ 2 ozaczają wartość oczekiwaą oraz wariację T x, gdy prawdopodobieństwa przejść do staów s+1 oraz s 1 wyoszą odpowiedio p oraz 1 p. Wartości µ i σ 2 moża wyzaczyć teoretyczie. Niech Z x = T x µ σ N. Przy założeiu hipotezy, o iezależości i rozkładzie jedostajym zmieych (U i ), statystyka Z x ma w przybliżeiu rozkład ormaly N (0, 1). W związku z tym przy dużych wartościach Z x ależy stwierdzić, że geerator ie przeszedł testu w pukcie x. Błądzeie przypadkowe Testom opartym a własościach błądzeia przypadkowego poświęcoe są koleje dwie części pracy.

CZĘŚĆ III Metoda testowaia oparta a błądzeiu przypadkowym W części 1 przedstawiliśmy teorię przydatą do testowaia GLP. W tej części pokazujemy jak zastosować ją w praktyce. Opisujemy w jaki sposób sprawdzać czy wygeerowae ciągi odpowiadają prawdziwie losowym realizacjom błądzeia przypadkowego. Przedstawioa tu metoda wykorzystująca prawo iterowaego logarytmu pochodzi z pracy [10]. Dodatkowo propoujemy podobą metodę opartą o prawo arcusa siusa. W wykoywaych obliczeiach często polegamy a aproksymacjach, dlatego w ostatim paragrafie tej części aalizujemy wielkość popełiaego błędu. 3.1 Opis metody Ogóla idea testów, które omawiamy w tej części pracy, ie jest skomplikowaa. Metoda polega a obliczeiu pewych charakterystyk ciągów wygeerowaych przez GLP i porówaiu ich empiryczych rozkładów z rozkładami, które są zae dla idealego ciągu losowych bitów. Przykładowo, w części poświęcoej prawu arcusa siusa uzasadiliśmy, że bardziej prawdopodoba jest długa przewaga liczby jedyek ad liczbą zer iż rówomiery rozkład prowadzeia. Jeśli geerator sztuczie wyrówuje częstość zer i jedyek, to zauważymy odstępstwa od tej reguły. Zgodość z prawem arucsa siusa sprawdzają testy oparte o zdefiiowaą poiżej charakterystykę S asi. Podobie ktoś mógłby pomyśleć, że czymś pozytywym byłyby iewielkie różice między liczbą jedyek i zer w ciągu bitów otrzymaym z GLP. Moglibyśmy zdecydować się a jakąś rozsądą stałą, powiedzmy 100, i uzać, że geerator jest dobry jeśli różica liczby zer i jedyek w ciągu ie przekroczy 100. Wszak duże różice mogłyby sugerować, że mamy róże prawdopodobieństwa wystąpieia zer i jedyek. Jedak prawo iterowaego logarytmu pokazuje, że to rozumowaie jest błęde. Należy spodziewać się fluktuacji i odstępstw od zera, a ich brak ozacza, że GLP ie geeruje idealego ciągu losowych bitów. Tę obserwację wykorzystują testy oparte o charakterystykę S lil. 27

28 Część 3. Metoda testowaia oparta a błądzeiu przypadkowym 3.1.1 Test arcusa siusa Niech D k = 1 (S k > 0 S k 1 > 0), k = 1, 2,...,. (3.1) Zmiea D k przyjmuje wartość 1, gdy w k-tym kroku błądzeia przypadkowego zachodzi przewaga liczby jedyek ad zerami (traktując remisy tak jak w paragrafie 1.2), zaś 0 w przeciwym przypadku. Zdefiiujmy charakterystykę S asi wzorem Zatem S asi paragrafu 1.2, że S asi = 1 D k. (3.2) k=1 jest to frakcja czasu podczas której jedyki domiowały ad zerami. Wiemy z ( P S asi = k ) = p k,, zaś korzystając z prawa arcusa siusa ( ) P S asi (a, b) 1 b dt π a t(1 t) = 2 π arcsi( b) 2 π arcsi( a). (3.3) W celu przetestowaia GLP geerujemy przy jego użyciu m ciągów zerojedykowych długości. Otrzymujemy w te sposób m realizacji zmieej S asi, j-tą replikację ozaczamy S,j asi. Ustalamy partycję prostej rzeczywistej i dla każdego odcika w tej partycji zliczamy ile realizacji S asi do iego wpadło. W testach opartych o wielkość S asi korzystamy z (s + 2)-elemetowej partycji postaci Ps asi = {P0 asi, P1 asi,..., Ps+1 asi }, gdzie ( P0 asi =, 1 ), 2s [ 2i 3 Pi asi = 2s, 2i 1 ), 1 i s, 2s Ps+1 asi = [1 1 ) 2s,. Możemy teraz zdefiiować dwie miary określoe a partycji Ps asi. Pierwsza z ich, µ asi, reprezetuje teoretyczy rozkład rozważaej charakterystyki: ( ) ( ) µ asi Pi asi = P S asi Pi asi, 0 i s + 1. (3.4) Powyższą wartość możemy wyliczyć ze wzoru (3.3). Druga miara, ν asi, reprezetuje rozkład empiryczy, wyzaczoy w testach. Określamy ( ν asi P asi i ) = {j : Sasi,j Pi asi m, 1 j m}, 0 i s + 1. (3.5)

3.1. Opis metody 29 Jeżeli testoway GLP jest dobry, to obie miary powiy być miej więcej takie same. Ściślej, odległość między otrzymaymi miarami powia być mała. Korzystamy ze zaych fukcji odległości total variatio distace oraz separatio distace. Są oe zdefiiowae astępująco dla dowolych miar µ oraz ν: d tv (µ, ν) = sup µ(a) ν(a), (3.6) A R ( d sep (µ, ν) = sup A R 1 µ(a) ν(a) ). (3.7) Poieważ ie jesteśmy w staie wyzaczyć supremum a całej prostej, skorzystamy z ieco uproszczoych defiicji. Dla partycji P prostej rzeczywistej, defiiujemy: d tv P (µ, ν) = 1 2 d sep P µ(a) ν(a) = A P ( (µ, ν) = max A P 1 µ(a) ν(a) A P, µ(a)>ν(a) ( ) µ(a) ν(a), (3.8) ). (3.9) Ie podejście polega a testowaiu hipotezy o zgodości rozkładów. Korzystając z termiologii statystyczej wielkości S,j asi będziemy azywać obserwacjami. Hipotezą zerową jest stwierdzeie, że obserwacje mają rozkład µ asi, czyli de facto stwierdzeie, że GLP geeruje idealy ciąg losowych bitów. Niech O i ozacza liczbę obserwacji wpadających do przedziału Pi asi, tz. O i = {j : S,j asi Pi asi, 1 j m}, 0 i s + 1, (3.10) oraz E i ozacza oczekiwaą liczbę obserwacji wpadających do tego przedziału, czyli ( E i = m P S asi ) Pi asi, 0 i s + 1. (3.11) Wartość E i obliczamy ze wzoru (3.3). Przy hipotezie zerowej statystyka T = s+1 i=0 (O i E i ) 2 E i (3.12) ma w przybliżeiu rozkład χ 2 (s + 1). Duże wartości tej statystyki są dowodem wadliwości GLP. 3.1.2 Test iterowaego logarytmu Przyjrzyjmy się teraz metodzie zastosowaej w [10]. Jest oa podoba do metody opisaej w poprzedim paragrafie. Liczymy jedyie ią charakterystykę ciągów i dostosowujemy partycję prostej. Przypomijmy ozaczeie S lil = S 2 log log. (3.13)

30 Część 3. Metoda testowaia oparta a błądzeiu przypadkowym Moża łatwo zaleźć teoretyczy rozkład tej charakterystyki (tz. rozkład dla idealego ciągu losowych bitów). Istotie, korzystając z cetralego twierdzeia graiczego dostajemy ( ) ( P S lil S ( (a, b) = P a 2 log log, b ) ) 2 log log Φ(b 2 log log ) Φ(a (3.14) 2 log log ) Jako, że S lil przyjmuje swoje wartości w szerszym przedziale iż S asi = {P0 lil, P 1 lil,..., P s+1 lil }, gdzie iej partycji prostej, miaowicie P lil s P lil 0 = (, 1), [ 1 + P lil i = P lil s+1 = [1, ). 2(i 1) s, 1 + 2i ), 1 i s, s, dlatego korzystamy z Teoretyczy i empiryczy rozkład określamy w tym przypadku astępująco: ( ) ( ) µ lil Pi lil = P S lil Pi lil, 0 i s + 1, (3.15) ( ν lil P lil i ) {j : Slil,j = P i lil, 1 j m}, 0 i s + 1, (3.16) m ozacza oczywiście replikacje Slil, obli- przy czym wartość (3.15) zamy dzięki (3.14), zaś S,j lil czoe dla kolejych ciągów. 3.2 Aaliza błędu Omawiając test arcusa siusa oraz test iterowaego logarytmu dokoywaliśmy w obliczeiach pewych przybliżeń. Wystarcza to do przekazaia idei opisaych metod testowaia, jedak dla porządku ależy dowieść, że wprowadzoa iedokładość ie ma istotego zaczeia. W [10] uzasadioo, że dla 2 26 błąd przybliżeia w (3.14) jest pomijaly. Tutaj oszacujemy błąd popełiay w (3.3). W przypadku testu arcusa siusa korzystaliśmy z aproksymacji dwukrotie: ajpierw przybliżając p 2k,2 używając wzoru Stirliga, a późiej przybliżając sumę całką. Dla aalizy pierwszego z tych przybliżeń przyda am się astępujący fakt, pochodzący z [8] (rozdział XI, 11). Lemat 3.1. Dla każdej liczby aturalej istieje liczba θ, 0 < θ 1, taka że! = ( ) { } θ 2π exp e 12. { } Uzupełiają o czyik exp θ 12 obliczeia, które wykoaliśmy, aby otrzymać (1.7), dostajemy { 1 p 2k,2 = π k( k) exp θ2k 4θ k + θ } 2( k) 4θ k. (3.17) 24k 24( k)

3.2. Aaliza błędu 31 Ozaczmy d k, = 1 π k( k). Naszym celem jest pokazaie, że p 2k,2 d k, jest małe. Z (3.17) dostajemy p 2k,2 d k, { } { } 1 exp 24k + 1 = exp 24( k) 24k( k) oraz p 2k,2 d k, { } { 4 exp 24k + 4 = exp 24( k) 6k( k) }. Korzystając z powyższych i z ierówości e x 1 2x (dla x > 0 i dostateczie małych) oraz 1 e x x uzyskujemy { p 2k,2 d k, d k, (exp 24k( k) } ) 1 d k, 12k( k) oraz co razem daje { }) d k, p 2k,2 d k, (1 exp d k, 6k( k) 6k( k) p 2k,2 d k, d k, 6k( k) =. 6π (k( k)) 3 2 Ustalmy δ > 0 i założymy dodatkowo, że δ k 1 δ. Fukcja k (k( k))3/2 przyjmuje miimalą wartość a brzegu przedziału, w którym się ją rozpatruje, dlatego p 2k,2 d k, 6π (δ( δ)) 3 2 = 1. 6π 2 (δ(1 δ)) 3 2 Wielkość błędu aproksymacji w (3.3) oszacujemy w dwóch etapach. Na początek weźmy takie liczby a, b, że δ a < b 1 δ. Wtedy p 2k,2 d k, p 2k,2 d k, a k b a k b a k b a k b 1 6π 2 (δ(1 δ)) 3 2 b a b a = 6π 2 (δ(1 δ)) 3 2 3π (δ(1 δ)) 3 2 1 = ( ) 3π (δ(1 δ)) 3 2 Drugim źródłem iedokładości jest zastąpieie sumy przez całkę. Rozpatrzmy dowolą fukcję f, różiczkowalą w przedziale (a, b). Podzielmy (a, b) a odciki długości 1 i iech x k będzie

32 Część 3. Metoda testowaia oparta a błądzeiu przypadkowym dowolym puktem w odciku zawierającym k, a M k i m k odpowiedio maksymalą i miimalą wartością fukcji a tym odciku. Korzystając z twierdzeia Lagrage a dostajemy b f(x)dx 1 a f(x k) 1 a k b (M i m i ) = 1 2 f (ξ i ) a k b a k b a k b 1 2 2(b a) 1 Dla f(x) = mamy f (x) = π x(1 x) as przedziale b f(x)dx 2 a a k b d k, 2x 1 2π(x(1 x)) 3/2 sup f b a (x) = a x b 2 sup f (x). a x b sup f (x) a x b (3.18) ( ) oraz 1 f k = d k,, a stąd w iteresującym sup f (x) = δ<x<1 δ 1 2δ π(δ(1 δ)) 3 2 = ( ) W testach wykorzystamy partycję prostej P40 asi, dlatego u as δ = 1 80. Będzie poadto 2 25. Przy tych parametrach ( ) 77.4 2.31 10 6 oraz ( ) 226.3 6.75 10 6 Ostateczie b f(x)dx b p 2k,2 f(x)dx d a k, + d a k b a k, a k b a k b = ( ) + ( ) 9.06 10 6 10 5 co uzasadia wzór (3.3) w przypadku δ a < b 1 δ. Musimy jeszcze zbadać iedokładość a brzegu. Mamy δ f(x)dx 1 1 2 2 p 2k,2 = f(x)dx f(x)dx p 0 2k,2 + 0 k <δ 0 δ 0 k 1 2 1 1 = 2 2 f(x)dx 1 δ 2 + p 2k,2 δ k 1 2 1 2 = f(x)dx p 2k,2 10 5, δ δ k 1 2 p 2k,2 a k b p 2k,2 δ k 1 2 gdzie ostatie przejście wyika z wcześiej przeprowadzoych rachuków. Powyższa aaliza pokazuje, że błąd przybliżeia jest pomijaly.