Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Savjet
  • Generator slučajnih brojeva sa kodnom riječi. Generator slučajnih brojeva lutrije

Generator slučajnih brojeva sa kodnom riječi. Generator slučajnih brojeva lutrije

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 tamo u grupi bajkera za odgovor :)) Bićemo također vrlo polaskani ako odlučite da ga koristite za određivanje dobitnog broja na lutriji ili odlučite koji broj za klađenje 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 | nasumični 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). Prijevara 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 ispunite 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. Brojeve na terenu 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 različitim poljima ljudske aktivnosti. Međutim, posebnu popularnost stekli su u kojima vlasnici internetskih trgovina, kozmetičkih salona, ​​kafića i drugih objekata dogovaraju da među svojim pretplatnicima privlače isplative ponude, bonuse i poklone. To je generator slučajnih brojeva koji radi besplatno na mreži koji vam omogućava da iskreno odaberete pobjednika.

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

Međutim, računarska snaga i funkcionalnost takve usluge nisu uvijek dovoljne za dobijanje potrebnih podataka. Do danas postoji prilično velik broj specijaliziranih online programa koji se razlikuju ne samo po jednostavnosti korisničkog sučelja, već i po svojoj širokoj funkcionalnosti. Ne morate sami tražiti desetine programa, jer smo posebno za vas u ovom članku pripremili detaljan pregled TOP 3 najbolja online generatora brojeva prema korisnicima:

Prvo se morate upoznati s glavnim kriterijima:

  1. Odaberite sa liste. Mogućnost da se korisniku pruži sopstvena lista za generisanje, nakon čega sledi izbor slučajnog broja iz datog skupa.
  2. Odaberite iz raspona. Mogućnost online generatora slučajnih brojeva da besplatno uzorkuje iz određenog raspona.
  3. Izlaz 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 narednih generacija isključi broj koji je pao prije njega, tako da se prilikom prijema nekoliko slučajnih brojeva u nizu ne dupliraju.
  5. Website Widget. Mogućnost povezivanja generatora na vašu web stranicu ili stranicu na društvenim mrežama kako bi vam uvijek bio pri ruci i dostupan za rad.
  6. Link do rezultata. Mogućnost dobijanja zasebnog linka do rezultata svake pojedinačne generacije, čime se potvrđuje tačnost podataka datih prilikom davanja rezultata takmičenja ili žrebanja.

Prije pripreme ovog članka, analizirali smo mnoge generatore koji se nalaze na Internetu. I od svega - izabrao 3 najbolja:

TOP-1: generator brojeva "Randstaff"


Opis: Neosporni lider naše rang liste najboljih generatora slučajnih brojeva je Randstaff servis. Može se pohvaliti korisnim korisničkim interfejsom, napravljenim u sivoj boji, koji nimalo ne pritiska na oči. Pogodno je koristiti ne samo na računaru, već i na mobilnom telefonu, što je posebno važno ako trebate generirati nasumični broj bez pristupa PC-u.

Prednosti: Ovaj besplatni online generator slučajnih brojeva ima široku funkcionalnost i nudi korisniku mogućnost generiranja bilo kojeg broja slučajnih brojeva sa liste ili raspona bez ponavljanja. Možete sami odabrati najprikladniju opciju za korištenje usluge Randstaff putem posebnog widgeta, aplikacije na društvenim mrežama ili službene web stranice. Nakon što završite jednostavnu proceduru registracije, dobit ćete pristup svom ličnom računu, gdje će svi vaši rezultati biti sigurno pohranjeni.

Nedostaci: Nemoguće. A rezultat generacije možete sačuvati samo 3 dana (ali to je obično dovoljno). Ako želite zauvijek sačuvati rezultat, morate se registrirati na svom ličnom računu (cijena - 300 rubalja).

TOP 2: Generator brojeva Castlelota


Opis: Drugo mjesto s pravom pripada Castlelot generatoru slučajnih brojeva. To nije samostalna usluga, već dio portala s raznim korisnim stvarima koje generiraju prekrasne rime, jedinstvene prijave i jednostavno pohranjuju kolekcije sa zanimljivim filmovima ili citatima. Interfejs se malo razlikuje od sličnih servisa, ali ima širu funkcionalnost.

Prednosti: Castlelot omogućava korisniku da odabere nasumične brojeve iz datog raspona. Može biti jedna ili više cifara. Možete odabrati način rada usluge sa ili bez ponavljanja. Zgodna prednost Castlelot generatora je mogućnost dobivanja zasebne veze za svaki rezultat. Ima ekskluzivnu karakteristiku pod nazivom "Još više slučajnosti". Kada je aktiviran, proces generiranja ne počinje sve dok korisnik ne pomjeri pokazivač miša na određenu poziciju. Osim toga, raspon dodatnih servisnih alata uključuje widget za web-mjesto i vlasničku aplikaciju VKontakte.

Nedostaci: Jedini očigledan nedostatak ovakvog generatora je nedostatak mogućnosti izbora sa liste.

TOP 3: generator "Random number.rf"


Opis: Usluga "Random number" vam omogućava da generišete online vrijednosti u rasponu od 1 do 99999. Dizajn je minimalistički, što je dobro za to. Bez ometanja. Jednako su pogodni za korištenje na računaru ili pametnom telefonu. Jasno su vidljivi veliki crni brojevi na bijeloj pozadini, tako da ni osobe s problemima s vidom neće osjetiti nelagodu tokom njegove upotrebe.

Prednosti: Funkcionalnost takvog online generatora slučajnih brojeva omogućava vam da odaberete slučajnu vrijednost sa liste i određeni raspon. Ako je potrebno da dobijete nekoliko nasumičnih brojeva online odjednom, potreban broj treba navesti u odgovarajućem polju, gdje je zadana vrijednost 1. Ponavljanje je onemogućeno na zahtjev korisnika.

Nedostaci: Ovakvu uslugu nećete moći povezati sa svojom web lokacijom ili zajednicom na društvenim mrežama, jer takav generator slučajnih brojeva nema svoj widget. Nema ni linkova na rezultat, što, zajedno sa ostalim nedostacima, ovu uslugu dovodi na posljednje mjesto u našoj ljestvici.

Zaključak

Po našem mišljenju, najbolja i optimalna usluga za generisanje slučajnog broja je . Ima sve karakteristike koje imaju drugi generatori. Jedini nedostatak mu je nemogućnost da onemogući ponavljanje brojeva tokom generisanja. Ali kao što smo gore napisali, ova nijansa nije od velike važnosti za prosječnog korisnika. Možda smo nešto propustili u ovom članku? Ako jeste, pišite u komentarima!

Brojevi nas prate svuda - broj kuće i stana, telefon, auto, pasoš, plastična kartica, datumi, lozinke za e-poštu. Neke kombinacije brojeva biramo sami, ali većinu dobijemo slučajno. Ne svjesni, svakodnevno koristimo nasumično generirane brojeve. Ako izmislimo pin kodove, tada se jedinstveni kodovi kreditnih ili platnih kartica generiraju pouzdanim sistemima koji isključuju pristup lozinkama. Generatori slučajnih brojeva pružaju zaštitu u područjima koja zahtijevaju brzinu obrade, sigurnost i nezavisnu obradu podataka.

Proces generiranja pseudoslučajnih brojeva podliježe određenim zakonima i koristi se već duže vrijeme, na primjer, prilikom provođenja lutrija. U nedavnoj prošlosti, izvlačenje se vršilo pomoću lutrijskih bubnjeva ili lota. Sada se u mnogim zemljama pobjednički brojevi državnih lutrija određuju precizno skupom generiranih slučajnih brojeva.

Prednosti metode

Dakle, generator slučajnih brojeva je nezavisan savremeni mehanizam za nasumično određivanje kombinacija brojeva. Jedinstvenost i savršenstvo ove metode leži u nemogućnosti vanjskog uplitanja u proces. Generator je skup programa izgrađenih, na primjer, na šum diodama. Uređaj stvara tok nasumične buke, čije se trenutne vrijednosti pretvaraju u brojeve i prave kombinacije.

Generisanje brojeva daje trenutne rezultate - potrebno je nekoliko sekundi da se dovrši kombinacija. Ako govorimo o lutriji, učesnici mogu odmah saznati da li se broj tiketa poklapa sa pobjedničkim. Ovo omogućava da se izvlačenja održavaju onoliko često koliko učesnici žele. Ali glavna prednost metode je nepredvidljivost i nemogućnost izračunavanja algoritma za odabir brojeva.

Kako se generišu pseudoslučajni brojevi

U stvari, slučajni brojevi nisu slučajni - niz počinje od datog broja i generira se algoritmom. Generator pseudoslučajnih brojeva (PRNG ili PRNG - generator pseudoslučajnih brojeva) je algoritam koji generiše niz, na prvi pogled, nepovezanih brojeva, obično podložnih uniformnoj distribuciji. U računarstvu, pseudoslučajni brojevi se koriste u mnogim aplikacijama: u kriptografiji, simulaciji, Monte Carlu, itd. Kvalitet rezultata zavisi od svojstava PRNG-a.

Izvor stvaranja može biti fizička buka od kosmičkih zraka do buke otpornika, ali se takvi uređaji gotovo nikada ne koriste u aplikacijama za sigurnost mreže. Kriptografske aplikacije koriste posebne algoritme koji generiraju sekvence koje ne mogu biti statistički nasumične. Međutim, dobro odabran algoritam proizvodi niz brojeva koji prolaze većinu testova za slučajnost. Period ponavljanja u takvim nizovima je veći od radnog intervala iz kojeg se uzimaju brojevi.

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

Istorija PRNG-a

Prototipom generatora slučajnih brojeva može se smatrati društvena igra Senet, uobičajena u starom Egiptu 3500. godine prije Krista. U skladu sa uslovima učestvovala su dva igrača, potezi su se određivali bacanjem četiri ravna crno-bela štapa - bili su kao PRNG tog vremena. Palice su se bacale u isto vrijeme, a bodovi su se računali: ako je jedan pao sa bijelom stranom, 1 poen i dodatni potez, dva bela - dva poena, i tako dalje. Maksimalni rezultat od pet poena dobio je igrač koji je bacio četiri štapa crnom stranom.

Danas se ERNIE generator već dugi niz godina koristi u Velikoj Britaniji u izvlačenju lutrije. Postoje dvije glavne metode za generiranje dobitnih brojeva: linearni kongruentni i aditivni kongruentni. Ove i druge metode zasnovane su na principu slučajnog izbora i obezbeđene su softverom koji proizvodi brojeve na neodređeno vreme, čiji se redosled ne može pogoditi.

PRNG radi kontinuirano, na primjer, u slot mašinama. Prema američkom zakonu, ovo je obavezan uslov kojeg moraju poštovati svi dobavljači softvera.


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 je 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 (sl. 22.4–22.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 je tri decimale.

Prvi način za rješavanje problema
Bacite novčić 9 puta, a ako je novčić pao u rep, zapiš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 - i , - odabire se desna polovina, interval se sužava: . Sledeći broj 0 : interval se dijeli na pola - i , - odabire se lijeva polovina, interval se sužava: . Sledeći broj 0 : interval se dijeli na pola - i , - odabire se lijeva polovina, interval se sužava: . Sledeći broj 1 : interval se dijeli na pola - i , - odabire se desna polovina, interval se sužava: .

Prema uslovu tačnosti problema, rješenje se nalazi: to je bilo koji broj iz intervala , na primjer, 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 se mogu 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) - to jest, 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 prisustvo 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 uzima se sredina (četiri srednje cifre) - novi slučajni broj - i upisuje se 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 dodijeljenim 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 se 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- cifren kapacitet broja R 0 , M je osnova 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 medijanskih 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 sadrž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 naredni 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 b = 0 multiplikativna kongruentna metoda, i kada b ≠ 0 — mješovita kongruentna metoda.

Za visokokvalitetan 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 korištena 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 dijeljenja unutar računala svodi na binarnu logičku operaciju "AND". Također je uobičajeno odabrati najveći prost 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 put str za svaki jednostavan str, što je djelitelj M ;
  • k– 1 je višekratnik od 4 ako M višestruko od 4.

Na kraju, da zaključ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) , odnosno (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 slučajnih brojeva koji su ispali 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 kreirali 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 je 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 na 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 sa stanovišta gledišta. uniformnost, i χ 2 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- malo), 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. , što odgovara 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 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 drugoj poziciji "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… će se smatrati idealnim tokom provjera, što, očigledno, 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 generisanje slučajnih brojeva, statističke kriterijume za slučajnost i transformaciju ravnomerno raspoređenih slučajnih brojeva u druge tipove slučajnih varijabli. Više od dvije stotine stranica posvećeno je prezentaciji ovog materijala.

Generator nasumičnih brojeva za lutrijske karte je besplatan na bazi "kao što jeste". Programer ne snosi nikakvu odgovornost za materijalne i nematerijalne gubitke korisnika skripte. Ovu uslugu možete koristiti na vlastitu odgovornost. Ipak, nešto, ali sigurno 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čno biranje brojeva.

Besplatni alat pomaže igračima da izaberu 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 za izvlačenje, 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!

Top Related Articles