Regulator slučajnih brojeva. Excel Generator slučajnih brojeva u funkcijama i analizi podataka

Online generator brojeva je zgodan alat koji vam omogućava da dobijete potreban broj brojeva date dubine bita i najšireg raspona. Postoji mnogo upotreba za naš generator slučajnih brojeva! Na primjer, možete održati natjecanje na VKontakteu i igrati plišanog medvjedića u grupi bajkera za odgovor :)) Također ćemo biti vrlo polaskani ako odlučite da ga koristite za određivanje dobitnog broja u lutriji ili odlučite koji broj kladiti se u kazinu. Zaista se nadamo da će neko kod nas pronaći svoj srećni broj online!

Raspon nasumičnih brojeva:

Količina:

Eliminisati ponavljanje?

generisati brojeve

Molimo pomozite nam da razvijemo: Recite prijateljima o generatoru!

Random | slučajni broj online u 1 klik

Brojevi nas okružuju od rođenja i igraju važnu ulogu u životu. Za mnoge ljude sam rad je povezan s brojevima, neko se oslanja na sreću, puneći loto listiće brojevima, a neko im daje potpuno mistično značenje. Na ovaj ili onaj način, ponekad ne možemo bez korištenja programa kao što je npr generator slučajnih brojeva.

Na primjer, trebate organizirati nagradnu igru ​​među pretplatnicima vaše grupe. Naš online generator slučajnih brojeva pomoći će vam da brzo i pošteno odaberete pobjednike. Potrebno je samo, na primjer, podesiti željeni broj nasumičnih brojeva (po broju pobjednika) i maksimalan raspon (po broju učesnika, ako su im dodijeljeni brojevi). Prevara je u ovom slučaju potpuno isključena.

Ovaj program može poslužiti i kao generator slučajnih brojeva za loto. Na primjer, kupili ste kartu i želite se u potpunosti osloniti na slučajnost i sreću u odabiru brojeva. Tada će naš randomizator brojeva pomoći da popunite vašu lutriju.

Kako generirati nasumični broj: upute

program nasumičnih brojeva radi vrlo jednostavno. Ne morate ga ni preuzimati na svoj računar - sve se radi u prozoru pretraživača gdje je ova stranica otvorena. Nasumični brojevi se generišu prema navedenom broju brojeva i njihovom rasponu - od 0 do 999999999. Da biste generirali broj online, morate:

  1. Odaberite raspon u kojem želite dobiti rezultat. Možda želite da odsečete brojeve do 10 ili, recimo, 10000;
  2. Uklonite ponavljanja - odabirom ove stavke, prisilit ćete broj randomizer ponuditi vam samo jedinstvene kombinacije unutar određenog raspona;
  3. Odaberite broj brojeva - od 1 do 99999;
  4. Kliknite na dugme Generiraj brojeve.

Bez obzira koliko brojeva želite da dobijete kao rezultat, generator prostih brojeva će dati ceo rezultat odjednom i možete ga videti na ovoj stranici skrolujući kroz polje sa brojevima pomoću miša ili tačpeda.

Sada možete koristiti gotove brojeve onako kako vam je potrebno. Iz polja za broj možete kopirati rezultat za slanje u grupu ili slanje poštom. I kako niko ne bi sumnjao u rezultat, napravite snimak ekrana ove stranice, na kojoj će biti jasno vidljivi parametri randomizatora brojeva i rezultati programa. Nemoguće je mijenjati brojeve na terenu, pa je mogućnost manipulacije isključena. Nadamo se da su vam naša web stranica i generator slučajnih brojeva pomogli.

Šta je slučajnost u računaru? Kako se radi generisanje slučajnih brojeva? U ovom članku pokušali smo dati jednostavne odgovore na ova pitanja.

U softveru, iu tehnologiji općenito, postoji potreba za ponovljivom slučajnošću: brojevi i slike koje izgledaju nasumično zapravo se generiraju određenim algoritmom. To se zove pseudo-slučajnost, a mi ćemo pogledati jednostavne načine za generiranje pseudo-slučajnih brojeva. Na kraju članka formuliramo jednostavnu teoremu za generiranje ovih naizgled slučajnih brojeva.

Određivanje šta je tačno slučajnost može biti prilično izazov. Postoje testovi (kompleksnost Kolmogorova, na primjer) koji vam mogu dati preciznu mjeru koliko je dati niz slučajan. Ali nećemo se truditi, već jednostavno pokušati stvoriti niz brojeva koji će se činiti nepovezanim jedni s drugima.

Često nije potreban samo jedan broj, već nekoliko nasumičnih brojeva koji se kontinuirano generiraju. Dakle, s obzirom na početnu vrijednost, moramo generirati druge slučajne brojeve. Ova početna vrijednost se zove sjeme, a kasnije ćemo vidjeti kako do njega. Za sada, hajde da se koncentrišemo na generisanje drugih nasumičnih vrednosti.

Generisanje slučajnih brojeva iz sjemena

Jedan pristup bi mogao biti primjena neke lude matematičke formule na sjeme, zatim ga izokrenuti toliko da se izlazni broj čini nepredvidivim, a zatim to uzeti kao sjeme za sljedeću iteraciju. Pitanje je samo kako bi ova funkcija distorzije trebala izgledati.

Hajde da eksperimentišemo sa ovom idejom i vidimo gde će nas odvesti.

Funkcija distorzije će uzeti jednu vrijednost i vratiti drugu. Nazovimo to R.

R(Input) -> Output

Ako je vrijednost našeg sjemena 1, onda će R kreirati niz od 1, 2, 3, 4,... Ne izgleda nimalo slučajno, ali doći ćemo do toga. Sada neka R doda konstantu umjesto 1.

R(x) = x + c

Ako je c jednako, na primjer, 7, onda ćemo dobiti niz od 1, 8, 15, 22, ... Još uvijek nije u redu. Očigledno, ono što nam nedostaje je da brojevi ne samo da se povećavaju, već ih treba i raspršiti u nekom rasponu. Želimo da se naš niz vrati na početak - krug brojeva!

brojčani krug

Pogledajmo brojčanik sata: naša serija počinje od 1 i ide oko 12. Ali pošto radimo sa računarom, stavimo 0 umjesto 12.

Sada, počevši od 1, ponovo ćemo dodati 7. Napredak! Vidimo da se nakon 12 naša serija počinje ponavljati, bez obzira na to od kojeg broja počinjemo.

Ovdje dobijamo vrlo važno svojstvo: ako se naš ciklus sastoji od n elemenata, tada je maksimalni broj elemenata koji možemo dobiti prije nego što počnu da se ponavljaju n.

Sada prepišimo R funkciju da odgovara našoj logici. Možete ograničiti dužinu petlje koristeći modulus operator ili modulo operator.

R(x) = (x + c) % m

R (x) = (x + c)% m

U ovom trenutku možete primijetiti da neki brojevi nisu prikladni za c. Ako je c = 4, a počeli smo sa 1, naš niz bi bio 1, 5, 9, 1, 5, 9, 1, 5, 9, … što nam naravno ne odgovara, jer ovaj niz apsolutno nije slučajan . Postaje jasno da brojevi koje biramo za dužinu ciklusa i dužinu skoka moraju biti povezani na poseban način.

Ako isprobate nekoliko različitih vrijednosti, možete vidjeti jedno svojstvo: m i c moraju biti međusobno prosti.

Do sada smo skakali zbrajanjem, ali šta ako koristimo množenje? Hajde da se množimo X na konstantu a.

R(x) = (ax + c) % m

R (x) = (ax + c)% m

Svojstva koja se moraju pridržavati da bi se formirao potpuni ciklus su malo specifičnija. Da kreirate ispravnu petlju:

  1. (a - 1) mora biti djeljivo sa svim prostim faktorima m
  2. (a - 1) mora biti deljivo sa 4 ako je m deljivo sa 4

Ova svojstva, zajedno s pravilom da m i c moraju biti koprime, čine Hull-Dobellov teorem. Nećemo ulaziti u dokaz toga, ali ako uzmete gomilu različitih vrijednosti za različite konstante, mogli biste doći do istog zaključka.

Odabir sjemena

Vrijeme je da razgovaramo o najzanimljivijem dijelu: izboru početnog sjemena. Mogli bismo to učiniti konstantnom. Ovo može biti korisno kada su vam potrebni nasumični brojevi, ali želite da budu isti svaki put kada pokrenete program. Na primjer, kreiranje iste karte za svaku igru.

Drugi način je da dobijete seme iz novog izvora svaki put kada se program pokrene, baš kao u sistemskom satu. Ovo je korisno kada vam je potreban ukupan nasumični broj, kao u programu za bacanje kockica.

Konačan rezultat

Kada primijenimo funkciju na njen rezultat više puta, dobijamo relaciju ponavljanja. Napišimo našu formulu koristeći rekurziju.


Imajte na umu da bi u idealnom slučaju kriva gustine distribucije slučajnih brojeva izgledala kao ona prikazana na Sl. 22.3. To jest, u idealnom slučaju, isti broj bodova pada u svaki interval: N i = N/k , gdje N ukupan broj bodova, k broj intervala, i= 1, ½, k .

Rice. 22.3. Učestalost ispadanja slučajnih brojeva,
generisan idealnim generatorom teoretski

Treba imati na umu da se generiranje proizvoljnog slučajnog broja sastoji od dvije faze:

  • generisanje normalizovanog slučajnog broja (tj. ravnomerno raspoređenog od 0 do 1);
  • transformacija normaliziranih slučajnih brojeva r i u nasumične brojeve x i, koji se distribuiraju prema (proizvoljnom) zakonu distribucije koji zahtijeva korisnik ili u potrebnom intervalu.

Generatori slučajnih brojeva prema načinu dobijanja brojeva dijele se na:

  • fizički;
  • tabelarni;
  • algoritamski.

Fizički RNG-ovi

Primjeri fizičkih RNG-ova su: novčić („orao“ 1, „rep“ 0); kockice; bubanj sa strelicom podijeljenom na sektore s brojevima; hardverski generator buke (GS), koji se koristi kao bučni termalni uređaj, na primjer, tranzistor (slika 22.422.5).

Rice. 22.4. Shema hardverske metode za generiranje slučajnih brojeva
Rice. 22.5. Dijagram dobijanja slučajnih brojeva hardverskom metodom
Zadatak "Generacija slučajnih brojeva pomoću novčića"

Generirajte nasumični trocifreni broj ravnomjerno raspoređen između 0 i 1 koristeći novčić. Preciznost tri decimale.

Prvi način rješavanja problema
Bacite novčić 9 puta, a ako je novčić pao na rep, upišite "0", ako je glava, onda "1". Dakle, recimo da smo kao rezultat eksperimenta dobili slučajni niz 100110100.

Nacrtajte interval od 0 do 1. Čitajući brojeve u nizu s lijeva na desno, podijelite interval na pola i svaki put odaberite jedan od dijelova sljedećeg intervala (ako je 0 ispalo, onda lijevo, ako je ispalo 1, onda desno). Dakle, možete doći do bilo koje tačke u intervalu, proizvoljno tačno.

dakle, 1 : interval se dijeli na pola sa i , bira se desna polovina, interval se sužava: . Sledeći broj 0 : interval se dijeli na pola sa i , odabire se lijeva polovina, interval se sužava: . Sledeći broj 0 : interval se dijeli na pola sa i , odabire se lijeva polovina, interval se sužava: . Sledeći broj 1 : interval se dijeli na pola sa i , bira se desna polovina, interval se sužava: .

U skladu sa uslovom tačnosti problema, rešenje je pronađeno: to je bilo koji broj iz intervala , na primer, 0,625.

U principu, ako pristupimo striktno, onda se podjela intervala mora nastaviti sve dok se lijeva i desna granica pronađenog intervala ne poklapaju jedna s drugom do treće decimale. To jest, u smislu tačnosti, generirani broj se više neće razlikovati od bilo kojeg broja iz intervala u kojem se nalazi.

Drugi način rješavanja problema
Razbijmo rezultujući binarni niz 100110100 na trijade: 100, 110, 100. Nakon pretvaranja ovih binarnih brojeva u decimalne brojeve, dobijamo: 4, 6, 4. Zamjenom “0.” ispred, dobijamo: 0,464. Ovom metodom mogu se dobiti samo brojevi od 0,000 do 0,777 (pošto je maksimum koji se može „iscijediti“ iz tri binarne cifre 111 2 = 7 8) odnosno, u stvari, ovi brojevi su predstavljeni u oktalnom brojevnom sistemu. Za prevod oktalno brojevi u decimalni prezentacija je izvršna:
0,464 8 = 4 8 1 + 6 8 2 + 4 8 3 = 0,6015625 10 = 0,602 10.
Dakle, željeni broj je: 0,602.

Tablični RNG

Tabelarni RNG kao izvor slučajnih brojeva koriste posebno sastavljene tabele koje sadrže provjerene nekorelirane, odnosno brojeve koji ni na koji način ne zavise jedni od drugih. U tabeli. 22.1 prikazuje mali fragment takve tabele. Šetajući tablicom s lijeva na desno od vrha do dna, možete dobiti slučajne brojeve ravnomjerno raspoređene od 0 do 1 sa željenim brojem decimalnih mjesta (u našem primjeru koristimo tri decimale za svaki broj). Budući da brojevi u tabeli ne zavise jedan od drugog, tabela se može prelaziti na različite načine, na primjer, odozgo prema dolje, ili s desna na lijevo, ili, recimo, možete odabrati brojeve koji su na parnim pozicijama.

Tabela 22.1.
Slučajni brojevi. Ravnomjerno
raspoređenih od 0 do 1 slučajnih brojeva
slučajni brojevi ravnomerno raspoređeni
0 do 1 nasumični brojevi
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
… …

Prednost ove metode je u tome što daje zaista slučajne brojeve, jer tabela sadrži provjerene nekorelirane brojeve. Nedostaci metode: potrebno je puno memorije za pohranjivanje velikog broja cifara; velike poteškoće u generisanju i provjeravanju ovakvih tabela, ponavljanja pri korištenju tablice više ne garantuju slučajnost numeričkog niza, a time i pouzdanost rezultata.

Postoji tabela koja sadrži 500 apsolutno nasumičnih provjerenih brojeva (preuzeto iz knjige I. G. Venetsky, V. I. Venetskaya "Osnovni matematički i statistički koncepti i formule u ekonomskoj analizi").

Algoritamski RNG

Brojevi generirani pomoću ovih RNG-ova su uvijek pseudoslučajni (ili kvazislučajni), odnosno svaki sljedeći generirani broj ovisi o prethodnom:

r i + 1 = f(r i) .

Nizovi sastavljeni od takvih brojeva formiraju petlje, to jest, nužno postoji ciklus koji se ponavlja beskonačan broj puta. Ciklusi koji se ponavljaju nazivaju se periodi.

Prednost RNG podataka je brzina; generatori praktički ne zahtijevaju memorijske resurse, kompaktni su. Nedostaci: brojevi se ne mogu u potpunosti nazvati slučajnim, jer postoji zavisnost između njih, kao i prisutnost perioda u nizu kvazi-slučajnih brojeva.

Razmotrite nekoliko algoritamskih metoda za dobivanje RNG-a:

  • metoda srednjih kvadrata;
  • metoda srednjih proizvoda;
  • metoda miješanja;
  • linearna kongruentna metoda.

Metoda srednjeg kvadrata

Postoji neki četvorocifreni broj R 0 . Ovaj broj se kvadrira i unosi R jedan . Dolazi iz R 1 sredini (četiri srednje cifre) uzima se novi slučajni broj i upisuje R 0 . Zatim se postupak ponavlja (vidi sliku 22.6). Imajte na umu da je u stvari, kao slučajni broj, potrebno uzeti ne ghij, a 0.ghij sa nulom i decimalnim zarezom dodanim lijevo. Ova činjenica se ogleda na sl. 22.6, a kasnije slične brojke.

Rice. 22.6. Shema metode srednjih kvadrata

Nedostaci metode: 1) ako u nekoj iteraciji broj R 0 postaje nula, tada generator degenerira, pa je važan pravilan izbor početne vrijednosti R 0; 2) generator će ponoviti niz M n stepenice (u najboljem slučaju), gde n dužina reči R 0 , M bazu brojevnog sistema.

Za primjer na sl. 22.6 : ako je broj R 0 će biti predstavljeno u binarnom brojevnom sistemu, tada će se niz pseudoslučajnih brojeva ponoviti nakon 2 4 = 16 koraka. Imajte na umu da se ponavljanje niza može dogoditi i ranije ako je početni broj neuspješno odabran.

Gore opisanu metodu je predložio John von Neumann i datira iz 1946. godine. Pošto se ovaj metod pokazao nepouzdan, brzo je napušten.

Metoda medijana proizvoda

Broj R 0 pomnoženo sa R 1 , iz rezultata R 2 sredina je uklonjena R 2 * (ovo je još jedan slučajni broj) i pomnožen sa R jedan . Prema ovoj šemi, izračunavaju se svi naredni slučajni brojevi (vidi sliku 22.7).

Rice. 22.7. Shema metode medijana proizvoda

Metoda miješanja

Metoda miješanja koristi operacije za rotiranje sadržaja ćelije lijevo i desno. Ideja metode je sljedeća. Neka ćelija pohrani početni broj R 0 . Cikličnim pomicanjem sadržaja ćelije ulijevo za 1/4 dužine ćelije, dobijamo novi broj R 0*. Slično, cikličkim pomicanjem sadržaja ćelije R 0 udesno za 1/4 dužine ćelije, dobijamo drugi broj R 0**. Zbir brojeva R 0 * i R 0** daje novi slučajni broj R jedan . Dalje R 1 je upisan R 0 , i cijeli niz operacija se ponavlja (vidi sliku 22.8).


Rice. 22.8. Šema metode miješanja

Imajte na umu da je broj koji je rezultat zbrajanja R 0 * i R 0 ** , možda ne stane u potpunosti u ćeliju R jedan . U tom slučaju, dodatne cifre treba odbaciti iz primljenog broja. Objasnimo ovo za Sl. 22.8, gdje su sve ćelije predstavljene sa osam binarnih cifara. Neka R 0 * = 10010001 2 = 145 10 , R 0 ** = 10100001 2 = 161 10 , onda R 0 * + R 0 ** = 100110010 2 = 306 10 . Kao što vidite, broj 306 zauzima 9 cifara (u binarnom brojevnom sistemu), a ćelija R 1 (kao i R 0 ) može držati najviše 8 bita. Stoga, prije unosa vrijednosti u R 1 potrebno je ukloniti jedan "ekstra", krajnji lijevi bit iz broja 306, što rezultira R 1 više neće ići 306, već 00110010 2 = 50 10 . Također imajte na umu da se u jezicima kao što je Pascal, "skraćenje" dodatnih bitova kada se ćelija prelije automatski vrši u skladu sa datim tipom varijable.

Linearna kongruentna metoda

Linearna kongruencijalna metoda je jedna od najjednostavnijih i trenutno najčešće korištenih procedura koje simuliraju slučajne brojeve. Ova metoda koristi mod ( x, y) , koji vraća ostatak nakon dijeljenja prvog argumenta drugim. Svaki sljedeći slučajni broj izračunava se na osnovu prethodnog slučajnog broja koristeći sljedeću formulu:

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

Niz slučajnih brojeva dobijen pomoću ove formule se zove linearni kongruentni niz. Mnogi autori nazivaju linearni kongruentni niz kao b = 0 multiplikativna kongruentna metoda, i kada b ≠ 0 — mješovita kongruentna metoda.

Za kvalitetan generator potrebno je odabrati odgovarajuće koeficijente. Potrebno je da broj M bila prilično velika jer period ne može imati više M elementi. S druge strane, podjela koja se koristi u ovoj metodi je prilično spora operacija, tako da bi za binarni računar logičan izbor bio M = 2 N, jer se u ovom slučaju pronalaženje ostatka podjele svodi unutar računala na binarnu logičku operaciju "AND". Takođe je uobičajeno odabrati najveći prosti broj M, manje od 2 N: u specijalnoj literaturi je dokazano da su u ovom slučaju najmanje značajne cifre rezultirajućeg slučajnog broja r i+ 1 ponašaju se jednako nasumično kao i stariji, što ima pozitivan učinak na cijeli niz slučajnih brojeva u cjelini. Primjer je jedan od Mersenne brojevi, jednako 2 31 1 , i stoga, M= 2 31 1 .

Jedan od zahtjeva za linearne kongruentne nizove je najduži mogući period. Dužina perioda zavisi od vrednosti M , k i b. Teorema koju predstavljamo u nastavku nam omogućava da utvrdimo da li je moguće postići period maksimalne dužine za određene vrijednosti M , k i b .

Teorema. Linearni kongruentni niz definiran brojevima M , k , b i r 0 , ima period dužine M ako i samo ako:

  • brojevi b i M coprime;
  • k 1 x str za svaki jednostavan str, što je djelitelj M ;
  • k 1 je višekratnik od 4 ako M višestruko od 4.

Na kraju, završimo s nekoliko primjera korištenja linearne kongruencijalne metode za generiranje slučajnih brojeva.

Utvrđeno je da će se niz pseudoslučajnih brojeva generiranih na osnovu podataka iz primjera 1 ponavljati svakih M/4 broja. Broj q se postavlja proizvoljno prije početka proračuna, međutim, treba imati na umu da serija ostavlja utisak da je nasumična k(i zbog toga q). Rezultat se može malo poboljšati ako b neparan i k= 1 + 4 q u ovom slučaju, serija će se ponavljati svaki put M brojevi. Nakon duge potrage k istraživači su se odlučili na vrijednosti 69069 i 71365.

Generator slučajnih brojeva koristeći podatke iz primjera 2 će proizvesti slučajne neponavljajuće brojeve s periodom od 7 miliona.

Multiplikativnu metodu za generisanje pseudoslučajnih brojeva predložio je D. H. Lehmer 1949. godine.

Provjera kvaliteta generatora

Kvalitet cjelokupnog sistema i tačnost rezultata zavisi od kvaliteta RNG-a. Prema tome, slučajni niz koji generiše RNG mora zadovoljiti niz kriterijuma.

Provjere koje se vrše su dvije vrste:

  • provjere ujednačene distribucije;
  • testiranje statističke nezavisnosti.

Provjerava ujednačenu distribuciju

1) RNG treba da daje blizu sledećih vrednosti statističkih parametara karakterističnih za uniformni slučajni zakon:

2) Test frekvencije

Test frekvencije vam omogućava da saznate koliko je brojeva ušlo u interval (m r – σ r ; m r + σ r) , tj. (0,5 0,2887; 0,5 + 0,2887) ili na kraju (0,2113; 0,7887) . Pošto je 0,7887 0,2113 = 0,5774, zaključujemo da bi u dobrom RNG-u oko 57,7% svih izvučenih slučajnih brojeva trebalo da padne u ovaj interval (vidi sliku 22.9).

Rice. 22.9. Frekvencijski dijagram idealnog RNG-a
u slučaju provjere za testiranje frekvencije

Takođe treba uzeti u obzir da broj brojeva u intervalu (0; 0,5) treba da bude približno jednak broju brojeva u intervalu (0,5; 1).

3) Hi-kvadrat test

Hi-kvadrat test (χ 2 -test) je jedan od najpoznatijih statističkih testova; to je glavna metoda koja se koristi u kombinaciji s drugim kriterijima. Hi-kvadrat test je 1900. godine predložio Karl Pearson. Njegov izvanredan rad smatra se temeljom moderne matematičke statistike.

U našem slučaju, hi-kvadrat test će nam omogućiti da saznamo koliko smo stvorili pravi RNG je blizak RNG referenci, tj. da li zadovoljava zahtjev uniformne distribucije ili ne.

dijagram frekvencija referenca RNG je prikazan na sl. 22.10. Pošto je zakon raspodjele referentnog RNG-a uniforman, (teorijska) vjerovatnoća str i pogađanje brojeva i-ti interval (ukupan broj ovih intervala k) je jednako str i = 1/k . I tako, u svakom k intervali će pasti glatko on str i · N brojevi ( N ukupan broj generiranih brojeva).

Rice. 22.10. Frekvencijski dijagram referentnog RNG-a

Pravi RNG će proizvesti brojeve raspoređene (i ne nužno ravnomjerno!) k intervale i svaki interval će uključivati n i brojevi (ukupno n 1 + n 2 + ½ + n k = N ). Kako možemo utvrditi koliko je testirani RNG dobar i blizak referentnom? Sasvim je logično uzeti u obzir kvadrate razlika između primljenog broja brojeva n i i "referenca" str i · N . Hajde da ih saberemo i kao rezultat dobijemo:

χ 2 exp. =( n 1 str jedan · N) 2 + (n 2 str 2 · N) 2 + + ( n k – str k · N) 2 .

Iz ove formule slijedi da što je manja razlika u svakom od članova (a samim tim i manja vrijednost χ 2 exp. ), to je jači zakon raspodjele slučajnih brojeva generiranih realnim RNG-om teži da bude uniforman.

U prethodnom izrazu, svakom od pojmova je dodeljena ista težina (jednaka 1), što u stvari možda nije tačno; stoga je za hi-kvadrat statistiku potrebno svaku normalizirati i th pojam, dijeleći ga sa str i · N :

Na kraju, napišimo rezultujući izraz kompaktnije i pojednostavimo ga:

Dobili smo vrijednost hi-kvadrat testa za eksperimentalni podaci.

U tabeli. 22.2 teorijski hi-kvadrat vrijednosti (χ 2 teor.), gdje je ν = N 1 je broj stepeni slobode, str je korisnički specificiran nivo pouzdanosti koji specificira koliko RNG treba da zadovolji zahtjeve uniformne distribucije, ili str — je vjerovatnoća da eksperimentalna vrijednost χ 2 exp. će biti manji od tabelarne (teorijske) χ 2 teor. ili jednako tome.

Tabela 22.2.
Neki procentni poeni χ 2 -distribucije
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 str+ 2/3 x 2 str 2/3+ O(1/sqrt( ν ))
x str = 2.33 1.64 0,674 0.00 0.674 1.64 2.33

Smatrajte prihvatljivim str od 10% do 90%.

Ako je χ 2 exp. mnogo više od χ 2 teor. (to je str je velika), zatim generator ne zadovoljava zahtjev ujednačene raspodjele, budući da su posmatrane vrijednosti n i otići predaleko od teoretskog str i · N i ne može se smatrati slučajnim. Drugim riječima, uspostavlja se tako veliki interval povjerenja da ograničenja za brojeve postaju vrlo labavi, zahtjevi za brojeve slabi. U ovom slučaju će se uočiti vrlo velika apsolutna greška.

Čak je i D. Knuth u svojoj knjizi "Umetnost programiranja" primetio da imajući χ 2 exp. mali takođe, generalno, nije dobar, iako se na prvi pogled čini izvanrednim sa stanovišta uniformnosti. Zaista, uzmite niz brojeva 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, oni su idealni u smislu uniformnosti 2 i exp. bit će praktički nula, ali je malo vjerovatno da ćete ih prepoznati kao nasumične.

Ako je χ 2 exp. mnogo manje od χ 2 teor. (to je str mali), zatim generator ne zadovoljava zahtjev za slučajnu ujednačenu distribuciju, budući da su posmatrane vrijednosti n i preblizu teoretskom str i · N i ne može se smatrati slučajnim.

Ali ako je χ 2 exp. leži u određenom rasponu, između dvije vrijednosti χ 2 teor. , koji odgovaraju npr. str= 25% i str= 50%, onda možemo pretpostaviti da su vrijednosti slučajnih brojeva koje je generirao senzor potpuno slučajne.

Osim toga, mora se imati na umu da su sve vrijednosti str i · N mora biti dovoljno velika, na primjer, veća od 5 (pronađeno empirijski). Tek tada (sa dovoljno velikim statističkim uzorkom) eksperimentalni uslovi se mogu smatrati zadovoljavajućim.

Dakle, postupak verifikacije je sljedeći.

Testovi statističke nezavisnosti

1) Provjera učestalosti pojavljivanja cifre u nizu

Razmotrimo primjer. Slučajni broj 0,2463389991 sastoji se od cifara 2463389991, a broj 0,5467766618 se sastoji od cifara 5467766618. Kombinujući nizove cifara, imamo: 246333897916.

Jasno je da je teorijska vjerovatnoća str i Ispasti i cifra (od 0 do 9) je 0,1.

2) Provjera izgleda serije identičnih brojeva

Označiti sa n L broj serija identičnih uzastopnih cifara dužine L. Sve treba provjeriti L od 1 do m, gdje m je broj koji je odredio korisnik: maksimalni broj identičnih znamenki koje se pojavljuju u nizu.

U primjeru "24633899915467766618" pronađene su 2 serije dužine 2 (33 i 77), tj. n 2 = 2 i 2 serije dužine 3 (999 i 666), tj. n 3 = 2 .

Vjerovatnoća serije s dužinom od L je jednako: str L= 9 10 L (teorijski). Odnosno, vjerovatnoća pojavljivanja niza dužine jednog znaka jednaka je: str 1 = 0,9 (teoretski). Vjerovatnoća pojave serije od dva karaktera je: str 2 = 0,09 (teoretski). Vjerovatnoća pojavljivanja serije od tri karaktera je: str 3 = 0,009 (teoretski).

Na primjer, vjerovatnoća pojavljivanja niza dužine jednog znaka je jednaka str L= 0,9, jer može biti samo jedan znak od 10, a samo 9 karaktera (nula se ne računa). A vjerovatnoća da će se dva identična znaka "XX" sresti u nizu je 0,1 0,1 9, odnosno vjerovatnoća od 0,1 da će se znak "X" pojaviti na prvoj poziciji množi se sa vjerovatnoćom od 0,1 da će isti znak pojavit će se na drugom mjestu "X" i pomnoženo sa brojem takvih kombinacija 9.

Učestalost pojavljivanja serija izračunava se prema formuli „hi-kvadrat“ koju smo prethodno analizirali koristeći vrijednosti str L .

Napomena: Generator se može provjeriti više puta, ali provjere nisu potpune i ne jamče da generator proizvodi nasumične brojeve. Na primjer, generator koji proizvodi sekvencu 12345678912345 smatrat će se idealnim tokom provjera, što, očito, nije sasvim tačno.

U zaključku, napominjemo da je treće poglavlje knjige "Umetnost programiranja" Donalda E. Knutha (tom 2) u potpunosti posvećeno proučavanju slučajnih brojeva. Istražuje različite metode za generiranje slučajnih brojeva, statističke kriterije za slučajnost i transformaciju ravnomjerno raspoređenih slučajnih brojeva u druge vrste slučajnih varijabli. Više od dvije stotine stranica posvećeno je prezentaciji ovog materijala.

Pomozite usluzi jednim klikom: Recite prijateljima o generatoru!

Generator brojeva online u 1 klik

Generator slučajnih brojeva, koji je predstavljen na našoj web stranici, vrlo je zgodan. Na primjer, može se koristiti u izvlačenju i lutriji za određivanje pobjednika. Pobjednici se određuju na ovaj način: program daje jedan ili više brojeva u bilo kojem rasponu koji odredite. Manipulacija s rezultatima može se odmah eliminirati. I zahvaljujući tome, pobjednik je određen poštenim izborom.

Ponekad morate dobiti određeni broj nasumičnih brojeva odjednom. Na primjer, želite popuniti "4 od 35" srećke, vjerujući slučaju. Možete provjeriti: ako bacite novčić 32 puta, kolika je vjerovatnoća da će 10 reversa ispasti u nizu (glave/repe mogu biti dodijeljene brojevima 0 i 1)?

Slučajni broj online video instrukcija - randomizer

Naš generator brojeva je vrlo jednostavan za korištenje. Ne zahtijeva preuzimanje programa na računar - može se koristiti na mreži. Da biste dobili broj koji vam je potreban, morate postaviti raspon nasumičnih brojeva, broj i, ako želite, separator brojeva i isključiti ponavljanja.

Za generiranje slučajnih brojeva u određenom frekvencijskom rasponu:

  • Odaberite raspon;
  • Odredite broj slučajnih brojeva;
  • Funkcija "Razdjelnik brojeva" služi za ljepotu i praktičnost njihovog prikaza;
  • Ako je potrebno, omogućite / onemogućite ponavljanja kvačicom;
  • Kliknite na dugme "Generiraj".

Kao rezultat toga, dobit ćete nasumične brojeve u datom rasponu. Rezultat generatora brojeva može se kopirati ili poslati na e-mail. Bilo bi najbolje da napravite snimak ekrana ili video ovog procesa generacije. Naš randomizer će riješiti svaki vaš zadatak!

Generator nasumičnih brojeva za lutrijske karte je besplatan na bazi "kao što je". Programer ne snosi nikakvu odgovornost za materijalne i nematerijalne gubitke korisnika skripte. Ovu uslugu možete koristiti na vlastitu odgovornost. Ipak, nešto, ali definitivno ne rizikujete :-).

Slučajni brojevi za online lutriju

Ovaj softver (PRNG u JS) je generator pseudo-slučajnih brojeva implementiran sa mogućnostima Javascript programskog jezika. Generator proizvodi uniformnu distribuciju slučajnih brojeva.

Ovo omogućava lutrijskoj kompaniji da izbije „klin sa klinom“ na ravnomerno raspoređenom RNG od lutrijske kompanije da odgovori nasumičnim brojevima sa uniformnom raspodelom. Ovakav pristup eliminira subjektivnost igrača, jer ljudi imaju određene preferencije u odabiru brojeva i brojeva (rođendani rođaka, nezaboravni datumi, godine itd.), koji utiču na ručni odabir brojeva.

Besplatni alat pomaže igračima da biraju nasumične brojeve za lutriju. Skripta za generator slučajnih brojeva ima skup unapred podešenih režima za Gosloto 5 od 36, 6 od 45, 7 od 49, 4 od 20, Sportloto 6 od 49. Možete odabrati režim generisanja slučajnih brojeva sa besplatnim podešavanjima za druge opcije lutrije.

Predviđanja dobitaka na lutriji

Generator slučajnih brojeva sa ujednačenom distribucijom može poslužiti kao horoskop za lutriju, međutim, vjerovatnoća da će se prognoza ostvariti je mala. Ali ipak, korištenje generatora slučajnih brojeva ima dobre šanse za dobitak u usporedbi s mnogim drugim strategijama lutrijskih igara i dodatno vas oslobađa od bola biranja sretnih brojeva i kombinacija. Sa moje strane, ne savjetujem vam da podlegnete iskušenju i kupite plaćene prognoze, bolje je potrošiti ovaj novac na udžbenik kombinatorike. Iz njega možete naučiti mnogo zanimljivih stvari, na primjer, vjerovatnoća da ćete osvojiti džekpot u Goslotu je 5 od 36 1 to 376 992 . A vjerovatnoća da ćete dobiti minimalnu nagradu pogađanjem 2 broja je 1 to 8 . Prognoza zasnovana na našem RNG-u ima iste šanse za pobjedu.

Na internetu postoje zahtjevi za nasumične brojeve za lutriju, uzimajući u obzir prošle izvlačenja. Ali pod uvjetom da lutrija koristi RNG s ujednačenom distribucijom i vjerojatnost dobivanja jedne ili druge kombinacije ne ovisi o izvlačenju, onda je besmisleno pokušavati uzeti u obzir rezultate prošlih izvlačenja. I to je sasvim logično, jer lutrijskim kompanijama nije isplativo dozvoliti učesnicima da povećaju vjerovatnoću svog dobitka jednostavnim metodama.

Često se priča da organizatori lutrije lažiraju rezultate. Ali zapravo, to nema smisla, čak naprotiv, ako su lutrijske kompanije utjecale na rezultate lutrije, onda bi bilo moguće pronaći dobitnu strategiju, ali do sada nikome nije uspjelo. Stoga je vrlo korisno za organizatore lutrije da kuglice ispadnu s ujednačenom vjerovatnoćom. Inače, procijenjeni povrat lutrije 5 od 36 je 34,7%. Tako lutrija ima 65,3% prihoda od prodaje karata, dio sredstava (obično polovina) oduzima se za formiranje džekpota, ostatak novca ide na organizacione troškove, oglašavanje i neto dobit kompanije. Statistika tiraža savršeno potvrđuje ove brojke.

Otuda zaključak - ne kupujte besmislene prognoze, koristite besplatni generator slučajnih brojeva, pazite na svoje živce. Neka naši nasumični brojevi budu vaši sretni brojevi. Dobro raspoloženje i dobar dan!