Nejaušs reģenerators. Excel nejaušo skaitļu ģenerators funkciju un datu analīzē

Tiešsaistes numuru ģenerators ir ērts rīks, kas ļauj iegūt nepieciešamais daudzums noteikta bitu dziļuma un plašākā diapazona skaitļi. Mūsu nejaušo skaitļu ģeneratoram ir daudz pielietojumu! Piemēram, jūs varat rīkot konkursu vietnē VKontakte un tur uzspēlēt lācītim baikeru grupā pretī :)) Būsim ļoti glaimoti arī tad, ja ar tā palīdzību izlemsiet noteikt laimestu jebkuru loteriju vai izlemiet, uz kādu numuru likt likmes kazino. Mēs ļoti ceram, ka kāds atradīs savējo laimīgais skaitlis tiešsaistē ar mums!

Gadījuma skaitļu diapazons:

Daudzums:

Likvidēt atkārtošanos?

Ģenerēt skaitļus

Lūdzu, palīdziet mums izstrādāt: Pastāstiet draugiem par ģeneratoru!

Nejauši | nejaušs skaitlis tiešsaistē ar 1 klikšķi

Skaitļi mūs ieskauj kopš dzimšanas, un tiem ir svarīga loma dzīvē. Daudziem cilvēkiem pats darbs ir saistīts ar skaitļiem, daži paļaujas uz veiksmi, skaitļu aizpildīšanu loterijas biļetes, un kāds tiem piešķir pilnīgi mistisku nozīmi. Tā vai citādi, dažreiz mēs nevaram iztikt, neizmantojot tādu programmu kā nejaušu skaitļu ģenerators.

Piemēram, jums ir jāorganizē balvu izloze starp savas grupas abonentiem. Mūsu tiešsaistes nejaušo skaitļu ģenerators palīdzēs ātri un godīgi izvēlēties uzvarētājus. Jums vienkārši nepieciešams, piemēram, iestatīt nepieciešamo nejaušo skaitļu skaitu (pamatojoties uz uzvarētāju skaitu) un maksimālo diapazonu (pamatojoties uz dalībnieku skaitu, ja tiem ir piešķirti numuri). Krāpšana šajā gadījumā ir pilnībā izslēgta.

Šī programma var kalpot arī kā izlases skaitļu ģenerators loto. Piemēram, jūs iegādājāties biļeti un vēlaties pilnībā paļauties uz nejaušību un veiksmi, izvēloties numurus. Tad mūsu numuru nejaušinātājs palīdzēs jums aizpildīt loterijas biļeti.

Kā ģenerēt nejaušu skaitli: instrukcijas

Nejaušo skaitļu programma Tas darbojas ļoti vienkārši. Jums pat nav nepieciešams to lejupielādēt savā datorā - viss tiek darīts pārlūkprogrammas logā, kurā ir atvērta šī lapa. Nejaušie skaitļi tiek ģenerēti atbilstoši norādītajam skaitļu skaitam un to diapazonam - no 0 līdz 999999999. Lai tiešsaistē ģenerētu numuru, jums ir:

  1. Izvēlieties diapazonu, kurā vēlaties iegūt rezultātu. Varbūt vēlaties nogriezt skaitļus līdz 10 vai, piemēram, 10 000;
  2. Likvidējiet atkārtojumus - atlasot šo vienumu, jūs piespiedīsit skaitļu nejaušinātājs piedāvāt jums tikai unikālas kombinācijas noteiktā diapazonā;
  3. Izvēlieties ciparu skaitu – no 1 līdz 99999;
  4. Noklikšķiniet uz pogas "Ģenerēt numurus".

Neatkarīgi no tā, cik skaitļus jūs vēlētos iegūt rezultātā, ģenerators pirmskaitļi uzreiz parādīs visu rezultātu, un jūs to varat redzēt šajā lapā, ritinot lauku ar cipariem, izmantojot peli vai skārienpaliktni.

Tagad jūs varat izmantot gatavus numurus, kā jums nepieciešams. No numura lauka varat kopēt rezultātu, lai to publicētu grupā vai nosūtītu pa pastu. Un, lai rezultāts neradītu šaubas, uzņemiet šīs lapas ekrānuzņēmumu, kurā būs skaidri redzami skaitļu nejaušinātāja parametri un programmas rezultāti. Laukā skaitļus mainīt nav iespējams, tāpēc manipulācijas iespēja ir izslēgta. Mēs ceram, ka mūsu vietne un nejaušo skaitļu ģenerators jums palīdzēja.

utt., un kontu īpašnieki to izmanto, lai kopienai piesaistītu jaunas auditorijas.

Šādu izložu rezultāts bieži ir atkarīgs no lietotāja veiksmes, jo balvas saņēmējs tiek noteikts nejauši.

Lai to izdarītu, loteriju rīkotāji gandrīz vienmēr izmanto tiešsaistes vai iepriekš instalētu nejaušo skaitļu ģeneratoru, kas tiek izplatīts bez maksas.

Izvēle

Diezgan bieži šāda ģeneratora izvēle var būt sarežģīta, jo to funkcionalitāte ir diezgan atšķirīga - dažiem tas ir ievērojami ierobežots, citiem tas ir diezgan plašs.

Tiek ieviests diezgan liels skaits šādu pakalpojumu, taču grūtības rada tas, ka tie atšķiras pēc apjoma.

Daudzi, piemēram, savā funkcionalitātē ir saistīti ar noteiktu sociālais tīkls(piemēram, daudzas ģeneratoru lietojumprogrammas darbojas tikai ar saitēm no šīs programmas).

Vienkāršākie ģeneratori vienkārši nejauši nosaka skaitli noteiktā diapazonā.

Tas ir ērti, jo nesaista rezultātu ar konkrētu ierakstu, kas nozīmē, ka to var izmantot izlozēs ārpus sociālā tīkla un dažādās citās situācijās.

Būtībā tiem nav cita pielietojuma.

Padoms! Izvēloties visvairāk piemērots ģenerators ir svarīgi apsvērt, kādiem mērķiem tas tiks izmantots.

Specifikācijas

Lai ātrāk izvēlētos optimālo tiešsaistes pakalpojumu nejaušu skaitļu ģenerēšanai, zemāk esošajā tabulā parādīti šādu lietojumprogrammu galvenie tehniskie parametri un funkcionalitāte.

1. tabula. Tiešsaistes lietojumprogrammu darbības iezīmes nejauša skaitļa ģenerēšanai
Vārds Sociālais tīkls Vairāki rezultāti Izvēlieties no skaitļu saraksta Vietnes tiešsaistes logrīks Izvēlieties no diapazona Atkārtojumu atspējošana
RandStuff
Cast Lots Oficiālā vietne vai VKontakte
Nejaušs skaitlis Oficiālā vietne
Randomus Oficiālā vietne
Nejauši skaitļi Oficiālā vietne

Visi tabulā aplūkotie lietojumi ir sīkāk aprakstīti tālāk.

RandStuff

Varat izmantot šo lietojumprogrammu tiešsaistē, sekojot saitei uz tās oficiālo vietni http://randstuff.ru/number/.

Šis ir vienkāršs nejaušo skaitļu ģenerators, raksturīga ātra un stabila darbība.

Tas ir veiksmīgi ieviests gan atsevišķas atsevišķas lietojumprogrammas formātā oficiālajā vietnē, gan kā lietojumprogramma .

Šī pakalpojuma īpatnība ir tāda, ka tas var atlasīt nejaušu skaitli gan no noteikta diapazona, gan no konkrēta skaitļu saraksta, ko var norādīt vietnē.

  • Stabilu un ātru darbu;
  • Tieša savienojuma ar sociālo tīklu trūkums;
  • Varat izvēlēties vienu vai vairākus ciparus;
  • Jūs varat izvēlēties tikai no norādītajiem numuriem.

Lietotāju atsauksmes par šo lietojumprogrammu ir šādas: “Izmantojot šo pakalpojumu, mēs nosakām uzvarētājus VKontakte grupās. Paldies”, “Jūs esat labākais”, “Es izmantoju tikai šo pakalpojumu.”

Cast Lots

Šī lietojumprogramma ir vienkāršs funkciju ģenerators, kas tiek ieviests oficiālajā vietnē VKontakte lietojumprogrammas veidā.

Ir arī ģeneratora logrīks ievietošanai jūsu vietnē.

Galvenā atšķirība no iepriekš aprakstītās lietojumprogrammas ir tā, ka tas ļauj atspējot rezultāta atkārtošanos.


Ņemiet vērā, ka ideālā gadījumā nejaušo skaitļu sadalījuma blīvuma līkne izskatītos tā, kā parādīts attēlā. 22.3. Tas ir, ideālā gadījumā katrs intervāls satur vienādu punktu skaitu: N i = N/k , Kur N — kopējais skaits punkti, k intervālu skaits, i= 1, , k .

Rīsi. 22.3. Nejaušo skaitļu frekvenču diagramma,
teorētiski ģenerēts ar ideālu ģeneratoru

Jāatceras, ka patvaļīga nejauša skaitļa ģenerēšana sastāv no diviem posmiem:

  • ģenerējot normalizētu nejaušības skaitli (tas ir, vienmērīgi sadalītu no 0 līdz 1);
  • normalizēta nejaušo skaitļu konvertēšana r i uz nejaušiem skaitļiem x i, kas tiek izplatīti saskaņā ar lietotāja pieprasīto (patvaļīgo) izplatīšanas likumu vai nepieciešamajā intervālā.

Nejaušo skaitļu ģeneratorus saskaņā ar skaitļu iegūšanas metodi iedala:

  • fiziska;
  • tabulas;
  • algoritmisks.

Fiziskais RNG

Fiziskā RNG piemērs var būt: monēta (“galvas” 1, “astes” 0); kauliņi; bungas ar bultiņu, kas sadalīta sektoros ar cipariem; aparatūras trokšņu ģenerators (HS), kas izmanto trokšņainu termisko ierīci, piemēram, tranzistoru (22.422.5. att.).

Rīsi. 22.4. Aparatūras metodes shēma nejaušu skaitļu ģenerēšanai
Rīsi. 22.5. Diagramma nejaušu skaitļu iegūšanai, izmantojot aparatūras metodi
Uzdevums “Nejaušu skaitļu ģenerēšana, izmantojot monētu”

Izmantojot monētu, ģenerējiet nejaušu trīsciparu skaitli, kas vienmērīgi sadalīts diapazonā no 0 līdz 1. Precizitāte trīs zīmes aiz komata.

Pirmais veids, kā atrisināt problēmu
Metiet monētu 9 reizes un, ja monēta nokrīt uz galvām, pierakstiet “0”, ja tā nokrīt uz galvām, tad pierakstiet “1”. Tātad, pieņemsim, ka eksperimenta rezultātā mēs saņēmām nejaušu secību 100110100.

Uzzīmējiet intervālu no 0 līdz 1. Lasot skaitļus secībā no kreisās puses uz labo, sadaliet intervālu uz pusēm un katru reizi izvēlieties vienu no nākamā intervāla daļām (ja iegūstat 0, tad kreiso, ja iegūstat 1, tad labais). Tādējādi jūs varat nokļūt jebkurā intervāla punktā tik precīzi, cik vēlaties.

Tātad, 1 : intervāls tiek sadalīts uz pusēm un , ir atlasīta labā puse, intervāls tiek sašaurināts: . Nākamais numurs 0 : intervāls tiek sadalīts uz pusēm un , ir atlasīta kreisā puse, intervāls tiek sašaurināts: . Nākamais numurs 0 : intervāls tiek sadalīts uz pusēm un , ir atlasīta kreisā puse, intervāls tiek sašaurināts: . Nākamais numurs 1 : intervāls tiek sadalīts uz pusēm un , ir atlasīta labā puse, intervāls tiek sašaurināts: .

Atbilstoši uzdevuma precizitātes nosacījumam ir atrasts risinājums: tas ir jebkurš skaitlis no intervāla, piemēram, 0,625.

Principā, ja ņemam stingru pieeju, tad intervālu dalīšana ir jāturpina, līdz atrastā intervāla kreisā un labā robeža SAKARAS ar precizitāti līdz trešajai zīmei aiz komata. Tas ir, no precizitātes viedokļa ģenerētais skaitlis vairs nebūs atšķirams no neviena skaitļa no intervāla, kurā tas atrodas.

Otrais veids, kā atrisināt problēmu
Sadalīsim iegūto bināro secību 100110100 triādēs: 100, 110, 100. Pārvēršot šos bināros skaitļus decimālskaitļos, mēs iegūstam: 4, 6, 4. Aizstājot priekšā “0”, mēs iegūstam: 0,464. Ar šo metodi var iegūt tikai skaitļus no 0,000 līdz 0,777 (jo maksimums, ko var “izspiest” no trim bināriem cipariem, ir 111 2 = 7 8), tas ir, faktiski šie skaitļi ir attēloti oktālo skaitļu sistēmā. Tulkošanai oktāls skaitļi iekšā decimālzīme veiksim attēlojumu:
0,464 8 = 4 8 1 + 6 8 2 + 4 8 3 = 0,6015625 10 = 0,602 10.
Tātad nepieciešamais skaitlis ir: 0,602.

Tabulas RNG

Tabulas RNG kā nejaušu skaitļu avotu izmanto īpaši apkopotas tabulas, kas satur pārbaudītus, nekorelētus, tas ir, nekādā veidā nav atkarīgi viens no otra, skaitļus. Tabulā 22.1. attēlā parādīts neliels šādas tabulas fragments. Pārvietojot tabulu no kreisās puses uz labo no augšas uz leju, jūs varat iegūt nejaušus skaitļus, kas vienmērīgi sadalīti no 0 līdz 1 ar nepieciešamo zīmju skaitu aiz komata (mūsu piemērā mēs katram skaitlim izmantojam trīs zīmes aiz komata). Tā kā skaitļi tabulā nav atkarīgi viens no otra, tabulu var šķērsot dažādos veidos, piemēram, no augšas uz leju vai no labās puses uz kreiso, vai, teiksim, varat atlasīt ciparus, kas atrodas pāra pozīcijās.

Tabula 22.1.
Nejauši skaitļi. Vienmērīgi
nejauši skaitļi, kas sadalīti no 0 līdz 1
Nejauši skaitļi Vienmērīgi sadalīts
0 līdz 1 nejauši skaitļi
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
… …

Šīs metodes priekšrocība ir tā, ka tā rada patiesi nejaušus skaitļus, jo tabulā ir pārbaudīti nekorelēti skaitļi. Metodes trūkumi: uzglabāšanai liels daudzums skaitļiem ir nepieciešams daudz atmiņas; Šādu tabulu ģenerēšana un pārbaude ir lielas grūtības, lietojot tabulu, tas vairs negarantē nejaušību numuru secība un līdz ar to arī rezultāta ticamību.

Ir tabula, kurā ir 500 absolūti nejauši pārbaudīti skaitļi (ņemti no I. G. Venecka, V. I. Venetskajas grāmatas “Matemātikas un statistikas pamatjēdzieni un formulas ekonomiskajā analīzē”).

Algoritmiskais RNG

Šo RNG ģenerētie skaitļi vienmēr ir pseido nejauši (vai gandrīz nejauši), tas ir, katrs nākamais ģenerētais skaitlis ir atkarīgs no iepriekšējā:

r i + 1 = f(r i) .

Secības, kas sastāv no šādiem skaitļiem, veido cilpas, tas ir, noteikti ir cikls, kas atkārtojas bezgalīgi daudz reižu. Atkārtotus ciklus sauc par periodiem.

Šo RNG priekšrocība ir to ātrums; ģeneratoriem praktiski nav nepieciešami atmiņas resursi un tie ir kompakti. Trūkumi: skaitļus nevar pilnībā saukt par nejaušiem, jo ​​starp tiem pastāv atkarība, kā arī periodu klātbūtne gandrīz nejaušu skaitļu secībā.

Apskatīsim vairākas RNG iegūšanas algoritmiskās metodes:

  • vidējo kvadrātu metode;
  • vidējo produktu metode;
  • maisīšanas metode;
  • lineārā kongruenta metode.

Vidēja kvadrāta metode

Ir kāds četrciparu skaitlis R 0 . Šis skaitlis ir kvadrātā un tiek ievadīts R 1. Nākamais no R 1 ņem vidējo (četrus vidējos ciparus) jauno nejaušības skaitli un ieraksta to R 0 . Pēc tam procedūru atkārto (skat. 22.6. att.). Ņemiet vērā, ka patiesībā kā nejaušs skaitlis jums nav jāņem ghij, A 0.ghij ar nulli un decimālzīmi, kas rakstīta kreisajā pusē. Šis fakts ir atspoguļots kā attēlā. 22.6. un turpmākajos līdzīgos skaitļos.

Rīsi. 22.6. Vidējo kvadrātu metodes shēma

Metodes trūkumi: 1) ja kādā iterācijā skaitlis R 0 kļūst vienāds ar nulli, tad ģenerators deģenerējas, tāpēc svarīga ir pareiza sākotnējās vērtības izvēle R 0 ; 2) ģenerators atkārtos secību M n soļi (in labākais scenārijs), Kur n numura cipars R 0 , M skaitļu sistēmas bāze.

Piemēram, attēlā. 22.6: ja numurs R 0 tiks attēlots binārajā skaitļu sistēmā, tad pseidogadījuma skaitļu secība tiks atkārtota 2 4 = 16 soļos. Ņemiet vērā, ka secības atkārtošanās var notikt agrāk, ja sākuma numurs ir izvēlēts slikti.

Iepriekš aprakstīto metodi ierosināja Džons fon Neimans, un tā datēta ar 1946. gadu. Tā kā šī metode izrādījās neuzticama, tā tika ātri pamesta.

Vidusprodukta metode

Numurs R 0 reizināts ar R 1, no iegūtā rezultāta R 2 vidus tiek izvilkts R 2 * (tas ir vēl viens nejaušs skaitlis) un reizināts ar R 1. Visi nākamie nejaušie skaitļi tiek aprēķināti, izmantojot šo shēmu (sk. 22.7. att.).

Rīsi. 22.7. Mediānas produktu metodes shēma

Maisīšanas metode

Jaukšanas metode izmanto darbības, lai cikliski pārvietotu šūnas saturu pa kreisi un pa labi. Metodes ideja ir šāda. Ļaujiet šūnai saglabāt sākotnējo numuru R 0 . Cikliski pārvietojot šūnas saturu pa kreisi par 1/4 no šūnas garuma, iegūstam jaunu skaitli R 0*. Tādā pašā veidā, pārvietojot šūnas saturu R 0 pa labi par 1/4 no šūnas garuma, mēs iegūstam otro numuru R 0**. Skaitļu summa R 0* un R 0** dod jaunu nejaušu skaitli R 1. Tālāk R 1 ir ievadīts R 0, un visa darbību secība tiek atkārtota (skat. 22.8. att.).


Rīsi. 22.8. Sajaukšanas metodes diagramma

Lūdzu, ņemiet vērā, ka skaitlis, kas iegūts no summēšanas R 0* un R 0 ** , var pilnībā neietilpst šūnā R 1. Šajā gadījumā no iegūtā skaitļa ir jāizmet papildu cipari. Paskaidrosim to attēlā. 22.8, kur visas šūnas ir attēlotas ar astoņiem bināriem cipariem. Ļaujiet R 0 * = 10010001 2 = 145 10 , R 0 ** = 10100001 2 = 161 10 , Tad R 0 * + R 0 ** = 100110010 2 = 306 10 . Kā redzat, skaitlis 306 aizņem 9 ciparus (binārajā skaitļu sistēmā), un šūna R 1 (tāds pats kā R 0) var saturēt ne vairāk kā 8 bitus. Tāpēc pirms vērtības ievadīšanas R 1, no skaitļa 306 ir nepieciešams noņemt vienu “papildu”, vistālāk kreiso bitu, kā rezultātā R 1 vairs netiks pie 306, bet gan uz 00110010 2 = 50 10 . Ņemiet vērā arī to, ka tādās valodās kā Pascal papildu bitu “apgriešana”, kad šūna pārplūst, tiek veikta automātiski atbilstoši norādītajam mainīgā veidam.

Lineārā kongruenta metode

Lineārā kongruenta metode ir viena no vienkāršākajām un visbiežāk izmantotajām procedūrām, kas pašlaik simulē nejaušus skaitļus. Šī metode izmanto mod ( x, y), kas atgriež atlikumu, kad pirmais arguments tiek dalīts ar otro. Katrs nākamais nejaušais skaitlis tiek aprēķināts, pamatojoties uz iepriekšējo nejaušo skaitli, izmantojot šādu formulu:

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

Tiek izsaukta nejaušo skaitļu secība, kas iegūta, izmantojot šo formulu lineāra kongruenta secība. Daudzi autori sauc par lineāru kongruentu secību, kad b = 0 multiplikatīva kongruenta metode, un kad b ≠ 0 — jaukta kongruenta metode.

Augstas kvalitātes ģeneratoram ir jāizvēlas piemēroti koeficienti. Ir nepieciešams, lai numurs M bija diezgan liels, jo periodam nevar būt vairāk M elementi. No otras puses, šajā metodē izmantotais dalījums ir diezgan lēna darbība, tāpēc bināram datoram loģiskā izvēle būtu M = 2 N, jo šajā gadījumā dalījuma atlikuma atrašana datora iekšienē tiek reducēta uz bināro loģisko darbību “UN”. Izplatīta ir arī lielākā pirmskaitļa izvēle M, mazāk par 2 N: specializētajā literatūrā ir pierādīts, ka šajā gadījumā iegūtā nejaušā skaitļa zemās kārtas cipari r i+ 1 uzvedas tikpat nejauši kā vecākie, kas pozitīvi ietekmē visu nejaušo skaitļu secību kopumā. Piemēram, viens no Mersenna skaitļi, vienāds ar 2 31 1, un tādējādi M= 2 31 1.

Viena no prasībām lineārām kongruentām sekvencēm ir, lai perioda garums būtu pēc iespējas ilgāks. Perioda ilgums ir atkarīgs no vērtībām M , k Un b. Tālāk sniegtā teorēma ļauj mums noteikt, vai ir iespējams sasniegt maksimālā garuma periodu konkrētām vērtībām M , k Un b .

Teorēma. Lineāra kongruenta secība, ko nosaka skaitļi M , k , b Un r 0, ir periods ar garumu M tad un tikai tad, ja:

  • cipariem b Un M salīdzinoši vienkāršs;
  • k 1 reizi lpp par katru galveno lpp, kas ir dalītājs M ;
  • k 1 ir reizināts ar 4, ja M reizināts ar 4.

Visbeidzot, noslēgsim ar pāris piemēriem lineārās kongruentās metodes izmantošanai nejaušu skaitļu ģenerēšanai.

Tika noteikts, ka pseidogadījuma skaitļu sērija, kas ģenerēta, pamatojoties uz datiem no 1. piemēra, tiks atkārtota ik pēc M/4 cipari. Numurs q tiek iestatīts patvaļīgi pirms aprēķinu sākuma, tomēr jāņem vērā, ka sērija kopumā rada iespaidu par nejaušu k(un tāpēc q). Rezultātu var nedaudz uzlabot, ja b nepāra un k= 1 + 4 · q šajā gadījumā rinda tiks atkārtota ik pēc M cipariem. Pēc ilgiem meklējumiem k pētnieki apmetās uz vērtībām 69069 un 71365.

Gadījuma skaitļu ģenerators, izmantojot datus no 2. piemēra, izveidos nejaušus, neatkārtotus skaitļus ar periodu 7 miljoni.

Reizināšanas metodi pseidogadījuma skaitļu ģenerēšanai ierosināja D. H. Lehmers 1949. gadā.

Ģeneratora kvalitātes pārbaude

Visas sistēmas kvalitāte un rezultātu precizitāte ir atkarīga no RNG kvalitātes. Tāpēc RNG ģenerētajai nejaušajai secībai ir jāatbilst vairākiem kritērijiem.

Veiktās pārbaudes ir divu veidu:

  • sadales viendabīguma pārbaudes;
  • statistiskās neatkarības testi.

Pārbauda izplatīšanas viendabīgumu

1) RNG vajadzētu ražot tuvu sekojošām vērtībām statistiskie parametri, kas raksturīgi vienotam nejaušības likumam:

2) Frekvences pārbaude

Frekvences pārbaude ļauj noskaidrot, cik skaitļu ietilpst intervālā (m r – σ r ; m r + σ r) , tas ir (0,5 0,2887; 0,5 + 0,2887) vai, visbeidzot, (0,2113; 0,7887). Tā kā 0,7887 0,2113 = 0,5774, secinām, ka labā RNG gadījumā šajā intervālā jāiekrīt aptuveni 57,7% no visiem izlozētajiem nejaušajiem skaitļiem (skat. 22.9. att.).

Rīsi. 22.9. Ideāla RNG frekvenču diagramma
ja to pārbauda frekvences pārbaudei

Jāņem vērā arī tas, ka skaitļu skaitam, kas ietilpst intervālā (0; 0,5), jābūt aptuveni vienādam ar skaitļu skaitu, kas ietilpst intervālā (0,5; 1).

3) Hī kvadrāta tests

Hī kvadrāta tests (χ 2 tests) ir viens no vispazīstamākajiem statistikas testiem; tā ir galvenā metode, ko izmanto kopā ar citiem kritērijiem. Hī kvadrāta testu 1900. gadā ierosināja Kārlis Pīrsons. Viņa ievērojamais darbs tiek uzskatīts par mūsdienu matemātiskās statistikas pamatu.

Mūsu gadījumā pārbaude, izmantojot hī kvadrāta kritēriju, ļaus mums noskaidrot, cik daudz īsts RNG ir tuvu RNG etalonam, tas ir, vai tas atbilst vienotas izplatīšanas prasībām vai nē.

Frekvences diagramma atsauce RNG ir parādīts attēlā. 22.10. Tā kā atsauces RNG sadalījuma likums ir vienots, tad (teorētiskā) varbūtība lpp i skaitļu ievadīšana i intervāls (visi šie intervāli k) ir vienāds ar lpp i = 1/k . Un tādējādi katrā no k trāpīs intervāli gluda Autors lpp i · N cipari ( N kopējais ģenerēto skaitļu skaits).

Rīsi. 22.10. Atsauces RNG frekvenču diagramma

Īsts RNG veidos skaitļus, kas ir sadalīti (un ne vienmēr vienmērīgi!). k intervāli un katrs intervāls saturēs n i skaitļi (kopā n 1 + n 2++ n k = N ). Kā mēs varam noteikt, cik labs ir pārbaudāmais RNG un cik tuvu tas ir atsaucei? Ir diezgan loģiski ņemt vērā iegūto skaitļu atšķirības kvadrātā n i un "atsauce" lpp i · N . Saskaitīsim tos, un rezultāts ir:

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

No šīs formulas izriet, ka jo mazāka ir atšķirība katrā no terminiem (un līdz ar to mazāka vērtībaχ 2 exp. ), jo spēcīgāks ir reāla RNG ģenerēto nejaušo skaitļu sadalījuma likums, kas mēdz būt vienmērīgs.

Iepriekšējā izteiksmē katram terminam ir piešķirts vienāds svars (vienāds ar 1), kas patiesībā var nebūt patiess; tāpēc hī kvadrāta statistikai ir nepieciešams normalizēt katru i th termins, dalot to ar lpp i · N :

Visbeidzot, ierakstīsim iegūto izteiksmi kompaktāk un vienkāršosim to:

Mēs ieguvām hī kvadrāta testa vērtību eksperimentāls datus.

Tabulā 22.2 ir doti teorētiskais hī kvadrāta vērtības (χ 2 teorētiskās), kur ν = N 1 ir brīvības pakāpju skaits, lpp tas ir lietotāja norādīts ticamības līmenis, kas norāda, cik lielā mērā RNG jāatbilst vienmērīga sadalījuma prasībām, vai lpp — ir varbūtība, ka χ 2 eksperimentālā vērtība exp..

būs mazāks par tabulēto (teorētisko) χ 2 teoriju.
vai vienāds ar to
Tabula 22.2. Daži procentpunkti no χ 2 sadalījuma p = 1% p = 5% p = 25% p = 50% p = 75%
ν = 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 ν p = 95% ν ) · x lpp p = 99% x 2 lpp+ sqrt (2 + 2/3 · 2/3+ ν ))
x lpp = O (1/sqrt( 2.33 0.00 0.674 1.64 2.33

1.64 lpp 0,674.

Uzskata par pieņemamu lpp no 10% līdz 90% Ja χ 2 exp. daudz vairāk nekā χ 2 teorija. n i(tas ir lpp i · N ir liels), tad ģenerators

Pat D. Knuts savā grāmatā “Programmēšanas māksla” atzīmēja, ka ar χ 2 exp.

mazajiem kopumā arī nav labi, lai gan no vienveidības viedokļa no pirmā acu uzmetiena šķiet brīnišķīgi. Patiešām, ņemiet skaitļu virkni 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, tie ir ideāli no χ vienveidības viedokļa un 2 exp. lpp būs praktiski nulle, taču diez vai jūs tos atpazīsiet kā nejaušus. Ja χ 2 exp. Ja χ 2 exp. n i daudz mazāk nekā χ 2 teorija. lpp i · N (tas ir

mazs), tad ģenerators lpp prasība pēc nejauša vienmērīga sadalījuma, jo novērotās vērtības lpp pārāk tuvu teorētiskajam

un to nevar uzskatīt par nejaušu. lpp i · N Bet, ja χ 2 exp.

atrodas noteiktā diapazonā starp divām χ 2 teorētiskajām vērtībām. , kas atbilst, piemēram,

= 25% un

= 50%, tad varam pieņemt, ka sensora ģenerētās nejaušības skaitļu vērtības ir pilnīgi nejaušas.

Turklāt jāpatur prātā, ka visas vērtības

jābūt pietiekami lielam, piemēram, vairāk par 5 (noskaidrots empīriski). Tikai tad (ar pietiekami lielu statistisko izlasi) eksperimenta apstākļus var uzskatīt par apmierinošiem. lpp i Tātad, pārbaudes procedūra ir šāda. i Statistikas neatkarības testi

1) Pārbauda skaitļu rašanās biežumu secībā

Apskatīsim piemēru. Nejaušais skaitlis 0,2463389991 sastāv no cipariem 2463389991, bet skaitlis 0,5467766618 sastāv no cipariem 5467766618. Savienojot ciparu virknes, mums ir: 24633899961561877615618. n Ir skaidrs, ka teorētiskā varbūtība zaudējums Ir skaidrs, ka teorētiskā varbūtība Cipars (no 0 līdz 9) ir vienāds ar 0,1. Ir skaidrs, ka teorētiskā varbūtība 2) identisku skaitļu sērijas izskata pārbaude m Apzīmēsim ar m L

identisku ciparu sēriju skaits garuma rindā n. Viss ir jāpārbauda n 3 = 2 .

no 1 līdz Ir skaidrs, ka teorētiskā varbūtība, Kur lpp Ir skaidrs, ka teorētiskā varbūtība tas ir lietotāja norādīts skaitlis: maksimālais identisku ciparu skaits sērijā. Ir skaidrs, ka teorētiskā varbūtība Piemērā “24633899915467766618” tika atrastas 2 sērijas ar garumu 2 (33 un 77), tas ir lpp 2 = 2 un 2 sērijas ar garumu 3 (999 un 666), tas ir lpp Garuma sērijas rašanās varbūtība lpp ir vienāds ar:

= 910 lpp Ir skaidrs, ka teorētiskā varbūtība= 0,9, jo var būt tikai viens simbols no 10, un kopā ir 9 simboli (nulle neskaitās). Un varbūtība, ka pēc kārtas parādīsies divi identiski simboli “XX”, ir 0,1 · 0,1 · 9, tas ir, varbūtība 0,1, ka simbols “X” parādīsies pirmajā pozīcijā, tiek reizināta ar varbūtību 0,1, ka tas pats simbols parādīsies otrajā pozīcijā “X” un reizināts ar šādu kombināciju skaitu 9.

Sēriju rašanās biežums tiek aprēķināts, izmantojot hī kvadrāta formulu, kuru mēs iepriekš apspriedām, izmantojot vērtības lpp Ir skaidrs, ka teorētiskā varbūtība .

Piezīme. Ģeneratoru var pārbaudīt vairākas reizes, taču testi nav pabeigti un negarantē, ka ģenerators ģenerē nejaušus skaitļus. Piemēram, ģenerators, kas rada secību 12345678912345, testu laikā tiks uzskatīts par ideālu, kas acīmredzot nav pilnīgi taisnība.

Noslēgumā mēs atzīmējam, ka Donalda E. Knuta grāmatas Programmēšanas māksla (2. sējums) trešā nodaļa ir pilnībā veltīta nejaušu skaitļu izpētei. Tajā aplūkotas dažādas nejaušības skaitļu ģenerēšanas metodes, nejaušības statistiskie testi un vienmērīgi sadalītu nejaušības skaitļu pārveidošana cita veida nejaušības mainīgajos. Šī materiāla prezentācijai ir veltītas vairāk nekā divsimt lappušu.

Mums ir skaitļu virkne, kas sastāv no praktiski neatkarīgiem elementiem, kas pakļaujas noteiktam sadalījumam. Kā likums, vienmērīgs sadalījums.

Programmā Excel varat ģenerēt nejaušus skaitļus dažādos veidos un metodēs. Apsvērsim tikai labākos no tiem.

Izlases skaitļu funkcija programmā Excel

  1. Funkcija RAND atgriež nejaušu, vienmērīgi sadalītu reālo skaitli. Tas būs mazāks par 1, lielāks vai vienāds ar 0.
  2. Funkcija RANDBETWEEN atgriež nejaušu veselu skaitli.

Apskatīsim to izmantošanu ar piemēriem.

Nejaušo skaitļu izlase, izmantojot RAND

Šai funkcijai nav nepieciešami argumenti (RAND()).

Piemēram, lai ģenerētu nejaušu reālo skaitli diapazonā no 1 līdz 5, izmantojiet šādu formulu: =RAND()*(5-1)+1.

Atgrieztais nejaušais skaitlis tiek vienmērīgi sadalīts pa intervālu.

Katru reizi, kad tiek aprēķināta darblapa vai mainās vērtība jebkurā darblapas šūnā, tiek atgriezts jauns nejaušs skaitlis. Ja vēlaties saglabāt ģenerēto populāciju, varat aizstāt formulu ar tās vērtību.

  1. Noklikšķiniet uz šūnas ar nejaušu skaitli.
  2. Formulas joslā atlasiet formulu.
  3. Nospiediet F9. UN IEVADĪT.

Pārbaudīsim nejaušo skaitļu sadalījuma vienmērīgumu no pirmās izlases, izmantojot sadalījuma histogrammu.


Vertikālo vērtību diapazons ir frekvence. Horizontāli - "kabatas".



RANDBETWEEN funkcija

Funkcijas RANDBETWEEN sintakse ir (apakšējā robeža; augšējā robeža). Pirmajam argumentam ir jābūt mazākam par otro. Pretējā gadījumā funkcija radīs kļūdu. Tiek pieņemts, ka robežas ir veseli skaitļi. Formula atmet daļējo daļu.

Funkcijas izmantošanas piemērs:

Nejauši skaitļi ar precizitāti 0,1 un 0,01:

Kā programmā Excel izveidot nejaušu skaitļu ģeneratoru

Izveidosim nejaušo skaitļu ģeneratoru, kas ģenerē vērtību no noteikta diapazona. Mēs izmantojam šādu formulu: =INDEKSS(A1:A10,INTEGER(RAND()*10)+1).

Izveidosim nejaušo skaitļu ģeneratoru diapazonā no 0 līdz 100 ar soļiem pa 10.

No teksta vērtību saraksta ir jāatlasa 2 nejauši. Izmantojot RAND funkciju, mēs salīdzinām teksta vērtības diapazonā A1:A7 ar nejaušiem skaitļiem.

Izmantosim funkciju INDEX, lai atlasītu divas nejaušas teksta vērtības no sākotnējā saraksta.

Lai sarakstā atlasītu vienu nejaušu vērtību, izmantojiet šādu formulu: =INDEX(A1:A7,RANDBETWEEN(1,COUNT(A1:A7))).

Normālā sadalījuma nejaušo skaitļu ģenerators

Funkcijas RAND un RANDBETWEEN rada nejaušus skaitļus ar vienmērīgu sadalījumu. Jebkura vērtība ar tādu pašu varbūtību var nonākt pieprasītā diapazona apakšējā un augšējā robežā. Tas rada milzīgu starpību no mērķa vērtības.

Normāls sadalījums nozīmē, ka lielākā daļa ģenerēto skaitļu ir tuvu mērķa skaitlim. Pielāgosim formulu RANDBETWEEN un izveidosim datu masīvu ar normālu sadalījumu.

Produkta X izmaksas ir 100 rubļu. Visa saražotā partija atbilst normālam sadalījumam. Nejaušais lielums arī atbilst normālam varbūtības sadalījumam.

Šādos apstākļos diapazona vidējā vērtība ir 100 rubļu. Izveidosim masīvu un izveidosim grafiku ar normālu sadalījumu ar standarta novirzi 1,5 rubļi.

Mēs izmantojam funkciju: =NORMINV(RAND();100;1.5).

Programma Excel aprēķināja, kuras vērtības bija varbūtības diapazonā. Tā kā iespēja saražot produktu ar izmaksām 100 rubļu ir maksimāla, formula parāda vērtības tuvu 100 biežāk nekā citi.

Pāriesim pie grafika zīmēšanas. Vispirms jums ir jāizveido tabula ar kategorijām. Lai to izdarītu, mēs sadalām masīvu periodos:

Pamatojoties uz iegūtajiem datiem, varam izveidot diagrammu ar normālu sadalījumu. Vērtību ass ir mainīgo skaits intervālā, kategorijas ass ir periodi.

Numuri mūs pavada visur - māju un dzīvokļu numuri, tālruņu numuri, automašīnu numuri, pasu numuri, plastikāta kartes, datumi, e-pasta paroles. Dažas skaitļu kombinācijas izvēlamies paši, bet lielāko daļu iegūstam nejauši. Nemanot, mēs katru dienu izmantojam nejauši ģenerētus skaitļus. Ja nākam klajā ar PIN kodiem, tad unikāls kredīts vai algas karteģenerē uzticamas sistēmas, kas izslēdz piekļuvi parolēm. Nejaušo skaitļu ģeneratori nodrošina drošību jomās, kurās nepieciešams apstrādes ātrums, drošība un datu neatkarība.

Pseidogadījuma skaitļu ģenerēšanas process ir pakļauts noteiktiem likumiem un tiek izmantots jau ilgu laiku, piemēram, loterijās. Nesenā pagātnē izlozes tika veiktas, izmantojot loterijas automātus vai lotes. Tagad daudzās valstīs uzvar skaitļi valsts loterijas tiek precīzi noteiktas pēc ģenerēto nejaušo skaitļu kopas.

Metodes priekšrocības

Tātad nejaušo skaitļu ģenerators ir neatkarīgs moderns mehānisms skaitļu kombināciju nejaušai noteikšanai. Šīs metodes unikalitāte un pilnība slēpjas ārējas iejaukšanās neiespējamībā procesā. Ģenerators ir programmu kopums, kas izveidots, piemēram, uz trokšņu diodēm. Ierīce ģenerē nejauša trokšņa straumi, kuras pašreizējās vērtības tiek pārvērstas skaitļos un veido kombinācijas.

Skaitļu ģenerēšana nodrošina tūlītējus rezultātus — kombinācijas izveidošana aizņem dažas sekundes. Ja runājam par izlozēm, dalībnieki uzreiz var uzzināt, vai biļetes numurs sakrīt ar laimējušo. Tas ļauj zīmējumus turēt tik bieži, cik dalībnieki vēlas. Bet metodes galvenā priekšrocība ir tās neparedzamība un neiespējamība aprēķināt skaitļu atlases algoritmu.

Kā tiek ģenerēti pseidogadījuma skaitļi

Faktiski nejauši skaitļi nav nejauši - sērija sākas no dotā skaitļa un tiek ģenerēta ar algoritmu. Pseidogadījuma skaitļu ģenerators (PRNG vai PRNG — pseidogadījuma skaitļu ģenerators) ir algoritms, kas ģenerē šķietami nesaistītu skaitļu secību, kas parasti ir pakļauta vienmērīgam sadalījumam. Datorzinātnēs pseidogadījuma skaitļus izmanto daudzās lietojumprogrammās: kriptogrāfijā, simulācijas modelēšanā, Montekarlo metodē uc Rezultāta kvalitāte ir atkarīga no PRNG īpašībām.

Rašanās avots var būt fizisks troksnis no kosmiskā starojuma līdz troksnim rezistorā, taču šādas ierīces gandrīz nekad neizmanto tīkla drošības lietojumprogrammās. Kriptogrāfiskās lietojumprogrammas izmanto īpašus algoritmus, kas ģenerē secības, kuras nevar būt statistiski nejaušas. Tomēr pareizi izvēlēts algoritms var radīt skaitļu sērijas, kas iztur lielāko daļu nejaušības testu. Atkārtošanās periods šādās secībās ir lielāks par darba intervālu, no kura tiek ņemti skaitļi.

Daudzi mūsdienu procesori satur PRNG, piemēram, RdRand. Kā alternatīvu tiek izveidotas nejaušu skaitļu kopas un publicētas vienreizējā blokā (vārdnīcā). Numuru avots šajā gadījumā ir ierobežots un nenodrošina pilnīgu tīkla drošību.

PRNG vēsture

Var apsvērt nejaušo skaitļu ģeneratora prototipu galda spēle Senet, izplatīts in Senā Ēģipte 3500. gadā pirms mūsu ēras. Atbilstoši nosacījumiem piedalījās divi spēlētāji, gājienus noteica metot četras plakanas melnbaltās nūjas - tās bija sava veida PRNG tā laika. Vienlaicīgi meta nūjas un skaitīja punktus: ja viens nokrita ar balto pusi, 1 punkts un papildu gājiens, divi baltie - divi punkti utt. Maksimālais rezultāts Spēlētājs, kurš ar melno malu izmeta četras nūjas, saņēma piecus punktus.

Mūsdienās ERNIE ģenerators Apvienotajā Karalistē jau daudzus gadus tiek izmantots loteriju izlozē. Ir divas galvenās ģenerēšanas metodes uzvaras skaitļi: lineārais kongruents un aditīvs kongruents. Šīs un citas metodes ir balstītas uz nejaušās atlases principu, un tās nodrošina programmatūra, kas bezgalīgi rada skaitļus, kuru secību nav iespējams uzminēt.

PRNG darbojas nepārtraukti, piemēram, iekšā spēļu automāti. Saskaņā ar ASV tiesību aktiem šis priekšnoteikums, kas jāievēro visiem programmatūras nodrošinātājiem.