Náhoda, generátory náhodných čísel Simulační modely ekonomických procesů 4EK412 2.přednáška
Náhoda Filozofický pohled: „Existuje náhoda nebo je vše předurčeno?“ Náhoda … slovo popisující nedostatek smyslu nebo příčiny nějakého jevu Náhoda = něco, co může, ale nemusí nastat, přičemž existenci či neexistenci daného jevu „nelze“ ovlivnit. = takový jev, na který nemají vliv počáteční podmínky (při stejných podmínkách dostaneme jiný výsledek)
Náhodný pokus, náhodný jev, náhodná veličina Náhodný pokus = pokus, jehož výsledek se od jednoho provedení pokusu k druhému (při stejných výchozích podmínkách) obecně mění (hod kostkou, mincí, výběr s vracením, …) Náhodný jev = výsledek náhodného pokusu („jednička“ na kostce, vylosované číslo, …) Náhodná veličina = je definovaná, pokud přiřadíme náhodnému jevu jednoznačně nějaké číslo (náh.veličina X (číslo vylosované ve Sportce) = x ; x=1,2, …, 49 ) Obvykle určujeme i její pravděpodobnostní rozdělení
Nezávislé hodnoty rovnoměrného rozdělení na intervalu (0,1) … R(0,1) Náhodná čísla Nezávislé hodnoty rovnoměrného rozdělení na intervalu (0,1) … R(0,1) R(0,1): f(x) = 1 pro x (0,1) jinak f(x) = 0 F(x) = 0 pro x 0 F(x) = x pro x (0,1) F(x) = 1 pro x 1 E(x) = 0,5 D(x) = 1/12
Distribuční funkce Distribuční funkce F(x) popisuje rozložení pravděpodobnosti mezi náhodné jevy pro každý náhodný jev definována náhodná veličina X, která nabývá hodnot x F(x) = P(X ≤ x)
F(x) … příklad – hod kostkou 1 5/6 2/3 1/2 1/3 1/6 1 2 3 4 5 6
Hustota pravděpodobnosti f(x) f(x) = dF(x) / dx … derivace spojité distribuční funkce F(x) Pro Rovnoměrné rozdělení R(0,1):
Hustota pravděpodobnosti f(x) f(x) = dF(x) / dx … derivace spojité distribuční funkce F(x) Pro Normální rozdělení N(0,1):
Náhodná čísla a náhodné veličiny Náhodné číslo: R(0,1) Náhodná veličina: R(10;150) N(200;5) EXP(10) … získáme transformací náhodných čísel
Generátory náhodných čísel Tabulky náhodných čísel Mechanické (kostka, mince, losovací zařízení) Fyzikální či chemické (radioaktivní rozpad prvků, šum, …) 4. Aritmetické = výpočet získáme pseudonáhodná čísla - nejpoužívanější pro počítačovou simulaci
1. Tabulky náhodných čísel Pro výpočty malého rozsahu Po převedení do elektronické podoby z nich může počítač načíst náhodná čísla Příklad: 44 48 87 57 84 79 95 32 47 26 35 19 50 14 75 73 87 30 96 19 86 59 32 00 81 73 70 91 92 67 34 75 58 76 73 83 31 55 63 53 66 64 55 20 53 67 76 03 19 46 61 57 86 93 35 27 28 29 68 00 47 47 98 96 Nevýhoda: i rozsáhlé tabulky jsou pro reálnou simulaci malé
2. Mechanické generátory Nejznámější mezi „generátory“ Kostka, mince, losování, otočné kruhy, … Speciální zařízení pro losování (SAZKA) Nevýhoda: pro počítačovou simulaci nepoužitelné (pomalé)
3. Fyzikální a chemické generátory Využití fyzikálních či chemických pochodů a principů, které mají náhodný charakter Např. interval mezi dopadem částic, šumové generátory využívající vlastností polovodičového přechodu, radioaktivní rozpad atomů, špičky v síti, intervaly mezi stiskem kláves Výhoda: jsou náhodné (TRNG), vhodné pro kryptografické aplikace Nevýhoda: nelze opakovat za stejných podmínek, jsou pomalejší
4. Aritmetické generátory (pseudonáhodná čísla) Metoda středu kvadrátu (von Neumannova metoda prostředních řádů druhé mocniny) Lineární kongruenční generátory A) Aditivní (Fibonacciův) xn+1 = xn + xn-k (mod m) B) Multiplikativní (Lehmerův) xn+1 = axn (mod m) C) Smíšený xn+1 = axn + c (mod m)
Vliv nastavení konstant x, c, a, m na periodu P (P ≤ m)
Vliv nastaveni konstant x, c, a, m na periodu P (P ≤ m)
Vliv nastaveni konstant x, c, a, m na periodu P (P ≤ m)
Konkrétní generátory Firemní generátor TEXAS INSTRUMENTS (pro kapesní kalkulačky) xn+1 = 24298xn + 9991 (mod 199017) Generátor firmy IBM xn+1 = 65539xn (mod 231) Millerův a Prenticeův generátor xn = xn-2 + xn-3 (mod 3137) Downhamův a Robertsův generátor xn+1 = 8192xn (mod 67099547)
Příklad – jak z reálných čísel dostat grafy Otočný kruh : Otočíme-li kruhem např. 10x, dostaneme 10 různých hodnot od 0 do 1 (nulu můžeme dostat, jedničku ne)
Příklad – jak z reálných čísel dostat grafy Aby bylo možné nakreslit histogram, je nutné rozdělit interval 0-1 na podintervaly – např. 0-0,25; 0,25-0,5; 0,5-0,75; 0,75-1.
Příklad – jak z reálných čísel dostat grafy