(!LANG: määratud vahemikuga numbrigeneraator. Korduseta juhuslike arvude generaator. Juhuslike arvude generaator juhusliku funktsiooni abil

On ilmne, et õnnel on igas ettevõtmises oluline roll. Kuid lotot mängides peate mõistma, et õnn on ainus tegur, millest teie unistuste täitumine sõltub. Enamiku loteriide puhul peate jackpoti saamiseks lihtsalt ära arvama teatud numbrid teatud vahemikus. Sel juhul on abiks meie veebisaidil esitatud teave.

Pakume tasuta proovida lihtsat generaatorit, mis suudab täielikult välistada inimfaktori mõju ja suurendada võiduvõimalust. Pakume ka parimaid ja funktsionaalsemaid, kuid lihtsaid generaatoreid, aga ka teenuseid, mis suudavad spetsiaalsete analüüsialgoritmide põhjal ennustada võidunumbrite kombinatsioone.

Kui soovid õnne proovida mõnes populaarses loteriis (4-st 20-st, 5-st 36-st, 6-st 45-st), kuid ei tea, millised numbrid võivad teie võiduvõimalusi suurendada, siis saame aidata. Järgmisena juhime teie tähelepanu ülevaade TOP 5 kõige funktsionaalsemast, kuid samas lihtsalt kasutatavad loteriinumbrite generaatorid, millel on palju lisafunktsioone ja -võimalusi.

Esiteks analüüsime ülaltoodud loendi peamisi kriteeriume.:

TOP 1 – numbrigeneraator GSgen.RU


Kirjeldus: Manustatud tarkvara on realiseeritud Javascripti programmeerimiskeeles ja see on pseudojuhuslike numbrite generaator. Jaotab juhuslikud numbrid ühtlaselt, välistades sellega mängijate subjektiivse taju, mis mõjutab käsitsi valikut.

Eelised: RNG-skript võimaldab teil valida Gosloto jaoks (ja mitte ainult) eelseadistatud režiimidest erinevate variatsioonidega õnnenumbreid. Muud tüüpi loteriide jaoks on võimalik individuaalseid seadistusi. Saadaval tasuta kasutamiseks.

Puudused: Ei ole võimalik sisestada välistusnumbreid, mida pole soovitav näha, ei saa korraga mitut kombinatsiooni ja linki valmis tulemusele.

TOP 2 - Generaator Soft-Arhiv


Kirjeldus: Veel üks teenus Venemaa loteriide kesktaseme genereerimiseks. Piisab, kui valida vajalik kombinatsioon ja saada valmis tulemus. Kasutamiseks pole vaja lisatarkvara, kuna see töötab võrgus suurepäraselt.

Eelised: sellel on lihtne visuaalne vorm tulemuste täitmiseks ja vastuvõtmiseks. Võimalus valida valmis loteriitüüp, genereerimisseaded võimaldavad lubada erandeid ning vajalike kombinatsioonide arv muudab teenuse kasutamise väga mugavaks. Samuti täiesti tasuta funktsionaalsus.

TOP 3 – RNG: kalkulaator888


Kirjeldus: Kalkulaator888 on vaadeldavatest teenustest auväärsel kolmandal kohal. Nagu eelmised valikud, võimaldab see ilma suurema vaevata saada vajaliku arvu numbreid. Isegi algaja võrgukasutaja saab kasutada juhuslike arvude generaatorit, kuna kõik on intuitiivne.

Eelised: laiad sätted võimaldavad teil genereerida vajaliku arvu numbreid, määrata nende vahemiku ja määrata ka sisestusvalikud. Lisaks võimaldab see erinevalt eelmistest teenustest saada lingi tulemusele. Täiesti tasuta.

Puudused: Puuduste hulka kuulub valmis loteriitüüpide valiku puudumine, mis sunnib teid ülesande iseseisvalt koostama. Te ei saa kehtestada erandeid ja saada korraga mitut kombinatsiooni. Eelmiste jooksude arvestust samuti ei tehta.

Varasematel loosimistel põhinevad numbrigeneraatorid

Tasub pöörata tähelepanu asjaolule, et on olemas eriteenused, mis suudavad ennustada õnnenumbreid, millele peate panustama. Nende loojad kinnitavad kasutajatele, et tulemuste analüüs ja väljastamine toimub jooksude tulemuste põhjal, tõenäosusteooria ja muud matemaatilised arvutused.

Siiski ei tohiks te sellesse tingimusteta uskuda. Me kindlasti ei usu sellesse ja usume, et ükski neist teenustest on need, mis annavad juhuslikult tulemuse, mis sarnaneb mis tahes muu RNG-ga.

Siiski saate seda ise kontrollida. Järgmisena tutvustame veel kahte teenust, mis võimaldavad valida riigiloto, viikingi loto, keno, spordiloto jne tulemusi. võttes arvesse nende varasemaid tiraaže. Mõne neist funktsionaalsus on tasuline.

Juhime teie tähelepanu asjaolule, et tasulise prognoosi eest ei tasu raha maksta, sest see on lihtsalt kombinatsioonide eest minev raha, mida iga teine ​​tasuta teenus võib välja anda. Niisiis, parimate genereerimisteenuste jätkamine, võttes arvesse varasemate käituste analüüsi:

TOP 4 - RNG tiraažiga: Fortunablog


Kirjeldus: Arendaja sõnul ei suuda skript mitte ainult juhuslikult digitaalseid kombinatsioone välja anda, vaid analüüsib mitmete algoritmide ja tõenäosusteooria põhjal ka varem maha visatud palle. Samuti on märgitud, et generaatori eesmärk on valida jackpoti jaoks kombinatsioon.

Eelised V: On kaks eelseadistatud loteriitüüpi, mille valimisel saate õnne proovida. Peamine eelis seisneb aga varasemate jooksude tulemuste ja, mis kõige tähtsam, tasuta kasutamises.

TOP 5 – tiraažide põhjal loteriigeneraator: Igraivloto


Kirjeldus: pakutav teenus võimaldab teil saada kombinatsioone kõige tõenäolisematest võidukombinatsioonidest. Toimimispõhimõte sarnaneb eelmiste kaalutud valikutega, välja arvatud teatud funktsionaalsuse punktid.

Eelised: see on valmis skript Gosloto 6/45-st loterii prognoosi väljastamiseks, mis välistab vajaduse valida vajalikku loosimist. See positsioneerib end saidina, mis töötab spetsiaalsete algoritmide ja filtritega, mis loovad käituste põhjal kõige tõenäolisemad prognoosid. Võimaldab saada korraga mitu tulemust ja jagada tulemuse linki.

Puudused: numbrivahemikku ja vajalikke erandeid pole võimalik sisestada. Suurimaks miinuseks on aga tasuliste prognooside pakkumine, mis eristab seda selgelt varasematest tasuta analoogidest.

Järeldus

Loomulikult on teie otsustada, kas kasutada nimetatud teenuseid või mitte. Ühest küljest võib selliste saitide kasutamine aidata teil valida teatud kombinatsioone, vabastades teid keerulisest valikust, kuna näiteks 5-st 36-st joonistamiseks on tõenäosus absoluutselt iga mängija enda loodud või käsitsi valitud kombinatsioon. võidust 1 kuni 376 992.

Tabel, mis näitab loteriivõidu tõenäosust:


Võrreldes teiste loteriistrateegiatega on sellel valikul head võiduvõimalused. Siiski tuleb mõista, et tasuliste ennustuste kasutamine sel juhul ei ole asjakohane ega vasta võidu tõenäosusele.


Pange tähele, et ideaaljuhul näeks juhuslike arvude jaotustiheduse kõver välja selline, nagu on näidatud joonisel fig. 22.3. See tähendab, et ideaaljuhul langeb igasse intervalli sama arv punkte: N i = N/k , kus N punktide koguarv, k intervallide arv, i= 1, ½, k .

Riis. 22.3. Juhusliku arvu väljalangemise sagedustabel,
teoreetiliselt ideaalse generaatori poolt genereeritud

Tuleb meeles pidada, et suvalise juhusliku arvu genereerimine koosneb kahest etapist:

  • normaliseeritud juhusliku arvu genereerimine (st ühtlaselt jaotatud 0-st 1-ni);
  • normaliseeritud juhuslike arvude teisendus r i juhuslikeks numbriteks x i, mida levitatakse vastavalt kasutaja nõutavale (meelevaldsele) levitamisseadusele või vajaliku intervalliga.

Juhuslike arvude generaatorid jagunevad vastavalt numbrite saamise meetodile:

  • füüsiline;
  • tabelikujuline;
  • algoritmiline.

Füüsilised RNG-d

Füüsiliste RNG-de näited on: münt (“kotkas” 1, “sabad” 0); täringud; noolega trumm, mis on jagatud numbritega sektoriteks; riistvaraline mürageneraator (GS), mida kasutatakse müra tekitava soojusseadmena, näiteks transistorina (joonis 22.422.5).

Riis. 22.4. Juhuslike arvude genereerimise riistvarameetodi skeem
Riis. 22.5. Juhuslike arvude saamise skeem riistvarameetodil
Ülesanne "Juhuslike arvude genereerimine mündi abil"

Looge mündi abil juhuslik 3-kohaline arv, mis on ühtlaselt jaotatud vahemikus 0 kuni 1. Kolme kümnendkoha täpsus.

Esimene viis probleemi lahendamiseks
Pöörake münti 9 korda ja kui münt langes sabad, siis kirjutage "0", kui pead, siis "1". Ütleme nii, et eksperimendi tulemusena saime juhusliku jada 100110100.

Joonistage intervall vahemikus 0 kuni 1. Lugedes numbreid järjest vasakult paremale, jagage intervall pooleks ja valige iga kord järgmise intervalli üks osadest (kui 0 kukkus välja, siis vasakule, kui 1 kukkus välja, siis õige). Seega pääsete suvaliselt täpselt intervalli mis tahes punkti.

Niisiis, 1 : intervall jagatakse pooleks ja , valitakse parem pool, intervall kitseneb: . Järgmine number 0 : intervall jagatakse pooleks ja , valitakse vasak pool, intervall kitseneb: . Järgmine number 0 : intervall jagatakse pooleks ja , valitakse vasak pool, intervall kitseneb: . Järgmine number 1 : intervall jagatakse pooleks ja , valitakse parem pool, intervall kitseneb: .

Vastavalt ülesande täpsustingimusele leitakse lahendus: see on suvaline arv vahemikust , näiteks 0,625.

Põhimõtteliselt, kui läheneda rangelt, siis tuleb intervallide jagamist jätkata seni, kuni leitud intervalli vasak ja parem piir ei KOHTU üksteisega kolmanda kümnendkoha täpsusega. See tähendab, et täpsuse mõttes ei ole genereeritud arv enam eristatav ühestki numbrist selle intervalli alusel, milles see asub.

Teine viis probleemi lahendamiseks
Jaotame saadud kahendjada 100110100 kolmikuteks: 100, 110, 100. Pärast nende kahendarvude kümnendarvudeks teisendamist saame: 4, 6, 4. Asendades ees oleva “0.” saame: 0,464. Selle meetodi abil on võimalik saada ainult numbreid vahemikus 0,000 kuni 0,777 (kuna maksimum, mida saab kolmest kahendnumbrist “pigistada”, on 111 2 = 7 8), see tähendab, et tegelikult on need arvud esitatud kaheksandarvude süsteemis. Tõlkimiseks kaheksand numbrid sisse kümnend esitlus on käivitatav:
0,464 8 = 4 8 1 + 6 8 2 + 4 8 3 = 0,6015625 10 = 0,602 10.
Seega on soovitud arv: 0,602.

Tabelikujuline RNG

Tabelikujuline RNG kasutab juhuslike arvude allikana spetsiaalselt koostatud tabeleid, mis sisaldavad kontrollitud korrelatsioonita, st numbreid, mis ei sõltu üksteisest kuidagi. Tabelis. 22.1 näitab sellise tabeli väikest fragmenti. Tabelis vasakult paremale ülevalt alla liikudes saate soovitud arvu komakohtadega juhuslikke numbreid, mis on ühtlaselt jaotatud vahemikus 0 kuni 1 (meie näites kasutame iga numbri kohta kolme komakohta). Kuna tabelis olevad numbrid ei sõltu üksteisest, saab tabelit läbida erinevalt, näiteks ülevalt alla või paremalt vasakule või näiteks valida paarisasendis olevaid numbreid.

Tabel 22.1.
Juhuslikud numbrid. Ühtlaselt
jaotatud 0 kuni 1 juhusliku numbrini
juhuslikud arvud ühtlaselt jaotunud
0 kuni 1 juhuslikud numbrid
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
… …

Selle meetodi eeliseks on see, et see annab tõeliselt juhuslikke numbreid, kuna tabel sisaldab kontrollitud korrelatsioonita numbreid. Meetodi puudused: suure arvu numbrite salvestamiseks on vaja palju mälu; suured raskused selliste tabelite koostamisel ja kontrollimisel, kordused tabeli kasutamisel ei garanteeri enam numbrilise jada juhuslikkust ja sellest tulenevalt ka tulemuse usaldusväärsust.

Seal on tabel, mis sisaldab 500 absoluutselt juhuslikku kontrollitud arvu (võetud I. G. Venetski, V. I. Venetskaja raamatust "Matemaatika ja statistilised põhimõisted ja valemid majandusanalüüsis").

Algoritmiline RNG

Nende RNG-de abil genereeritud numbrid on alati pseudojuhuslikud (või kvaasijuhuslikud), see tähendab, et iga järgmine genereeritud arv sõltub eelmisest:

r i + 1 = f(r i) .

Sellistest arvudest koosnevad jadad moodustavad silmuseid, see tähendab, et on tingimata tsükkel, mis kordub lõpmatu arv kordi. Korduvaid tsükleid nimetatakse perioodideks.

RNG-andmete eeliseks on kiirus; generaatorid praktiliselt ei vaja mäluressursse, need on kompaktsed. Puudused: numbreid ei saa nimetada täielikult juhuslikeks, kuna nende vahel on sõltuvus, samuti perioodide olemasolu kvaasijuhuslike arvude jadas.

Mõelge RNG saamiseks mitmele algoritmilisele meetodile:

  • keskmiste ruutude meetod;
  • keskmiste toodete meetod;
  • segamismeetod;
  • lineaarne kongruentse meetod.

Keskmise ruudu meetod

Seal on mingi neljakohaline number R 0 . See arv on ruudus ja sisestatud Rüks . Pärit R 1 keskmine (neli keskmist numbrit) võetakse uus juhuslik arv ja kirjutatakse sellesse R 0 . Seejärel korratakse protseduuri (vt joonis 22.6). Pange tähele, et tegelikult on juhusliku arvuna vaja mitte võtta ghij, a 0.ghij mille vasakule on lisatud null ja koma. See asjaolu kajastub joonisel fig. 22.6 ja järgnevatel sarnastel joonistel.

Riis. 22.6. Keskmiste ruutude meetodi skeem

Meetodi puudused: 1) kui mingil iteratsioonil arv R 0 muutub nulliks, siis generaator degenereerub, seega on oluline algväärtuse õige valik R 0; 2) generaator kordab jada läbi M n sammud (parimal juhul), kuhu n sõna pikkus R 0 , M numbrisüsteemi alus.

Näiteks joonisel fig. 22.6 : kui number R 0 esitatakse kahendarvusüsteemis, siis pseudojuhuslike arvude jada kordub pärast 2 4 = 16 sammu. Pange tähele, et jada kordumine võib toimuda isegi varem, kui esialgne arv on ebaõnnestunud.

Eespool kirjeldatud meetodi pakkus välja John von Neumann ja see pärineb 1946. aastast. Kuna see meetod osutus ebausaldusväärseks, loobuti sellest kiiresti.

Mediaantoodete meetod

Number R 0 korrutatuna R 1 , tulemusest R 2 keskmine eemaldatakse R 2 * (see on veel üks juhuslik arv) ja korrutatud arvuga Rüks . Selle skeemi järgi arvutatakse kõik järgnevad juhuslikud arvud (vt joonis 22.7).

Riis. 22.7. Mediaanproduktide meetodi skeem

Segamismeetod

Segamismeetod kasutab lahtri sisu vasakule ja paremale pööramiseks toiminguid. Meetodi idee on järgmine. Laske lahtril salvestada algnumber R 0 . Lahtri sisu tsükliliselt vasakule nihutades 1/4 lahtri pikkusest, saame uue arvu R 0*. Samamoodi lahtri sisu tsükliliselt nihutades R 0 paremale 1/4 lahtri pikkusest, saame teise numbri R 0**. Arvude summa R 0 * ja R 0** annab uue juhusliku arvu Rüks . Edasi R 1 on sõlmitud R 0 , ja kogu toimingute jada korratakse (vt joonis 22.8).


Riis. 22.8. Segamismeetodi skeem

Pange tähele, et liitmisel saadud arv R 0 * ja R 0 ** , ei pruugi lahtrisse täielikult mahtuda Rüks . Sel juhul tuleks saadud numbrist loobuda lisanumbritest. Selgitame seda joonise fig jaoks. 22.8, kus kõik lahtrid on esindatud kaheksa kahendnumbriga. Las olla R 0 * = 10010001 2 = 145 10 , R 0 ** = 10100001 2 = 161 10 , siis R 0 * + R 0 ** = 100110010 2 = 306 10 . Nagu näete, sisaldab number 306 9 numbrit (kahendarvusüsteemis) ja lahter R 1 (nagu ka R 0 ) mahutab maksimaalselt 8 bitti. Seetõttu tuleb enne väärtuse sisestamist R 1 on vaja numbrilt 306 eemaldada üks "lisa", vasakpoolseim bitt, mille tulemuseks on R 1 ei lähe enam 306, vaid 00110010 2 = 50 10 . Pange tähele ka seda, et sellistes keeltes nagu Pascal toimub lahtri ületäitumise korral lisabittide "kärpimine" automaatselt vastavalt antud muutujatüübile.

Lineaarne kongruentse meetod

Lineaarne kongruentsiaalmeetod on üks lihtsamaid ja praegu enim kasutatavaid protseduure, mis simuleerivad juhuslikke numbreid. See meetod kasutab mod ( x, y), mis tagastab jäägi pärast esimese argumendi jagamist teisega. Iga järgnev juhuslik arv arvutatakse eelmise juhusliku arvu põhjal järgmise valemi abil:

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

Selle valemi abil saadud juhuslike arvude jada nimetatakse lineaarne kongruentne jada. Paljud autorid viitavad lineaarsele kongruentsele jadale kui b = 0 multiplikatiivne kongruentse meetod, ja millal b ≠ 0 — segakongruentsi meetod.

Kvaliteetse generaatori jaoks on vaja valida sobivad koefitsiendid. On vaja, et number M oli üsna suur, kuna perioodil ei saa rohkem olla M elemendid. Teisest küljest on selle meetodi puhul kasutatav jaotus üsna aeglane toiming, nii et binaararvuti puhul oleks loogiline valik M = 2 N, sest sel juhul taandatakse ülejäänud jaotuse leidmine arvuti sees binaarseks loogiliseks operatsiooniks "JA". Levinud on ka suurima algarvu valimine M, vähem kui 2 N: erialakirjanduses on tõestatud, et antud juhul saadud juhusliku arvu vähima tähendusega numbrid r i+ 1 käituvad sama juhuslikult kui vanemad, mis avaldab positiivset mõju kogu juhuslike arvude jadale tervikuna. Näide on üks Mersenne'i numbrid, võrdne 2 31 1 ja seega M= 2 31 1 .

Üks lineaarsete kongruentsete jadade nõudeid on pikim võimalik periood. Perioodi pikkus sõltub väärtustest M , k ja b. Allpool esitatud teoreem võimaldab meil kindlaks teha, kas konkreetsete väärtuste jaoks on võimalik saavutada maksimaalse pikkusega periood M , k ja b .

Teoreem. Numbritega määratletud lineaarne kongruentne jada M , k , b ja r 0 , on perioodi pikkusega M kui ja ainult kui:

  • numbrid b ja M koprime;
  • k 1 x lk iga lihtsa jaoks lk, mis on jagaja M ;
  • k 1 on 4 kordne, kui M kordne 4-st.

Lõpetuseks esitame paar näidet lineaarse kongruentsimeetodi kasutamisest juhuslike arvude genereerimiseks.

Leiti, et näite 1 andmete põhjal genereeritud pseudojuhuslike arvude seeriat korratakse iga M/4 numbrit. Number q seatakse meelevaldselt enne arvutuste algust, kuid tuleb meeles pidada, et seeria jätab üldiselt juhusliku mulje k(ning seetõttu q). Tulemust saab veidi parandada, kui b veider ja k= 1 + 4 q sel juhul korratakse seeriat iga M numbrid. Peale pikka otsimist k teadlased leppisid väärtustega 69069 ja 71365.

Näite 2 andmeid kasutav juhuslike arvude generaator loob juhuslikud ühekordsed arvud perioodiga 7 miljonit.

Korrutusmeetodi pseudojuhuslike arvude genereerimiseks pakkus välja D. H. Lehmer 1949. aastal.

Generaatori kvaliteedi kontrollimine

RNG kvaliteedist sõltub kogu süsteemi kvaliteet ja tulemuste täpsus. Seetõttu peab RNG genereeritud juhuslik jada vastama mitmele kriteeriumile.

Läbiviidud kontrolle on kahte tüüpi:

  • kontrollib ühtlast jaotust;
  • statistilise sõltumatuse testimine.

Kontrollib ühtlast jaotust

1) RNG peaks andma ühtsele juhuslikule seadusele iseloomulike statistiliste parameetrite järgmiste väärtuste lähedal:

2) Sagedustest

Sagedustest võimaldab teada saada, mitu numbrit intervalli sattus (m r – σ r ; m r + σ r) , st (0,5 0,2887; 0,5 + 0,2887) või lõpuks (0,2113; 0,7887). Kuna 0,7887 0,2113 = 0,5774 , järeldame, et hea RNG korral peaks umbes 57,7% kõigist joonistatud juhuslikest arvudest sellesse intervalli langema (vt joonis 22.9).

Riis. 22.9. Ideaalse RNG sagedusdiagramm
selle kontrollimise korral sagedustesti jaoks

Arvestada tuleb ka sellega, et arvude arv intervallis (0; 0,5) peaks olema ligikaudu võrdne numbrite arvuga intervallis (0,5; 1) .

3) Chi-ruut test

Hii-ruut test (χ 2 -test) on üks kuulsamaid statistilisi teste; see on peamine meetod, mida kasutatakse koos teiste kriteeriumidega. Hii-ruuttesti pakkus välja 1900. aastal Karl Pearson. Tema tähelepanuväärset tööd peetakse kaasaegse matemaatilise statistika aluseks.

Meie puhul võimaldab hii-ruut test teada saada, kui palju on meie loodud päris RNG on lähedane RNG etalonile, st kas see vastab ühtlase jaotuse nõudele või mitte.

sagedustabel viide RNG on näidatud joonisel fig. 22.10. Kuna referents-RNG jaotusseadus on ühtlane, siis (teoreetiline) tõenäosus lk i numbrite sisselöömine i-th intervall (nende intervallide kogusumma k) on võrdne lk i = 1/k . Ja seega igas k intervallid langevad sile peal lk i · N numbrid ( N genereeritud numbrite koguarv).

Riis. 22.10. Võrdlus-RNG sagedusdiagramm

Tõeline RNG toodab numbreid jaotatud (ja mitte tingimata ühtlaselt!) k intervallid ja iga intervall sisaldab n i numbrid (kokku n 1 + n 2 + ½ + n k = N ). Kuidas saame kindlaks teha, kui hea on testitud RNG ja kuivõrd see on võrdluseks? On üsna loogiline arvestada saadud arvude arvu erinevuste ruutudega n i ja "viide" lk i · N . Liidame need kokku ja saame tulemuseks:

χ 2 eks. =( n 1 lküks · N) 2 + (n 2 lk 2 · N) 2 + + ( n k – lk k · N) 2 .

Sellest valemist järeldub, et mida väiksem on erinevus igas liikmes (ja seega väiksem on χ 2 exp. väärtus), seda tugevam on reaalse RNG genereeritud juhuslike arvude jaotuse seadus ühtlane.

Eelmises avaldises on igale terminile määratud sama kaal (võrdne 1-ga), mis tegelikult ei pruugi olla tõsi; seetõttu on hii-ruutstatistika jaoks vaja igaüks normaliseerida i liige, jagades selle arvuga lk i · N :

Lõpuks kirjutame saadud avaldise kompaktsemalt ja lihtsustame seda:

Oleme saanud hii-ruut testi väärtuse eksperimentaalne andmeid.

Tabelis. 22.2 on antud teoreetiline hii-ruut väärtused (χ 2 teoor.), kus ν = N 1 on vabadusastmete arv, lk on kasutaja määratud usaldusnivoo, mis määrab, kui palju peaks RNG vastama ühtsetele jaotusnõuetele või lk — on tõenäosus, et katseväärtus χ 2 exp. on väiksem kui tabeli (teoreetiline) χ 2 teooria. või sellega võrdne.

Tabel 22.2.
Mõned protsendipunktid χ 2 -jaotusest
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 lk+ 2/3 x 2 lk 2/3+ O(1/sqrt( ν ))
x lk = 2.33 1.64 0,674 0.00 0.674 1.64 2.33

Pidage vastuvõetavaks lk 10% kuni 90%.

Kui χ 2 exp. palju rohkem kui χ 2 teooria. (see on lk on suur), siis generaator ei rahuldaühtlase jaotuse nõue, kuna vaadeldud väärtusi n i minna teoreetilisest liiga kaugele lk i · N ja seda ei saa pidada juhuslikuks. Ehk siis kehtestatakse nii suur usaldusvahemik, et arvude piirangud muutuvad väga lõdvaks, numbritele esitatavad nõuded on nõrgad. Sel juhul täheldatakse väga suurt absoluutset viga.

Isegi D. Knuth märkis oma raamatus "Programmeerimise kunst", et võttes χ 2 exp. väike ei ole ka üldiselt hea, kuigi tundub esmapilgul ühetaolisuse seisukohalt tähelepanuväärne. Tõepoolest, võtke arvude jada 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, need on ühtluse ja χ 2expi poolest ideaalsed. on praktiliselt null, kuid tõenäoliselt ei tunne te neid juhuslikena.

Kui χ 2 exp. palju vähem kui χ 2 teooria. (see on lk väike), seejärel generaator ei rahulda juhusliku ühtlase jaotuse nõue, kuna vaadeldavad väärtused n i liiga lähedal teoreetilisele lk i · N ja seda ei saa pidada juhuslikuks.

Aga kui χ 2 exp. asub teatud vahemikus, χ 2 teooria kahe väärtuse vahel. , mis vastavad näiteks lk= 25% ja lk= 50%, siis võime eeldada, et anduri genereeritud juhuslike arvude väärtused on täiesti juhuslikud.

Lisaks tuleb silmas pidada, et kõik väärtused lk i · N peab olema piisavalt suur, näiteks suurem kui 5 (leitud empiiriliselt). Alles siis (piisavalt suure statistilise valimi korral) saab katsetingimusi lugeda rahuldavaks.

Seega on kontrollimise protseduur järgmine.

Statistilise sõltumatuse testid

1) Numbri esinemissageduse kontrollimine jadas

Kaaluge näidet. Juhuslik arv 0,2463389991 koosneb numbritest 2463389991 ja arv 0,5467766618 numbritest 5467766618. Kombineerides numbrijadasid, saame: 2463389991564678646787.

On selge, et teoreetiline tõenäosus lk i välja kukkuma i number (0 kuni 9) on 0,1.

2) Identsete numbrite seeria välimuse kontrollimine

Tähistage n L identsete järjestikuste pikkuste numbrite seeriate arv L. Kõik tuleb üle kontrollida L 1-st kuni m, kus m on kasutaja määratud arv: seerias esinevate identsete numbrite maksimaalne arv.

Näites "24633899915467766618" leiti 2 seeriat pikkusega 2 (33 ja 77), see tähendab n 2 = 2 ja 2 seeria pikkusega 3 (999 ja 666), st. n 3 = 2 .

Seeria pikkusega tõenäosus L on võrdne: lk L= 910 L (teoreetiline). See tähendab, et ühe märgi pikkuse seeria esinemise tõenäosus on võrdne: lk 1 = 0,9 (teoreetiline). Kahemärgilise seeria ilmumise tõenäosus on: lk 2 = 0,09 (teoreetiline). Kolmekohalise seeria ilmumise tõenäosus on: lk 3 = 0,009 (teoreetiline).

Näiteks ühe märgi pikkuse seeria esinemise tõenäosus on võrdne lk L= 0,9 , kuna 10-st võib olla ainult üks märk ja ainult 9 märki (nulli ei arvestata). Ja tõenäosus, et kaks identset märki "XX" kohtuvad järjest, on 0,1 0,1 9, see tähendab, et tõenäosus 0,1, et märk "X" ilmub esimesele kohale, korrutatakse tõenäosusega 0,1, et sama märk kuvatakse teisel positsioonil "X" ja korrutatakse selliste kombinatsioonide arvuga 9.

Seeriate esinemissagedus arvutatakse "hii-ruut" valemi järgi, mida oleme eelnevalt analüüsinud väärtuste abil lk L .

Märkus. Generaatorit saab kontrollida mitu korda, kuid kontrollid ei ole täielikud ega garanteeri, et generaator toodab juhuslikke numbreid. Näiteks generaatorit, mis toodab jada 12345678912345, peetakse kontrollimisel ideaalseks, mis ilmselgelt pole täiesti tõsi.

Kokkuvõtteks märgime, et Donald E. Knuthi raamatu "Programmeerimise kunst" (2. köide) kolmas peatükk on täielikult pühendatud juhuslike arvude uurimisele. Selles uuritakse erinevaid meetodeid juhuslike arvude genereerimiseks, juhuslikkuse statistilisi kriteeriume ja ühtlaselt jaotatud juhuslike arvude teisendamist teist tüüpi juhuslikeks muutujateks. Selle materjali tutvustamisele on pühendatud üle kahesaja lehekülje.

Meil on arvude jada, mis koosneb peaaegu sõltumatutest elementidest, mis järgivad antud jaotust. Tavaliselt ühtlaselt jaotunud.

Juhuslikke numbreid saate Excelis genereerida erineval viisil ja viisidel. Vaatame neist parimaid.

Juhuslike arvude funktsioon Excelis

  1. Funktsioon RAND tagastab juhusliku ühtlaselt jaotatud reaalarvu. See on väiksem kui 1, suurem kui 0 või sellega võrdne.
  2. Funktsioon RANDBETWEEN tagastab juhusliku täisarvu.

Vaatame nende kasutamist näidetega.

Juhuslike arvude valimine RAND-iga

See funktsioon ei nõua argumente (RAND()).

Näiteks juhusliku reaalarvu vahemikus 1 kuni 5 genereerimiseks kasutage järgmist valemit: =RAND()*(5-1)+1.

Tagastatud juhuslik arv jaotatakse intervalli peale ühtlaselt.

Iga kord, kui tööleht arvutatakse või töölehe mis tahes lahtri väärtus muutub, tagastatakse uus juhuslik arv. Kui soovite genereeritud populatsiooni salvestada, saate valemi asendada selle väärtusega.

  1. Klõpsame juhusliku arvuga lahtrit.
  2. Tõstke valemiribal valem esile.
  3. Vajutage F9. JA SISESTAGE.

Kontrollime esimese valimi juhuslike arvude jaotuse ühtlust jaotuse histogrammi abil.


Vertikaalsete väärtuste vahemik on sagedus. Horisontaalne - "taskud".



RANDBETWEEN funktsioon

Funktsiooni RANDBETWEEN süntaks on (alumine piir; ülemine piir). Esimene argument peab olema teisest väiksem. Vastasel juhul annab funktsioon veateate. Eeldatakse, et piirid on täisarvud. Valem jätab murdosa kõrvale.

Funktsiooni kasutamise näide:

Juhuslikud arvud 0,1 ja 0,01 täpsusega:

Kuidas teha Excelis juhuslike arvude generaatorit

Teeme juhuslike arvude generaatori, mille väärtus genereeritakse teatud vahemikust. Kasutame valemit nagu: =INDEKS(A1:A10;TÄISARV(RAND()*10)+1).

Teeme juhuslike arvude generaatori vahemikus 0 kuni 100 sammuga 10.

Tekstiväärtuste loendist peate valima 2 juhuslikku väärtust. Funktsiooni RAND abil võrdleme tekstiväärtusi vahemikus A1:A7 juhuslike arvudega.

Kasutame funktsiooni INDEX, et valida algsest loendist kaks juhuslikku tekstiväärtust.

Loendist ühe juhusliku väärtuse valimiseks rakendage järgmist valemit: =INDEX(A1:A7,RANDBETWEEN(1,COUNT(A1:A7))).

Tavalise jaotusega juhuslike numbrite generaator

Funktsioonid RAND ja RANDBETWEEN toodavad juhuslikke numbreid ühe jaotusega. Iga sama tõenäosusega väärtus võib langeda soovitud vahemiku alumisse ja ülemisse piiri. Selgub, et sihtväärtuse erinevus on tohutu.

Normaaljaotus tähendab, et suurem osa genereeritud arvudest on sihtmärgi lähedal. Parandame valemit RANDBETWEEN ja loome normaaljaotusega andmemassiivi.

Kauba X maksumus on 100 rubla. Kogu toodetud partii jaotatakse normaalselt. Juhuslik suurus järgib ka normaalset tõenäosusjaotust.

Sellistes tingimustes on vahemiku keskmine väärtus 100 rubla. Loome massiivi ja koostame normaaljaotusega graafiku standardhälbega 1,5 rubla.

Kasutame funktsiooni: =NORMINV(RAND();100;1.5).

Excel arvutas välja, millised väärtused on tõenäosuste vahemikus. Kuna 100 rubla maksumusega toote valmistamise tõenäosus on maksimaalne, näitab valem 100-le lähedasi väärtusi sagedamini kui ülejäänud.

Liigume edasi joonistamise juurde. Kõigepealt peate looma tabeli kategooriatega. Selleks jagame massiivi perioodideks:

Saadud andmete põhjal saame moodustada normaaljaotusega diagrammi. Väärtustelg on muutujate arv intervallis, kategooria telg on perioodid.

Numbrid saadavad meid kõikjal - maja ja korteri number, telefon, auto, pass, plastikkaart, kuupäevad, meiliparoolid. Mõned numbrikombinatsioonid valime ise, kuid enamiku saame juhuslikult. Seda teadvustamata kasutame iga päev juhuslikult genereeritud numbreid. Kui me leiutame PIN-koode, siis unikaalsed krediit- või palgakaardikoodid genereerivad usaldusväärsed süsteemid, mis välistavad juurdepääsu paroolidele. Juhuslike numbrite generaatorid pakuvad kaitset valdkondades, mis nõuavad töötlemiskiirust, turvalisust ja sõltumatut andmetöötlust.

Pseudojuhuslike numbrite genereerimise protsess allub teatud seadustele ja seda on pikka aega kasutatud näiteks loteriide läbiviimisel. Lähiminevikus viidi loosimised läbi loteriitrummide või loosimiste abil. Nüüd määratakse paljudes riikides riiklike loteriide võidunumbrid täpselt genereeritud juhuslike numbrite komplekti abil.

Meetodi eelised

Seega on juhuslike arvude generaator iseseisev kaasaegne mehhanism arvude kombinatsioonide juhuslikuks määramiseks. Selle meetodi ainulaadsus ja täiuslikkus seisneb välise sekkumise võimatuses protsessi. Generaator on programmide komplekt, mis on ehitatud näiteks müradioodidele. Seade genereerib juhusliku müra voogu, mille praegused väärtused teisendatakse numbriteks ja tehakse kombinatsioone.

Numbrite genereerimine annab kohesed tulemused – kombinatsiooni valmimiseks kulub paar sekundit. Kui rääkida loteriidest, saavad osalejad kohe teada, kas pileti number ühtib võidunumbriga. See võimaldab loosimist korraldada nii sageli, kui osalejad soovivad. Kuid meetodi peamine eelis on ettearvamatus ja võimetus arvutada numbrivaliku algoritmi.

Kuidas pseudojuhuslikud arvud genereeritakse

Tegelikult pole juhuslikud arvud juhuslikud – seeria algab etteantud arvust ja genereeritakse algoritmi abil. Pseudojuhuslike arvude generaator (PRNG või PRNG – pseudojuhuslike arvude generaator) on algoritm, mis genereerib esmapilgul mitteseotud arvude jada, mis tavaliselt allub ühtlasele jaotusele. Arvutiteaduses kasutatakse pseudojuhuslikke numbreid paljudes rakendustes: krüptograafias, simulatsioonis, Monte Carlos jne. Tulemuse kvaliteet sõltub PRNG omadustest.

Tekkeallikaks võib olla füüsiline müra kosmilistest kiirtest kuni takistimürani, kuid selliseid seadmeid võrguturberakendustes peaaegu kunagi ei kasutata. Krüptograafilised rakendused kasutavad spetsiaalseid algoritme, mis genereerivad järjestusi, mis ei saa olla statistiliselt juhuslikud. Kuid hästi valitud algoritm loob arvude seeriad, mis läbivad enamiku juhuslikkuse teste. Kordusperiood sellistes jadades on suurem kui tööintervall, millest numbrid võetakse.

Paljud kaasaegsed protsessorid sisaldavad PRNG-d, näiteks RdRand. Alternatiivina luuakse juhuslike arvude komplektid ja avaldatakse need ühekordses märkmikus (sõnaraamatus). Sel juhul on numbrite allikas piiratud ega taga võrgu täielikku turvalisust.

PRNG ajalugu

Juhuslike arvude generaatori prototüübiks võib pidada Vana-Egiptuses aastal 3500 eKr levinud lauamängu Senet. Vastavalt tingimustele osales kaks mängijat, käigud määrati nelja lameda mustvalge pulga viskamisega - need olid nagu tolleaegne PRNG. Ühel ajal visati keppe ja loeti punkte: kui üks kukkus valge küljega üles, 1 punkt ja lisakäik, kaks valget - kaks punkti jne. Maksimaalse tulemuse viis punkti sai musta küljega neli pulka visanud mängija.

Tänapäeval on ERNIE generaatorit Ühendkuningriigis loteriil loosimisel kasutatud juba aastaid. Võidunumbrite genereerimiseks on kaks peamist meetodit: lineaarne kongruent ja liitkongruent. Need ja teised meetodid põhinevad valiku juhuslikkuse printsiibil ja neid pakub tarkvara, mis toodab lõputult arve, mille järjestust pole võimalik ära arvata.

PRNG töötab pidevalt näiteks mänguautomaatides. USA seaduste kohaselt on see kohustuslik tingimus, mida kõik tarkvaramüüjad peavad järgima.

Numbrid ümbritsevad meid sünnist saati ja mängivad elus olulist rolli. Paljude inimeste jaoks on töö ise seotud numbritega, keegi loodab õnnele, täites loteriipileteid numbritega ja keegi annab neile täiesti müstilise tähenduse. Ühel või teisel viisil ei saa me mõnikord hakkama ilma sellist programmi kasutamata juhuslike arvude generaator.

Näiteks peate korraldama oma grupi tellijate vahel loosimise. Meie veebipõhine juhuslike numbrite generaator aitab teil võitjad kiiresti ja ausalt välja valida. Peate lihtsalt määrama näiteks soovitud juhuslike numbrite arvu (võitjate arvu järgi) ja maksimaalse vahemiku (osalejate arvu järgi, kui neile on määratud numbrid). Pettus on sel juhul täielikult välistatud.

See programm võib toimida ka loto juhuslike numbrite generaatorina. Näiteks ostsite pileti ja soovite numbrite valimisel täielikult loota juhusele ja õnnele. Siis aitab meie numbrite randomiseerija teie loteriipiletit täita.

Juhusliku arvu genereerimine: juhised

juhuslike arvude programm töötab väga lihtsalt. Te ei pea seda isegi oma arvutisse alla laadima - kõik tehakse brauseriaknas, kus see leht on avatud. Juhuslikud arvud genereeritakse vastavalt määratud arvude arvule ja nende vahemikule - 0 kuni 999999999.

Internetis numbri loomiseks vajate:

  1. Valige vahemik, milles soovite tulemust saada. Võib-olla soovite ära lõigata numbrid kuni 10 või näiteks 10 000ni;
  2. Kõrvaldage kordused – selle üksuse valimisega sunnite arvude randomiseerija pakkuda teile ainult ainulaadseid kombinatsioone teatud vahemikus;
  3. Valige numbrite arv - 1 kuni 99999;
  4. Klõpsake nuppu Loo numbrid.

Olenemata sellest, kui palju numbreid soovite selle tulemusel saada, annab algarvude generaator kogu tulemuse korraga ja seda näete sellel lehel, kui sirvida hiire või puuteplaadi abil numbritega välja.

Nüüd saate valmis numbreid kasutada nii, nagu vajate. Numbriväljalt saate kopeerida tulemuse gruppi postitamiseks või postitamiseks. Ja et keegi tulemuses ei kahtleks, tehke sellelt lehelt ekraanipilt, millel on selgelt näha numbrijuhustajate parameetrid ja programmi tulemused. Väljal olevaid numbreid pole võimalik muuta, seega on manipuleerimise võimalus välistatud. Loodame, et meie veebisait ja juhuslike numbrite generaator aitasid teid.