GENEROVÁNÍ NÁHODNÝCH ČÍSEL PSEUDONÁHODNÁ ČÍSLA
Oblasti využití generátorů náhodných čísel Statistika Loterie Kryptografie (kryptologie) Simulace
Simulační modely DETERMINISTICKÉ STOCHASTICKÉ (činnost systému ovlivňovaná náhodnými faktory) KOMBINOVANÉ Význam variability Podnikové procesy (činnosti) nejsou obvykle deterministické - obsahují různé prvky variability (rozdílná délka jejich trvání)
K provedení simulace je potřeba získat náhodná čísla tj. numerickou realizaci náhodných veličin A Přímé zakomponování náhodných jevů (do simulačního modelu), jenž byly stanoveny na základě údajů napozorovaných na real. modelu!!! PROBLÉM!!! ŘEŠENÍ B 1. Stanovení pravděpodobnostních zákonitostí (typ rozdělení náhodné veličiny a její parametry) na základě údajů napozorovaných na reálním modelu simulační experimenty běžného rozsahu = několik set tisíc hodnot 2. Generování hodnot náhodných jevů na základě zjištěných pravděpodobnostních zákonitostí v průběhu chodu simulačního modelu
Náhoda Nic není náhoda aneb Existuje náhoda nebo je vše předurčeno? Náhoda je blbec, Nehoda není náhoda Náhoda - něco, co může ale nemusí nastat, přičemž existenci či neexistenci daného jevu nelze ovlivnit.
Náhodný pokus, náhodný jev, náhodná veličina, rozdělení 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í, ) Náhodný veličina jeveličina, jejíž hodnota je dána výsledkem náhodného pokusu (např. jednička na kostce). Náhodná veličinajeurčena rozdělením pravděpodobnosti Rozdělení pravděpodobnosti náhodné veličiny pravidlo, kterým každému jevu popisovanému touto veličinou přiřazujeme určitou pravděpodobnost. Rozdělení pravděpodobnosti náhodné veličiny získáme, pokud každé hodnotě diskrétní náhodné veličiny, popř. intervalu hodnot spojité náhodné veličiny, přiřadíme pravděpodobnost.
Distribuční funkce Distribuční funkce F(x) popisuje rozložení pravděpodobnosti mezi náhodné jevy, F(x) je rovno pravděpodobnosti, že náhodná veličina X nabude hodnoty menší nebo rovno x Pro každé reálné x je distribuční funkce neklesající Pro každé reálné x platí
Hustota pravděpodobnosti, pravděpodobnostní funkce Hustota pravděpodobnosti f(x) derivace spojité distribuční funkce F(x) pro všechna reálná x je Pravděpodobnostní funkce P(x) pro diskrétní veličiny pro všechna reálná x i platí celkový součet f(x i ) je roven 1
Hustota pravděpodobnosti, distribuční funkce Normální normované rozdělení N(0,1) Rovnoměrné rozdělení R(0,1)
F(x) příklad hod kostkou 1 5/6 2/3 1/2 1/3 1/6 1 2 3 4 5 6
Střední hodnota, rozptyl, směrodatná odchylka Střední hodnota E(x) charakteristika polohy Rozptyl D(x) je střední hodnota čtverců odchylek hodnot náhodné veličiny od její střední hodnoty E(x). Charakterizuje variabilitu náhodné veličiny. Směrodatná odchylka odmocnina rozptylu
Základní druhy rozdělení DISKRÉTNÍ ROZDĚLENÍ SPOJITÁ ROZDĚLENÍ Rovnoměrné rozdělení Binomické rozdělení Poissonovo rozdělení Negativně binomické rozdělení Pascalovo rozdělení Geometrické rozdělení Hypergeometrické rozdělení Logaritmické rozdělení Rovnoměrné rozdělení Normální rozdělení Exponenciální rozdělení Laplaceovo rozdělení Logistické rozdělení Maxwellovo rozdělení Studentovo rozdělení Fischer-Snedecorovo rozdělení Χ² rozdělení (Chí kvadrát)
Exponenciální rozdělení nejčastěji používané rozdělení v simulaci generování intervalů mezi po sobě následujícími příchody požadavků, délka trvání činností, výskyty poruch λ intenzita příchodů, tj.počet příchodů za jednotku času 1/ λ interval mezi po sobě následujícími příchody Hustota pravděpodobnosti Distribuční funkce Střední hodnota Hustota pravděpodobnosti pro parametry λ = 2 Rozptyl
Rovnoměrné rozdělení R(0,1) základ pro generování dalších náhodných veličin simulace délky trvání činností Hustota pravděpodobnosti Distribuční funkce Střední hodnota Hustota pravděpodobnosti rovnoměrného rozdělení R(4,8) Rozptyl
Normální rozdělení zachycení chyby při fyzikálních měřeních a ekonomických pozorováních generování dob trvání činností (! správná volba střední hodnoty, jinak záporné a vybočující hodnoty!) Hustota pravděpodobnosti Střední hodnota Rozptyl Hustota pravděpodobnosti pro parametry μ = 5, σ 2 = 1
Poissonovo rozdělení generování počtu příchozích entit do systému, počtu vadných výrobků, počtu vad na jeden výrobek, počet přerušení provozu za danou časovou jednotku λ intenzita příchodů, tj. průměrný počet příchodů za jednotku času Pravděpodobnostní funkce Střední hodnota Rozptyl Pravděpodobnostní funkce pro λ =3 a λ =8
Binomické rozdělení náhodná veličina X popisuje rozdělení počtu nastoupení jevu příznivého v n nezávislých realizacích náhodného pokusu dva parametry: n a p pravděpodobnost nastoupení příznivého jevu Pravděpodobnostní funkce Střední hodnota Rozptyl Pravděpodobnostní funkce s parametry n = 10 a p = 0,2
Jaký typ rozdělení vůbec generovat? data známé z reálného systému stanovení jaké hodnoty proces generuje: spojité nebo diskrétní stanovení jestli je proces stacionární nebo nestacionární oční testy analýza základních charakteristik rozdělení aplikace statistických testů testy dobré shody data neznámé hledání analogie s jinými procesy odhady expertů na daný problém
Postup generování náhodných čísel PRIMÁRNÍ GENERÁTORY generování posloupnosti náhodných čísel s rovnoměrným rozdělením SEKUNDÁRNÍ GENERÁTORY transformace rovnoměrně rozdělených veličin na veličiny s libovolným rozdělením
Generování náhodných čísel 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
Jak generovat náhodná čísla 1. Tabulky náhodných čísel 2. Mechanické generátory 3. Fyzikální generátory 4. Aritmetické generátory
Tabulky náhodných čísel pro výpočty malého rozsahu (Tippetove tabulky 40 000 čísel, atd ). po převedení do elektronické podoby počítač z ní načítá náhodná čísla. Příklad tabulky náhodných čísel: 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 Výhoda: kvalitní data Nevýhoda: i nejrozsáhlejší tabulky jsou již malé
Mechanické generátory (TRN generátory) nejvíce známé hrací kostka při hře, nebo házení mincí. tam, kde na výsledku hodně záleží, jsou pro účely losování zhotoveny speciální přístroje (např. pro sázkové hry podniku SAZKA). Nevýhoda: pro simulaci na počítači nepoužitelné
Fyzikální generátory (TRN generátory) využití jistých fyzikálních pochodů, které mají náhodný charakter, např. počítání intervalů mezi rádioaktivními rozpady jednotlivých atomů, šumové generátory využívající vlastnosti polovodičového přechodu, atd. princip připojení zařízení, které registruje určité fyzikální pochody k počítači Výhoda: jsou náhodné Nevýhoda: nelze je reprodukovat, opakovat simulaci za stejných podmínek
Fyzikální generátory (TRN generátory) lávové lampy 60. a 70. léta, obrazy probublávajících barevných kuliček kapaliny v osvětlené zúžené žárovce snímány několika kamerami, tzv. lavarand. SG100 1999, komerční hardwarový generátor, generování na základě tepelného šumu připojeného rezistoru HotBit server, kde lze objednat náhodná čísla, generování na základě časového průběhu radioaktivního rozpadu částic, jak je zaznamenáván Geiger- Müllerovou trubicí.
Aritmetické generátory (PRN generátory) nejpoužívanějšími generátory pro účely počítačové simulace, náhodná čísla tvořena aritmetickými procedurami pomocí rekurentních výpočtů v nichž následující číslo deterministicky závisí na jednom či více předchozích číslech. čísla takto získaná označujeme jako čísla pseudonáhodná (jde o výpočet, nikoliv o náhodu) vlastnosti odpovídající RN: nezávislost a rovnoměrné rozložení na požadovaném intervalu Generování náhodných čísel spočívá v paradoxu, že náhoda může být vypočtena!
Kongruenční generátory Lineární kongruenční generátory (Lehmer, 1948) A) Smíšený x n+1 = a x n + c (mod m) B) Multiplikativní x n+1 = a x n (mod m) C) Aditivní, např. x n+1 = x n + x n-1 (mod m) x 0, a, c, m vhodně zvolená čísla x 0 násada, semínko, tzv. seed modulo m (celé číslo, m 0, zbytek po celočíselném dělení) Proměnná x může nabývat pouze konečného počtu hodnot P (perioda generátoru), platí že
Smíšený lineární kongruenční generátor n x n 11x n +9 (11x n +9)(mod 13) 1 7 86 8 2 8 97 6 3 6 75 10 4 10 119 2 5 2 31 5 6 5 64 12 7 12 141 11 8 11 130 0 9 0 9 9 10 9 108 4 11 4 53 1 12 1 20 7 13 7 86 8 Výpočet x 2
Vliv nastaveni konstant x, c, a, m na periodu P x n+1 = a x n + c 1,4,0,3,6,2,5, 1,4,0,3,6,2,5, 1,4,0,3,6,2,5,
Vliv nastaveni konstant x, c, a, m na periodu P x n+1 = a x n + c
Vliv nastaveni konstant x, c, a, m na periodu P x n+1 = a x n + c
Testování náhodných čísel Ověření, zda generátor poskytuje hodnoty, které lze považovat za nezávislé hodnoty rozdělení R(0,1). tzv. empirické testy náhodnosti (hodnocení na základě statistik získaných z generovaných posloupnosti a jejich porovnání s hodnotami statistik vypočtenými za předpokladu náhodnosti) testy teoretické, vycházející z teorie čísel, zkoumání parametrů generátoru. žádný test nedává definitivní jistotu, úspěšnost v několika testech zvyšuje důvěru v náhodnost čísel. čísla generovaná počítačem jsou prohlášena za náhodná, jestliže testy nemohou odhalit rozdíl mezi čísly získané aritmetickým generátorem a skutečně náhodnou posloupností.
Metody transformace náhodných čísel na hodnoty náhodných veličin Vygenerujeme náhodné číslo z intervalu R (0,1), to pak transformujeme pomocí vhodné metody na náhodnou veličinu zvoleného rozdělení ( exponenciálního, ) Metoda inverzní transformace Zamítací metoda Kompoziční metoda
Metoda inverzní transformace Předpoklad: Existuje rostoucí distribuční funkce F(x) pro náhodnou veličinu X a také funkce k ní inverzní F -1 (x) Nalezne se inverzní funkce k distribuční funkci požadovaného rozdělení. Generuji hodnoty R(0,1) a pomocí inverzní funkce získám požadované hodnoty. Příklad: Pokud má požadovaná náhodná veličina distribuční funkci F(x) a máme-li generátor spojitého rozdělení U na intervalu (0,1) lze veličinu X s požadovaným rozdělením získat jako X=F -1 (U) ( kvantilová funkce) b X F -1 a 0 1 U
Požadavky na generátory náhodných čísel dlouhá perioda generování "dobré" pseudonáhodné posloupnosti (PP) = délka PP by měla být zlomkem délky periody generátoru lineární kongruenční generátor - délka periody minimálně 2 60, nejlépe volit periodu alespoň o rád vetší, než je druhá mocnina počtu generovaných čísel, někteří autoři doporučují 2 131086 efektivita uspokojující rychlost, využívání paměti počítače v co nejmenší možné míře opakovatelnost vlastnost důležitá především pro simulační úlohy, existence možnosti generovat shodné pseudonáhodné posloupnosti přenositelnost snadná implementace a plná funkčnost generátoru na různých platformách, hardwarových i softwarových nevypočitatelnost z vygenerované posloupnosti by nemělo být možné v rozumném čase určit, jaké číslo bude následovat (kasina, internet) úspěšnost v empirických testech ověřování hypotézy H0: "vygenerované hodnoty jsou nezávislá náhodná čísla z rovnoměrného rozdělení na intervalu (0,1)". skok dopředu je schopnost genetátoru spočítat xn+v na základě znalosti xn popřípadě x0 aníž bychom počítali hodnoty mezi
Literatura Hušek, R., Lauber,J. Simulační modely, SNTL/Alfa Praha 1987 Kuneš, J., Vavroch, O., Franta,V. Základy modelování, SNTL Praha 1989 Rábová, Z., Češka, M., Zendulka, J. Modelování a simulace, SNTL Praha 1982 Dlouhý, M., Fábry, J., Kuncová, M., Hladík, T. Simulace podnikových procesů, Computer Press, a.s. Brno, 2007 Keřkovský, M., Moderní přístupy k řízení výroby, C. H. Beck Praha 2001 Havrila, M., Počítačové projektovanie, Prešov, 2008, ISBN 978-80-553-0047-4 Havrila, M., Trendy v počítačovom projektovaní výrobných systémov, online cit. [201303-30], dostupné z http://www.fvt.tuke.sk/journal/pdf09/1-str-88-91.pdf Havrila, M., Tendencie v rozvoji počítačovej simulácie výrobných systémov. Manufacturing Engineering/Výrobné inžinierstvo, FVT TU Prešov, č. 3, 2008, VII, str. 21-23, ISSN 1335-7972 Geta Centrum s.r.o, Optimalizace pracoviště v digitální továrně, Baumbruk, M., Výhody integrace komponent digitální továrny: od PLM až k virtuálnímu ověřování, Siemens PLM software Lacko, B., Navrhování systémů řízení, Studijní text, Brno, 2006 Leeder, E., Digitální továrna mocný nástroj pro průmyslovou výrobu, AUTOMA 7/2008, s.56-58, Mareček, P., Virtuální simulace výroby aneb Digitální továrna, IT SYSTEMS 9/2006, on-line cit. [2013-12-4], dostupné z http://www.systemonline.cz/rizeni-vyroby/virtualni-simulace-vyroby-aneb-digitalni-tovarna.htm PLM Siemens, online cit. [2014-02-28], https://www.plm.automation.siemens.com/en_us/academic/resources/tecnomatix/index.shtml