Random na pagkakasunud-sunod ng mga numero. Random generator ng numero para sa lottery

pangunahing / Dating

Tandaan na, perpekto, ang curve ng density ng pamamahagi mga random na numero ay magiging katulad ng ipinakita sa fig. 22.3. Iyon ay, sa perpektong kaso, ang parehong bilang ng mga puntos ay nahuhulog sa bawat agwat: N ako = N/k kung saan N - ang kabuuang bilang ng mga puntos, k - bilang ng mga agwat, ako \u003d 1,…, k .

Larawan: 22.3. Dalas ng diagram ng mga random na numero,
nabuo ng isang perpektong teoretikal na generator

Dapat tandaan na ang pagbuo ng isang di-makatwirang random na numero ay binubuo ng dalawang yugto:

  • bumubuo ng isang normalized na random na numero (iyon ay, pantay na ipinamamahagi mula 0 hanggang 1);
  • i-convert ang na-normalize na mga random na numero r ako sa mga random na numero x ako , na ipinamamahagi ayon sa kinakailangang batas ng pamamahagi ng gumagamit (di-makatwirang) o sa kinakailangang agwat.

Ang mga gumagawa ng random na numero ay nahahati sa:

  • pisikal;
  • tabular;
  • algorithmic.

Pisikal na RNG

Ang isang halimbawa ng pisikal na RNGs ay: isang barya (ulo - 1, buntot - 0); dais; isang drum na may arrow na nahahati sa mga sektor na may mga numero; hardware noise generator (HS), na ginagamit bilang isang maingay na thermal aparato, halimbawa, isang transistor (Larawan 22.4-22.5).

Larawan: 22.4. Scheme ng pamamaraan ng hardware para sa pagbuo ng mga random na numero
Larawan: 22.5. Diagram ng pagkuha ng mga random na numero sa pamamagitan ng pamamaraan ng hardware
Ang gawain na "Bumuo ng mga random na numero gamit ang isang barya"

Gumamit ng isang barya upang makabuo ng isang random na 3-digit na numero na pantay na ipinamamahagi mula 0 hanggang 1. Ang katumpakan ay tatlong decimal na lugar.

Ang unang paraan upang malutas ang problema
I-flip ang isang barya ng 9 beses, at kung ang barya ay lumalabas na mga buntot, pagkatapos ay isulat ang "0", kung ang mga ulo, pagkatapos ay ang "1". Kaya, sabihin natin na bilang isang resulta ng eksperimento, nakakuha kami ng isang random na pagkakasunud-sunod 100110100.

Gumuhit ng agwat mula 0 hanggang 1. Binabasa ang mga numero nang magkakasunod mula kaliwa hanggang kanan, hatiin ang agwat sa kalahati at piliin ang bawat oras na isa sa mga bahagi ng susunod na agwat (kung nahulog ito 0, pagkatapos ay ang kaliwa, kung nahulog ito 1, pagkatapos ay ang tama). Sa gayon, maaari kang makakuha sa anumang punto sa agwat, nang tumpak hangga't gusto mo.

Kaya, 1 : ang agwat ay na-halved - at, - ang kanang kalahati ay napili, ang agwat ay masikip:. Susunod na numero, 0 : ang agwat ay na-halved - at, - ang kaliwang kalahati ay napili, ang agwat ay masikip:. Susunod na numero, 0 : ang agwat ay na-halved - at, - ang kaliwang kalahati ay napili, ang agwat ay masikip:. Susunod na numero, 1 : ang agwat ay na-halved - at, - ang kanang kalahati ay napili, ang agwat ay masikip:.

Sa pamamagitan ng kundisyon ng kawastuhan ng problema, ang solusyon ay natagpuan: ito ay anumang numero mula sa agwat, halimbawa, 0.625.

Sa prinsipyo, kung mahigpit kang lalapit, pagkatapos ay ang paghahati ng mga agwat ay dapat na ipagpatuloy hanggang sa kaliwa at kanang hangganan ng nahanap na agwat COINCIDE bawat isa hanggang sa pangatlong decimal na lugar. Iyon ay, mula sa pananaw ng kawastuhan, ang nabuong numero ay hindi na makikilala mula sa anumang numero mula sa agwat kung saan ito matatagpuan.

Ang pangalawang paraan upang malutas ang problema
Hatiin natin ang nagresultang pagkakasunud-sunod ng binary na 100110100 sa mga triad: 100, 110, 100. Matapos ma-convert ang mga binary number na ito sa decimal makukuha natin ang: 4, 6, 4. Ang pagpapalit ng "0." sa harap, nakukuha natin ang: 0.464. Ang pamamaraang ito ay makakakuha lamang ng mga numero mula sa 0,000 hanggang 0.777 (yamang ang maximum na maaaring maiipit mula sa tatlong mga binary digit ay 111 2 \u003d 7 8) - iyon ay, sa katunayan, ang mga numerong ito ay kinakatawan sa octal number system. Para isalin oktal mga numero sa decimal isasagawa namin ang representasyon:
0.464 8 \u003d 4 · 8 –1 + 6 · 8 –2 + 4 · 8 –3 \u003d 0.6015625 10 \u003d 0.602 10.
Kaya, ang kinakailangang numero ay katumbas ng: 0.602.

Tabular RNG

Ang Tabular RNG bilang isang mapagkukunan ng mga random na numero ay gumagamit ng espesyal na naipon na mga talahanayan na naglalaman ng na-verify na hindi na-link, iyon ay, independiyente sa bawat isa, mga numero. Talahanayan Ipinapakita ng 22.1 ang isang maliit na fragment ng naturang mesa. Sa pamamagitan ng pagdaan sa talahanayan mula kaliwa hanggang kanan mula sa itaas hanggang sa ibaba, maaari kang pantay na maipamahagi mula 0 hanggang 1 mga random na numero na may kinakailangang bilang ng mga desimal na lugar (sa aming halimbawa, gumagamit kami ng tatlong mga decimal na lugar para sa bawat numero). Dahil ang mga numero sa talahanayan ay independiyente sa bawat isa, ang talahanayan ay maaaring ma-bypass iba't ibang paraan, halimbawa, mula sa itaas hanggang sa ibaba, o mula sa kanan hanggang kaliwa, o, sabihin, maaari kang pumili ng mga numero na nasa pantay na posisyon.

Talahanayan 22.1.
Random na mga numero. Pantay
ibinahagi mula 0 hanggang 1 mga random na numero
Random na mga numero Pantay na ipinamahagi
mula 0 hanggang 1 mga random na numero
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
… …

Karangalan ang pamamaraang ito sa na nagbibigay ng tunay na mga random na numero, dahil ang talahanayan ay naglalaman ng mga na-verify na hindi na-link na mga numero. Mga disadvantages ng pamamaraan: kinakailangan ng maraming memorya upang maiimbak ang isang malaking bilang ng mga digit; mahusay na paghihirap sa pagbuo at pag-check ng mga naturang talahanayan, pag-uulit kapag gumagamit ng isang talahanayan ay hindi na ginagarantiyahan ang pagiging random ng pagkakasunud-sunod ng bilang, at samakatuwid ang pagiging maaasahan ng resulta.

Mayroong isang talahanayan na naglalaman ng 500 ganap na random na na-verify na numero (kinuha mula sa libro ni I. G. Venetsky, V. I. Venetskaya "Pangunahing konsepto ng matematika at pang-istatistika at mga pormula sa pagtatasa ng ekonomiya").

Algorithmic RNG

Ang mga numerong nabuo gamit ang mga RNG na ito ay palaging pseudo-random (o quasi-random), iyon ay, ang bawat kasunod na bilang na nabuo ay nakasalalay sa naunang isa:

r ako + 1 = f(r ako) .

Ang mga pagkakasunud-sunod na binubuo ng naturang mga numero ay bumubuo ng mga loop, iyon ay, kinakailangang may isang pag-ikot na inuulit ang isang walang katapusang bilang ng mga beses. Ang paulit-ulit na mga siklo ay tinatawag na mga panahon.

Ang bentahe ng data ng RNG ay ang bilis; ang mga generator ay halos hindi nangangailangan ng mga mapagkukunan ng memorya, ang mga ito ay siksik. Mga disadvantages: ang mga numero ay hindi maaaring ganap na tawaging random, dahil mayroong isang ugnayan sa pagitan ng mga ito, pati na rin ang pagkakaroon ng mga panahon sa pagkakasunud-sunod ng mga quasi-random na numero.

Isaalang-alang natin ang maraming mga pamamaraan ng algorithm para sa pagkuha ng RNG:

  • pamamaraang mid-squares;
  • pamamaraan ng gitnang mga produkto;
  • pamamaraan ng paghahalo;
  • linear congruent na pamamaraan.

Ibig sabihin ng parisukat na pamamaraan

Mayroong ilang numero ng apat na digit R0 Ang bilang na ito ay parisukat at ipinasok Risa Dagdag pa mula sa RAng 1 ay nakuha sa gitna (apat na gitnang digit) - isang bagong random na numero - at nakasulat sa R0 Pagkatapos ay paulit-ulit ang pamamaraan (tingnan ang fig 22.6). Tandaan na, sa katunayan, hindi kinakailangan na kumuha ng isang random na numero ghij, at 0.ghij - na may isang zero at isang decimal point na nakatalaga sa kaliwa. Ang katotohanang ito ay makikita sa Fig. 22.6 at sa kasunod na magkatulad na mga numero.

Larawan: 22.6. Ibig sabihin ng iskedyul ng mga parisukat

Mga disadvantages ng pamamaraan: 1) kung sa ilang pag-ulit ng bilang RAng 0 ay nagiging katumbas ng zero, pagkatapos ay bumulok ang generator, kaya't ang wastong pagpili ng paunang halaga ay mahalaga R0; 2) ulitin ng generator ang pagkakasunud-sunod sa pamamagitan ng M n mga hakbang (sa pinakamagandang kaso), saan n - kapasidad sa digit R0 , M - ang batayan ng system ng numero.

Halimbawa, sa Fig. 22.6: kung numero RAng 0 ay kinakatawan sa binary system, pagkatapos ang pagkakasunud-sunod ng mga pseudo-random na numero ay ulitin sa 2 4 \u003d 16 na mga hakbang. Tandaan na ang pag-uulit ng pagkakasunud-sunod ay maaaring mangyari nang mas maaga kung ang paunang numero ay hindi napili nang maayos.

Ang pamamaraang inilarawan sa itaas ay iminungkahi ni John von Neumann at nagsimula pa noong 1946. Dahil ang pamamaraang ito ay napatunayan na hindi maaasahan, mabilis itong inabandona.

Paraan ng mga gitnang produkto

Bilang R0 ay pinarami ng R1, mula sa nakuha na resulta R2 kunin ang gitna R2 * (ito ay isa pang random na numero) at pinarami ng Risa Ang lahat ng kasunod na mga random na numero ay kinakalkula gamit ang scheme na ito (tingnan ang Larawan 22.7).

Larawan: 22.7. Paraan ng mga gitnang produkto

Pamamaraan ng paghahalo

Ang pamamaraang shuffle ay gumagamit ng mga operasyon upang paikot na ilipat ang mga nilalaman ng isang cell sa kaliwa at kanan. Ang ideya ng pamamaraan ay ang mga sumusunod. Hayaang itabi ng cell ang binhi R0 Paikot na binabago ang mga nilalaman ng cell sa kaliwa ng 1/4 ng haba ng cell, nakakakuha kami ng isang bagong numero R0 *. Gayundin, binabago ang cyclically ang mga nilalaman ng isang cell R0 sa kanan sa pamamagitan ng 1/4 ng haba ng cell, nakukuha namin ang pangalawang numero R0 **. Kabuuan ng mga numero R0 * at RNagbibigay ang 0 ** ng isang bagong random na numero Risa Dagdag pa R1 ay ipinasok sa R0, at ang buong pagkakasunud-sunod ng mga pagpapatakbo ay paulit-ulit (tingnan ang Larawan 22.8).


Larawan: 22.8. Diagram ng pamamaraan ng paghahalo

Mangyaring tandaan na ang bilang na nagreresulta mula sa pagbubuod R0 * at R0 **, maaaring hindi ganap na magkasya sa cell Risa Sa kasong ito, ang mga sobrang digit ay dapat na itapon mula sa natanggap na numero. Ipaliwanag natin ito para sa Fig. 22.8, kung saan ang lahat ng mga cell ay kinakatawan ng walong mga binary digit. Hayaan R0 * = 10010001 2 = 145 10 , R0 ** = 10100001 2 = 161 10 tapos R0 * + R0 ** = 100110010 2 = 306 10 ... Tulad ng nakikita mo, ang bilang na 306 ay sumasakop sa 9 na mga digit (sa binary number system), at ang cell R1 (tulad ng R0) maaaring magkaroon ng maximum na 8 na digit. Samakatuwid, bago ipasok ang halaga sa R1 kinakailangan upang alisin ang isang "labis", ang kaliwang bahagi mula sa bilang na 306, bilang isang resulta kung saan R1 ay hindi na pupunta 306, ngunit 00110010 2 \u003d 50 10. Tandaan din na sa mga wika tulad ng Pascal, ang "pagputol" ng labis na mga piraso kapag ang isang cell ay umapaw ay awtomatikong ginagawa alinsunod sa tinukoy na uri ng variable.

Linear congruent na pamamaraan

Ang linear congruent na pamamaraan ay isa sa pinakasimpleng at pinakakaraniwang ginagamit na mga pamamaraan para sa pagtulad sa mga random na numero. Ginagamit ng pamamaraang ito ang mod ( x, y), na nagbabalik ng natitirang unang argument na hinati ng pangalawa. Ang bawat kasunod na random na numero ay kinakalkula batay sa nakaraang random na numero gamit ang sumusunod na formula:

r ako + 1 \u003d mod ( k · r ako + b, M) .

Ang isang pagkakasunud-sunod ng mga random na numero na nakuha gamit ang formula na ito ay tinawag linear na magkakasunod na pagkakasunud-sunod... Maraming mga may-akda ang tumawag sa isang linear na magkakasunod na pagkakasunud-sunod para sa b = 0 multiplicative congruent na pamamaraan, at sa b ≠ 0 — halo-halong kongruent na pamamaraan.

Para sa isang de-kalidad na generator, kailangan mong pumili ng mga angkop na coefficients. Kinakailangan na ang bilang M ay medyo malaki, dahil ang panahon ay hindi maaaring magkaroon ng higit pa M mga elemento. Sa kabilang banda, ang paghahati na ginamit sa pamamaraang ito ay isang mabagal na operasyon, kaya para sa isang binary computing machine magiging lohikal na pumili M = 2 N , dahil sa kasong ito ang paghahanap ng natitirang dibisyon ay nabawasan sa loob ng computer sa isang binary lohikal na operasyon "AT". Ang pagpili ng pinakamalaking pangunahing numero ay laganap din M mas mababa sa 2 N : sa mga espesyal na panitikan napatunayan na sa kasong ito ang hindi gaanong makabuluhang mga piraso ng nagresultang random na numero r ako Ang + 1 ay kumikilos nang sapalaran tulad ng mga mas matanda, na may positibong epekto sa buong pagkakasunud-sunod ng mga random na bilang bilang isang buo. Ang isang halimbawa ay isa sa mga numero ng Mersennekatumbas ng 2 31 - 1, at sa gayon M \u003d 2 31 - 1.

Ang isa sa mga kinakailangan para sa mga linear na magkakasunod na pagkakasunud-sunod ay ang maximum na haba ng tagal na posible. Ang haba ng panahon ay nakasalalay sa mga halaga M , k at b ... Ang teorama na ipinakita namin sa ibaba ay nagbibigay-daan sa amin upang matukoy kung posible na makamit ang isang panahon ng maximum na haba para sa mga tukoy na halaga M , k at b .

Teorama... Ang Linear congruent na pagkakasunud-sunod ay tinukoy ng mga numero M , k , b at r 0, ay may tagal ng haba M kung at lamang kung:

  • numero b at M kapwa simple;
  • k - 1 maramihang p para sa bawat simple p na kung saan ay isang tagahati M ;
  • k - 1 maramihang 4 kung M maramihang ng 4.

Sa wakas, tapusin natin sa isang pares ng mga halimbawa ng paggamit ng linear na congruent na pamamaraan upang makabuo ng mga random na numero.

Napag-alaman na ang isang serye ng mga pseudo-random na numero na nabuo mula sa data mula sa halimbawang 1 ay uulitin bawat M/ 4 na numero. Bilang q ay itinakda nang arbitraryo bago simulan ang mga kalkulasyon, ngunit dapat tandaan na ang serye ay nagbibigay ng impression ng pagiging random para sa malaki k (na nangangahulugang iyon q ). Ang resulta ay maaaring mapabuti nang bahagya kung b kakaiba at k \u003d 1 + 4 q - sa kasong ito, ang hilera ay paulit-ulit sa bawat M numero. Matapos ang mahabang paghahanap k ang mga mananaliksik ay naayos sa mga halagang 69069 at 71365.

Ang isang random number generator na gumagamit ng data mula sa Halimbawa 2 ay makakagawa ng mga random na hindi paulit-ulit na mga numero na may isang panahon na 7 milyon.

Ang multiplicative na pamamaraan para sa pagbuo ng mga pseudo-random na numero ay iminungkahi ni D. H. Lehmer noong 1949.

Sinusuri ang kalidad ng generator

Ang kalidad ng buong system at ang kawastuhan ng mga resulta ay nakasalalay sa kalidad ng RNG. Samakatuwid, ang random na pagkakasunud-sunod na nabuo ng RNG ay dapat masiyahan ang isang bilang ng mga pamantayan.

Ang mga tseke na isinagawa ay may dalawang uri:

  • mga tseke para sa pagkakapareho ng pamamahagi;
  • mga tseke para sa kalayaan sa istatistika.

Mga tseke ng pagkakapareho ng pamamahagi

1) Ang RNG ay dapat gumawa ng malapit sa mga sumusunod na halaga ng mga statistic na parameter na katangian ng isang pare-parehong random na batas:

2) Frequency test

Pinapayagan ka ng pagsubok ng dalas na malaman kung gaano karaming mga numero ang nahuhulog sa agwat (m r – σ r ; m r + σ r) , iyon ay (0.5 - 0.2887; 0.5 + 0.2887) o, sa huli, (0.2113; 0.7887). Dahil sa 0.7887 - 0.2113 \u003d 0.5774, napagpasyahan namin na sa isang mabuting RNG, halos 57.7% ng lahat ang bumagsak na mga random na numero ay dapat mahulog sa agwat na ito (tingnan ang Larawan 22.9).

Larawan: 22.9. Diagram ng dalas ng isang perpektong RNG
kung sakaling suriin ito para sa isang pagsubok sa dalas

Kinakailangan din na isaalang-alang na ang bilang ng mga bilang na nahuhulog sa agwat (0; 0.5) ay dapat na humigit-kumulang na katumbas ng bilang ng mga bilang na nahuhulog sa agwat (0.5; 1).

3) Chi-square test

Ang chi-square test (χ 2 test) ay isa sa pinakatanyag na statistic test; ito ang pangunahing pamamaraan na ginamit kasama ng iba pang pamantayan. Ang chi-square test ay iminungkahi noong 1900 ni Karl Pearson. Ang kanyang kapansin-pansin na trabaho ay itinuturing na ang pundasyon ng modernong istatistika ng matematika.

Para sa aming kaso, isang chi-square test ang magpapahintulot sa amin na malaman kung magkano ang totoo Ang RNG ay malapit sa pamantayan ng RNG, iyon ay, kung natutugunan nito ang kinakailangan ng pare-parehong pamamahagi o hindi.

Diagram ng dalas sanggunian Ang RNG ay ipinapakita sa Fig. 22.10. Dahil ang batas sa pamamahagi ng sanggunian RNG ay pare-pareho, ang (teoretikal) na posibilidad p ako pagpindot ng mga numero sa ako -th interval (lahat ng mga agwat na ito k ) ay katumbas ng p ako = 1/k ... At sa gayon, sa bawat isa sa k mahulog ang mga agwat makinis ni p ako · N numero ( N — kabuuan nabuong mga numero).

Larawan: 22.10. Diagram ng dalas ng sanggunian RNG

Ang isang tunay na RNG ay gagawa ng mga bilang na ipinamamahagi (at hindi kinakailangan na pantay!) k ang mga agwat at bawat agwat ay isasama n ako mga numero (sa kabuuan n 1 + n 2 + ... + n k = N ). Paano natin matutukoy kung gaano kahusay ang nasubok na RNG at kung gaano kalapit sa sanggunian? Lohikal na isaalang-alang ang mga parisukat ng mga pagkakaiba sa pagitan ng natanggap na bilang ng mga numero. n ako at "sanggunian" p ako · N ... Idagdag natin sila, at bilang isang resulta nakukuha natin:

χ 2 exp. \u003d ( n 1 - p isa · N) 2 + (n 2 - p 2 N) 2 + ... + ( n k – p k · N) 2 .

Sinusundan ito mula sa pormulang ito na mas maliit ang pagkakaiba sa bawat isa sa mga term (at samakatuwid, ang mas mababa ang halaga χ 2 exp. ), mas malakas ang batas sa pamamahagi ng mga random na numero na nabuo ng isang tunay na RNG ay may posibilidad na maging pare-pareho.

Sa nakaraang pagpapahayag, ang bawat isa sa mga termino ay nakatalaga ng parehong bigat (katumbas ng 1), na sa katunayan ay maaaring hindi tumutugma sa katotohanan; samakatuwid, para sa istatistika ng chi-square, kinakailangang gawing normal ang bawat isa ako -th term sa pamamagitan ng paghahati nito sa p ako · N :

Panghuli, isinusulat namin ang nagresultang ekspresyon nang mas siksik at pinapasimple ito:

Nakuha namin ang chi-square test para sa pang-eksperimento data

Talahanayan 22.2 ang ibinibigay teoretikal mga halagang chi-square (χ 2 teorya), kung saan ν = N - 1 ang bilang ng mga degree ng kalayaan, p Ang antas ba ng pagtitiwala na tinukoy ng gumagamit na nagpapahiwatig kung magkano ang dapat na masiyahan ng RNG ng mga kinakailangan sa pamamahagi ng pare-pareho, o p — ito ang posibilidad na ang pang-eksperimentong halaga ng χ 2 exp. ay magiging mas mababa sa tabulated (teoretikal) χ 2 teorya. o katumbas sa kanya.

Talahanayan 22.2.
Ilang porsyento ng mga puntos ng pamamahagi ng χ 2
p \u003d 1% p \u003d 5% p \u003d 25% p \u003d 50% p \u003d 75% p \u003d 95% p \u003d 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 p + 2/3 x 2 p - 2/3 + O(1 / sqrt ( ν ))
x p = –2.33 –1.64 –0.674 0.00 0.674 1.64 2.33

Itinuturing na katanggap-tanggap p mula 10% hanggang 90%.

Kung χ 2 exp. higit sa theory 2 teorya. (ibig sabihin p - malaki), pagkatapos ay ang generator hindi nasiyahan pantay na kinakailangan sa pamamahagi, dahil ang mga sinusunod na halaga n ako masyadong malayo sa teoretikal p ako · N at hindi maituturing na sapalaran. Sa madaling salita, ang agwat ng kumpiyansa ay itinakda nang malaki na ang mga hadlang sa mga numero ay naging napaka maluwag, ang mga kinakailangan sa mga numero ay mahina. Sa kasong ito, isang napakalaking ganap na error ang mapapansin.

Kahit na si D. Knuth sa kanyang librong "The Art of Programming" ay nabanggit na ang pagkakaroon ng χ 2 exp. maliit, masyadong, sa pangkalahatan, ay hindi mabuti, kahit na tila, sa unang tingin, kahanga-hanga mula sa pananaw ng pagkakapareho. Sa katunayan, kumuha ng isang serye ng mga numero 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, ... - perpekto ang mga ito mula sa pananaw ng pagkakapareho, at χ 2 exp. ay magiging halos zero, ngunit malamang na hindi mo makilala ang mga ito bilang random.

Kung χ 2 exp. mas mababa sa χ 2 theore. (ibig sabihin p - kaunti), pagkatapos ay ang generator hindi nasiyahan ang kinakailangan ng isang random na pamamahagi ng uniporme, dahil ang mga sinusunod na halaga n ako masyadong malapit sa teoretikal p ako · N at hindi maituturing na sapalaran.

Ngunit kung χ 2 exp. nakasalalay sa isang tiyak na saklaw, sa pagitan ng dalawang halaga ng χ 2 na teorya. na tumutugma, halimbawa, p \u003d 25% at p \u003d 50%, pagkatapos ay maaari nating ipalagay na ang mga halaga ng mga random na numero na nabuo ng sensor ay ganap na random.

Bilang karagdagan, dapat tandaan na ang lahat ng mga halaga p ako · N dapat sapat na malaki, halimbawa, higit sa 5 (nalaman ang empirically). Pagkatapos lamang (na may sapat na malaking sample ng istatistika) maaaring maituring na kasiya-siyang kasiya-siyang pang-eksperimentong.

Kaya, ang pamamaraan ng pag-verify ay ang mga sumusunod.

Mga pagsusuri sa kalayaan ng istatistika

1) Suriin ang dalas ng paglitaw ng isang digit sa isang pagkakasunud-sunod

Tingnan natin ang isang halimbawa. Ang random na numero 0.2463389991 ay binubuo ng mga digit na 2463389991, at ang bilang na 0.5467766618 ay binubuo ng mga digit na 5467766618. Pagkonekta sa mga pagkakasunud-sunod ng mga digit, mayroon kaming: 24633899915467766618.

Ito ay malinaw na ang teoretikal na posibilidad p ako bagsak ako -th digit (0 hanggang 9) ay 0.1.

2) Sinusuri ang hitsura ng serye ng parehong mga numero

Ipaalam natin sa pamamagitan ng n L bilang ng mga serye ng magkakasunod na mga digit ng haba L ... Ang lahat ay kailangang suriin L mula 1 hanggang m kung saan m Ay isang tinukoy ng numero ng gumagamit: ang maximum na bilang ng mga magkaparehong digit na nagaganap sa isang serye.

Sa halimbawang "24633899915467766618" 2 serye ng haba 2 (33 at 77) ay matatagpuan, iyon ay n 2 \u003d 2 at 2 series 3 ang haba (999 at 666), iyon ang n 3 = 2 .

Ang posibilidad ng paglitaw ng isang serye ng haba L ay katumbas ng: p L \u003d 9 10 - L (panteorya). Iyon ay, ang posibilidad ng isang serye ng isang character sa haba ay: p 1 \u003d 0.9 (panteorya). Ang posibilidad ng isang serye ng dalawang character ang haba ay: p 2 \u003d 0.09 (panteorya). Ang posibilidad ng isang guhit ng tatlong mga character ang haba ay: p 3 \u003d 0.009 (panteorya).

Halimbawa, ang posibilidad ng isang serye ng isang character sa haba ay p L \u003d 0.9, dahil maaaring magkaroon lamang ng isang character sa labas ng 10, at mayroong 9 na mga character sa kabuuan (zero ay hindi bibilangin). At ang posibilidad na ang dalawang magkatulad na simbolo na "XX" ay magaganap sa isang hilera ay 0.1 · 0.1 · 9, iyon ay, ang posibilidad ng 0.1 na ang simbolong "X" ay lilitaw sa unang posisyon ay pinarami ng posibilidad na 0.1 na pareho ang simbolo ay lilitaw sa pangalawang posisyon na "X" at i-multiply ng bilang ng mga nasabing kombinasyon 9.

Ang dalas ng paglitaw ng serye ay kinakalkula ayon sa dating nasuri na formula na chi-square gamit ang mga halaga p L .

Tandaan: ang generator ay maaaring suriin ng maraming beses, subalit ang mga tseke ay hindi kumpleto at hindi ginagarantiyahan na ang generator ay gumagawa ng mga random na numero. Halimbawa, ang isang generator na naglalabas ng pagkakasunud-sunod 12345678912345 ... ay maituturing na perpekto sa panahon ng mga tseke, na malinaw naman na hindi ganap na totoo.

Bilang pagtatapos, mapapansin namin na ang ikatlong kabanata ng aklat ni Donald E. Knuth na "The Art of Programming" (dami 2) ay ganap na nakatuon sa pag-aaral ng mga random na numero. Nag-aaral ito iba`t ibang pamamaraan pagbuo ng mga random na numero, mga pagsusulit sa random na istatistika, at pag-convert ng pantay na ipinamamahagi ng mga random na numero sa iba pang mga uri mga random na variable... Mahigit sa dalawang daang mga pahina ang naukol sa pagtatanghal ng materyal na ito.

Isinumite online generator gumagana ang mga random na numero batay sa isang naka-program na pseudo-random na numero ng generator na may isang pare-parehong pamamahagi na naka-built sa JavaScript. Nabuo ang mga integer. Bilang default, 10 mga random na numero ang ipinapakita sa saklaw na 100 ... 999, ang mga numero ay pinaghihiwalay ng mga puwang.

Pangunahing setting ng random generator ng numero:

  • Halaga ng mga numero
  • Saklaw ng mga numero
  • Uri ng Separator
  • Naka-on / off ang pagpapaandar ng pagtanggal ng mga nauulit (mga duplicate ng mga numero)

Ang kabuuang bilang ay pormal na nalilimitahan sa 1000, ang maximum na bilang ay 1 bilyon. Mga pagpipilian sa paghihiwalay: space, comma, semicolon.

Ngayon alam mo nang eksakto kung saan at kung paano makakakuha ng isang pagkakasunud-sunod ng mga random na numero sa isang naibigay na saklaw nang libre sa Internet.

Mga Aplikasyon ng Random Number Generator

Ang isang random number generator (RNG sa JS na may isang pare-parehong pamamahagi) ay magiging kapaki-pakinabang para sa mga espesyalista sa SMM at may-ari ng mga pangkat at pamayanan sa mga social network na Istagram, Facebook, Vkontakte, Odnoklassniki upang matukoy ang mga nagwagi ng mga loterya, paligsahan at mga kumukuha ng premyo.

Pinapayagan ka ng generator ng random na numero na gumuhit ng mga premyo sa isang di-makatwirang bilang ng mga kalahok na may tinukoy na bilang ng mga nagwagi. Ang mga paligsahan ay maaaring gaganapin nang walang mga repost at komento - ikaw mismo ang nagtakda ng bilang ng mga kalahok at agwat para sa pagbuo ng mga random na numero. Maaari kang makakuha ng isang hanay ng mga random na numero sa online at nang libre sa site na ito, at hindi mo kailangang mag-install ng anumang application sa iyong smartphone o programa sa iyong computer.

Gayundin, ang isang online random number generator ay maaaring magamit upang gayahin ang isang paghuhugas ng barya o dais... Gayunpaman, mayroon kaming magkakahiwalay na dalubhasang serbisyo para sa mga kasong ito.

Isakatuparan iba't ibang mga loterya, mga giveaway, atbp. ay madalas na gaganapin sa maraming mga pangkat o publikasyon sa mga social network, Instagram, atbp, at ginagamit ng mga may-ari ng account upang maakit ang isang bagong madla sa pamayanan.

Ang resulta ng naturang mga pagguhit ay madalas na nakasalalay sa swerte ng gumagamit, dahil ang natanggap ng premyo ay tinutukoy sapalaran.

Para sa pagpapasiyang ito, ang mga tagapag-ayos ng draw ay halos palaging gumagamit ng isang online na random number generator o isang paunang naka-install na ipinamahagi nang walang bayad.

Pagpipilian

Kadalasan, maaaring mahirap pumili ng ganoong generator, dahil ang kanilang pag-andar ay medyo naiiba - para sa ilan ito ay makabuluhang limitado, para sa iba medyo malawak ito.

Naipatupad ng sapat malaking bilang ng tulad ng mga serbisyo, ngunit ang kahirapan ay naiiba ang mga ito sa saklaw.

Maraming, halimbawa, ay nakatali sa pamamagitan ng kanilang pag-andar sa isang tiyak social network (halimbawa, maraming mga application ng generator sa VKontakte ang gumagana lamang sa mga link mula sa social network na ito).

Karamihan sa mga simpleng generator ay random na tumutukoy sa isang numero sa loob ng isang naibigay na saklaw.

Maginhawa ito sapagkat hindi ito naiugnay ang resulta sa isang tukoy na post, na nangangahulugang maaari itong magamit kapag naglalaro sa labas ng social network at sa iba`t ibang mga sitwasyon.

Sa katunayan, wala silang ibang aplikasyon.

<Рис. 1 Генератор>

Payo! Kapag pumipili ng pinakaangkop na generator, mahalagang isaalang-alang ang layunin kung saan ito gagamitin.

Mga pagtutukoy

Para sa pinakamabilis na proseso ng pagpili ng pinakamainam na serbisyong pagbuo ng online na random na numero, ipinapakita ng talahanayan sa ibaba ang pangunahing mga pagtutukoy at ang pagpapaandar ng naturang mga application.

Talahanayan 1. Mga tampok ng paggana mga online application upang makabuo ng isang random na numero
Pangalan Social network Maramihang mga resulta Pagpili mula sa isang listahan ng mga numero Online widget para sa site Pumili mula sa isang saklaw Hindi pinapagana ang mga pag-uulit
RandStuff Oo Oo Hindi Oo Hindi
Maraming Cast Opisyal na site o VKontakte Hindi Hindi Oo Oo Oo
Random na numero Opisyal na site Hindi Hindi Hindi Oo Oo
Randomus Opisyal na site Oo Hindi Hindi Oo Hindi
Random na mga numero Opisyal na site Oo Hindi Hindi Hindi Hindi

Ang lahat ng mga application na isinasaalang-alang sa talahanayan ay inilarawan nang mas detalyado sa ibaba.

<Рис. 2 Случайные числа>

RandStuff

<Рис. 3 RandStuff>

Maaari mong gamitin ang application na ito sa online sa pamamagitan ng pagsunod sa link sa opisyal na website na http://randstuff.ru/number/.

Ito ay isang simpleng random number generator, na nagtatampok ng mabilis at matatag na pagganap.

Matagumpay itong naipatupad kapwa bilang isang hiwalay na stand-alone na application sa opisyal na website at bilang isang application sa VKontakte social network.

Ang kakaibang uri ng serbisyong ito ay maaari itong pumili ng isang random na numero mula sa parehong tinukoy na saklaw at mula sa isang tukoy na listahan ng mga numero na maaaring tukuyin sa site.

Mga kalamangan:

  • Matatag at mabilis na trabaho;
  • Kakulangan ng direktang koneksyon sa isang social network;
  • Maaari kang pumili ng isa o maraming mga numero;
  • Maaari ka lamang pumili mula sa mga tinukoy na numero.

Mga Minus:

  • Kawalan ng kakayahan na humawak ng isang VKontakte draw (nangangailangan ito ng isang hiwalay na application);
  • Ang mga aplikasyon para sa VKontakte ay hindi inilunsad sa lahat ng mga browser;
  • Ang resulta kung minsan ay tila mahuhulaan dahil isang algorithm lamang ng pagkalkula ang ginamit.

Ang mga pagsusuri ng gumagamit ng application na ito ay ang mga sumusunod: "Natutukoy namin sa pamamagitan ng serbisyong ito ang mga nanalo sa mga pangkat ng VKontakte. Salamat "," Ikaw ang pinakamahusay "," ginagamit ko lang ang serbisyong ito. "

Maraming Cast

<Рис. 4 Cast Lots>

Ang application na ito ay isang simpleng functional generator na ipinatupad sa opisyal na website sa anyo ng isang application na VKontakte.

Mayroon ding isang widget ng generator para sa pag-embed sa iyong site.

Ang pangunahing pagkakaiba mula sa nakaraang aplikasyon na inilarawan ay pinapayagan kang hindi paganahin ang pag-uulit ng resulta.

Iyon ay, kung maraming henerasyon ang isinasagawa nang sunud-sunod sa isang sesyon, ang numero ay hindi na mauulit.

  • Ang pagkakaroon ng isang widget para sa pag-embed sa isang website o blog;
  • Kakayahang huwag paganahin ang pag-uulit ng resulta;
  • Ang pagkakaroon ng "kahit na higit na pagiging random" na function, pagkatapos ng pag-aktibo kung aling ang pagpipilian ng algorithm ay nagbabago.

Negatibo:

  • Ang imposible ng pagtukoy ng maraming mga resulta nang sabay-sabay;
  • Kakayahang pumili mula sa isang tukoy na listahan ng mga numero;
  • Upang pumili ng isang nagwagi sa publiko, dapat kang gumamit ng isang hiwalay na VKontakte widget.

Ang mga pagsusuri ng gumagamit ay ang mga sumusunod: "Gumagana ito ng matatag, medyo maginhawa upang gamitin", "Maginhawang pag-andar", "Gumagamit lang ako ng serbisyong ito".

Random na numero

<Рис. 5 Случайное число>

Ang serbisyong ito ay matatagpuan sa http: // random number.rf /.

Simpleng generator na may minimum ng mga pag-andar at karagdagang mga tampok.

Maaaring random na makabuo ng mga numero sa isang naibigay na saklaw (maximum mula 1 hanggang 99999).

Ang site ay walang anumang graphic na disenyo, at samakatuwid ang pahina ay madaling mai-load.

Ang resulta ay maaaring makopya o ma-download sa pamamagitan ng pagpindot sa isang pindutan.

Negatibo:

  • Kakulangan ng isang widget para sa VKontakte;
  • Walang posibilidad na maghawak ng mga gumuhit;
  • Walang paraan upang maipasok ang resulta sa isang blog o website.

Narito kung ano ang sinasabi ng mga gumagamit ang serbisyong ito: "Hindi isang masamang generator, ngunit hindi sapat ang mga pag-andar", "Napakakaunting mga posibilidad", "Angkop para sa mabilis na pagbuo ng isang numero nang hindi kinakailangang mga setting."

Randomus

<Рис. 6 Рандомус>

Maaari mong gamitin ang generator ng random na numero sa http://randomus.ru/.

Isa pa, sapat na simple, ngunit functional generator ng numero ng random.

Ang serbisyo ay may sapat na pagpapaandar para sa pagtukoy ng mga random na numero, ngunit para sa paghawak ng mga draw at iba pa kumplikadong proseso hindi magkakasya.

Negatibo:

  • Ang imposible ng paghawak ng mga guhit para sa mga repost ng isang post, atbp.
  • Walang app para sa VKontakte o widget para sa site;
  • Hindi ma-patay ang inuulit na mga resulta.

Sa generator na ito, maaari kang lumikha ng mga random na numero sa anumang saklaw. Papayagan ka rin ng generator na ito na sapalarang pumili o makilala ang isang numero mula sa isang listahan. O lumikha ng isang hanay ng mga random na numero mula 2 hanggang 70 elemento. Ang tool na ito sa online ay hindi lamang magpapahintulot sa iyo na lumikha ng isa (1), dalawa (2) o tatlong-digit (3) mga random na numero, ngunit pati na rin lima at pito. Madaling i-set up. Ang bawat isa ay maaaring master ito. Maaari ka ring pumili ng mga random na numero para sa mga online o offline na loterya o paligsahan. At magiging maginhawa. Madali kang makakalikha ng buong talahanayan o mga hilera ng mga random na numero. Sa isang split segundo, makakatanggap ka ng isang random na numero o ang kanilang pagkakasunud-sunod (set) sa iyong screen. Kung kukuha ka ng isang pagkakasunud-sunod ng iyong mga numero, pagkatapos ang algorithm ay pipili ng mga random o random na mga isa, ang anumang maaaring mag-drop out. Sa tulong ng tool na ito, ikaw mismo ay maaaring magsagawa ng mga pagguhit. Sa pamamagitan ng pagpili, halimbawa, sa parehong saklaw at bilang ng mga bilang bilang isang resulta, maaari kang makabuo ng isang random na pagkakasunud-sunod (kumbinasyon). Maaari ka ring pumili ng mga random na kumbinasyon ng titik at mga salita. Ang tool na ito, tulad ng lahat sa aming site, ay ganap na malayang gamitin (walang mga pagbubukod).

Ipasok ang mga numero sa saklaw

Mula sa
Dati pa
Upang makabuo

Ang pagbabago ng saklaw upang makabuo ng isang random na numero

1..10 1..100 1..1000 1..10000 para sa loterya 5 ng 36 para sa loterya 6 ng 45 para sa loterya 6 ng 49 para sa loterya 6 ng 59

Bilang ng mga random na numero (1)

Tanggalin ang mga pag-uulit

Piliin ang mga random na halaga mula sa listahan (paghiwalayin ang mga kuwit o puwang, kung ang mga kuwit ay matatagpuan, ang paghati ay isinasagawa ng mga ito, kung hindi man mga puwang)

Sinasama kami ng mga numero saanman - numero ng bahay at apartment, telepono, kotse, pasaporte, plastic card, mga petsa, password email... Pumili kami ng ilang mga kumbinasyon ng mga numero sa aming sarili, ngunit nakukuha namin ang karamihan sa mga ito nang sapalaran. Nang hindi namalayan ito, gumagamit kami ng mga random na nabuong mga numero araw-araw. Kung makakaisip kami ng mga PIN code, kung gayon ang mga natatanging code para sa isang credit o suweldo card ay nabuo ng mga maaasahang system na nagbubukod sa pag-access sa mga password. Ang mga gumagawa ng random na numero ay nagbibigay ng proteksyon sa mga lugar na nangangailangan ng bilis ng pagpoproseso, seguridad, at independiyenteng pagproseso.

Ang proseso ng pagbuo ng mga pseudo-random na numero ay napapailalim sa ilang mga batas at ginamit sa mahabang panahon, halimbawa, kapag may hawak na mga loterya. Sa nagdaang nakaraan, ang mga gumuhit ay isinasagawa gamit ang mga machine ng lottery o pagguhit ng maraming. Mayroong mga panalong numero ngayon sa maraming mga bansa mga loterya ng estado ay tinutukoy ng hanay ng mga nabuong mga random na numero.

Mga kalamangan sa pamamaraan

Kaya, ang isang random number generator ay isang independiyenteng modernong mekanismo para sa sapalarang pagtukoy ng mga kumbinasyon ng mga numero. Ang pagiging natatangi at pagiging perpekto ng pamamaraang ito ay nakasalalay sa imposibilidad ng panlabas na pagkagambala sa proseso. Ang generator ay isang hanay ng mga programang binuo, halimbawa, sa mga diode ng ingay. Ang aparato ay bumubuo ng isang stream ng mga random na ingay, ang kasalukuyang mga halaga na na-convert sa mga numero at mga kumbinasyon ng form.

Ang pagbuo ng mga numero ay nagbibigay ng agarang mga resulta - tumatagal ng ilang segundo upang makumpleto ang kumbinasyon. Kung pinag-uusapan natin ang tungkol sa mga loterya, malalaman agad ng mga kalahok kung ang numero ng tiket ay tumutugma sa nanalong isa. Pinapayagan itong gaganapin nang madalas hangga't gusto ng mga kalahok. Ngunit ang pangunahing bentahe ng pamamaraan ay ang hindi mahuhulaan at imposibilidad na makalkula ang algorithm para sa pagpili ng mga numero.

Paano nabuo ang mga pseudo-random na numero

Sa katunayan, ang mga random na numero ay hindi random - nagsisimula ang serye sa ibinigay na numero at nabuo ng algorithm. Ang isang pseudo-random number generator (PRNG o PRNG - pseudorandom number generator) ay isang algorithm na bumubuo ng isang pagkakasunud-sunod ng mga tila walang kaugnayan na mga numero, karaniwang napapailalim sa pare-parehong pamamahagi. Sa computer science, ginagamit ang mga pseudo-random na numero sa maraming mga application: sa cryptography, simulation, pamamaraang Monte Carlo, atbp. Ang kalidad ng resulta ay nakasalalay sa mga pag-aari ng PRNG.

Ang mapagkukunan ng henerasyon ay maaaring pisikal na ingay mula sa cosmic radiation hanggang ingay sa risistor, ngunit ang mga naturang aparato ay halos hindi ginagamit ng mga application ng seguridad sa network. Ang mga application ng Cryptographic ay gumagamit ng mga espesyal na algorithm na bumubuo ng mga pagkakasunud-sunod na hindi maaaring maging random sa istatistika. Gayunpaman, ang isang napiling algorithm ay maaaring makabuo ng mga serye ng mga numero na pumasa sa karamihan sa mga pagsubok sa pagiging random. Ang panahon ng pag-uulit sa mga naturang pagkakasunud-sunod ay mas malaki kaysa sa agwat ng pagpapatakbo kung saan kinuha ang mga numero.

Maraming mga modernong tagaproseso ang naglalaman ng isang PRNG, halimbawa, RdRand. Bilang kahalili, ang mga hanay ng mga random na numero ay nilikha at nai-publish sa isang isang-oras na pad (diksyunaryo). Ang mapagkukunan ng mga numero sa kasong ito ay limitado at hindi nagbibigay ng kumpletong seguridad sa network.

Kasaysayan ng PRNG

Maaaring isaalang-alang ang prototype ng random number generator board game Senet, karaniwang sa Sinaunang Egypt noong 3500 BC. Ayon sa mga kundisyon, lumahok ang dalawang manlalaro, ang mga galaw ay natutukoy sa pamamagitan ng pagkahagis ng apat na patag na itim at puting mga stick - pareho sila sa PRNG ng panahong iyon. Ang mga stick ay itinapon nang sabay-sabay, at ang mga puntos ay kinakalkula: kung ang isa ay nahulog na may puting bahagi, 1 puntos at isang karagdagang paglipat, dalawang puti - dalawang puntos, at iba pa. Ang maximum na iskor na limang puntos ay nakuha ng manlalaro na nagtapon ng apat na stick na may itim na panig.

Ang generator ng ERNIE ay ginamit ng maraming taon sa UK sa pagguhit ng lotto sa mga panahong ito. Mayroong dalawang pangunahing pamamaraan ng henerasyon panalong numero: linear congruent at additive congruent. Ang mga ito at iba pang mga pamamaraan ay batay sa prinsipyo ng pagiging random at ibinibigay ng software na walang hanggan na gumagawa ng mga numero, ang pagkakasunud-sunod nito ay imposibleng hulaan.

Patuloy na nagpapatakbo ng PRNG, halimbawa, sa mga slot machine... Ayon sa batas ng US, ito kinakailangang kondisyonkung saan dapat sumunod ang lahat ng mga vendor ng software.

© 2021 skudelnica.ru - Pag-ibig, pagtataksil, sikolohiya, diborsyo, damdamin, pagtatalo