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

bahay / Dating

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

Fig. 22.3. Dalas ng diagram ng mga random na numero,
nabuo ng isang perpektong generator teoretically

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

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

Ang mga random na generator ng numero ay nahahati sa:

  • pisikal;
  • tabular;
  • algorithmic.

Physical RNG

Ang isang halimbawa ng mga pisikal na RNG ay: isang barya (ulo - 1, mga buntot - 0); dais; isang tambol na may isang arrow na nahahati sa mga sektor na may mga numero; isang generator ng ingay sa hardware (HS), na ginagamit bilang isang maingay na thermal device, halimbawa, isang transistor (Fig. 22.4-22.5).

Fig. 22.4. Scheme ng pamamaraan ng hardware para sa pagbuo ng mga random na numero
Fig. 22.5. Diagram ng pagkuha ng mga random na numero sa pamamagitan ng pamamaraan ng hardware
Ang gawain na "Bumubuo 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 perpektong lugar.

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

Gumuhit ng agwat mula 0 hanggang 1. Pagbasa ng mga numero nang pagkakasunod-sunod mula sa kaliwa hanggang kanan, hatiin ang agwat sa kalahati at piliin ang bawat oras na isa sa mga bahagi ng susunod na agwat (kung bumagsak ito 0, pagkatapos ay ang kaliwa, kung bumagsak ng 1, pagkatapos ay ang kanan). Sa gayon, maaari kang makakuha ng anumang punto sa agwat, nang tumpak na gusto mo.

Kaya, 1 : ang pagitan ay nahati - at, - ang tamang kalahati ay napili, ang agwat ay makitid:. Susunod na numero, 0 : ang pagitan ay nahati - at, - ang kaliwang kalahati ay napili, ang agwat ay makitid:. Susunod na numero, 0 : ang pagitan ay nahati - at, - ang kaliwang kalahati ay napili, ang agwat ay makitid:. Susunod na numero, 1 : ang pagitan ay nahati - at, - ang tamang kalahati ay napili, ang agwat ay makitid:.

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

Sa prinsipyo, kung lalapit kami nang mahigpit, kung gayon ang paghahati ng mga agwat ay dapat ipagpatuloy hanggang sa kaliwa at kanang mga hangganan ng natagpuan na agwat ng bawat isa na may kawastuhan hanggang sa ikatlong lugar na desimal. Iyon ay, mula sa punto ng view ng kawastuhan, ang nabuong numero ay hindi na maiiba 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 i-convert ang mga binary number na ito sa decimal nakuha namin: 4, 6, 4. Pagsusulat ng "0." sa harap, nakuha namin: 0.464. Ang mga numero lamang mula sa 0.000 hanggang 0.777 ay maaaring makuha gamit ang pamamaraang ito (dahil ang maximum na maaaring masiksik sa labas ng tatlong binary digit ay 111 2 \u003d 7 8) - iyon ay, sa katunayan, ang mga bilang na ito ay kinakatawan sa octal number system. Para sa pagsasalin octal mga numero sa desimal 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 bilang ay katumbas ng: 0.602.

Tabular RNG

Gumagamit ang mga Tabular RNGs ng mga espesyal na pinagsama-sama na mga talahanayan na naglalaman ng na-verify na walang katibayan, iyon ay, independiyenteng ng bawat isa, mga bilang bilang isang mapagkukunan ng mga random na numero. Talahanayan 22.1 ay nagpapakita ng isang maliit na fragment ng tulad ng isang talahanayan. Sa pamamagitan ng paglalakad ng talahanayan mula kaliwa hanggang kanan mula sa itaas, maaari kang makakuha ng pantay na ipinamamahagi mula 0 hanggang 1 mga random na numero na may kinakailangang bilang ng mga lugar ng desimal (sa aming halimbawa, gumagamit kami ng tatlong mga lugar ng desimal para sa bawat bilang). Dahil ang mga numero sa talahanayan ay hindi nakasalalay sa bawat isa, ang talahanayan ay maaaring maipasa sa iba't ibang mga paraan, halimbawa, mula sa itaas hanggang sa ibaba, o mula sa kanan hanggang sa kaliwa, o, sabihin, maaari kang pumili ng mga numero na nasa kahit na mga posisyon.

Talahanayan 22.1.
Mga Random na numero. Kahit na
ipinamamahagi mula 0 hanggang 1 mga random na numero
Mga Random na numero Kahit na ipinamamahagi
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
… …

Ang bentahe ng pamamaraang ito ay nagbibigay ito ng tunay na mga random na numero, dahil ang talahanayan ay naglalaman ng mga na-verify na mga numero na hindi sinadya. Mga kawalan ng paraan: kinakailangan ng maraming memorya upang mag-imbak ng isang malaking bilang ng mga numero; malaking kahirapan sa pagbuo at pagsuri sa mga nasabing mga talahanayan, mga repetisyon kapag gumagamit ng isang talahanayan ay hindi na ginagarantiyahan ang pagiging random ng pagkakasunud-sunod, at samakatuwid ang pagiging maaasahan ng resulta.

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

Algorithmic RNG

Ang mga numero na nabuo gamit ang mga RNG ay palaging pseudo-random (o quasi-random), iyon ay, ang bawat kasunod na numero na nabuo ay nakasalalay sa nakaraang 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 mayroong isang 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 bilis; ang mga generator ay halos hindi nangangailangan ng mga mapagkukunan ng memorya, sila ay siksik. Mga Kakulangan: ang mga numero ay hindi maaaring ganap na tinatawag na random, dahil mayroong isang dependence sa pagitan nila, pati na rin ang pagkakaroon ng mga panahon sa pagkakasunud-sunod ng mga quasi-random na numero.

Isaalang-alang natin ang ilang mga algorithmic na pamamaraan para sa pagkuha ng RNG:

  • paraan ng gitnang parisukat;
  • pamamaraan ng mga gitnang produkto;
  • paraan ng paghahalo;
  • linear congruent na pamamaraan.

Ibig sabihin ang paraan ng parisukat

Mayroong ilang apat na-bilang na numero R0. Ang bilang na ito ay parisukat at ipinasok R1. Karagdagang mula sa RAng 1 ay kinuha sa gitna (apat na gitnang numero) - 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 bilang isang random na numero ghij, at 0.ghij - na may isang zero at isang punto ng decimal na nakatalaga sa kaliwa. Ang katotohanang ito ay makikita sa Fig. 22.6 at sa kasunod na mga katulad na mga numero.

Fig. 22.6. Ang ibig sabihin ng iskwad sa iskwad

Mga kawalan ng paraan: 1) kung sa ilang pag-iiba sa bilang RAng 0 ay nagiging katumbas ng zero, kung gayon ang generator ay lumala, kaya ang tamang pagpili ng paunang halaga ay mahalaga R0; 2) uulitin ng generator ang pagkakasunod-sunod M n mga hakbang (sa pinakamahusay), kung saan n - digit na kapasidad R0 , M - ang batayan ng sistema ng numero.

Halimbawa, sa Fig. 22.6: kung bilang RAng 0 ay kinakatawan sa sistemang binary, pagkatapos ay ang pagkakasunud-sunod ng mga pseudo-random na mga numero ay maulit pagkatapos ng 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 pamamaraan na inilarawan sa itaas ay iminungkahi ni John von Neumann at mga petsa noong 1946. Dahil ang pamamaraang ito ay napatunayan na hindi mapagkakatiwalaan, mabilis itong pinabayaan.

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 R1. Ang lahat ng kasunod na mga random na numero ay kinakalkula gamit ang scheme na ito (tingnan ang Fig. 22.7).

Fig. 22.7. Paraan ng mga gitnang produkto

Paraan ng pag-stirring

Ang pamamaraan ng shuffle ay gumagamit ng mga operasyon upang ikot na ilipat ang mga nilalaman ng isang cell sa kaliwa at kanan. Ang ideya ng pamamaraan ay ang mga sumusunod. Hayaan ang cell store ang buto R0. Ang paglipat ng siksik ng mga nilalaman ng cell sa kaliwa ng 1/4 ng haba ng cell, nakakakuha kami ng isang bagong numero R0 *. Gayundin, ang paglipat ng cyclically ang mga nilalaman ng isang cell R0 sa kanan 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 R1. Dagdag pa R1 ay ipinasok R0, at ang buong pagkakasunod-sunod ng mga operasyon ay naulit (tingnan ang Larawan 22.8).


Fig. 22.8. Ang diagram ng paraan ng paghahalo

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

Pamamaraan ng nakakabit na linya

Ang linear congruent na pamamaraan ay isa sa pinakasimpleng at pinaka-karaniwang ginagamit na pamamaraan para sa pag-simulate ng mga random na numero. Ang pamamaraang ito ay gumagamit ng mod ( x, y), na ibabalik ang nalalabi sa unang argumento 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 tinatawag sunud-sunod na pagkakasunod-sunod... Maraming mga may-akda ang tumawag sa isang linear congruent na pagkakasunud-sunod para sa b = 0 pamamaraang dumarami, at sa b ≠ 0 — halo-halong paraan ng pagbabahagi.

Para sa isang de-kalidad na generator, kailangan mong pumili ng mga angkop na koepisyent. Ito ay kinakailangan na ang bilang M ay lubos na malaki, dahil ang panahon ay hindi maaaring magkaroon ng higit pa M mga elemento. Sa kabilang banda, ang dibisyon na ginamit sa pamamaraang ito ay isang halip mabagal na operasyon, kaya makatuwiran para sa isang binary computer na pumili M = 2 N , dahil sa kasong ito sa paghahanap ng natitirang bahagi ng dibisyon ay nabawasan sa loob ng computer sa isang binary na lohikal na operasyon "AT". Ang pagpili ng pinakamalaking kalakaran bilang ay laganap din M mas mababa sa 2 N : sa espesyal na panitikan ay napatunayan na sa kasong ito ang hindi bababa sa makabuluhang mga piraso ng nagresultang random na numero r ako + 1 kumilos bilang random bilang mas matanda, na may positibong epekto sa buong pagkakasunod-sunod ng mga random na numero bilang isang buo. Ang isang halimbawa ay mga numero ng Mersennekatumbas ng 2 31 - 1, at sa gayon M \u003d 2 31 - 1.

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

Teorya... Ang pagkakasunod-sunod na magkakasunod na pagkakasunod-sunod na tinukoy ng mga numero M , k , b at r 0, may tagal ng haba M kung at kung lamang:

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

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

Natagpuan na ang isang serye ng mga pseudo-random na mga numero na nabuo mula sa data mula sa halimbawa 1 ay paulit-ulit M/ 4 na numero. Bilang q itinakda nang arbitraryo bago simulan ang mga kalkulasyon, gayunpaman, dapat tandaan na ang serye ay nagbibigay ng impresyon na maging random para sa malaki k (na nangangahulugang iyon q ). Ang resulta ay maaaring bahagyang mapabuti kung b kakaiba at k \u003d 1 + 4 q - sa kasong ito, ang hilera ay paulit-ulit M numero. Matapos ang isang mahabang paghahanap k inayos ng mga mananaliksik ang mga halagang 69069 at 71365.

Ang isang random na generator ng numero na gumagamit ng data mula sa Halimbawa 2 ay gagawa ng mga random na mga di-paulit-ulit na numero na may tagal ng 7 milyon.

Ang maramihang 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 sistema at ang kawastuhan ng mga resulta ay nakasalalay sa kalidad ng RNG. Samakatuwid, ang random na pagkakasunod-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 makagawa ng malapit sa mga sumusunod na halaga ng mga istatistika ng mga istatistika na katangian ng isang pare-parehong random na batas:

2) Dalas ng pagsubok

Ang dalas ng pagsubok ay nagbibigay-daan sa iyo upang 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 ang 0.7887 - 0.2113 \u003d 0.5774, nagtatapos kami na sa isang mabuting RNG, tungkol sa 57.7% ng lahat ay bumaba ng mga random na numero ay dapat mahulog sa agwat na ito (tingnan ang Fig. 22.9).

Fig. 22.9. Dalas ng diagram ng isang perpektong RNG
kung sakaling suriin ito para sa dalas ng pagsubok

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

3) Chi-square test

Ang chi-square test (χ 2 test) ay isa sa mga sikat na statistic na pagsubok; ito ang pangunahing pamamaraan na ginamit kasama ng iba pang pamantayan. Ang pagsubok na chi-square ay iminungkahi noong 1900 ni Karl Pearson. Ang kanyang kamangha-manghang gawain ay itinuturing na pundasyon ng mga modernong istatistika ng matematika.

Para sa aming kaso, isang pagsubok sa chi-square ang magbibigay-daan sa amin upang malaman kung magkano ang tunay Ang RNG ay malapit sa pamantayan ng RNG, iyon ay, nakakatugon ito sa kahilingan ng pantay na pamamahagi o hindi.

Diagram ng madalas sanggunian Ang RNG ay ipinapakita sa Fig. 22.10. Dahil ang batas ng pamamahagi ng sanggunian RNG ay pantay, ang (theoretical) na posibilidad p ako pagpasok ng mga numero sa ako -th interval (lahat ng mga pagitan k ) ay pantay sa p ako = 1/k ... At sa gayon, sa bawat isa k mahuhulog ang pagitan makinis ng p ako · N numero ( N Ay ang kabuuang bilang ng mga nabuong numero).

Fig. 22.10. Dalas ng diagram ng sanggunian RNG

Ang isang tunay na RNG ay gagawa ng mga numero na ipinamamahagi (at hindi kinakailangan pantay!) k ang pagitan at bawat pagitan ay isasama n ako mga numero (sa kabuuan n 1 + n 2 + ... + n k = N ). Paano natin matukoy kung gaano kahusay ang nasubok na RNG at kung gaano kalapit ang sanggunian? Medyo 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 ang mga ito, at bilang isang resulta nakuha namin:

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

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

Sa nakaraang expression, ang bawat isa sa mga termino ay itinalaga ng parehong timbang (katumbas ng 1), na sa katunayan ay maaaring hindi nauugnay sa katotohanan; samakatuwid, para sa istatistika ng chi-square, kinakailangan na gawing normal ang bawat isa ako -th term sa pamamagitan ng paghati nito p ako · N :

Sa wakas, isusulat namin ang nagresultang expression nang mas compactly at gawing simple ito:

Nakuha namin ang halaga ng chi-square test para sa eksperimental data.

Talahanayan Ibinigay ang 22.2 teoretikal chi-square na mga halaga (χ 2 theore.), kung saan ν = N - 1 ang bilang ng mga antas ng kalayaan, p Ay ang antas ng kumpiyansa na tinukoy ng gumagamit na nagpapahiwatig kung magkano ang dapat bigyang-kasiyahan ng RNG ang pantay na mga kinakailangan sa pamamahagi, o p — ito ang posibilidad na ang pang-eksperimentong halaga ng χ 2 exp. ay mas mababa sa tabulated (theoretical) χ 2 teorya. o katumbas sa kanya.

Talahanayan 22.2.
Ang ilang mga puntos ng porsyento ng pamamahagi χ 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 pa sa teorya ng 2. (i p - mahusay), 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 maaaring ituring na random. Sa madaling salita, ang agwat ng kumpiyansa ay itinakda nang napakalaki na ang mga paghihigpit sa mga numero ay nagiging maluwag, ang mga kinakailangan sa mga numero ay mahina. Sa kasong ito, ang isang napakalaking ganap na error ay masusunod.

Maging si D. Knuth sa kanyang aklat na "The Art of Programming" ay nabanggit na ang pagkakaroon ng χ 2 exp. maliit, masyadong, sa pangkalahatan, ay hindi maganda, bagaman tila, sa unang sulyap, kamangha-manghang mula sa punto ng view 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, ... - ang mga ito ay perpekto mula sa punto ng view ng pagkakapareho, at χ 2 exp. ay magiging praktikal na zero, ngunit malamang na hindi mo makilala ang mga ito bilang random.

Kung χ 2 exp. mas mababa sa theory 2 teorya. (i p - kaunti), pagkatapos ay ang generator hindi nasiyahan ang kinakailangan ng isang random na pamamahagi ng pare-pareho, mula sa mga sinusunod na mga halaga n ako masyadong malapit sa teoretikal p ako · N at hindi maaaring ituring na random.

Ngunit kung χ 2 exp. namamalagi sa isang tiyak na saklaw, sa pagitan ng dalawang mga halaga ng χ 2 teorya. na tumutugma, halimbawa, p \u003d 25% at p \u003d 50%, kung gayon maaari nating ipagpalagay 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 ay sapat na malaki, halimbawa, higit sa 5 (nalaman na empiriko). Pagkatapos lamang nito (na may sapat na malaking istatistika ng istatistika) ang mga kundisyong pang-eksperimento ay maituturing na kasiya-siya.

Kaya, ang pamamaraan ng pagpapatunay ay ang mga sumusunod.

Mga pagsubok sa kalayaan sa 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 numero 2463389991, at ang bilang 0.5467766618 ay binubuo ng mga numero na 5467766618. Pagkonekta sa mga pagkakasunud-sunod ng mga numero, mayroon kami: 24633899915467766618.

Malinaw na ang posibilidad ng teoretikal p ako mga fallout ako -th digit (mula 0 hanggang 9) ay 0.1.

2) Sinusuri ang hitsura ng serye ng parehong mga numero

Ipaalam sa amin n L bilang ng mga serye ng magkaparehong mga numero ng haba L ... Kailangang suriin ang lahat L mula 1 hanggang m saan m Ay isang numero na tinukoy ng gumagamit: ang maximum na bilang ng magkaparehong numero na nagaganap sa isang serye.

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

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

Halimbawa, ang posibilidad ng isang serye ng isang character na haba ay p L \u003d 0.9, dahil maaaring mayroong isang character lamang sa 10, at mayroong 9 na character sa kabuuan (zero ay hindi mabibilang). At ang posibilidad na ang dalawang magkaparehong simbolo na "XX" ay magaganap sa isang hilera ay 0.1 · 0.1 · 9, iyon ay, ang posibilidad ng 0.1 na ang simbolo na "X" ay lilitaw sa unang posisyon ay pinarami ng posibilidad na 0.1 na ang parehong simbolo ay lilitaw sa pangalawang posisyon "X" at pinarami ng bilang ng mga naturang kumbinasyon 9.

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

Tandaan: ang mga generator ay maaaring suriin nang 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 ng 12345678912345 ... ay isasaalang-alang na perpekto sa panahon ng mga tseke, na malinaw na hindi lubos na totoo.

Sa konklusyon, napapansin natin na ang ikatlong kabanata ng aklat ni Donald E. Knuth na "The Art of Programming" (volume 2) ay ganap na nakatuon sa pag-aaral ng mga random na numero. Sinisiyasat nito ang iba't ibang mga pamamaraan para sa pagbuo ng mga random na numero, istatistika ng istatistika para sa randomness, at ang conversion ng pantay na ipinamamahagi ng mga random na numero sa iba pang mga uri ng mga variable na variable. Mahigit sa dalawang daang mga pahina ang nakatuon sa pagtatanghal ng materyal na ito.

Ang ipinakita sa online na random na numero ng generator ay gumagana sa batayan ng isang software na pseudo-random na numero ng generator na may isang pantay na pamamahagi na binuo sa JavaScript. Nabuo ang mga integer. Bilang default, 10 mga random na numero ang ipinapakita sa hanay 100 ... 999, ang mga numero ay pinaghihiwalay ng mga puwang.

Mga pangunahing setting ng random number generator:

  • Halaga ng mga numero
  • Saklaw ng mga numero
  • Uri ng Separator
  • Bukas / off ang pagpapaandar ng pagtanggal ng mga pag-uulit (mga duplicate ng mga numero)

Ang kabuuang bilang ay pormal na limitado sa 1000, ang maximum na bilang ay 1 bilyon. Mga pagpipilian sa paghihiwalay: puwang, kuwit, semicolon.

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

Mga Random na Numero ng Generator

Ang isang random na generator ng numero (RNG sa JS na may pantay na pamamahagi) ay magiging kapaki-pakinabang para sa mga espesyalista sa SMM at mga may-ari ng mga grupo at mga komunidad sa mga social network Istagram, Facebook, Vkontakte, Odnoklassniki upang matukoy ang mga nagwagi ng loterya, paligsahan at draw draw.

Pinapayagan ka ng random na generator ng numero upang gumuhit ng mga premyo sa isang di-makatwirang bilang ng mga kalahok na may isang 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 sa pagitan ng 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 aplikasyon sa iyong smartphone o programa sa iyong computer.

Gayundin, ang isang online random na numero ng generator ay maaaring magamit upang gayahin ang pagtapon ng isang barya o dice. Gayunpaman, mayroon kaming hiwalay na mga dalubhasang serbisyo para sa mga kasong ito.

Ang iba't ibang mga lottery, sweepstakes, atbp ay madalas na gaganapin sa maraming mga grupo o mga publika sa mga social network, Instagram, atbp, at ginagamit ng mga may-ari ng account upang maakit ang isang bagong madla sa komunidad.

Ang resulta ng naturang draw ay madalas na nakasalalay sa swerte ng gumagamit, dahil ang tatanggap ng premyo ay tinukoy nang random.

Upang gawin ang pagpapasiyang ito, ang mga tagapag-ayos ng mga draw ay halos palaging gumagamit ng isang online random na numero ng generator o paunang naka-install, na ipinamamahagi nang walang bayad.

Pagpipilian

Madalas, maaaring mahirap pumili ng tulad ng isang generator, dahil ang kanilang pag-andar ay lubos na naiiba - para sa ilang ito ay makabuluhang limitado, para sa iba ay medyo malawak.

Ang isang medyo malaking bilang ng mga naturang serbisyo ay ipinatupad, ngunit ang kahirapan ay naiiba sila sa saklaw.

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

Karamihan sa mga simpleng mga generator ay sapalarang tinutukoy ang isang numero sa loob ng isang naibigay na saklaw.

Maginhawa ito sapagkat hindi iniuugnay 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 pinaka-angkop na generator, mahalagang isaalang-alang ang layunin kung saan gagamitin ito.

Mga pagtutukoy

Para sa pinakamabilis na proseso ng pagpili ng pinakamainam na serbisyo sa online para sa pagbuo ng mga random na numero, ang talahanayan sa ibaba ay nagpapakita ng pangunahing mga teknikal na katangian at pag-andar ng naturang mga aplikasyon.

Talahanayan 1. Mga tampok ng paggana ng mga online application para sa pagbuo ng isang random na numero
Pangalan Social network Maramihang mga resulta Pagpili mula sa isang listahan ng mga numero Online na widget para sa site Pumili mula sa isang saklaw Hindi pinapagana ang mga pag-uulit
RandStuff Oo Oo Hindi Oo Hindi
Maraming mga 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
Mga Random na 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 online sa pamamagitan ng pagsunod sa link sa opisyal na website na http://randstuff.ru/number/.

Ito ay isang simpleng random number generator, nailalarawan sa pamamagitan ng mabilis at matatag na pagganap.

Matagumpay itong ipinatupad kapwa bilang isang hiwalay na application na nag-iisa sa opisyal na website, at bilang isang aplikasyon sa social network ng VKontakte.

Ang kakaiba ng serbisyong ito ay maaari itong pumili ng isang random na numero mula sa parehong tinukoy na saklaw at mula sa isang tiyak na listahan ng mga numero na maaaring tinukoy 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 tinukoy na mga numero.

Mga Minuto:

  • Kawalan ng kakayahang humawak ng pagguhit ng VKontakte (nangangailangan ito ng isang hiwalay na aplikasyon);
  • Ang mga aplikasyon para sa VKontakte ay hindi inilunsad sa lahat ng mga browser;
  • Minsan parang nahuhulaan ang resulta dahil isang algorithm ng pagkalkula lamang ang ginagamit.

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

Mga Maraming Cast

<Рис. 4 Cast Lots>

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

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

Ang pangunahing pagkakaiba mula sa naunang inilarawan na application ay nagbibigay-daan sa iyo upang huwag paganahin ang pag-uulit ng resulta.

Iyon ay, kung maraming mga henerasyon ay isinasagawa sa isang hilera sa isang sesyon, ang bilang ay hindi na uulitin.

  • Ang pagkakaroon ng isang widget para sa pag-embed sa isang website o blog;
  • Kakayahang hindi paganahin ang pag-uulit ng resulta;
  • Ang pagkakaroon ng "kahit na mas randomness" function, pagkatapos ng pag-activate kung saan nagbabago ang pagpili ng algorithm.

Negatibo:

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

Ang mga pagsusuri ng gumagamit ay ang mga sumusunod: "Ito ay gumagana nang maayos, ito ay lubos na maginhawa upang magamit", "Maginhawang pag-andar", "Ginagamit ko lamang ang serbisyong ito".

Random na numero

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

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

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

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

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

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

Negatibo:

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

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

Randomus

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

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

Ang isa pa, sapat na simple, ngunit pagganap ng random na numero ng generator.

Ang serbisyo ay may sapat na pag-andar para sa pagtukoy ng mga random na numero, gayunpaman, hindi ito magiging angkop para sa paghawak ng mga guhit at iba pang mga mas kumplikadong proseso.

Negatibo:

  • Ang posibilidad ng pagkakaroon ng mga guhit para sa mga repost ng isang post, atbp.
  • Walang VK app o website ng website;
  • Hindi mapapatay ang paulit-ulit na mga resulta.

Sa generator na ito, maaari kang makabuo ng mga random na numero sa anumang saklaw. Papayagan ka ng generator na ito na random na 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 online na tool na ito ay hindi lamang magpapahintulot sa iyo na lumikha ng isa (1), dalawa (2) o tatlong-digit (3) mga random na numero, kundi pati na rin lima at pito. Madaling i-set up. Ang lahat ay maaaring makabisado ito. Maaari ka ring pumili ng mga random na numero para sa mga online o offline na lottery o paligsahan. At ito ay maginhawa. Madali kang lumikha ng buong mga talahanayan o hilera ng mga random na numero. Sa isang split segundo, makakatanggap ka ng isang random na numero o ang kanilang pagkakasunod-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, maaaring mag-drop out ang anumang. Sa tulong ng tool na ito maaari mong isakatuparan ang iyong sarili. Sa pamamagitan ng pagpili, halimbawa, ang parehong saklaw at bilang ng mga bilang bilang isang resulta, maaari kang makabuo ng isang random na pagkakasunod-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 libre na magamit (walang pagbubukod).

Ipasok ang mga numero ng saklaw

Mula sa
Bago
Upang makabuo

Ang pagpapalit 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

Pumili ng mga random na halaga mula sa listahan (magkahiwalay sa mga kuwit o puwang, kung natagpuan ang mga koma, ang paghahati ay isasagawa sa kanila, kung hindi man ay mga puwang)

Sinamahan kami ng mga numero saanman - numero ng bahay at apartment, telepono, kotse, pasaporte, plastic card, mga petsa, mga password sa e-mail. Pinipili namin ang ilang mga kumbinasyon ng mga numero sa aming sarili, ngunit nakuha namin ang karamihan sa mga ito nang sapalaran. Nang hindi napagtanto ito, gumagamit kami ng mga random na binuong numero araw-araw. Kung nakarating kami sa mga code ng PIN, ang mga natatanging code para sa isang credit o suweldo ay nabuo ng maaasahang mga system na nagbubukod ng pag-access sa mga password. Ang mga random na generator ng numero ay nagbibigay ng proteksyon sa mga lugar na nangangailangan ng bilis ng pagproseso, seguridad, at malayang pagproseso.

Ang proseso ng pagbuo ng mga numero ng pseudo-random ay napapailalim sa ilang mga batas at ginamit nang mahabang panahon, halimbawa, kapag may hawak na mga loterya. Sa nagdaang nakaraan, ang mga draw ay isinasagawa gamit ang mga lottery drums o pagguhit ng maraming. Ngayon, sa maraming mga bansa, ang mga nanalong numero ng mga loterya ng estado ay tinukoy nang tumpak sa pamamagitan ng isang hanay ng mga nabuong random na numero.

Mga pakinabang sa pamamaraan

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

Ang pagbuo ng mga numero ay nagbibigay ng mga instant na resulta - tatagal ng ilang segundo upang makumpleto ang kumbinasyon. Kung pinag-uusapan natin ang tungkol sa mga loterya, maaaring malaman agad ng mga kalahok kung nagkakasabay ang numero ng tiket sa nanalong isa. Pinapayagan nito ang mga draw na gaganapin nang madalas hangga't gusto ng mga kalahok. Ngunit ang pangunahing bentahe ng pamamaraan ay ang kawalan ng katinuan at imposible upang 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 - ang serye ay nagsisimula mula sa isang naibigay na numero at nabuo ng isang algorithm. Ang isang pseudorandom number generator (PRNG o PRNG - pseudorandom number generator) ay isang algorithm na bumubuo ng isang pagkakasunud-sunod ng mga tila hindi nauugnay na mga numero na karaniwang pantay na ipinamamahagi. Sa agham ng computer, ang mga pseudo-random na numero ay ginagamit sa maraming mga aplikasyon: sa kriptograpiya, kunwa, pamamaraan ng Monte Carlo, atbp Ang kalidad ng resulta ay nakasalalay sa mga katangian ng PRNG.

Ang mapagkukunan ng henerasyon ay maaaring maging pisikal na ingay mula sa kosmikong radiation sa ingay sa isang risistor, ngunit ang mga naturang aparato ay hindi gaanong ginagamit ng mga aplikasyon ng seguridad sa network. Gumamit ang mga aplikasyon ng cryptographic ng mga espesyal na algorithm na lumikha ng mga pagkakasunud-sunod na hindi maaaring istatistika nang random. Gayunpaman, ang isang napiling napiling algorithm ay maaaring makabuo ng mga serye ng mga numero na pumasa sa karamihan sa mga pagsubok sa randomness. Ang panahon ng pag-uulit sa naturang mga pagkakasunud-sunod ay mas malaki kaysa sa pagitan ng operating kung saan kinuha ang mga numero.

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

Kasaysayan ng PRNG

Ang larong board ng Senet, na laganap sa Sinaunang Egypt noong 3500 BC, ay maaaring isaalang-alang ang prototype ng generator ng random number. Ayon sa mga kundisyon, ang dalawang manlalaro ay lumahok, ang mga gumagalaw ay tinutukoy sa pamamagitan ng pagkahagis ng apat na flat black-and-white sticks - pareho sila sa PRNG ng oras na iyon. Ang mga stick ay itinapon nang sabay-sabay, at ang mga puntos ay kinakalkula: kung ang isang tao ay nahulog sa puting bahagi, 1 point at isang dagdag na paglipat, dalawang puti - dalawang puntos, at iba pa. Ang maximum na iskor ng limang puntos ay nakuha ng manlalaro na nagtapon ng apat na stick kasama ang itim na bahagi.

Ang generator ng ERNIE ay ginamit nang maraming taon sa UK sa loterya ay nakakakuha ng mga araw na ito. Mayroong dalawang pangunahing pamamaraan para sa pagbuo ng mga nanalong numero: ang mga linear congruent at additive congruent. Ang mga ito at iba pang mga pamamaraan ay batay sa prinsipyo ng randomness at ibinibigay ng software na walang hanggan na gumagawa ng mga numero, ang pagkakasunud-sunod na imposibleng hulaan.

Patuloy na nagpapatakbo ang PRNG, halimbawa, sa mga machine machine. Sa ilalim ng batas ng US, ito ay isang kahilingan na dapat sumunod sa lahat ng mga software vendor.

© 2020 skudelnica.ru - Pag-ibig, pagtataksil, sikolohiya, diborsyo, damdamin, pag-aaway