Ako funguje program generátora náhodných čísel. Čo je generátor náhodných čísel

15.03.2019

Všimnite si, že ideálne krivka hustoty distribúcie náhodné čísla bude vyzerať ako na obr. 22.3. To znamená, že v ideálnom prípade do každého intervalu pripadá rovnaký počet bodov: N i = N/k , kde N celkový počet bodov, k počet intervalov, i= 1, ½, k .

Ryža. 22.3. Frekvenčný graf vypadávania náhodných čísel,
teoreticky generovaný ideálnym generátorom

Malo by sa pamätať na to, že generovanie ľubovoľného náhodného čísla pozostáva z dvoch fáz:

  • generovanie normalizovaného náhodného čísla (t. j. rovnomerne rozdeleného od 0 do 1);
  • transformácia normalizovaných náhodných čísel r i do náhodných čísel X i, ktoré sú distribuované podľa (ľubovoľného) distribučného zákona požadovaného užívateľom alebo v požadovanom intervale.

Generátory náhodných čísel sa podľa spôsobu získavania čísel delia na:

  • fyzické;
  • tabuľkový;
  • algoritmický.

Fyzické RNG

Príklady fyzických RNG sú: minca („orol“ 1, „chvosty“ 0); kocky; bubon so šípkou rozdelený na sektory s číslami; hardvérový generátor šumu (GS), ktorý sa používa ako hlučné tepelné zariadenie, napríklad tranzistor (obr. 22.422.5).

Ryža. 22.4. Schéma hardvérovej metódy na generovanie náhodných čísel
Ryža. 22.5. Schéma získavania náhodných čísel hardvérovou metódou
Úloha „Generovanie náhodných čísel pomocou mince“

Pomocou mince vygenerujte náhodné 3-miestne číslo rovnomerne rozdelené medzi 0 a 1. Presnosť na tri desatinné miesta.

Prvý spôsob, ako vyriešiť problém
Hoďte mincou 9-krát a ak minca spadla chvostom, zapíšte „0“, ak hlavy, potom „1“. Povedzme teda, že výsledkom experimentu je náhodná postupnosť 100110100.

Nakreslite interval od 0 do 1. Čítajte čísla v poradí zľava doprava, rozdeľte interval na polovicu a zakaždým vyberte jednu z častí nasledujúceho intervalu (ak vypadla 0, potom doľava, ak vypadla 1, potom správny). Takto sa môžete dostať do ľubovoľného bodu v intervale ľubovoľne presne.

takže, 1 : interval je rozdelený na polovicu a , je zvolená pravá polovica, interval sa zužuje: . Ďalšie číslo 0 : interval je rozdelený na polovicu a , je zvolená ľavá polovica, interval sa zužuje: . Ďalšie číslo 0 : interval je rozdelený na polovicu a , je zvolená ľavá polovica, interval sa zužuje: . Ďalšie číslo 1 : interval je rozdelený na polovicu a , je zvolená pravá polovica, interval sa zužuje: .

Podľa podmienky presnosti úlohy sa nájde riešenie: je to ľubovoľné číslo z intervalu , napríklad 0,625.

V zásade, ak pristupujeme striktne, tak v delení intervalov treba pokračovať dovtedy, kým sa ľavá a pravá hranica nájdeného intervalu navzájom nezhodujú s presnosťou na tretie desatinné miesto. To znamená, že pokiaľ ide o presnosť, vygenerované číslo už nebude odlíšiteľné od žiadneho čísla z intervalu, v ktorom sa nachádza.

Druhý spôsob riešenia problému
Rozložme výslednú binárnu postupnosť 100110100 na triády: 100, 110, 100. Po preložení týchto binárne čísla v desatinných číslach dostaneme: 4, 6, 4. Nahradením „0.“ dopredu dostaneme: 0,464. Touto metódou je možné získať iba čísla od 0,000 do 0,777 (keďže maximum, ktoré možno „vytlačiť“ z troch binárnych číslic, je 111 2 = 7 8), čiže tieto čísla sú v skutočnosti zastúpené v osmičkovej číselnej sústave. Na preklad osmičkovýčísla v desiatkový prezentácia je spustiteľná:
0,464 8 = 4 8 1 + 6 8 2 + 4 8 3 = 0,6015625 10 = 0,602 10.
Takže požadované číslo je: 0,602.

Tabuľkový RNG

Tabuľkové RNG ako zdroj náhodných čísel využívajú špeciálne zostavené tabuľky obsahujúce overené nekorelované, teda čísla, ktoré na sebe nijako nezávisia. V tabuľke. 22.1 ukazuje malý fragment takejto tabuľky. Prechádzaním tabuľky zľava doprava zhora nadol môžete získať náhodné čísla rovnomerne rozdelené od 0 do 1 s požadovaným počtom desatinných miest (v našom príklade používame tri desatinné miesta pre každé číslo). Keďže čísla v tabuľke na sebe nezávisia, tabuľku je možné obísť rôzne cesty, napríklad zhora nadol alebo sprava doľava, alebo, povedzme, môžete vybrať čísla, ktoré sú na párnych pozíciách.

Tabuľka 22.1.
Náhodné čísla. Rovnomerne
rozdelené od 0 do 1 náhodných čísel
náhodné čísla rovnomerne rozložené
0 až 1 náhodné čísla
9 2 9 2 0 4 2 6 0.929
9 5 7 3 4 9 0 3 0.204
5 9 1 6 6 5 7 6 0.269
… …

Výhodou tejto metódy je, že dáva skutočne náhodné čísla, keďže tabuľka obsahuje overené nekorelované čísla. Nevýhody metódy: na uloženie veľkého počtu číslic je potrebná veľká pamäť; veľké ťažkosti pri vytváraní a kontrole takýchto tabuliek, opakovania pri použití tabuľky už nezaručujú náhodnosť číselnej postupnosti, a teda spoľahlivosť výsledku.

Existuje tabuľka obsahujúca 500 absolútne náhodne overených čísel (prevzatých z knihy I. G. Venetského, V. I. Venetskej "Základné matematické a štatistické pojmy a vzorce v ekonomickej analýze").

Algoritmický RNG

Čísla vygenerované pomocou týchto RNG sú vždy pseudonáhodné (alebo kvázi náhodné), to znamená, že každé nasledujúce vygenerované číslo závisí od predchádzajúceho:

r i + 1 = f(r i) .

Postupnosti vytvorené z takýchto čísel tvoria slučky, to znamená, že nevyhnutne existuje cyklus, ktorý sa opakuje nekonečne veľakrát. Opakujúce sa cykly sa nazývajú periódy.

Výhodou dát RNG je rýchlosť; generátory prakticky nevyžadujú pamäťové zdroje, sú kompaktné. Nevýhody: čísla nemožno úplne nazvať náhodnými, pretože medzi nimi existuje závislosť, ako aj prítomnosť období v postupnosti kvázi náhodných čísel.

Zvážte niekoľko algoritmických metód na získanie RNG:

Metóda stredného štvorca

Existuje nejaké štvorciferné číslo R 0 Toto číslo sa odmocní a zapíše sa R jeden . Prichádzajúce z R 1 sa do stredu (štyri stredné číslice) zapíše nové náhodné číslo R 0 Potom sa postup opakuje (pozri obr. 22.6). Všimnite si, že v skutočnosti, ako náhodné číslo, je potrebné vziať nie ghij, a 0.ghij s nulou a desatinnou čiarkou pripojenými vľavo. Táto skutočnosť sa odráža na obr. 22.6 av nasledujúcich podobných číslach.

Ryža. 22.6. Schéma metódy stredných štvorcov

Nevýhody metódy: 1) ak pri nejakej iterácii číslo R 0 sa stane nulou, potom generátor degeneruje, preto je dôležitá správna voľba počiatočnej hodnoty R 0; 2) generátor zopakuje sekvenciu M n kroky (v najlepšom prípade), kde n dĺžka slova R 0 , M základ číselnej sústavy.

Napríklad na obr. 22.6 : ak číslo R 0 bude reprezentovaná v binárnom číselnom systéme, potom sa postupnosť pseudonáhodných čísel bude opakovať po 2 4 = 16 krokoch. Všimnite si, že opakovanie sekvencie môže nastať aj skôr, ak je počiatočné číslo zvolené neúspešne.

Vyššie opísaná metóda bola navrhnutá Johnom von Neumannom a pochádza z roku 1946. Keďže sa táto metóda ukázala ako nespoľahlivá, rýchlo sa od nej upustilo.

Metóda stredných produktov

číslo R 0 vynásobené R 1 z výsledku R 2 je stred odstránený R 2 * (toto je ďalšie náhodné číslo) a vynásobené R jeden . Podľa tejto schémy sa vypočítajú všetky nasledujúce náhodné čísla (pozri obr. 22.7).

Ryža. 22.7. Schéma metódy mediánových produktov

Spôsob miešania

Metóda miešania používa operácie na otáčanie obsahu bunky doľava a doprava. Myšlienka metódy je nasledovná. Nechajte bunku uložiť počiatočné číslo R 0 Cyklickým posunutím obsahu bunky doľava o 1/4 dĺžky bunky dostaneme nové číslo R 0*. Podobne cyklickým posúvaním obsahu bunky R 0 doprava o 1/4 dĺžky bunky, dostaneme druhé číslo R 0**. Súčet čísel R 0 * a R 0** dáva nové náhodné číslo R jeden . Ďalej R 1 sa zapisuje R 0 a celý sled operácií sa zopakuje (pozri obr. 22.8).


Ryža. 22.8. Schéma spôsobu miešania

Všimnite si, že číslo vyplývajúce zo súčtu R 0 * a R 0 ** , nemusí sa úplne zmestiť do bunky R jeden . V tomto prípade by sa z prijatého čísla mali vyradiť ďalšie číslice. Vysvetlime to na obr. 22.8, kde sú všetky bunky reprezentované ôsmimi binárnymi číslicami. Nechať byť R 0 * = 10010001 2 = 145 10 , R 0 ** = 10100001 2 = 161 10 , potom R 0 * + R 0 ** = 100110010 2 = 306 10 . Ako vidíte, číslo 306 zaberá 9 číslic (v binárnom číselnom systéme) a bunka R 1 (ako aj R 0) môže obsahovať maximálne 8 bitov. Preto pred zadaním hodnoty v R 1 je potrebné odstrániť jeden „extra“, bit úplne vľavo z čísla 306, čo má za následok R 1 už nepôjde 306, ale 00110010 2 = 50 10 . Všimnite si tiež, že v jazykoch, ako je Pascal, sa „skracovanie“ extra bitov pri pretečení bunky vykonáva automaticky v súlade s daným typom premennej.

Lineárna kongruentná metóda

Lineárna kongruenciálna metóda je jedným z najjednoduchších a v súčasnosti najpoužívanejších postupov, ktoré simulujú náhodné čísla. Táto metóda používa mod( X, r), ktorý vráti zvyšok po vydelení prvého argumentu druhým. Každé nasledujúce náhodné číslo sa vypočíta na základe predchádzajúceho náhodného čísla pomocou nasledujúceho vzorca:

r i+ 1 = mod( k · r i + b, M) .

Postupnosť náhodných čísel získaných pomocou tohto vzorca sa nazýva lineárna kongruentná postupnosť. Mnohí autori označujú lineárnu kongruentnú postupnosť ako b = 0 multiplikatívna kongruentná metóda, a kedy b ≠ 0 — zmiešaná kongruentná metóda.

Pre kvalitný generátor je potrebné zvoliť vhodné koeficienty. Je potrebné, aby číslo M bola dosť veľká, keďže obdobie nemôže mať viac M prvkov. Na druhej strane rozdelenie použité v tejto metóde je dosť pomalá operácia, takže pre binárny počítač by bola logická voľba M = 2 N, pretože v tomto prípade sa nájdenie zvyšku delenia vo vnútri počítača zredukuje na binárnu logickú operáciu „AND“. Bežný je aj výber najväčšieho prvočísla M, menej ako 2 N: v odbornej literatúre je dokázané, že v tomto prípade ide o najmenej významné číslice výsledného náhodného čísla r i+ 1 sa správa rovnako náhodne ako staršie, čo má pozitívny vplyv na celú postupnosť náhodných čísel ako celok. Príkladom je jeden z Mersennove čísla, rovná sa 2 31 1 , a teda M= 2 31 1 .

Jednou z požiadaviek na lineárne kongruentné postupnosti je čo najdlhšia perióda. Dĺžka obdobia závisí od hodnôt M , k a b. Veta, ktorú uvádzame nižšie, nám umožňuje určiť, či je možné dosiahnuť periódu maximálnej dĺžky pre konkrétne hodnoty M , k a b .

Veta. Lineárna kongruentná postupnosť definovaná číslami M , k , b a r 0, má obdobie dĺžky M vtedy a len vtedy, ak:

  • čísla b a M nesúdeliteľné;
  • k 1 x p pre každú jednoduchú p, čo je deliteľ M ;
  • k 1 je násobkom 4, ak M násobok 4.

Nakoniec na záver uvedieme niekoľko príkladov použitia lineárnej kongruenciálnej metódy na generovanie náhodných čísel.

Zistilo sa, že séria pseudonáhodných čísel vygenerovaných na základe údajov z príkladu 1 sa bude opakovať vždy M/4 čísla. číslo q je nastavený svojvoľne pred začiatkom výpočtov, treba však mať na pamäti, že séria vo všeobecnosti pôsobí náhodným dojmom k(a preto q). Výsledok sa dá mierne zlepšiť, ak b nepárne a k= 1 + 4 q v tomto prípade sa séria bude opakovať vždy Mčísla. Po dlhom hľadaní k výskumníci sa ustálili na hodnotách 69069 a 71365.

Generátor náhodných čísel s použitím údajov z príkladu 2 vytvorí náhodné neopakujúce sa čísla s periódou 7 miliónov.

Multiplikatívna metóda na generovanie pseudonáhodných čísel bola navrhnutá D. H. Lehmerom v roku 1949.

Kontrola kvality generátora

Od kvality RNG závisí kvalita celého systému a presnosť výsledkov. Náhodná sekvencia generovaná RNG preto musí spĺňať množstvo kritérií.

Vykonávané kontroly sú dvoch typov:

  • kontroly rovnomernej distribúcie;
  • testovanie štatistickej nezávislosti.

Kontroluje rovnomerné rozloženie

1) RNG by sa mal približovať nasledujúcim hodnotám štatistických parametrov charakteristických pre jednotný náhodný zákon:

2) Test frekvencie

Frekvenčný test umožňuje zistiť, koľko čísel spadá do intervalu (m r – σ r ; m r + σ r) t.j. (0,5 0,2887; 0,5 + 0,2887) alebo prípadne (0,2113; 0,7887). Keďže 0,7887 0,2113 = 0,5774 , dospejeme k záveru, že v dobrom RNG by do tohto intervalu malo spadať asi 57,7 % všetkých vyžrebovaných náhodných čísel (pozri obr. 22.9).

Ryža. 22.9. Frekvenčný diagram ideálneho RNG
v prípade kontroly na frekvenčný test

Treba tiež vziať do úvahy, že počet čísel v intervale (0; 0,5) by sa mal približne rovnať počtu čísel v intervale (0,5; 1) .

3) Chí-kvadrát test

Chí-kvadrát test (χ 2 -test) je jedným z najznámejších štatistických testov; je to hlavná metóda používaná v kombinácii s inými kritériami. Test chí-kvadrát navrhol v roku 1900 Karl Pearson. Jeho pozoruhodná práca je považovaná za základ modernej matematickej štatistiky.

V našom prípade nám chí-kvadrát test umožní zistiť, koľko sme vytvorili reálny RNG je blízko referenčnej RNG, t. j. či spĺňa požiadavku rovnomernej distribúcie alebo nie.

frekvenčný graf odkaz RNG je znázornené na obr. 22.10. Keďže distribučný zákon referenčného RNG je rovnomerný, (teoretická) pravdepodobnosť p i biť čísla v i-tý interval (celkový počet týchto intervalov k) rovná sa p i = 1/k . A teda v každom k intervaly budú klesať hladké na p i · N čísla ( N — Celkom generované čísla).

Ryža. 22.10. Frekvenčný diagram referenčného RNG

Skutočný RNG bude produkovať čísla rozdelené (a nie nevyhnutne rovnomerne!) k intervaloch a každý interval bude zahŕňať n ičísla (celkom n 1 + n 2 + ½ + n k = N ). Ako môžeme určiť, nakoľko je testovaný RNG kvalitný a blízky referenčnému? Je celkom logické zvážiť štvorce rozdielov medzi prijatými číslami n i a "odkaz" p i · N . Sčítajme ich a výsledkom je:

χ 2 exp. =( n 1 p jeden · N) 2 + (n 2 p 2 · N) 2 + + ( n k – p k · N) 2 .

Z tohto vzorca vyplýva, že čím menší je rozdiel v každom z výrazov (a teda tým menší menšiu hodnotuχ 2 exp. ), tým silnejší je zákon rozdelenia náhodných čísel generovaných skutočným RNG.

V predchádzajúcom výraze je každému z výrazov priradená rovnaká váha (rovná sa 1), čo v skutočnosti nemusí byť pravda; preto je pre štatistiku chí-kvadrát potrebné každú normalizovať ičlen, delením podľa p i · N :

Nakoniec napíšme výsledný výraz kompaktnejšie a zjednodušíme ho:

Získali sme hodnotu chí-kvadrát testu pre experimentálneúdajov.

V tabuľke. 22.2 sú dané teoretická hodnoty chí-kvadrát (χ 2 teor.), kde ν = N 1 je počet stupňov voľnosti, p je užívateľom špecifikovaná úroveň spoľahlivosti, ktorá udáva, do akej miery má RNG spĺňať požiadavky na rovnomernú distribúciu, príp p — je pravdepodobnosť, že experimentálna hodnota χ 2 exp. bude menšia ako tabuľková (teoretická) χ 2 teor. alebo sa mu rovná.

Tabuľka 22.2.
Niekoľko percentuálnych bodov χ 2 -distribúcie
p = 1 % p = 5 % p = 25 % p = 50 % p = 75 % p = 95 % p = 99 %
ν = 1 0.00016 0.00393 0.1015 0.4549 1.323 3.841 6.635
ν = 2 0.02010 0.1026 0.5754 1.386 2.773 5.991 9.210
ν = 3 0.1148 0.3518 1.213 2.366 4.108 7.815 11.34
ν = 4 0.2971 0.7107 1.923 3.357 5.385 9.488 13.28
ν = 5 0.5543 1.1455 2.675 4.351 6.626 11.07 15.09
ν = 6 0.8721 1.635 3.455 5.348 7.841 12.59 16.81
ν = 7 1.239 2.167 4.255 6.346 9.037 14.07 18.48
ν = 8 1.646 2.733 5.071 7.344 10.22 15.51 20.09
ν = 9 2.088 3.325 5.899 8.343 11.39 16.92 21.67
ν = 10 2.558 3.940 6.737 9.342 12.55 18.31 23.21
ν = 11 3.053 4.575 7.584 10.34 13.70 19.68 24.72
ν = 12 3.571 5.226 8.438 11.34 14.85 21.03 26.22
ν = 15 5.229 7.261 11.04 14.34 18.25 25.00 30.58
ν = 20 8.260 10.85 15.45 19.34 23.83 31.41 37.57
ν = 30 14.95 18.49 24.48 29.34 34.80 43.77 50.89
ν = 50 29.71 34.76 42.94 49.33 56.33 67.50 76.15
ν > 30 ν + sqrt(2 ν ) · X p+ 2/3 X 2 p 2/3+ O(1/sqrt( ν ))
X p = 2.33 1,64 0,674 0.00 0.674 1.64 2.33

Považujte za prijateľné p od 10 % do 90 %.

Ak χ 2 exp. oveľa viac ako χ 2 teor. (teda p je veľký), potom generátor nevyhovuje požiadavka rovnomerného rozdelenia, keďže pozorované hodnoty n iísť príliš ďaleko od teórie p i · N a nemožno ho považovať za náhodný. Inými slovami, je stanovený taký veľký interval spoľahlivosti, že obmedzenia na čísla sa veľmi uvoľnia, požiadavky na čísla sú slabé. V tomto prípade bude pozorovaná veľmi veľká absolútna chyba.

Dokonca aj D. Knuth vo svojej knihe „The Art of Programming“ poznamenal, že mať χ 2 exp. malý tiež vo všeobecnosti nie je dobrý, aj keď sa na prvý pohľad zdá pozoruhodný z hľadiska uniformity. Skutočne, vezmite sériu čísel 0,1, 0,2, 0,3, 0,4, 0,5, 0,6, 0,7, 0,8, 0,9, 0,1, 0,2, 0,3, 0,4, 0,5, 0,6, sú ideálne z hľadiska rovnomernosti 2 a χ budú prakticky nulové, ale je nepravdepodobné, že by ste ich rozpoznali ako náhodné.

Ak χ 2 exp. oveľa menej ako χ 2 teor. (teda p malý), potom generátor nevyhovuje požiadavka náhodného rovnomerného rozdelenia, keďže pozorované hodnoty n i príliš blízko k teoretickému p i · N a nemožno ho považovať za náhodný.

Ale ak χ 2 exp. leží v určitom rozsahu, medzi dvoma hodnotami χ 2 teor. , ktoré zodpovedajú napr. p= 25 % a p= 50%, potom môžeme predpokladať, že hodnoty náhodných čísel generovaných senzorom sú úplne náhodné.

Okrem toho treba mať na pamäti, že všetky hodnoty p i · N musí byť dostatočne veľká, napríklad väčšia ako 5 (zistené empiricky). Až potom (pri dostatočne veľkej štatistickej vzorke) možno experimentálne podmienky považovať za vyhovujúce.

Postup overovania je teda nasledujúci.

Testy štatistickej nezávislosti

1) Kontrola frekvencie výskytu číslice v sekvencii

Zvážte príklad. Náhodné číslo 0,2463389991 sa skladá z číslic 2463389991 a číslo 0,5467766618 sa skladá z číslic 5467766618. Spojením postupností číslic dostaneme: 24633899666187777

Je jasné, že teoretická pravdepodobnosť p i spad ičíslica (od 0 do 9) je 0,1.

2) Kontrola vzhľadu sérií identických čísel

Označiť podľa n L počet sérií rovnakých po sebe nasledujúcich číslic dĺžky L. Všetko je potrebné skontrolovať L od 1 do m, kde m je číslo zadané používateľom: maximálny počet rovnakých číslic, ktoré sa vyskytujú v sérii.

V príklade „24633899915467766618“ boli nájdené 2 série dĺžky 2 (33 a 77), tj. n 2 = 2 a 2 séria dĺžky 3 (999 a 666), t.j. n 3 = 2 .

Pravdepodobnosť radu s dĺžkou L rovná sa: p L= 910 L (teoretické). To znamená, že pravdepodobnosť výskytu série s dĺžkou jedného znaku sa rovná: p 1 = 0,9 (teoreticky). Pravdepodobnosť výskytu dvojznakovej série je: p 2 = 0,09 (teoreticky). Pravdepodobnosť výskytu trojznakovej série je: p 3 = 0,009 (teoreticky).

Napríklad pravdepodobnosť výskytu radu s dĺžkou jedného znaku sa rovná p L= 0,9 , pretože môže byť len jeden znak z 10 a iba 9 znakov (nula sa nepočíta). A pravdepodobnosť, že sa stretnú dva rovnaké znaky „XX“ za sebou, je 0,1 0,1 9, čiže pravdepodobnosť 0,1, že sa na prvej pozícii objaví znak „X“, sa vynásobí pravdepodobnosťou 0,1, že ten istý znak sa objaví na druhej pozícii "X" a vynásobí sa počtom takýchto kombinácií 9.

Frekvencia výskytu radov sa vypočíta podľa vzorca „chí-kvadrát“, ktorý sme predtým analyzovali pomocou hodnôt p L .

Poznámka: Generátor je možné skontrolovať viackrát, ale kontroly nie sú úplné a nezaručujú, že generátor vytvára náhodné čísla. Napríklad generátor, ktorý vytvára sekvenciu 12345678912345, bude počas kontrol považovaný za ideálny, čo samozrejme nie je úplne pravda.

Na záver poznamenávame, že tretia kapitola knihy „The Art of Programming“ od Donalda E. Knutha (zväzok 2) je kompletne venovaná štúdiu náhodných čísel. Skúma rôzne metódy na generovanie náhodných čísel, štatistické kritériá náhodnosti a transformáciu rovnomerne rozdelených náhodných čísel na iné typy náhodných premenných. Prezentácii tohto materiálu bolo venovaných viac ako dvesto strán.

Na makroskopických náhodných procesoch pomocou takých jednoduchých položiek, ako sú kocky, ruleta alebo mince, môžu byť založené generátory náhodných čísel. Teória chaosu a teória nestabilných dynamických systémov môžu vysvetliť prítomnosť nepredvídateľnosti v údajoch a dokonca aj makroskopické systémy, úplne definované Newtonovými rovnicami, majú v praxi často nepredvídateľný výstup, pretože závisí od mikroskopických detailov počiatočných podmienok.

Mimochodom, na našej webovej stránke môžete vygenerovať náhodné číslo pomocou Online generátora náhodných čísel.

Čo je generátor náhodných čísel a ako využíva náhodné fyzikálne procesy?

Rýchlosť získavania náhodných čísel postačujúce pre aplikované problémy nemôžu poskytnúť zariadenia založené na makroskopických náhodných procesoch. Zdroj šumu, z ktorého sa extrahujú náhodné bity, je teda základom moderného AGNG. Zdroje hluku sú dvoch typov: tie, ktoré majú kvantovú povahu a tie, ktoré nevyužívajú kvantové javy.

Niektorí prirodzený fenomén, ako je rádioaktívny rozpad atómov, sú absolútne náhodné a v zásade sa nedajú predpovedať (Davissonov-Germerov experiment možno považovať za jeden z prvých experimentov, ktoré dokazujú pravdepodobnostnú povahu niektorých javov), táto skutočnosť je dôsledkom tzv. zákony kvantovej fyziky. A zo štatistickej mechaniky vyplýva, že každý systém vo svojich parametroch má náhodné výkyvy ak sa teplota nerovná absolútnej nule.

Sofistikovaný generátor náhodných čísel.

Pre AGNG sú niektoré kvantovo mechanické procesy „zlatým štandardom“, pretože sú úplne náhodné. Použitie v generátory náhodných čísel javy zahŕňajú:

  • Výstrelný hluk je hluk, ktorý je spôsobený v elektrických obvodoch diskrétnosťou nosičov. nabíjačka a tento termín tiež označuje šum spôsobený v optických prístrojoch diskrétnosťou svetelného nosiča.
  • Spontánny parametrický rozptyl, možno použiť aj v generátory náhodných čísel.
  • Rádioaktívny rozpad – má náhodnosť ku každej z jednotlivých rozpadových udalostí, preto sa používa ako zdroj hluku. V dôsledku toho sa do prijímača dostane iný počet častíc v rôznych časových intervaloch (môže to byť Geigerov počítač alebo scintilačný počítač).

Je oveľa jednoduchšie odhaliť nekvantové javy, ale na ich základe generátory náhodných čísel, potom budú mať silnú závislosť od teploty (napríklad množstvo tepelného šumu bude úmerné teplote životné prostredie). Medzi tými, ktoré sa používajú v AGNG, možno zaznamenať nasledujúce procesy:

  • Tepelný šum v rezistore, po zosilnení, z ktorého sa získava generátor náhodného napätia. Na tomto jave bol založený najmä generátor čísel v počítači Ferranti Mark 1.
  • Atmosférický šum, ktorý je meraný rádiovým prijímačom, tu môžeme pripísať aj príjmu častíc prilietavajúcich z vesmíru na Zem, zaznamenaných prijímačom a ich počet bude náhodný, v rôznych časových intervaloch.
  • Rozdiel v rýchlosti hodín je jav, ktorý spočíva v tom, že priebeh rôznych hodín sa absolútne nezhoduje.

S cieľom získať z fyzikálneho náhodného procesu sekvencia náhodných bitov, existuje na to niekoľko prístupov. Jeden z nich spočíva v tom, že prijatý signál-šum je zosilnený, následne prefiltrovaný a privedený na vstup vysokorýchlostného napäťového komparátora, aby sa získal logický signál. Stavy porovnávača budú mať náhodné trvanie, čo vám umožňuje vytvárať postupnosť náhodných čísel meraním týchto stavov.

Druhý prístup spočíva v tom, že na vstup analógovo-digitálneho prevodníka sa privádza náhodný signál (možno použiť špeciálne zariadenia aj zvukový vstup počítača), čo je sekvencia náhodných čísel, ktorá bude mať za následok digitalizovaný signál a zároveň ho možno spracovať programovo .

Čo je generátor náhodných čísel a aké ďalšie javy využíva?

Pomocou fyzického náhodné procesygenerátory náhodných čísel, umožňujú získať dobré náhodné čísla, ale ich výroba je drahá a pomerne náročná (najmä pre tie AGNG, ktoré sú založené na rádioaktívnom rozpade), ale existujú aj iné dostupnejšie zdroje náhodnosti:

Jednoduché generovanie náhodných čísel.

Najneobvyklejším generátorom treba pripísať prácu digitálnych videokamier, ktoré využívajú snímanie makroskopických javov. Napríklad, na generovanie náhodných čísel, video záznam použil tím zo Silicon Graphics lávová lampa pretože vosk v lampe náhodne mení svoj tvar. Ako námet na fotenie poslúžia aj stuhy z ventilátora v prúde vzduchu alebo bubliny v akváriu.

Každý človek, bez ohľadu na mieru hazardu a dobrodružstva, tak či onak, narazil na niečo ako lotéria. A len málokto si položil otázku, ako dochádza k náhodnému rozdeleniu výherných kombinácií čísel. Ako vypadne jedno alebo druhé číslo? Čo spôsobuje, že miska váh klesá smerom k víťazovi? Zvážme to podrobne.

Všetci sme sa aspoň raz v živote stretli s takým fenoménom, akým je lotéria. Ale málokto si myslel alebo si predstavoval, ako presne tento systém funguje, čo je generátor čísel lotérie a aký je jeho princíp fungovania.

Koncept generátora čísel

Generátor náhodných čísel pre lotériu je určité zariadenie alebo daný program, ktorý generuje čísla, ktoré sú vo vybranom intervale v náhodnom (alebo skôr pseudonáhodnom) poradí. Pre určitý typ lotérií, napríklad „Sportloto“, sa generujú čísla, ktoré sú v rozsahu od 1 do 49.

Prideľte generátor čísel pre hardvér a softvér lotérie. V akomkoľvek programovacom jazyku existuje funkcia RAND (), je to ona, ktorá je zodpovedná za vydanie pseudo náhodné čísla v danom rozsahu.

Prečo sa tvrdí, že dané výsledky sú pseudonáhodné a že generátor čísel lotérie funguje presne na tomto princípe?

Funkcia RAND: koncept a spôsob použitia

Funkcia RAND() je program alebo napríklad prístroj s deterministickým algoritmom, ktorý bude za rovnakých podmienok neustále ukazovať rovnaké výsledky. Ale aby boli splnené podmienky skutočnej náhodnej postupnosti, nesmie existovať žiadna závislosť od počiatočných podmienok alebo parametrov. Preto, aby sa predišlo takýmto prípadom, dodatočne sa používa špeciálny postup RANDOMIZE, ktorý odstraňuje predvídateľnosť počiatočných podmienok a robí ich náhodnými.

Okrem nám už známeho princípu generovania sa používa iný typ generátora lotérií. Pozrime sa na to nižšie.

Generátor čísel 6 zo 45

Generátor čísel lotérie 6 zo 45 - program, ktorý sa používa na získanie šťastné čísla. Zároveň je možné nastaviť ďalšie parametre pre dosiahnutie lepšieho výsledku.

Môžete zadať kritériá výberu, napríklad:

  • Počet výherných čísel, ktoré sa dostanú do konečného výsledku.
  • Zadajte rozsah čísel, v ktorých sa výber uskutoční.
  • Triedenie čísel je možné nastaviť vo vzostupnom aj zostupnom poradí.
  • Vyberte typ a spôsob delenia.
  • Odstráňte duplikáty alebo ponechajte výber neroztriedený.
  • Skopírujte odkaz na výsledok a umiestnite ho na stránku v v sociálnych sieťach za účelom zverejnenia výsledku.

Generátor čísel: návod na použitie

  • Štandardne sa zobrazuje päť čísel. Zmenou nastavení môžete získať až 250 náhodných výherných kombinácií.
  • Rozsah nastavujeme, štandardne sa uvádza od 0 do 36, maximálne však môžete zadať 9 999 999 999.
  • Vyberáme triedenie potrebné pre náš typ lotérie: vzostupné, zostupné alebo usporiadanie čísel v náhodnom poradí.
  • Ďalším krokom je špecifikácia toho, ako budú čísla od seba oddelené – čiarka, bodka, medzera, bodkočiarka.
  • Zbavíme sa náhodných opakovaní, ktoré vznikli počas procesu vzorkovania.

Dostávame tak kvalitatívne vybrané čísla, ktoré môžu byť tie najšťastnejšie a najvýhernejšie.

Mnoho účastníkov lotérie nechce tráviť čas výberom výherná kombinácia a vyplnenie žrebu.

Na pomoc im väčšina špecializovaných lotériových stránok ponúka veľmi pohodlnú funkciu „Automatické vytáčanie“. O tom, čo to je a ako to funguje, si dnes povieme.

"Automatické nastavenie"

Táto funkcia je klasický generátor náhodných čísel, vynájdený od založenia prvých lotériových stránok a virtuálne kasína. Viac ako 70 % kupujúcich virtuálnych lístkov zahraničné lotérie vyberte si túto úplne bezplatnú možnosť.

Navyše si môžete automaticky vybrať nie jednu výhernú kombináciu, ale niekoľko (až 50). To je veľmi výhodné pre hráčov, ktorí nakupujú veľký počet lotériové lístky s rôznymi sadzbami.

Vyhrajte štatistiky

Ak ste stále na pochybách, či použiť funkciu „Automatická voľba“ alebo si potrpíte na vypĺňanie lístkov sami, čítajte ďalej. Recenzie Euromiliónovej lotérie svojim výhercom jednoznačne uvádzajú, že rozdielnosť spôsobov vyplnenia tiketu nijako neovplyvňuje šance účastníka. Hovoria o tom aj lotériové štatistiky, podľa ktorých od celkový počet hráči, ktorí využijú túto možnosť na internetových stránkach, získajú výhru približne 70 %. Aby sme neboli neopodstatnení, tu sú príklady šťastných výhercov v roku 2012, ktorí uzatvárali stávky pomocou počítača.

V marci 2012 vyhral americký pár obrovský jackpot 218 miliónov dolárov v lotérii v New Yorku. Nevyvinuli sa lotériová stratégia(prečítaj si časť Herné stratégie), ale jednoducho použili funkciu „Automatické vytáčanie“.

Víťazi rekordný výkres americký národná lotéria PowerBall, ktorý si rovným dielom rozdelil 586 miliónov dolárov, vyplnil svoje tikety pomocou generátora náhodných čísel.

Postaršia pani, ktorá nechcela myslieť na výhernú kombináciu, zverila výber čísel do počítača a vyhrala 336 miliónov amerických dolárov.

Výhody generátora náhodných čísel

Prvou nespornou výhodou použitia tejto funkcie je výrazná úspora času. Jedným kliknutím myši môžete uzavrieť niekoľko stávok naraz na jedno žrebovanie akejkoľvek zahraničnej lotérie.

Druhou výhodou je odľahčenie mentálnej snahy hráča vytvoriť víťaznú kombináciu. Ak nie ste fanúšikom numerológie a neveríte v mágiu čísel, verte mi, lepšie ako počítač Nemôžete myslieť na kombinácie čísel.

Tretím faktom v prospech „Automatického setu“ sú absolútne rovnaké šance na výhru jackpotu a iné veľká cena s lotériové lístky vyplnené ručne.

Náhodné čísla sú jednoduchým prvkom kryptografie, o ktorom sa najmenej hovorí, no nie je o nič menej dôležitý ako ostatné. Takmer všetky počítačové bezpečnostné systémy, ktoré používajú kryptografiu, potrebujú náhodné čísla – pre kľúče, jedinečné čísla v protokoloch a tak ďalej – a bezpečnosť takýchto systémov často závisí od náhodnosti ich náhodných čísel. Ak je generátor náhodných čísel nespoľahlivý, celý systém sa pokazí.

V závislosti od toho, s kým hovoríte, generovanie náhodných čísel vyzerá buď triviálne, alebo nemožné. Teoreticky je to nemožné. John von Neumann, otec počítačová veda, povedal: "Každý, kto verí, že existujú aritmetické metódy na získanie náhodných čísel, určite hreší." Myslel tým, že z výstupu takej deterministickej beštie, akou je počítač, nie je možné získať niečo skutočne náhodné. To je pravda, ale, našťastie, môžeme niečo urobiť. Od generátora náhodných čísel potrebujeme nie to, aby čísla boli skutočne náhodné, ale to, že ich nemožno predvídať a reprodukovať. Ak splníme tieto dve podmienky, môžeme dosiahnuť bezpečnosť.

Na druhej strane, ak porušíme tieto dve podmienky, neexistuje žiadna bezpečnosť. V roku 1994 bol v montrealskom kasíne nainštalovaný počítačový generátor náhodných čísel pre lotérie. Všimol si to jeden pozorný hráč, ktorý trávil veľa času v kasíne výherné čísla boli každý deň rovnaké. Úspešne trafil tri jackpoty za sebou a získal 600 000 dolárov. (Po tom, čo si vykrútil ruky, vyceril zuby a všetko preskúmal, kasíno vyplatilo výhru.)

Existuje niekoľko širokých tried generátorov náhodných čísel. Niektoré z nich sú založené fyzikálnych procesov, čo možno považovať skôr za náhodné. Národný bezpečnostný úrad rád využíva elektrický šum diód vo svojich zariadeniach na generovanie náhodných čísel. Ďalšími možnosťami sú Geigerov počítač alebo prijímače rádiového rušenia. Používa jeden systém na internete digitálny fotoaparát namierené na niekoľko stroboskopických svetiel. Iné systémy využívajú vzduchové turbulencie v pohonoch alebo pri príchode sieťových paketov.

Niektoré generátory náhodných čísel sledujú náhodné pohyby používateľa. Program môže požiadať používateľa, aby na klávesnici napísal veľký reťazec ľubovoľných znakov; na generovanie náhodných čísel môže použiť postupnosť znakov alebo dokonca čas medzi stlačeniami kláves. Iný program môže ľahko vyžadovať, aby používateľ pohyboval myšou tam a späť alebo chrčal do mikrofónu.

Niektoré generátory náhodných čísel aplikujú tieto zadané informácie bez úprav. V iných slúži ako zárodok (seed) pre matematické generátory náhodných čísel. Tento trik funguje najlepšie, ak systém potrebuje viac náhodných čísel, ako poskytuje vstup.

Bez ohľadu na pôvod náhodnosti, generátor vytvorí sériu náhodných bitov. Potom sa dajú použiť ako kryptografické kľúče a na všetko ostatné, čo systém potrebuje.



Podobné články