Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Savjet
  • Generator slučajnih brojeva s kodnom riječi. Generator slučajnih brojeva za lutriju

Generator slučajnih brojeva s kodnom riječi. Generator slučajnih brojeva za lutriju

Mrežni generator brojeva prikladan je alat koji vam omogućuje da dobijete potreban broj brojeva zadane dubine bita i najšireg raspona. Naš generator slučajnih brojeva ima mnoge namjene! Na primjer, možete održati natjecanje na VKontakteu i tamo igrati za plišanog medvjedića u grupi motorista za uzvrat :)) Također ćemo biti vrlo polaskani ako uz pomoć njega odlučite odrediti pobjednički broj u bilo koju lutriju ili odlučite na koji ćete se broj kladiti u kasinu. Iskreno se nadamo da će netko pronaći svoj sretni broj online kod nas!

Raspon slučajnih brojeva:

Količina:

Eliminirati ponavljanje?

Generirajte brojeve

Pomozite nam da razvijemo: Recite svojim prijateljima o generatoru!

Slučajno | nasumični broj online u 1 klik

Brojevi nas okružuju od rođenja i igraju važnu ulogu u životu. Mnogima je i sam posao povezan s brojevima, neki se oslanjaju na sreću, ispunjavajući srećke brojevima, dok im drugi pridaju čak i mistično značenje. Na ovaj ili onaj način, ponekad ne možemo bez korištenja programa kao što je generator slučajnih brojeva.

Na primjer, morate organizirati nagradnu igru ​​među pretplatnicima svoje grupe. Naš mrežni generator slučajnih brojeva pomoći će vam da brzo i pošteno odaberete dobitnike. Samo trebate, primjerice, postaviti potreban broj nasumičnih brojeva (na temelju broja dobitnika) i maksimalni raspon (na temelju broja sudionika, ako su im brojevi dodijeljeni). Prijevara je u ovom slučaju potpuno isključena.

Ovaj program također može poslužiti kao generator slučajnih brojeva za loto. Na primjer, kupili ste listić i želite se potpuno osloniti na slučajnost i sreću u odabiru brojeva. Tada će vam naš alat za slučajni izbor brojeva pomoći da ispunite svoj lutrijski listić.

Kako generirati slučajni broj: upute

Program za odabir slučajnih brojeva Djeluje vrlo jednostavno. Ne morate ga čak ni preuzimati na svoje računalo - sve se radi u prozoru preglednika u kojem je ova stranica otvorena. Nasumični brojevi generiraju se u skladu s navedenim brojem brojeva i njihovim rasponom - od 0 do 999999999. Da biste generirali broj online, morate:

  1. Odaberite raspon u kojem želite rezultat. Možda želite odrezati brojeve do 10 ili, recimo, 10 000;
  2. Uklonite ponavljanja - odabirom ove stavke, prisilit ćete randomizator brojeva ponuditi samo jedinstvene kombinacije unutar određenog raspona;
  3. Odaberite broj brojeva – od 1 do 99999;
  4. Kliknite gumb "Generiraj brojeve".

Bez obzira na to koliko brojeva želite dobiti kao rezultat, generator prostih brojeva će proizvesti cijeli rezultat odjednom i možete ga vidjeti na ovoj stranici listanjem kroz polje s brojevima pomoću miša ili touchpada.

Sada možete koristiti gotove brojeve onako kako vam je potrebno. Iz polja s brojem možete kopirati rezultat za objavu u grupi ili poslati poštom. A kako rezultat ne bi izazivao nikakve sumnje, napravite snimku zaslona ove stranice na kojoj će biti jasno vidljivi parametri randomizatora brojeva i rezultati programa. Brojke u polju je nemoguće mijenjati, pa je mogućnost manipulacije isključena. Nadamo se da su vam naša web stranica i generator slučajnih brojeva pomogli.

Danas se generatori slučajnih brojeva aktivno koriste u raznim područjima ljudske djelatnosti. Međutim, stekli su posebnu popularnost u događajima koje organiziraju vlasnici internetskih trgovina, kozmetičkih salona, ​​kafića i drugih objekata kako bi izvukli unosne ponude, bonuse i darove među svojim pretplatnicima. Generator nasumičnih brojeva, koji radi besplatno na mreži, omogućuje vam da pošteno odaberete pobjednika.

Ako govorimo o jednokratnoj upotrebi generatora, možete koristiti najjednostavnija opcija takav program:

Međutim, računalne mogućnosti i funkcionalnost takve usluge nisu uvijek dovoljne za dobivanje potrebnih podataka. Danas postoji prilično velik broj specijaliziranih online programa koji se razlikuju ne samo po jednostavnom sučelju za korisnika, već i po širokoj funkcionalnosti. Ne morate sami tražiti desetke programa, jer smo u ovom članku pripremili detaljnu recenziju posebno za vas. TOP 3 najbolja online generatora brojeva, prema mišljenju korisnika:

Najprije se morate upoznati s osnovnim kriterijima:

  1. Odaberite s popisa. Mogućnost za korisnika da pruži vlastiti popis za generiranje, nakon čega slijedi odabir slučajnog broja iz zadanog skupa.
  2. Odaberite iz niza. Mogućnost online generatora slučajnih brojeva za besplatno uzorkovanje iz određenog raspona.
  3. Ispis više brojeva. Funkcija odgovorna za istovremeno pružanje nekoliko nasumičnih brojeva odjednom ako korisnik treba primiti više od jedne vrijednosti.
  4. Onemogućavanje ponavljanja. Sposobnost generatora da iz sljedećih generacija isključi broj koji je pao prije njega, tako da se prilikom primanja nekoliko nasumičnih brojeva u nizu oni ne dupliciraju.
  5. Widget za stranicu. Mogućnost povezivanja generatora s Vašom web stranicom ili stranicom na društvenim mrežama kako bi Vam uvijek bio pri ruci i dostupan za rad.
  6. Link na rezultat. Mogućnost dobivanja zasebne poveznice na rezultat svake pojedine generacije, čime se potvrđuje točnost podataka danih prilikom davanja rezultata natjecanja ili nagradnih igara.

Prije pripreme ovog članka, analizirali smo mnoge generatore koji su dostupni na Internetu. A od svih njih mi smo odabrali 3 najbolja:

TOP 1: Generator broja Randstaff


Opis: Neosporni lider na našoj ljestvici najboljih generatora slučajnih brojeva je usluga Randstaff. Može se pohvaliti praktičnim korisničkim sučeljem, izrađenim u sivoj boji, koje uopće ne pritiska oči. Pogodan je za korištenje ne samo na računalu, već i korištenjem mobilnog telefona, što je posebno važno ako trebate generirati slučajni broj bez pristupa računalu.

Prednosti: Ovaj besplatni mrežni generator slučajnih brojeva ima opsežnu funkcionalnost i nudi korisniku mogućnost ispisa bilo kojeg broja slučajnih brojeva s popisa ili raspona bez ponavljanja. Možete odabrati najprikladniju opciju za korištenje usluge Randstaff putem posebnog widgeta, aplikacije društvenih medija ili službene web stranice. Nakon što završite jednostavnu proceduru registracije, dobit ćete pristup svom osobnom računu, gdje će svi vaši rezultati biti sigurno pohranjeni.

Mane: Nema mogućnosti. A rezultat generiranja možete spremiti samo 3 dana (ali to je obično dovoljno). Ako želite zauvijek sačuvati rezultat, morate se registrirati na svom osobnom računu (cijena: 300 rubalja).

TOP 2: generator brojeva “Castlot”


Opis: Drugo mjesto s pravom pripada Kastlot generatoru slučajnih brojeva. To nije neovisna usluga, već dio portala s raznim korisnim stvarima, generiranjem prekrasnih rima, jedinstvenim prijavama i jednostavno pohranjivanjem kolekcija zanimljivih filmova ili citata. Sučelje se malo razlikuje od sličnih usluga, ali se može pohvaliti opširnijom funkcionalnošću.

Prednosti: Castlot omogućuje korisniku odabir nasumičnih brojeva iz zadanog raspona. To može biti jedna ili više znamenki. Možete odabrati način rada usluge sa ili bez ponavljanja. Zgodna prednost Castlot generatora je mogućnost dobivanja zasebne veze za svaki rezultat. Postoji ekskluzivna značajka nazvano "još više slučajnosti". Kada se aktivira, proces generiranja ne počinje sve dok korisnik ne pomakne pokazivač miša na određeno mjesto. Osim toga, niz dodatnih servisnih alata uključuje widget za web mjesto i vlasničku aplikaciju VKontakte.

Mane: Jedini očiti nedostatak takvog generatora je nemogućnost odabira s popisa.

TOP-3: generator "Slučajni broj.rf"


Opis: Usluga “Random Number” omogućuje generiranje online vrijednosti u rasponu od 1 do 99999. Dizajn je minimalistički, što mu je prednost. Nema smetnji. Jednako je praktičan za korištenje na računalu ili pametnom telefonu. Veliki crni brojevi na bijeloj pozadini su jasno vidljivi, tako da ni osobe s problemima vida neće osjetiti nelagodu tijekom korištenja.

Prednosti: Funkcionalnost ovog online generatora slučajnih brojeva omogućuje vam odabir slučajne vrijednosti s popisa i određenog raspona. Ako trebate dobiti nekoliko nasumičnih brojeva odjednom, potreban broj treba biti naznačen u odgovarajućem polju, gdje je zadana vrijednost 1. Ponavljanje je onemogućeno na zahtjev korisnika.

Mane: Nećete moći povezati takvu uslugu sa svojim web mjestom ili zajednicom na društvenim mrežama, budući da takav generator slučajnih brojeva nema vlastiti widget. Također nema linkova na rezultate, što uz ostale nedostatke ovu uslugu dovodi na zadnje mjesto naše ocjene.

Zaključak

Po našem mišljenju najbolja i optimalna usluga za generiranje slučajnog broja je. Ima sve karakteristike koje imaju i drugi generatori. Jedini mu je nedostatak nemogućnost onemogućavanja ponavljanja brojeva tijekom generiranja. Ali kao što smo već napisali gore, ova nijansa nije jako važna za prosječnog korisnika. Možda smo nešto propustili u ovom članku? Ako jeste, napišite u komentarima!

Brojevi nas prate posvuda - brojevi kuća i stanova, telefonski brojevi, brojevi automobila, brojevi putovnica, plastičnih kartica, datumi, lozinke za e-poštu. Neke kombinacije brojeva biramo sami, ali većinu dobijemo slučajno. Bez da smo toga svjesni, svaki dan koristimo nasumično generirane brojeve. Ako dođemo do PIN kodova, tada jedinstvene kodove kreditne ili platne kartice generiraju pouzdani sustavi koji isključuju pristup lozinkama. Generatori slučajnih brojeva pružaju sigurnost u područjima koja zahtijevaju brzinu obrade, sigurnost i neovisnost podataka.

Proces generiranja pseudoslučajnih brojeva podliježe određenim zakonitostima i već se dugo koristi, primjerice, u lutriji. U nedavnoj prošlosti izvlačenja su se izvodila pomoću automata za lutriju ili ždrijeba. Sada se u mnogim zemljama dobitni brojevi državnih lutrija određuju upravo skupom generiranih nasumičnih brojeva.

Prednosti metode

Dakle, generator slučajnih brojeva neovisni je moderni mehanizam za slučajno određivanje kombinacija brojeva. Jedinstvenost i savršenstvo ove metode leži u nemogućnosti vanjske intervencije u procesu. Generator je skup programa izgrađen, na primjer, na šumnim diodama. Uređaj generira tok nasumične buke, čije se trenutne vrijednosti pretvaraju u brojeve i tvore kombinacije.

Generiranje brojeva daje trenutne rezultate - potrebno je nekoliko sekundi za stvaranje kombinacije. Ako govorimo o lutriji, sudionici mogu odmah saznati odgovara li broj listića dobitnom. To omogućuje da se izvlačenja održavaju onoliko često koliko sudionici žele. Ali glavna prednost metode je njena nepredvidljivost i nemogućnost izračuna algoritma za odabir brojeva.

Kako se generiraju pseudoslučajni brojevi

Zapravo, slučajni brojevi nisu slučajni - niz počinje od zadanog broja i generira ga algoritam. Generator pseudoslučajnih brojeva (PRNG ili PRNG - generator pseudoslučajnih brojeva) je algoritam koji generira niz naizgled nepovezanih brojeva, obično podložnih ravnomjernoj distribuciji. U informatici se pseudoslučajni brojevi koriste u mnogim primjenama: kriptografija, simulacijsko modeliranje, Monte Carlo metoda itd. Kvaliteta rezultata ovisi o svojstvima PRNG-a.

Izvor generiranja može biti fizička buka od kozmičkog zračenja do buke u otporniku, ali takvi se uređaji gotovo nikada ne koriste u aplikacijama za mrežnu sigurnost. Kriptografske aplikacije koriste posebne algoritme koji generiraju nizove koji ne mogu biti statistički slučajni. Međutim, pravilno odabrani algoritam može proizvesti niz brojeva koji prolaze većinu testova slučajnosti. Period ponavljanja u takvim nizovima veći je od radnog intervala iz kojeg su brojevi uzeti.

Mnogi moderni procesori sadrže PRNG, kao što je RdRand. Kao alternativa, kreiraju se skupovi nasumičnih brojeva i objavljuju u bloku za jednokratnu upotrebu (rječniku). Izvor brojeva u ovom je slučaju ograničen i ne pruža potpunu sigurnost mreže.

Povijest PRNG-a

Prototipom generatora slučajnih brojeva može se smatrati društvena igra Senet, uobičajena u starom Egiptu 3500. godine pr. Prema uvjetima sudjelovala su dva igrača, potezi su se određivali bacanjem četiri pljosnate crno-bijele palice – one su bile svojevrsni PRNG tog vremena. Štapići su se bacali istovremeno, a bodovi su se brojali: ako je jedan pao bijelom stranom, 1 bod i dodatni potez, dva bijela - dva boda i tako dalje. Maksimalan rezultat od pet bodova dobio je igrač koji je bacio četiri palice crnom stranom.

Danas se ERNIE generator već godinama koristi u Ujedinjenom Kraljevstvu za izvlačenja lutrije. Postoje dvije glavne metode za generiranje dobitnih brojeva: linearni kongruentni i aditivni kongruentni. Ove i druge metode temelje se na principu slučajnog odabira i pružaju ih softver koji beskrajno proizvodi brojeve čiji je slijed nemoguće pogoditi.

PRNG radi kontinuirano, na primjer u automatima za igre na sreću. Prema američkom zakonu, ovo je obvezan uvjet kojeg se moraju pridržavati svi dobavljači softvera.


Imajte na umu da bi idealno krivulja gustoće distribucije slučajnih brojeva izgledala kao što je prikazano na slici. 22.3. To jest, idealno, svaki interval sadrži isti broj točaka: N ja = N/k , Gdje N ukupan broj bodova, k broj intervala, ja= 1, , k .

Riža. 22.3. Dijagram učestalosti slučajnih brojeva,
generiran teorijski idealnim generatorom

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

  • generiranje normaliziranog slučajnog broja (to jest, ravnomjerno raspoređenog od 0 do 1);
  • normalizirana pretvorba slučajnih brojeva r ja na slučajne brojeve x ja, koji se raspoređuju prema (proizvoljnom) zakonu raspodjele koji zahtijeva korisnik ili u traženom intervalu.

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

  • fizički;
  • tablični;
  • algoritamski.

Fizički RNG

Primjer fizičkog RNG-a može biti: novčić ("glava" 1, "rep" 0); kocke; bubanj sa strelicom podijeljen na sektore s brojevima; hardverski generator buke (HS), koji koristi bučni termalni uređaj, na primjer, tranzistor (Sl. 22.422.5).

Riža. 22.4. Shema hardverske metode za generiranje slučajnih brojeva
Riža. 22.5. Dijagram dobivanja slučajnih brojeva hardverskom metodom
Zadatak "Generiranje nasumičnih brojeva pomoću novčića"

Generirajte nasumični troznamenkasti broj, ravnomjerno raspoređen u rasponu od 0 do 1, pomoću novčića. Točnost do tri decimale.

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

Nacrtajte interval od 0 do 1. Čitajući brojeve redom slijeva na desno, podijelite interval na pola i svaki put odaberite jedan od dijelova sljedećeg intervala (ako dobijete 0, onda lijevi, ako dobijete a 1, zatim desni). Dakle, možete doći do bilo koje točke u intervalu, onoliko precizno koliko želite.

Tako, 1 : interval je podijeljen na pola i , odabrana je desna polovica, interval je sužen: . Sljedeći broj 0 : interval je podijeljen na pola i , odabrana je lijeva polovica, interval je sužen: . Sljedeći broj 0 : interval je podijeljen na pola i , odabrana je lijeva polovica, interval je sužen: . Sljedeći broj 1 : interval je podijeljen na pola i , odabrana je desna polovica, interval je sužen: .

Prema uvjetu točnosti zadatka nađeno je rješenje: to je bilo koji broj iz intervala, npr. 0,625.

U načelu, ako idemo striktno, tada se dijeljenje intervala mora nastaviti sve dok se lijeva i desna granica pronađenog intervala ne POKUPAJU s točnošću do treće decimale. Odnosno, sa stajališta točnosti, generirani broj se više neće moći razlikovati od bilo kojeg broja iz intervala u kojem se nalazi.

Drugi način rješavanja problema
Podijelimo dobiveni binarni niz 100110100 u trijade: 100, 110, 100. Nakon pretvaranja ovih binarnih brojeva u decimalne brojeve, dobivamo: 4, 6, 4. Zamjenom “0.” ispred, dobivamo: 0,464. Ova metoda može proizvesti samo brojeve od 0,000 do 0,777 (budući da je maksimum koji se može "istisnuti" iz tri binarne znamenke 111 2 = 7 8), odnosno ti su brojevi zapravo prikazani u oktalnom brojevnom sustavu. Za prijevod oktalni brojevi u decimal izvršimo prikaz:
0,464 8 = 4 8 1 + 6 8 2 + 4 8 3 = 0,6015625 10 = 0,602 10.
Dakle, traženi broj je: 0,602.

Tablični RNG

Tablični RNG-ovi koriste posebno sastavljene tablice koje sadrže provjerene nekorelirane brojeve, koji ni na koji način ne ovise jedni o drugima, kao izvor nasumičnih brojeva. U tablici Slika 22.1 prikazuje mali fragment takve tablice. Prelaskom tablice s lijeva na desno od vrha do dna možete dobiti slučajne brojeve ravnomjerno raspoređene od 0 do 1 sa potrebnim brojem decimalnih mjesta (u našem primjeru koristimo tri decimalna mjesta za svaki broj). Budući da brojevi u tablici ne ovise jedni o drugima, tablicom se može prelaziti na različite načine, npr. od vrha prema dolje, ili s desna na lijevo, ili se, recimo, mogu odabrati brojevi koji su na parnim pozicijama.

Tablica 22.1.
Slučajni brojevi. Ravnomjerno
slučajni brojevi raspoređeni od 0 do 1
Slučajni brojevi Ravnomjerno raspoređeno
0 do 1 slučajni 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 proizvodi stvarno slučajne brojeve, budući da tablica sadrži provjerene nekorelirane brojeve. Nedostaci metode: pohranjivanje velikog broja znamenki zahtijeva puno memorije; Velike su poteškoće kod generiranja i provjere ovakvih tablica; ponavljanja pri korištenju tablice više ne jamče slučajnost numeričkog niza, a time ni pouzdanost rezultata.

Postoji tablica 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 koje generiraju ovi RNG-ovi uvijek su pseudo-slučajni (ili kvazi-slučajni), to jest, svaki sljedeći generirani broj ovisi o prethodnom:

r ja + 1 = f(r ja) .

Nizovi sastavljeni od takvih brojeva tvore petlje, odnosno nužno postoji ciklus koji se ponavlja beskonačan broj puta. Ciklusi koji se ponavljaju nazivaju se periode.

Prednost ovih RNG-ova je njihova brzina; generatori ne zahtijevaju gotovo nikakve memorijske resurse i kompaktni su. Nedostaci: brojevi se ne mogu u potpunosti nazvati slučajnim, jer postoji ovisnost između njih, kao i prisutnost razdoblja u nizu kvazi-slučajnih brojeva.

Razmotrimo nekoliko algoritamskih metoda za dobivanje RNG-a:

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

Metoda srednjeg kvadrata

Postoji neki četveroznamenkasti broj R 0 . Taj se broj kvadrira i unosi R 1 . Sljedeće od R 1 uzima srednji (četiri srednje znamenke) novi nasumični broj i upisuje ga u njega R 0 . Zatim se postupak ponavlja (vidi sl. 22.6). Imajte na umu da zapravo, kao slučajni broj ne trebate uzeti ghij, A 0.ghij s nulom i decimalnom točkom dodanom s lijeve strane. Ova činjenica se odražava kao na Sl. 22.6, i na sljedećim sličnim slikama.

Riža. 22.6. Shema metode srednjih kvadrata

Nedostaci metode: 1) ako se pri nekoj iteraciji broj R 0 postaje jednaka nuli, tada generator degenerira, pa je važan pravilan izbor početne vrijednosti R 0 ; 2) generator će ponoviti niz kroz M n koraka (u najboljem slučaju), gdje n znamenka broja R 0 , M baza brojevnog sustava.

Na primjer na Sl. 22.6: ako broj R 0 će biti predstavljen u binarnom brojevnom sustavu, tada će se niz pseudoslučajnih brojeva ponoviti u 2 4 = 16 koraka. Imajte na umu da se ponavljanje niza može dogoditi ranije ako je početni broj pogrešno odabran.

Gore opisanu metodu predložio je John von Neumann i datira iz 1946. godine. Budući da se ova metoda pokazala nepouzdanom, brzo je napuštena.

Metoda srednjeg proizvoda

Broj R 0 pomnoženo s R 1, iz dobivenog rezultata R 2 sredina je izvađena R 2 * (ovo je još jedan nasumični broj) i pomnoženo s R 1 . Svi sljedeći nasumični brojevi izračunavaju se pomoću ove sheme (vidi sliku 22.7).

Riža. 22.7. Shema metode srednjih produkata

Metoda miješanja

Metoda miješanja koristi operacije za cikličko pomicanje sadržaja ćelije lijevo i desno. Ideja metode je sljedeća. Neka ćelija pohranjuje početni broj R 0 . Ciklički pomičući sadržaj ćelije ulijevo za 1/4 duljine ćelije, dobivamo novi broj R 0 * . Na isti način, kruženje sadržaja ćelije R 0 udesno za 1/4 duljine ćelije, dobivamo drugi broj R 0**. Zbroj brojeva R 0* i R 0** daje novi slučajni broj R 1 . Unaprijediti R 1 upisuje se R 0, a cijeli niz operacija se ponavlja (vidi sl. 22.8).


Riža. 22.8. Dijagram metode miješanja

Imajte na umu da broj koji proizlazi iz zbrajanja R 0* i R 0 ** , možda neće u potpunosti stati u ćeliju R 1 . U tom slučaju, dodatne znamenke moraju se odbaciti iz rezultirajućeg broja. Objasnimo ovo na sl. 22.8, gdje su sve ćelije predstavljene s osam binarnih znamenki. Neka R 0 * = 10010001 2 = 145 10 , R 0 ** = 10100001 2 = 161 10 , Zatim R 0 * + R 0 ** = 100110010 2 = 306 10 . Kao što vidite, broj 306 zauzima 9 znamenki (u binarnom brojevnom sustavu), a ćelija R 1 (isto kao R 0) može sadržavati najviše 8 bitova. Stoga prije unosa vrijednosti u R 1, potrebno je ukloniti jedan “višak”, krajnji lijevi bit iz broja 306, što rezultira R 1 više neće ići na 306, već na 00110010 2 = 50 10 . Također imajte na umu da se u jezicima kao što je Pascal, "obrezivanje" dodatnih bitova kada se ćelija prelije automatski izvodi u skladu s navedenim tipom varijable.

Linearna kongruentna metoda

Linearna kongruentna metoda jedan je od najjednostavnijih i najčešće korištenih postupaka koji trenutno simuliraju slučajne brojeve. Ova metoda koristi mod ( x, g) , koji vraća ostatak kada se prvi argument podijeli s drugim. Svaki sljedeći slučajni broj izračunava se na temelju prethodnog slučajnog broja pomoću sljedeće formule:

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

Niz slučajnih brojeva dobiven ovom formulom naziva se linearni kongruentni niz. Mnogi autori nazivaju linearnim kongruentnim nizom kada 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 razdoblje ne može imati više M elementi. S druge strane, dijeljenje korišteno u ovoj metodi prilično je spora operacija, pa bi za binarno računalo logičan izbor bio M = 2 N, budući da se u ovom slučaju pronalaženje ostatka dijeljenja svodi unutar računala na binarnu logičku operaciju "I". Odabir najvećeg prostog broja također je uobičajen M, manje od 2 N: u stručnoj literaturi je dokazano da su u ovom slučaju niže znamenke rezultirajućeg slučajnog broja r ja+ 1 ponašaju se jednako nasumično kao i stariji, što pozitivno utječe na cijeli niz slučajnih brojeva u cjelini. Kao primjer, jedan od Mersenneovi brojevi, jednako 2 31 1, i stoga, M= 2 31 1 .

Jedan od zahtjeva za linearne kongruentne nizove je da duljina perioda bude što duža. Duljina razdoblja ovisi o vrijednostima M , k I b. Teorem koji predstavljamo u nastavku omogućuje nam da odredimo je li moguće postići period maksimalne duljine za određene vrijednosti M , k I b .

Teorema. Linearni kongruentni niz definiran brojevima M , k , b I r 0, ima period duljine M ako i samo ako:

  • brojevima b I M relativno jednostavan;
  • k 1 puta str za svaki prvi broj str, koji je djelitelj M ;
  • k 1 je višekratnik broja 4, ako M višekratnik 4.

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

Utvrđeno je da će se niz pseudoslučajnih brojeva generiranih na temelju podataka iz primjera 1 ponavljati svakih M/4 broja. Broj q postavlja se proizvoljno prije početka izračuna, međutim, treba imati na umu da niz ostavlja dojam slučajnog općenito k(i stoga q). Rezultat se može donekle popraviti ako b neparan i k= 1 + 4 · q u ovom slučaju red će se ponavljati svakih M brojevima. Nakon duge potrage k istraživači su se zaustavili na vrijednostima od 69069 i 71365.

Generator slučajnih brojeva koji koristi podatke iz primjera 2 proizvest će slučajne brojeve koji se ne ponavljaju s periodom od 7 milijuna.

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

Provjera kvalitete generatora

O kvaliteti RNG-a ovisi kvaliteta cijelog sustava i točnost rezultata. Stoga, nasumični niz koji generira RNG mora zadovoljiti niz kriterija.

Provjere koje se provode su dvije vrste:

  • provjerava ujednačenost distribucije;
  • testovi za statističku neovisnost.

Provjerava ujednačenost distribucije

1) RNG bi trebao proizvesti blizu sljedećih vrijednosti statističkih parametara karakterističnih za jedinstveni slučajni zakon:

2) Frekvencijski test

Test frekvencije omogućuje vam da saznate koliko brojeva pada unutar intervala (m r – σ r ; m r + σ r) , odnosno (0,5 0,2887; 0,5 + 0,2887) ili, u konačnici, (0,2113; 0,7887). Budući da je 0,7887 0,2113 = 0,5774, zaključujemo da bi u dobrom RNG-u oko 57,7% svih izvučenih nasumičnih brojeva trebalo pasti u ovaj interval (vidi sliku 22.9).

Riža. 22.9. Frekvencijski dijagram idealnog RNG-a
u slučaju provjere radi ispitivanja frekvencije

Također je potrebno uzeti u obzir da broj brojeva koji ulaze u interval (0; 0,5) treba biti približno jednak broju brojeva koji padaju u interval (0,5; 1).

3) Hi-kvadrat test

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

Za naš slučaj, testiranje korištenjem chi-kvadrat kriterija omogućit će nam da saznamo koliko je stvaran RNG je blizak referentnoj vrijednosti RNG-a, odnosno zadovoljava li zahtjev jednolike distribucije ili ne.

Frekvencijski dijagram referenca RNG je prikazan na sl. 22.10. Budući da je zakon raspodjele referentnog RNG-a uniforman, tada (teorijska) vjerojatnost str ja unos brojeva u ja th interval (svi ovi intervali k) jednako je str ja = 1/k . I tako, u svakom od k intervali će pogoditi glatko, nesmetano Po str ja · N brojevi ( N ukupan broj generiranih brojeva).

Riža. 22.10. Frekvencijski dijagram referentnog RNG-a

Pravi RNG će proizvesti brojeve raspoređene (i ne nužno ravnomjerno!) preko k intervali i svaki interval će sadržavati n ja brojevi (ukupno n 1 + n 2 + + n k = N ). Kako možemo odrediti koliko je dobar RNG koji se testira i koliko je blizak referentnom? Sasvim je logično uzeti u obzir kvadrat razlike između rezultirajućeg broja brojeva n ja i "referenca" str ja · N . Zbrojimo ih i rezultat je:

χ 2 eksp. = ( n 1 str 1 · 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 (i prema tome što je manja vrijednost χ 2 exp.), to je jači zakon distribucije slučajnih brojeva generiranih realnim RNG-om koji teži biti uniforman.

U prethodnom izrazu, svakom od izraza je dodijeljena ista težina (jednaka 1), što zapravo ne mora biti točno; stoga je za hi-kvadrat statistiku potrebno normalizirati svaki ja th član, dijeleći ga sa str ja · N :

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

Dobili smo vrijednost hi-kvadrat testa za eksperimentalni podaci.

U tablici 22.2 dati su teoretski hi-kvadrat vrijednosti (χ 2 teoretski), gdje ν = N 1 je broj stupnjeva slobode, str ovo je korisnički određena razina pouzdanosti koja pokazuje koliko bi RNG trebao zadovoljiti zahtjeve jednolike distribucije, ili str — je vjerojatnost da eksperimentalna vrijednost χ 2 exp. bit će manji od tabelarnog (teorijskog) χ 2 teorijskog. ili njemu jednaka.

Tablica 22.2.
Neki postotni bodovi χ 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

Smatra se prihvatljivim str od 10% do 90%.

Ako je χ 2 exp. mnogo više od χ 2 teorije. (to je str je velik), zatim generator ne zadovoljava zahtjev jednolike raspodjele, budući da promatrane vrijednosti n ja otići predaleko od teorijskog str ja · N i ne može se smatrati slučajnim. Drugim riječima, uspostavljen je tako veliki interval pouzdanosti da ograničenja na brojeve postaju vrlo labava, zahtjevi na brojeve postaju slabi. U ovom slučaju će se primijetiti vrlo velika apsolutna pogreška.

Čak je i D. Knuth u svojoj knjizi “Umijeće programiranja” primijetio da imajući χ 2 exp. za male, općenito, također nije dobro, iako se ovo na prvi pogled čini kao divno sa stajališta uniformnosti. Doista, 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 sa stajališta uniformnosti, a χ 2 iskustva bit će praktički nula, ali je malo vjerojatno da ćete ih prepoznati kao slučajne.

Ako je χ 2 exp. mnogo manje od χ 2 teorije. (to je str mali), zatim generator ne zadovoljava zahtjev slučajne uniformne distribucije, budući da promatrane vrijednosti n ja preblizu teoretskom str ja · 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%, tada možemo pretpostaviti da su slučajne vrijednosti brojeva koje generira senzor potpuno slučajne.

Uz to treba imati na umu da sve vrijednosti str ja · N mora biti dovoljno velik, na primjer više od 5 (nađeno empirijski). Tek tada (s dovoljno velikim statističkim uzorkom) uvjeti pokusa mogu se smatrati zadovoljavajućima.

Dakle, postupak provjere je sljedeći.

Testovi statističke neovisnosti

1) Provjera učestalosti pojavljivanja brojeva u nizu

Pogledajmo primjer. Slučajni broj 0,2463389991 sastoji se od znamenki 2463389991, a broj 0,5467766618 sastoji se od znamenki 5467766618. Povezivanjem nizova znamenki dobivamo: 24633899915467766618.

Jasno je da teorijska vjerojatnost str ja gubitak ja Treća znamenka (od 0 do 9) jednaka je 0,1.

2) Provjera izgleda nizova identičnih brojeva

Označimo sa n L broj niza istih znamenki u nizu duljine L. Sve treba provjeriti L od 1 do m, Gdje m ovo je broj koji određuje korisnik: najveći broj identičnih znamenki u nizu.

U primjeru “24633899915467766618” pronađene su 2 serije duljine 2 (33 i 77), tj. n 2 = 2 i 2 serije duljine 3 (999 i 666), tj n 3 = 2 .

Vjerojatnost pojave niza duljine L jednako je: str L= 9 10 L (teorijski). To jest, vjerojatnost pojavljivanja serije od jednog znaka jednaka je: str 1 = 0,9 (teoretski). Vjerojatnost da se pojavi niz od dva znaka je: str 2 = 0,09 (teoretski). Vjerojatnost da se pojavi niz od tri znaka je: str 3 = 0,009 (teoretski).

Na primjer, vjerojatnost pojavljivanja serije od jednog znaka je str L= 0,9, jer može postojati samo jedan simbol od 10, a ukupno ima 9 simbola (nula se ne računa). A vjerojatnost da će se dva identična simbola “XX” pojaviti u nizu je 0,1 · 0,1 · 9, odnosno vjerojatnost 0,1 da će se simbol “X” pojaviti na prvom mjestu pomnožena je s vjerojatnošću 0,1 da je isti simbol pojavit će se na drugom mjestu "X" i pomnožen s brojem takvih kombinacija 9.

Učestalost pojavljivanja serija izračunava se pomoću hi-kvadrat formule o kojoj smo prethodno raspravljali koristeći vrijednosti str L .

Napomena: Generator se može testirati više puta, ali testovi nisu potpuni i ne jamče da generator proizvodi nasumične brojeve. Na primjer, generator koji proizvodi niz 12345678912345 smatrat će se idealnim tijekom testiranja, što očito nije sasvim točno.

U zaključku, napominjemo da je treće poglavlje knjige Donalda E. Knutha Umijeće programiranja (svezak 2) u potpunosti posvećeno proučavanju slučajnih brojeva. Ispituje različite metode za generiranje slučajnih brojeva, statističke testove slučajnosti i pretvorbu jednoliko raspodijeljenih slučajnih brojeva u druge vrste slučajnih varijabli. Prezentaciji ove građe posvećeno je više od dvjesto stranica.

Generator nasumičnih brojeva za srećke dostupan je besplatno u formatu "kakav jest". Programer ne snosi nikakvu odgovornost za materijalne i nematerijalne gubitke korisnika skripte. Ovu uslugu možete koristiti na vlastitu odgovornost. No, bez obzira na sve, sigurno ne želite riskirati :-).

Nasumični brojevi za online srećke

Ovaj softver (RNG u JS) je generator pseudoslučajnih brojeva implementiran pomoću programskog jezika Javascript. Generator proizvodi jednoliku distribuciju slučajnih brojeva.

To vam omogućuje da izbacite "klin s klinom" na RNG-u s ravnomjernom raspodjelom lutrijske tvrtke kako biste odgovorili nasumičnim brojevima s ravnomjernom raspodjelom. Ovaj pristup eliminira subjektivnost igrača, budući da ljudi imaju određene preferencije u odabiru brojeva i brojeva (rođendani rođaka, nezaboravni datumi, godine itd.), koji utječu na ručni odabir brojeva.

Besplatni alat pomaže igračima odabrati nasumične brojeve za lutriju. Skripta za generiranje nasumičnog broja ima skup unaprijed konfiguriranih načina za Gosloto 5 od 36, 6 od 45, 7 od 49, 4 od 20, Sportloto 6 od 49. Možete odabrati način generiranja nasumičnog broja s besplatne postavke za druge opcije lutrije.

Predviđanja dobitaka na lutriji

Generator slučajnih brojeva s ravnomjernom raspodjelom može poslužiti kao horoskop za izvlačenje lutrije, iako je vjerojatnost da će se prognoza ostvariti mala. Ipak, korištenje generatora slučajnih brojeva ima dobru vjerojatnost dobitka u usporedbi s mnogim drugim lutrijskim strategijama i dodatno vas oslobađa boli teškog odabira sretnih brojeva i kombinacija. Sa svoje strane, ne savjetujem vam da se prepustite iskušenju i kupite plaćene prognoze; bolje je potrošiti ovaj novac na udžbenik o kombinatorici. Iz njega možete naučiti puno zanimljivih stvari, na primjer, vjerojatnost osvajanja jackpota u Goslotu je 5 od 36 1 Do 376 992 . A vjerojatnost dobivanja minimalne nagrade pogađanjem 2 broja je 1 Do 8 . Prognoza temeljena 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šla izvlačenja. Ali pod uvjetom da lutrija koristi RNG s ravnomjernom distribucijom i da vjerojatnost dobivanja jedne ili druge kombinacije ne ovisi o svakom izvlačenju, besmisleno je pokušavati uzeti u obzir rezultate prošlih izvlačenja. I to je sasvim logično, budući da tvrtkama lutrije nije isplativo dopustiti sudionicima da koriste jednostavne metode za povećanje vjerojatnosti dobitka.

Često se priča da organizatori lutrije namještaju rezultate. No, zapravo, to nema smisla, čak, naprotiv, ako bi lutrijske tvrtke utjecale na rezultate lutrije, tada bi bilo moguće pronaći dobitnu strategiju, ali dosad nitko nije uspio. Stoga je organizatorima lutrije vrlo isplativo da kuglice ispadaju s jednakom vjerojatnošću. Usput, procijenjeni povrat na lutriji 5 od 36 je 34,7%. Tako lutrijska tvrtka zadržava 65,3% prihoda od prodaje ulaznica, dio sredstava (obično polovica) dodjeljuje se formiranju jackpota, ostatak novca ide na organizacijske troškove, oglašavanje i neto dobit tvrtke. Statistika tiraža savršeno potvrđuje ove brojke.

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

Najbolji članci na temu