Generování pseudonáhodných. Ing. Michal Dorda, Ph.D.

Podobné dokumenty
NÁHODNÁ ČÍSLA. F(x) = 1 pro x 1. Náhodná čísla lze generovat některým z následujících generátorů náhodných čísel:

GENEROVÁNÍ NÁHODNÝCH ČÍSEL PSEUDONÁHODNÁ ČÍSLA

NÁHODNÉ VELIČINY JAK SE NÁHODNÁ ČÍSLA PŘEVEDOU NA HODNOTY NÁHODNÝCH VELIČIN?

7. Rozdělení pravděpodobnosti ve statistice

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

Bayesovské metody. Mnohorozměrná analýza dat

Náhodné chyby přímých měření

Odhad parametrů N(µ, σ 2 )

E(X) = np D(X) = np(1 p) 1 2p np(1 p) (n + 1)p 1 ˆx (n + 1)p. A 3 (X) =

PRAVDĚPODOBNOST A STATISTIKA

Testování statistických hypotéz. Ing. Michal Dorda, Ph.D.

I. D i s k r é t n í r o z d ě l e n í

p(x) = P (X = x), x R,

Základní statistické modely Statistické vyhodnocování exp. dat M. Čada ~ cada

Výběrové charakteristiky a jejich rozdělení

Pearsonůvχ 2 test dobré shody. Ing. Michal Dorda, Ph.D.

Náhodné (statistické) chyby přímých měření

Řešení. Označme po řadě F (z) Odtud plyne, že

Střední hodnota a rozptyl náhodné. kvantilu. Ing. Michael Rost, Ph.D.

0.1 Úvod do lineární algebry

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

X = x, y = h(x) Y = y. hodnotám x a jedné hodnotě y. Dostaneme tabulku hodnot pravděpodobnostní

Téma 3: Metoda Monte Carlo

Chyby měření 210DPSM

Odhad parametrů N(µ, σ 2 )

Náhodná veličina a rozdělení pravděpodobnosti

1 Náhodný výběr a normální rozdělení 1.1 Teoretická a statistická pravděpodobnost

KGG/STG Statistika pro geografy

Teorie náhodných matic aneb tak trochu jiná statistika

Časové řady, typy trendových funkcí a odhady trendů

Praktická statistika. Petr Ponížil Eva Kutálková

Časové řady, typy trendových funkcí a odhady trendů

0.1 Úvod do lineární algebry

Zpracování náhodného výběru. Ing. Michal Dorda, Ph.D.

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

10. cvičení z PST. 5. prosince T = (n 1) S2 X. (n 1) s2 x σ 2 q χ 2 (n 1) (1 α 2 ). q χ 2 (n 1) 2. 2 x. (n 1) s. x = 1 6. x i = 457.

STANOVENÍ SPOLEHLIVOSTI GEOTECHNICKÝCH KONSTRUKCÍ. J. Pruška, T. Parák

1. Obyčejné diferenciální rovnice

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Určete zákon rozložení náhodné veličiny, která značí součet ok při hodu a) jednou kostkou, b) dvěma kostkami, c) třemi kostkami.

2 Zpracování naměřených dat. 2.1 Gaussův zákon chyb. 2.2 Náhodná veličina a její rozdělení

MATEMATICKÁ STATISTIKA - XP01MST

Cvičení ze statistiky - 5. Filip Děchtěrenko

Pravděpodobnost, náhoda, kostky

MATEMATICKÁ STATISTIKA. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

8. Normální rozdělení

V této kapitole si zobecníme dříve probraný pojem limita posloupnosti pro libovolné funkce.

f(c) = 0. cn pro f(c n ) > 0 b n pro f(c n ) < 0

Vlastnosti a modelování aditivního

1 Analytické metody durace a konvexita aktiva (dluhopisu) $)*

2. Základní typy dat Spojitá a kategoriální data Základní popisné statistiky Frekvenční tabulky Grafický popis dat

Algebraické rovnice. Obsah. Aplikovaná matematika I. Ohraničenost kořenů a jejich. Aproximace kořenů metodou půlení intervalu.

Normální (Gaussovo) rozdělení

Náhodná veličina a její charakteristiky. Před provedením pokusu jeho výsledek a tedy ani sledovanou hodnotu neznáte. Proto je proměnná, která

Funkce arcsin. Některé dosud probírané funkce můžeme spojit do dvojic: 4 - je číslo, které když dám na druhou tak vyjde 4.

Posloupnosti a jejich limity

1. Náhodný vektor (X, Y ) má diskrétní rozdělení s pravděpodobnostní funkcí p, kde. p(x, y) = a(x + y + 1), x, y {0, 1, 2}.

FUNKCE, ZÁKLADNÍ POJMY

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

9. T r a n s f o r m a c e n á h o d n é v e l i č i n y

KMA/P506 Pravděpodobnost a statistika KMA/P507 Statistika na PC

Téma 2: Pravděpodobnostní vyjádření náhodných veličin

Normální (Gaussovo) rozdělení

2 Hlavní charakteristiky v analýze přežití

Základy teorie odhadu parametrů bodový odhad

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Zpracování náhodného vektoru. Ing. Michal Dorda, Ph.D.

PRAVDĚPODOBNOST A STATISTIKA. Bayesovské odhady

Diskrétní náhodná veličina. November 12, 2008

Nestranný odhad Statistické vyhodnocování exp. dat M. Čada

1. DIFERENCIÁLNÍ POČET FUNKCE DVOU PROMĚNNÝCH

Téma 2 Simulační metody typu Monte Carlo

Pravděpodobnost a statistika I KMA/K413

8 Střední hodnota a rozptyl

h = 0, obr. 7. Definice Funkce f je ohraničená shora, jestliže x Df Funkce f je ohraničená zdola, jestliže x Df d R

Funkce a lineární funkce pro studijní obory

5. Náhodná veličina. 2. Házíme hrací kostkou dokud nepadne šestka. Náhodná veličina nabývá hodnot z posloupnosti {1, 2, 3,...}.

Přednáška 1: Reálná funkce jedné reálné proměnné

Základy teorie pravděpodobnosti

Jiří Neubauer. Katedra ekonometrie, FVL, UO Brno kancelář 69a, tel

Téma 22. Ondřej Nývlt

Funkce Arcsin. Předpoklady: Některé dosud probírané funkce můžeme spojit do dvojic: 4 je číslo, jehož druhá mocnina se rovná 4.

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Pojistná matematika. Úmrtnostní tabulky, komutační čísla a jejich použití. Silvie Kafková

a způsoby jejího popisu Ing. Michael Rost, Ph.D.

Stanovení nejistot při výpočtu kontaminace zasaženého území

AVDAT Náhodný vektor, mnohorozměrné rozdělení

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

Náhodná proměnná. Náhodná proměnná může mít rozdělení diskrétní (x 1. , x 2. ; x 2. spojité (<x 1

STATISTICKÉ ODHADY Odhady populačních charakteristik

1 Determinanty a inverzní matice

ROZDĚLENÍ SPOJITÝCH NÁHODNÝCH VELIČIN

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

4. Kombinatorika a matice

Pravděpodobnost, náhoda, kostky

1 Zobrazení 1 ZOBRAZENÍ 1. Zobrazení a algebraické struktury. (a) Ukažte, že zobrazení f : x

Transkript:

Generování pseudonáhodných čísel při simulaci Ing. Michal Dorda, Ph.D. 1

Úvodní poznámky V simulačních modelech se velice často vyskytují náhodné proměnné. Proto se budeme zabývat otázkou, jak při simulaci získávat hodnoty z konkrétního pravděpodobnostního rozdělení. Ing. Michal Dorda, Ph.D. 2

Úvodní poznámky V podstatě máme dvě možnosti: 1) Konkrétní realizace náhodné proměnné získat na reálném systému a tyto realizace pak použít při simulaci. Tento způsob však není zpravidla vhodný, protože při simulačních eperimentech je potřeba řádově tisíce až statisíce takových hodnot. Ing. Michal Dorda, Ph.D. 3

Úvodní poznámky 2) Na základě pozorování reálného systému zjistíme pravděpodobnostní zákonnosti, kterými se příslušné procesy řídí (tj. stanovit typ rozdělení náhodné proměnné a odhadnout její parametry), a při simulaci se potom generují hodnoty řídící se daným rozdělením pomocí vhodného generátoru. Ing. Michal Dorda, Ph.D. 4

Úvodní poznámky Mezi základní požadavky na generátor patří: 1) Dobré a stabilní vlastnosti (vytvořená posloupnost generovaných hodnot se maimálně musí přibližovat posloupnosti náhodných čísel). 2) Generátor musí mít dostatečně dlouhou periodu (posloupnost generovaných hodnot se nesmí opakovat). 3) Procedura generování musí být dostatečně rychlá. Ing. Michal Dorda, Ph.D. 5

Náhodná čísla Náhodnými čísly budeme rozumět nezávislé hodnoty rovnoměrného rozdělení z intervalu (0; 1). Rozdělení můžeme popsat hustotou pravděpodobnosti: f ( ) = 1pro 0 < < 1, f ( ) = 0 jinde. 1 0,8 0,6 0,4 0,2 0 Ing. Michal Dorda, Ph.D. 0 0,2 0,4 0,6 0,8 1 6

Náhodná čísla Distribuční funkce rovnoměrného rozdělení z intervalu (0; 1) je definována: 1 F( ) = 0 pro 0, 0,8 F ( ) = pro 0 < < 1, F( ) = 1pro 1. 0,6 0,4 0,2 0 0 0,2 0,4 0,6 0,8 1 Ing. Michal Dorda, Ph.D. 7

Náhodná čísla Pro střední hodnotu a rozptyl platí: EX 1 =, DX 2 = 1 12. Rovnoměrné rozdělení z intervalu (0; 1) budeme značit R(0; 1) a jeho konkrétní realizace r. Ing. Michal Dorda, Ph.D. 8

Náhodná čísla Náhodné číslo rje v podstatě posloupnost k náhodných číslic α 1, α 2,, α k a můžeme ho zapsat ve tvaru: α1 α 2 r = + 2 10 10 α k +... + k 10, kde α 1, α 2,, α k jsou číslice 0, 1,, 9 a kde realizace každé číslice má pravděpodobnost 10-1. Ing. Michal Dorda, Ph.D. 9

Náhodná čísla Možností, jak generovat náhodná čísla, je několik: 1) Využití mechanických generátorů. 2) Využití fyzikálních generátorů. 3) Tabulky náhodných čísel. 4) Aritmetické generátory. Ing. Michal Dorda, Ph.D. 10

Náhodná čísla ad1) Klasickým mechanickým generátorem je použití urny, ve které je 10 stejných koulí označených čísly 0, 1,, 9. Z urny postupně pro i= 1, 2,, kvyjmeme jednu kouli, číslici zapíšeme na příslušnou pozici a kouli vrátíme do urny. Je zřejmé, že takovýto postup je pro počítačovou simulaci neefektivní a nevhodný. Ing. Michal Dorda, Ph.D. 11

Náhodná čísla ad 2) Vhodnějším způsobem je použití generátorů založených na fyzikálních jevech, které mají náhodný charakter, např. radioaktivní rozpad, šum elektronky apod. Problémem je nutnost připojení tohoto generátoru k počítači, získaná čísla jsou opravdu náhodná, nicméně je nelze reprodukovat. Ing. Michal Dorda, Ph.D. 12

Náhodná čísla ad 3) Další možný způsob získávání náhodných čísel (zejména při ručních výpočtech) je užití tzv. tabulek náhodných čísel. K jejich tvorbě se používaly rozsáhle soubory dat získané k jiným účelům (např. čísla v telefonním seznamu apod.). Např. z roku 1927 pocházejí Tippetovy tabulky obsahující 40 000 náhodných číslic nebo tabulky RAND Corp. z roku 1955 obsahující 1 000 000náhodných číslic. Pro počítačové eperimenty většího rozsahu jsou ovšem opět nevhodné. Ing. Michal Dorda, Ph.D. 13

Náhodná čísla Pro generování náhodných čísel na počítačích se nejčastěji používají aritmetické generátory, jež jsou založeny na rekurentním vztahu typu: = f (,,..., ), n+ 1 = n, n 1 0 další člen posloupnosti generovaných hodnot závisí na hodnotách předchozích, nejedná se tedy o opravdová náhodná čísla, proto hovoříme o pseudonáhodných číslech. Ing. Michal Dorda, Ph.D. 14

Náhodná čísla Nejstarším aritmetickým generátorem je metoda Prostředních řádů druhé mocniny navržený v roce 1946 John von Neumannem. Princip metody je následující: 1) Vybere se vhodné počáteční číslo 0 o 2k číslicích. 2) Číslo se umocní. 3) Z druhé mocniny se vybere prostředních 2k číslic. Ing. Michal Dorda, Ph.D. 15

Náhodná čísla 4) Získané číslo se považuje za další prvek posloupnosti. 5) Návrat na krok 2. Nevýhodou tohoto generátoru je, že získaná posloupnost generovaných čísel je poměrně malá (generátor má malou periodu), generovaná posloupnost nevyhovuje některým testům náhodnosti a proces generování je pomalejší. Ing. Michal Dorda, Ph.D. 16

Náhodná čísla Př. 1: Nechť je dáno počáteční číslo 0 = 2589. Vygenerujte prvních 5 členů posloupnosti pseudonáhodných čísel. 2 2 2 2 2 0 0 1 1 2 2 3 3 4 4 5 2589 6702921 7029 49406841 4068 16548624 5486 30096196 961 923521 9235 Druhá mocnina má pouze 7 číslic, proto doplníme na začátek 0 a vybereme prostřední 4 číslice. Druhá mocnina má pouze 6 číslic, proto doplníme na začátek 00 a vybereme prostřední 4 číslice. Ing. Michal Dorda, Ph.D. 17

Náhodná čísla Nejrozšířenějšími aritmetickými generátory jsou tzv. lineární kongruenční generátory založené na principu zavedeném D. H. Lehmeremv roce 1948. Generátor je založen na vztahu: = ( a c)( mod ), n + 1 n + m kde 0 je počáteční hodnota posloupnosti, aa c jsou vhodně zvolená čísla, číslo mse nazývá modul a zápis (modm) modulo m značí zbytek po celočíselném dělení. Ing. Michal Dorda, Ph.D. 18

Náhodná čísla Tento vztah lze upravit na tvar: n+ a n + c 1 = a n + c m, m a + c m n kde značí celou část čísla a n + c m. Jak je z výše uvedeného vztahu zřejmé, hodnoty posloupnosti jsou celočíselné zbytky po dělení číslem m, generované hodnoty tedy náleží do množiny 0;1;2;...; m 1 { }. Ing. Michal Dorda, Ph.D. 19

Náhodná čísla Chceme-li tedy generovat hodnoty ležící v intervalu (0; 1), musíme vygenerované hodnoty podělit modulem m, tedy: rn = n m, v případě, že dojde ve vygenerované posloupnosti k výskytu 0, vynecháme ji. Ing. Michal Dorda, Ph.D. 20

Náhodná čísla Posloupnost generovaných hodnot je konečná a má svou periodu P m, po uplynutí periody se posloupnost opakuje. Uvedený lineární kongruenční generátor se nazývá smíšený. V případě c= 0 dostáváme: ( mod ), n+ 1 = a n m a jedná se o multiplikativní (Lehmerův) generátor. Ing. Michal Dorda, Ph.D. 21

Náhodná čísla Pro aditivní (Fibonacciův) generátor platí: = ( )( mod ). n+ 1 n + n 1 m Ing. Michal Dorda, Ph.D. 22

Náhodná čísla Př. 2: Uvažujme smíšený lineární kongruenční generátor s následujícími parametry. Vygenerujte jednotlivé členy posloupnosti a zjistěte, jaká je jeho perioda. 0 7 a 11 c 9 m 13 n ( 11 9)( mod13), + 1 = n + Ing. Michal Dorda, Ph.D. 23

Postup při výpočtu 1 : a 0 + c Náhodná čísla = 11 7 + 9 = 86, a 0 + c 86 = = & 6,62, m 13 a 0 + c = [ 6,62] = 6, m a 0 a 0 + c + c m = 86 13 6 = 8. m Analogickým postupem stanovíme i další členy posloupnosti. Ing. Michal Dorda, Ph.D. 24

Náhodná čísla n 11 n-1 + 9 n = 11 n-1 + 9 (mod 13) 1 86 8 2 97 6 3 75 10 4 119 2 5 31 5 6 64 12 7 141 11 8 130 0 9 9 9 10 108 4 11 53 1 12 20 7 13 86 8 Vidíme, že pro n = 12 se posloupnost začíná opakovat, perioda tohoto generátoru Pje rovna 12. Ing. Michal Dorda, Ph.D. 25

Náhodná čísla Uveďme na ukázku konkrétní lineární kongruenční generátory využívané v prai: 1) V počítačích IBM byl využit generátor: = 65539 n+ 1 n ( 31 mod 2 ). 2) Millerův a Prenticůvgenerátor je definován rekurentním vztahem: n+ 1 = n 2 + n 3 ( mod 3137) a má periodu 9 843 907. Ing. Michal Dorda, Ph.D. 26

Metody transformace náhodných čísel Doposud jsme se zabývali, jak generovat hodnoty rovnoměrného rozdělení z intervalu (0; 1). Nyní bychom ale chtěli generovat hodnoty rovnoměrného rozdělení, ovšem z intervalu (a, b). Platí: ( ), = a + b a r kde rje hodnota z rovnoměrného rozdělení z intervalu (0; 1). Ing. Michal Dorda, Ph.D. 27

Metody transformace náhodných čísel Tento vztah získáme aplikací metody inverzní transformace, kterou se budeme zabývat dále. Chceme-li generovat hodnoty řídící se určitým rozdělením pravděpodobnosti, je postup následující: 1) Vygenerujeme náhodné číslo rz rovnoměrného rozdělení R(0; 1). 2) Vygenerované náhodné číslo rpomocí vhodné metody transformace převedeme na hodnotu odpovídající příslušnému rozdělení pravděpodobnosti. Ing. Michal Dorda, Ph.D. 28

Metody transformace náhodných čísel Mezi nejčastěji užívané metody transformace patří: 1) Metoda inverzní transformace. 2) Tabulková metoda. 3) Zamítací (vylučovací) metoda. Ing. Michal Dorda, Ph.D. 29

Metoda inverzní transformace Mějme spojitou náhodnou proměnnou X, pro jejíž hustotu pravděpodobnosti platí: f ( ) > 0pro a < < b, f ( ) = 0 jinde. Potom je distribuční funkce F() na intervalu (a; b) rostoucí a nabývá hodnot z intervalu (0; 1). Ing. Michal Dorda, Ph.D. 30

Metoda inverzní transformace Zvolíme-li nyní číslo rz intervalu (0; 1), je zřejmé, že pro z intervalu (a; b) platí: r = F ( ). Chceme-li stanovit hodnotu, musíme nalézt inverzní funkci k distribuční funkci (pokud inverzní funkce eistuje): = F ( ). 1 r Ing. Michal Dorda, Ph.D. 31

Metoda inverzní transformace Postup je tedy následující: 1) Vygenerujeme náhodné číslo r. ( ) 1 2) Položíme = F r, kde je hodnota z příslušného rozdělení pravděpodobnosti. Ing. Michal Dorda, Ph.D. 32

Metoda inverzní transformace F() 1 r 0 Ing. Michal Dorda, Ph.D. 33

Metoda inverzní transformace Př. 3: Metodou inverzní transformace nalezněte předpis pro generování hodnot z rozdělení definovaného hustotou pravděpodobnosti ve tvaru: f ( ) = 4 3 pro 0 < < 1, f ( ) = 0 jinde. Ing. Michal Dorda, Ph.D. 34

Metoda inverzní transformace Nejdříve musíme nalézt předpis pro distribuční funkci: F( ) = 0pro 0, F F 3 4 ( t) = 4t = pro 0 < < 1, 0 ( ) = 1pro 1. Nyní musíme nalézt funkci inverzní, tedy: 4 ( r) r. 1 = F = Ing. Michal Dorda, Ph.D. 35

Metoda inverzní transformace Př. 4: Pomocí metody inverzní transformace nalezněte předpis pro generování hodnot z eponenciálního rozdělení. Víme, že distribuční funkce eponenciálního rozdělení je ve tvaru: F F ( ) = 0pro 0, µ ( ) = 1 e pro > 0, kde μ>0 je parametr rozdělení. Ing. Michal Dorda, Ph.D. 36

Metoda inverzní transformace Postupně upravujeme: r = 1 e 1 r µ ( r) = ln e, ( r ) = µ ln e, ln( 1 r). ln 1 ln 1 = = e µ µ µ,, Jestliže rje náhodné číslo, potom i 1 rje náhodné číslo, můžeme tedy psát: = ln r µ. Ing. Michal Dorda, Ph.D. 37

Tabulková metoda V některých případech může být nalezení inverzní funkce k distribuční funkci problematické, případně distribuční funkce v eplicitním tvaru neeistuje (např. normální rozdělení) nebo máme rozdělení popsáno empirickou distribuční funkcí (histogram relativních kumulativních četností). V těchto případech lze použít tzv. tabulkovou metodu. Ing. Michal Dorda, Ph.D. 38

Tabulková metoda Tabulková metoda kombinuje metodu inverzní transformace s numerickou aproimací distribuční funkce. Předpokládejme, že známe hodnoty distribuční funkce F() v bodech 0, 1,, n pro i < i+1. Zvolíme-li vhodně soustavu bodů i, můžeme distribuční funkci aproimovat po částech lineární funkcí viz obrázek. Ing. Michal Dorda, Ph.D. 39

Tabulková metoda F( i+1 ) r F( i+1 ) r 1 F( i ) F() F( i i ) i+1 F( 2 ) F( 1 ) 0 1 2 i i+1 Ing. Michal Dorda, Ph.D. 40

Tabulková metoda i i+1 Úpravami dostaneme: [ r F( )] F( i+1 ) r Z podobnosti trojúhelníků plyne: + i i 1 i =. F( i ) r F( ) F( ) F( ) i i+ 1 i ( ) < r F( ). i+ 1 i = i + i < i+ F( i+ 1) F( i ) pro F i 1 Ing. Michal Dorda, Ph.D. 41

Vylučovací metoda Předpokládejme, že hustota pravděpodobnosti f()náhodné proměnné je na intervalu a; b shora ohraničená hodnotou ca vně tohoto intervalu je f() = 0. Generujeme body [; y]s rovnoměrným rozdělením v obdélníku určeném body a, ba c. Ing. Michal Dorda, Ph.D. 42

Vylučovací metoda f() c f() y [; y] 0 a b Ing. Michal Dorda, Ph.D. 43

Vylučovací metoda Mohou nastat dvě situace: 1) Pokud vygenerovaný bod leží v oblasti ohraničené hustotou pravděpodobnosti f(), tedy platí nerovnost y f(), potom je hodnota vygenerované číslo z rozdělení s danou hustotou f(). 2) Pokud platí y >f(), bodtedyneležív oblasti ohraničené hustotou f(), potom hodnota není z příslušného rozdělení. Ing. Michal Dorda, Ph.D. 44

Vylučovací metoda Algoritmus generování pomocí vylučovací metody můžeme popsat kroky: 1) Generujeme dvojici náhodných čísel r 1 a r 2. ( ) r1 2) Položíme = a + b a r a y = c r, je tedy zřejmé, 2 že hodnoty a yjsou rovnoměrně rozdělené v intervalech (a; b) a (0; c). 3) Jestliže y >f(), návrat na krok 1, v opačném případě je generovaná hodnota. Ing. Michal Dorda, Ph.D. 45