Mpangilio wa nambari. Jenereta ya nambari ya bahati nasibu

Kuu / Zamani

Kumbuka kuwa, kwa kweli, curve ya wiani wa usambazaji nambari za nasibu ingeonekana kama ile iliyoonyeshwa kwenye mtini. 22.3. Hiyo ni, katika hali nzuri, kila kipindi kina idadi sawa ya alama: N i = N/k wapi N - jumla ya alama, k - idadi ya vipindi, i \u003d 1,…, k .

Kielelezo: 22.3. Mchoro wa masafa ya nambari za nasibu zinazoanguka,
zinazozalishwa na jenereta bora kinadharia

Ikumbukwe kwamba kutengeneza nambari ya kiholela bila mpangilio ina hatua mbili:

  • kutengeneza nambari isiyo ya kawaida (ambayo ni, sawasawa kusambazwa kutoka 0 hadi 1);
  • kubadilisha nambari za kawaida za kawaida r i kwa nambari za nasibu x i , ambazo zinasambazwa kulingana na sheria inayohitajika ya usambazaji wa mtumiaji (kwa kiholela) au katika kipindi kinachohitajika.

Jenereta za nambari bila mpangilio zimegawanywa katika:

  • kimwili;
  • tabular;
  • algorithmic.

RNG ya mwili

Mfano wa RNG za mwili ni: sarafu (vichwa - 1, mikia - 0); kete; ngoma na mshale umegawanywa katika sekta na nambari; jenereta ya kelele ya vifaa (HS), ambayo hutumiwa kama kifaa cha mafuta kelele, kwa mfano, transistor (Mtini. 22.4-22.5).

Kielelezo: 22.4. Mpango wa njia ya maunzi ya kutengeneza nambari za nasibu
Kielelezo: 22.5. Mchoro wa kupata nambari za nasibu kwa njia ya vifaa
Jukumu "Kuzalisha nambari bila mpangilio kutumia sarafu"

Tumia sarafu kutengeneza nambari ya nambari 3 ya nasibu iliyosambazwa sawasawa kutoka 0 hadi 1. Usahihi ni maeneo matatu ya decimal.

Njia ya kwanza ya kutatua shida
Pindisha sarafu mara 9, na ikiwa sarafu inakuja mikia, kisha andika "0", ikiwa vichwa, kisha "1". Kwa hivyo, wacha tuseme kwamba kama matokeo ya jaribio, tumepata mlolongo wa nasibu 100110100.

Chora muda kutoka 0 hadi 1. Kusoma nambari kwa mfuatano kutoka kushoto kwenda kulia, gawanya muda katika nusu na uchague kila wakati sehemu moja ya sehemu inayofuata (ikiwa 0 imeshuka, kisha kushoto, ikiwa 1 imeshuka, kisha kulia ). Kwa hivyo, unaweza kufikia hatua yoyote katika kipindi, kwa usahihi kama unavyopenda.

Kwa hivyo, 1 : muda ni nusu - na, - nusu ya kulia imechaguliwa, muda umepunguzwa:. Nambari inayofuata, 0 : muda ni nusu - na, - nusu ya kushoto imechaguliwa, muda umepunguzwa:. Nambari inayofuata, 0 : muda ni nusu - na, - nusu ya kushoto imechaguliwa, muda umepunguzwa:. Nambari inayofuata, 1 : muda ni nusu - na, - nusu ya kulia imechaguliwa, muda umepunguzwa:.

Kulingana na hali ya usahihi wa shida, suluhisho linapatikana: ni nambari yoyote kutoka kwa muda, kwa mfano, 0.625.

Kimsingi, ikiwa unakaribia madhubuti, basi mgawanyiko wa vipindi lazima uendelezwe mpaka mipaka ya kushoto na kulia ya muda uliopatikana COINCIDE kila mmoja hadi nafasi ya tatu ya decimal. Hiyo ni, kutoka kwa mtazamo wa usahihi, nambari iliyotengenezwa haitatofautishwa tena na nambari yoyote kutoka kwa muda ambao iko.

Njia ya pili ya kutatua shida
Wacha tugawanye mlolongo unaosababishwa wa binary 100110100 kuwa triad: 100, 110, 100. Baada ya kubadilisha nambari hizi za binary kuwa decimal tunapata: 4, 6, 4. Kubadilisha "0." mbele, tunapata: 0.464. Nambari tu kutoka 0.000 hadi 0.777 zinaweza kupatikana kwa kutumia njia hii (kwa kuwa kiwango cha juu kinachoweza kubanwa nje ya nambari tatu za binary ni 111 2 \u003d 7 8) - ambayo ni, kwa kweli, nambari hizi zinawakilishwa katika mfumo wa nambari za octal. Kwa kutafsiri octal nambari katika nukta tutafanya uwakilishi:
0.464 8 \u003d 4 · 8 –1 + 6 · 8 –2 + 4 · 8 –3 \u003d 0.6015625 10 \u003d 0.602 10.
Kwa hivyo, nambari inayohitajika ni sawa na: 0.602.

RNG ya sehemu

RNG za Tabular hutumia meza zilizoandaliwa haswa zilizo na uthibitisho zisizohusiana, ambayo ni, huru kwa kila mmoja, nambari kama chanzo cha nambari za nasibu. Jedwali 22.1 inaonyesha kipande kidogo cha meza kama hiyo. Kwa kupitisha meza kutoka kushoto kwenda kulia kutoka juu hadi chini, unaweza kupata nambari zisizosambazwa sawasawa kutoka 0 hadi 1 na idadi inayohitajika ya maeneo ya desimali (kwa mfano wetu, tunatumia sehemu tatu za desimali kwa kila nambari). Kwa kuwa nambari zilizo kwenye meza hazitegemeani, meza inaweza kupitishwa njia tofauti, kwa mfano, kutoka juu hadi chini, au kutoka kulia kwenda kushoto, au, sema, unaweza kuchagua nambari zilizo katika nafasi sawa.

Jedwali 22.1.
Nambari zisizobadilika. Kwa usawa
kusambazwa kutoka nambari 0 hadi 1 bila mpangilio
Nambari zisizobadilika Kusambazwa sawasawa
kutoka namba 0 hadi 1 bila mpangilio
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
… …

Utu njia hii kwa kuwa inatoa nambari za bahati nasibu kwani jedwali lina nambari ambazo hazihusiani. Ubaya wa njia: inachukua kumbukumbu nyingi kuhifadhi idadi kubwa ya nambari; shida kubwa katika kutengeneza na kukagua meza kama hizo, kurudia wakati wa kutumia meza hakuhakikishi tena ubakaji wa mlolongo wa nambari, na kwa hivyo kuaminika kwa matokeo.

Kuna meza iliyo na nambari 500 zilizothibitishwa bila mpangilio (iliyochukuliwa kutoka kwa kitabu hicho na I. G. Venetsky, V. I. Venetskaya "Dhana za kimsingi za hesabu na takwimu na fomula katika uchambuzi wa uchumi").

Algorithmic RNG

Nambari zinazozalishwa kwa kutumia hizi RNG kila wakati ni za uwongo (au quasi-nasibu), ambayo ni kwamba, kila nambari inayofuata inayotokana inategemea ile ya awali:

r i + 1 = f(r i) .

Utaratibu ulioundwa na nambari kama hizo huunda matanzi, ambayo ni kwamba, kuna lazima mzunguko ambao unarudia idadi isiyo na kipimo ya nyakati. Mizunguko ya kurudia huitwa vipindi.

Faida ya data ya RNG ni kasi; jenereta kivitendo hazihitaji rasilimali za kumbukumbu, ni sawa. Ubaya: nambari haziwezi kuitwa kikamilifu bila mpangilio, kwani kuna utegemezi kati yao, na pia uwepo wa vipindi katika mlolongo wa nambari za bahati nasibu.

Fikiria njia kadhaa za upimaji wa kupata RNG:

  • njia ya mraba katikati;
  • njia ya bidhaa za kati;
  • njia ya kuchanganya;
  • njia ya kawaida ya pamoja.

Njia ya wastani ya mraba

Kuna nambari fulani ya tarakimu nne R0. Nambari hii ni mraba na imeingizwa Rmoja. Zaidi kutoka R1 imechukuliwa katikati (nambari nne za kati) - nambari mpya ya nasibu - na imeandikwa kwa R0. Kisha utaratibu unarudiwa (angalia mtini. 22.6). Kumbuka kuwa, kwa kweli, sio lazima kuchukua kama nambari isiyo ya kawaida ghij, na 0.ghij - na sifuri na nambari ya decimal iliyopewa kushoto. Ukweli huu unaonyeshwa kama kwenye Mtini. 22.6 na kwa takwimu zinazofanana zinazofuata.

Kielelezo: 22.6. Mpango wa mraba wa wastani

Ubaya wa njia: 1) ikiwa kwa idadi fulani iteration R0 inakuwa sawa na sifuri, basi jenereta hupungua, kwa hivyo chaguo sahihi ya thamani ya mwanzo ni muhimu R0; 2) jenereta itarudia mlolongo kupitia M n hatua (katika kesi bora), wapi n - uwezo wa tarakimu R0 , M - msingi wa mfumo wa nambari.

Kwa mfano, kwenye Mtini. 22.6: ikiwa nambari R0 itawakilishwa katika mfumo wa binary, kisha mlolongo wa nambari za uwongo-nasibu utarudiwa kwa hatua 2 4 \u003d 16. Kumbuka kuwa kurudia kwa mlolongo kunaweza kutokea mapema ikiwa nambari ya kwanza haijachaguliwa vizuri.

Njia iliyoelezewa hapo juu ilipendekezwa na John von Neumann na ilianza mnamo 1946. Kwa kuwa njia hii ilithibitika kuwa isiyoaminika, iliachwa haraka.

Njia ya bidhaa za kati

Nambari R0 imezidishwa na R1, kutoka kwa matokeo yaliyopatikana R2 toa katikati R2 * (hii ni nambari nyingine isiyo ya kawaida) na kuzidishwa na Rmoja. Nambari zote zifuatazo za nasibu zimehesabiwa kwa kutumia mpango huu (ona Mtini. 22.7).

Kielelezo: 22.7. Njia ya bidhaa za kati

Njia ya kuchochea

Njia ya kuchanganya hutumia operesheni kuhamisha yaliyomo kwenye seli kwa kushoto na kulia. Wazo la njia hiyo ni kama ifuatavyo. Wacha kiini kihifadhi mbegu R0. Kuhamisha yaliyomo kwenye seli kwa kushoto na 1/4 ya urefu wa seli, tunapata nambari mpya R0 *. Vivyo hivyo, kuhamisha yaliyomo kwenye seli kwa mzunguko R0 kulia kwa 1/4 ya urefu wa seli, tunapata nambari ya pili R0 **. Jumla ya idadi R0 * na R0 ** inatoa nambari mpya isiyo ya kawaida Rmoja. Zaidi R1 imeingizwa ndani R0, na mlolongo mzima wa shughuli hurudiwa (tazama Mchoro 22.8).


Kielelezo: 22.8. Mchoro wa njia ya kuchanganya

Tafadhali kumbuka kuwa nambari inayotokana na muhtasari R0 * na R0 **, inaweza kutoshea kabisa kwenye seli Rmoja. Katika kesi hii, nambari za ziada zinapaswa kutupwa kutoka kwa nambari iliyopokea. Wacha tueleze hii kwa Mtini. 22.8, ambapo seli zote zinawakilishwa na nambari nane za kibinadamu. Hebu iwe R0 * = 10010001 2 = 145 10 , R0 ** = 10100001 2 = 161 10 basi R0 * + R0 ** = 100110010 2 = 306 10 ... Kama unavyoona, nambari 306 inachukua nambari 9 (katika mfumo wa nambari za binary), na seli R1 (kama R0) inaweza kushikilia idadi ya juu ya 8. Kwa hivyo, kabla ya kuingia kwenye R1 inahitajika kuondoa "ziada" moja, kushoto kidogo kutoka nambari 306, kama matokeo ya ambayo ndani R1 haitaenda tena 306, lakini 00110010 2 \u003d 50 10. Pia kumbuka kuwa katika lugha kama Pascal, "truncation" ya bits za ziada wakati seli imejaa hufanywa kiatomati kulingana na aina maalum ya ubadilishaji.

Njia ya kawaida ya pamoja

Njia inayofanana ya moja kwa moja ni moja wapo ya njia rahisi na inayotumiwa sana ya kuiga nambari za nasibu. Njia hii hutumia mod ( x, y), ambayo inarudisha salio la hoja ya kwanza iliyogawanywa na ya pili. Kila nambari inayofuata ya bahati nasibu huhesabiwa kulingana na nambari ya zamani ya nasibu kwa kutumia fomula ifuatayo:

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

Mlolongo wa nambari za nasibu zilizopatikana kwa kutumia fomula hii huitwa mlolongo wa pamoja wa mstari... Waandishi wengi huita mlolongo unaofanana wa b = 0 njia ya kuzidisha inayofanana, na saa b ≠ 0 — njia ya mchanganyiko.

Kwa jenereta ya hali ya juu, unahitaji kuchagua coefficients zinazofaa. Ni muhimu kwamba nambari M ilikuwa kubwa kabisa, kwani kipindi hicho hakiwezi kuwa na zaidi M vipengele. Kwa upande mwingine, mgawanyiko uliotumiwa katika njia hii ni operesheni polepole, kwa hivyo itakuwa mantiki kwa kompyuta ya kibinadamu kuchagua M = 2 N , kwa kuwa katika kesi hii kupata salio la mgawanyiko hupunguzwa ndani ya kompyuta kuwa binary operesheni ya kimantiki "NA". Chaguo la idadi kubwa zaidi pia imeenea M chini ya 2 N : katika fasihi maalum imethibitishwa kuwa katika kesi hii alama ndogo zaidi za nambari inayosababishwa r i + 1 tenda kama nasibu kama ya zamani, ambayo ina athari nzuri kwa mlolongo mzima wa nambari za kubahatisha kwa ujumla. Mfano ni moja ya nambari za Mersennesawa na 2 31 - 1, na hivyo M \u003d 2 31 - 1.

Moja ya mahitaji ya mfuatano unaofanana wa mstari ni kwamba urefu wa kipindi ni mkubwa iwezekanavyo. Urefu wa kipindi hutegemea maadili M , k na b ... Nadharia, ambayo tunawasilisha hapa chini, inatuwezesha kuamua ikiwa inawezekana kufikia kipindi cha urefu wa juu kwa maadili maalum M , k na b .

Nadharia... Mlolongo wa mlolongo unaoambatana na nambari M , k , b na r 0, ina kipindi cha urefu M ikiwa na ikiwa tu:

  • namba b na M pande zote rahisi;
  • k - 1 nyingi p kwa kila rahisi p ambayo ni msuluhishi M ;
  • k - 1 nyingi ya 4 ikiwa M nyingi ya 4.

Mwishowe, wacha tuhitimishe na mifano kadhaa ya kutumia njia inayofanana ya laini ili kuunda nambari za nasibu.

Ilibainika kuwa safu ya nambari za bandia-za nasibu zinazozalishwa kutoka kwa data kutoka kwa mfano 1 zitarudia kila M/ Nambari 4. Nambari q imewekwa kiholela kabla ya kuanza mahesabu, lakini inapaswa kuzingatiwa kuwa safu hiyo inatoa maoni ya kuwa ya kubahatisha kwa kubwa k (ambayo inamaanisha kuwa q ). Matokeo yanaweza kuboreshwa kidogo ikiwa b isiyo ya kawaida na k \u003d 1 + 4 q - katika kesi hii, safu hiyo itarudiwa kila wakati M namba. Baada ya kutafuta kwa muda mrefu k watafiti walikaa kwenye maadili 69069 na 71365.

Jenereta ya nambari isiyo ya kawaida inayotumia data kutoka Mfano wa 2 itazalisha nambari zisizorudia bila mpangilio na kipindi cha milioni 7.

Njia ya kuzidisha ya kutengeneza nambari za bandia-zilizopangwa ilipendekezwa na D. H. Lehmer mnamo 1949.

Kuangalia ubora wa jenereta

Ubora wa mfumo mzima na usahihi wa matokeo hutegemea ubora wa RNG. Kwa hivyo, mlolongo wa nasibu unaotengenezwa na RNG lazima utosheleze vigezo kadhaa.

Hundi zilizofanywa ni za aina mbili:

  • hundi ya usawa wa usambazaji;
  • hundi ya uhuru wa takwimu.

Ufuatiliaji wa usawa wa usambazaji

1) RNG inapaswa kutoa karibu na maadili yafuatayo ya vigezo vya takwimu tabia ya sheria sawa ya nasibu:

2) Jaribio la masafa

Mtihani wa masafa hukuruhusu kujua ni idadi ngapi zinaanguka kwenye kipindi (m r – σ r ; m r + σ r) , ambayo ni, (0.5 - 0.2887; 0.5 + 0.2887) au, mwishowe, (0.2113; 0.7887). Tangu 0.7887 - 0.2113 \u003d 0.5774, tunahitimisha kuwa katika RNG nzuri, karibu 57.7% ya nambari zote zilizoangushwa zinapaswa kuanguka katika kipindi hiki (ona Mtini. 22.9).

Kielelezo: 22.9. Mchoro wa mzunguko wa RNG bora
ikiwa utaiangalia kwa jaribio la masafa

Inahitajika pia kuzingatia kwamba idadi ya nambari ambazo zinaanguka katika kipindi (0; 0.5) inapaswa kuwa takriban sawa na idadi ya nambari zinazoanguka katika kipindi (0.5; 1).

3) Jaribio la mraba mraba

Jaribio la mraba mraba (test mtihani 2) ni moja wapo ya vipimo maarufu zaidi vya takwimu; ni njia kuu inayotumiwa pamoja na vigezo vingine. Mtihani wa mraba wa chi ulipendekezwa mnamo 1900 na Karl Pearson. Kazi yake ya kushangaza inachukuliwa kama msingi wa takwimu za kisasa za hesabu.

Kwa upande wetu, jaribio la mraba wa chi litaturuhusu kujua ni kiasi gani halisi RNG iko karibu na kiwango cha RNG, ambayo ni kwamba, ikiwa inakidhi mahitaji ya usambazaji sare au la.

Mchoro wa mzunguko kumbukumbu RNG imeonyeshwa kwenye Mtini. 22.10. Kwa kuwa sheria ya usambazaji wa rejeleo RNG ni sare, uwezekano (wa kinadharia) p i kupiga namba ndani i muda (vipindi vyote hivi k ) ni sawa na p i = 1/k ... Na kwa hivyo, katika kila moja ya k vipindi vitaanguka nyororo na p i · N namba ( N — jumla nambari zinazozalishwa).

Kielelezo: 22.10. Mchoro wa masafa ya kumbukumbu RNG

RNG halisi itatoa nambari zilizosambazwa (na sio lazima sawasawa!) k vipindi na kila vipindi vitajumuisha n i namba (kwa jumla n 1 + n 2 + ... + n k = N ). Je! Tunaamuaje kuwa RNG iliyojaribiwa ni nzuri na iko karibu na kumbukumbu gani? Ni busara kabisa kuzingatia mraba wa tofauti kati ya nambari zilizopokelewa. n i na "kumbukumbu" p i · N ... Wacha tuwaongeze, na kama matokeo tunapata:

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

Inafuata kutoka kwa fomula hii kwamba tofauti ndogo katika kila moja ya masharti (na kwa hivyo, thamani ndogo exp 2 exp. ), nguvu ya sheria ya usambazaji ya nambari za nasibu zinazozalishwa na RNG halisi huwa sare.

Katika usemi uliopita, kila moja ya masharti yamepewa uzito sawa (sawa na 1), ambayo kwa kweli haiwezi kufanana na ukweli; kwa hivyo, kwa takwimu ya mraba wa chi, ni muhimu kurekebisha kila moja i -muda kwa kuigawanya na p i · N :

Mwishowe, tunaandika usemi unaosababishwa zaidi na kurahisisha:

Tulipata thamani ya jaribio la mraba wa chi kwa ya majaribio data.

Jedwali 22.2 wamepewa nadharia maadili ya mraba-mraba (theory nadharia 2), wapi ν = N - 1 ni idadi ya digrii za uhuru, p Je! Kiwango cha kujiamini kinachofafanuliwa na mtumiaji kinachoonyesha ni kiasi gani RNG inapaswa kukidhi mahitaji ya usambazaji sare, au p — huu ndio uwezekano kwamba thamani ya majaribio ya exp 2 exp. itakuwa chini ya nadharia iliyoorodheshwa (nadharia) theory 2 nadharia. au sawa naye.

Jedwali 22.2.
Baadhi ya asilimia ya usambazaji wa χ 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

Inachukuliwa kuwa inakubalika p kutoka 10% hadi 90%.

Ikiwa χ 2 exp. nadharia zaidi ya χ 2. (Yaani p - kubwa), kisha jenereta hairidhishi mahitaji ya usambazaji sare, kwani maadili yaliyozingatiwa n i nenda mbali sana na nadharia p i · N na haiwezi kuzingatiwa kuwa ya kubahatisha. Kwa maneno mengine, muda wa kujiamini umewekwa kubwa sana hivi kwamba vizuizi vya nambari huwa huru sana, mahitaji ya nambari ni dhaifu. Katika kesi hii, hitilafu kubwa kabisa itazingatiwa.

Hata D. Knuth katika kitabu chake "The Art of Programming" alibaini kuwa kuwa na exp 2 exp. ndogo pia, kwa ujumla, sio nzuri, ingawa inaonekana, kwa mtazamo wa kwanza, nzuri kwa sare. Kwa kweli, chukua idadi ya nambari 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, ... - ni bora kutoka kwa mtazamo wa usawa, na χ 2 exp. itakuwa karibu sifuri, lakini kuna uwezekano wa kuzitambua kama nasibu.

Ikiwa χ 2 exp. chini ya theory 2 nadharia. (Yaani p - kidogo), kisha jenereta hairidhishi mahitaji ya usambazaji sare wa nasibu, kwani maadili yaliyozingatiwa n i karibu sana na nadharia p i · N na haiwezi kuzingatiwa kuwa ya kubahatisha.

Lakini ikiwa χ 2 exp. iko katika upeo fulani, kati ya maadili mawili ya or 2 theor. ambayo inalingana, kwa mfano, p \u003d 25% na p \u003d 50%, basi tunaweza kudhani kuwa maadili ya nambari za nasibu zinazozalishwa na sensor ni nasibu kabisa.

Kwa kuongeza, inapaswa kuzingatiwa kuwa maadili yote p i · N inapaswa kuwa kubwa vya kutosha, kwa mfano, zaidi ya 5 (kupatikana kwa nguvu). Hapo tu (pamoja na sampuli kubwa ya kutosha ya takwimu) hali za majaribio zinaweza kuzingatiwa kuwa za kuridhisha.

Kwa hivyo, utaratibu wa uthibitishaji ni kama ifuatavyo.

Vipimo vya uhuru wa takwimu

1) Angalia masafa ya kutokea kwa tarakimu kwa mlolongo

Wacha tuangalie mfano. Nambari ya nasibu 0.2463389991 ina tarakimu 2463389991, na nambari 0.5467766618 ina tarakimu 5467766618. Kuunganisha mlolongo wa nambari, tuna: 24633899915467766618.

Ni wazi kuwa uwezekano wa kinadharia p i kuanguka i nambari -th (kutoka 0 hadi 9) ni 0.1.

2) Kuangalia kuonekana kwa safu ya nambari zinazofanana

Wacha tuonyeshe kwa n L idadi ya safu ya nambari mfululizo za urefu L ... Kila kitu kinahitaji kuchunguzwa L kutoka 1 hadi m wapi m Ni nambari iliyoainishwa na mtumiaji: idadi inayotokea zaidi ya nambari zinazofanana katika safu.

Katika mfano "24633899915467766618" safu 2 za urefu wa 2 (33 na 77) zilipatikana, ambayo ni n 2 \u003d 2 na 2 mfululizo 3 mrefu (999 na 666), ambayo ni n 3 = 2 .

Uwezekano wa kutokea kwa safu na urefu wa L ni sawa na: p L \u003d 9 10 - L (kinadharia). Hiyo ni, uwezekano wa safu ya mhusika mmoja kwa urefu ni: p 1 \u003d 0.9 (kinadharia). Uwezo wa safu ya herufi mbili kwa urefu ni: p 2 \u003d 0.09 (kinadharia). Uwezekano wa safu ya herufi tatu kwa urefu ni: p 3 \u003d 0.009 (kinadharia).

Kwa mfano, uwezekano wa safu ya mhusika mmoja kwa urefu ni p L \u003d 0.9, kwani ni tabia moja tu kati ya 10 inayoweza kupatikana, na kuna herufi 9 kwa jumla (sifuri haihesabu). Na uwezekano kwamba alama mbili zinazofanana "XX" zitatokea mfululizo ni 0.1 · 0.1 · 9, ambayo ni kwamba, uwezekano wa 0.1 kwamba ishara "X" inaonekana katika nafasi ya kwanza imeongezeka na uwezekano 0.1 kuwa ishara hiyo hiyo inaonekana katika nafasi ya pili "X" na kuzidishwa na idadi ya mchanganyiko kama huo 9.

Mzunguko wa kuonekana kwa safu huhesabiwa kulingana na fomula ya "chi-mraba" iliyochambuliwa hapo awali kwa kutumia maadili p L .

Kumbuka: jenereta inaweza kuchunguzwa mara nyingi, hata hivyo ukaguzi sio ukamilifu na hauhakikishi kuwa jenereta hutoa nambari za nasibu. Kwa mfano, jenereta inayotoa mlolongo 12345678912345 ... itazingatiwa kuwa bora wakati wa ukaguzi, ambayo ni wazi sio kweli kabisa.

Kwa kumalizia, tunaona kuwa sura ya tatu ya kitabu cha "Donald's Knuth of the Programming" cha Donald E. Knuth (juzuu ya 2) imejitolea kabisa kwa kusoma nambari za nasibu. Inasoma njia tofauti kutengeneza nambari za nasibu, vipimo vya ubadilishaji wa takwimu, na kubadilisha nambari zinazosambazwa sawasawa kwa aina zingine vigeuzi vya nasibu... Zaidi ya kurasa mia mbili zimetolewa kwa uwasilishaji wa nyenzo hii.

Iliyowasilishwa na jenereta mkondoni nambari za kubahatisha hufanya kazi kwa msingi wa jenereta ya nambari-ya kubahatisha-nambari ya nambari na usambazaji sare uliojengwa kwenye JavaScript. Namba hutengenezwa. Kwa chaguo-msingi, nambari 10 za nasibu zinaonyeshwa katika anuwai ya 100 ... 999, nambari zimetengwa na nafasi.

Mipangilio ya kimsingi ya jenereta ya nambari ya nasibu:

  • Kiasi cha nambari
  • Idadi ya nambari
  • Aina ya kitenganishi
  • Washa / zima kazi ya kufuta marudio (marudio ya nambari)

Idadi kamili imepunguzwa rasmi kwa 1000, idadi kubwa ni bilioni 1. Chaguzi za kujitenga: nafasi, koma, semicoloni.

Sasa unajua haswa na jinsi ya kupata mlolongo wa nambari za nasibu katika anuwai iliyopewa bure kwenye wavuti.

Maombi ya Jenereta ya Nambari Mbadala

Jenereta ya nambari ya nasibu (RNG katika JS na usambazaji sare) itakuwa muhimu kwa wataalam wa SMM na wamiliki wa vikundi na jamii kwenye mitandao ya kijamii Istagram, Facebook, Vkontakte, Odnoklassniki kuamua washindi wa bahati nasibu, mashindano na sare za zawadi.

Jenereta ya nambari inayokubalika hukuruhusu kupata zawadi kati ya idadi holela ya washiriki na idadi maalum ya washindi. Mashindano yanaweza kufanywa bila repost na maoni - wewe mwenyewe huweka idadi ya washiriki na muda wa kutengeneza nambari za nasibu. Unaweza kupata seti ya nambari za kubahatisha mkondoni na bure kwenye wavuti hii, na hauitaji kusanikisha programu yoyote kwenye smartphone yako au programu kwenye kompyuta yako.

Pia, jenereta ya nambari ya bahati nasibu mkondoni inaweza kutumika kuiga sarafu tupa au kete... Walakini, tuna huduma tofauti maalum kwa kesi hizi.

Kufanya bahati nasibu anuwai, zawadi, n.k mara nyingi hufanyika katika vikundi vingi au umma kwenye mitandao ya kijamii, Instagram, nk, na hutumiwa na wamiliki wa akaunti kuvutia watazamaji wapya kwa jamii.

Matokeo ya sare kama hizo mara nyingi hutegemea bahati ya mtumiaji, kwani mpokeaji wa tuzo ameamua bila mpangilio.

Kwa uamuzi huu, waandaaji wa sare karibu kila wakati hutumia jenereta ya nambari ya mkondoni ya nasibu au iliyosanikishwa mapema ambayo inasambazwa bila malipo.

Chaguo

Mara nyingi, inaweza kuwa ngumu kuchagua jenereta kama hiyo, kwani utendaji wao ni tofauti kabisa - kwa wengine ni mdogo sana, kwa wengine ni pana kabisa.

Imetekelezwa vya kutosha idadi kubwa ya huduma kama hizo, lakini shida ni kwamba zinatofautiana katika upeo.

Wengi, kwa mfano, wamefungwa na utendaji wao kwa fulani mtandao wa kijamii (kwa mfano, matumizi mengi ya jenereta kwenye VKontakte hufanya kazi tu na viungo kutoka kwa mtandao huu wa kijamii).

Jenereta nyingi rahisi huamua tu nambari kwa upeo uliopewa.

Hii ni rahisi kwa sababu haihusiani na matokeo na chapisho maalum, ambayo inamaanisha kuwa inaweza kutumika katika utani nje ya mtandao wa kijamii na katika hali zingine anuwai.

Kwa kweli, hawana programu nyingine.

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

Ushauri! Wakati wa kuchagua jenereta inayofaa zaidi, ni muhimu kuzingatia kusudi ambalo litatumika.

Ufafanuzi

Kwa mchakato wa haraka zaidi wa kuchagua huduma bora ya mkondoni ya kutengeneza nambari za nasibu, jedwali hapa chini linaonyesha kuu vipimo na utendaji wa programu kama hizo.

Jedwali 1. Makala ya utendaji maombi ya mkondoni kutengeneza nambari ya nasibu
Jina Mtandao wa kijamii Matokeo mengi Kuchagua kutoka kwa orodha ya nambari Widget mkondoni kwa wavuti Chagua kutoka masafa Inalemaza marudio
RandStuff Ndio Ndio Hapana Ndio Hapana
Kura nyingi Tovuti rasmi au VKontakte Hapana Hapana Ndio Ndio Ndio
Nambari isiyo ya kawaida Tovuti rasmi Hapana Hapana Hapana Ndio Ndio
Randomus Tovuti rasmi Ndio Hapana Hapana Ndio Hapana
Nambari zisizobadilika Tovuti rasmi Ndio Hapana Hapana Hapana Hapana

Maombi yote yaliyojadiliwa kwenye jedwali yameelezewa kwa undani zaidi hapa chini.

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

RandStuff

<Рис. 3 RandStuff>

Unaweza kutumia programu hii mkondoni kwa kufuata kiunga kwenye wavuti yake rasmi http://randstuff.ru/number/.

Hii ni jenereta rahisi ya nambari, inayojulikana na utendaji wa haraka na thabiti.

Inatekelezwa kwa ufanisi kama programu tofauti ya kusimama pekee kwenye wavuti rasmi na kama programu kwenye mtandao wa kijamii wa VKontakte.

Upekee wa huduma hii ni kwamba inaweza kuchagua nambari isiyo na mpangilio kutoka kwa anuwai na kutoka kwa orodha maalum ya nambari ambazo zinaweza kutajwa kwenye wavuti.

Faida:

  • Kazi thabiti na ya haraka;
  • Ukosefu wa uhusiano wa moja kwa moja na mtandao wa kijamii;
  • Unaweza kuchagua nambari moja au kadhaa;
  • Unaweza kuchagua tu kutoka kwa nambari maalum.

Minuses:

  • Ukosefu wa kushikilia sare ya VKontakte (hii inahitaji programu tofauti);
  • Maombi ya VKontakte hayazinduliwa katika vivinjari vyote;
  • Matokeo wakati mwingine inaonekana kutabirika, kwani hesabu moja tu ya hesabu hutumiwa.

Maoni ya mtumiaji wa programu hii ni kama ifuatavyo: "Tunaamua kupitia huduma hii washindi katika vikundi vya VKontakte. Asante "," Wewe ndiye bora zaidi "," Natumia huduma hii tu. "

Kura nyingi

<Рис. 4 Cast Lots>

Maombi haya ni jenereta rahisi ya kazi inayotekelezwa kwenye wavuti rasmi kwa njia ya programu ya VKontakte.

Kuna pia widget ya jenereta ya kupachika kwenye wavuti yako.

Tofauti kuu kutoka kwa programu ya awali iliyoelezewa ni kwamba hukuruhusu kuzima marudio ya matokeo.

Hiyo ni, ikiwa vizazi kadhaa vitafanywa mfululizo katika kikao kimoja, nambari haitarudiwa.

  • Uwepo wa widget ya kupachika kwenye wavuti au blogi;
  • Uwezo wa kuzuia kurudia kwa matokeo;
  • Uwepo wa kazi "hata zaidi ya kubahatisha", baada ya uanzishaji wa ambayo algorithm ya uteuzi inabadilika.

Hasi:

  • Kutowezekana kwa kuamua matokeo kadhaa mara moja;
  • Kutokuwa na uwezo wa kuchagua kutoka kwa orodha maalum ya nambari;
  • Ili kuchagua mshindi katika umma, lazima utumie wijeti tofauti ya VKontakte.

Mapitio ya watumiaji ni kama ifuatavyo: "Inafanya kazi kwa utulivu, ni rahisi kutumia", "Utendaji mzuri", "Natumia huduma hii tu".

Nambari isiyo ya kawaida

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

Huduma hii iko katika http: // random number.rf /.

Jenereta rahisi na kiwango cha chini cha kazi na huduma za ziada.

Inaweza kuzalisha nambari kwa nasibu katika anuwai iliyopewa (kiwango cha juu kutoka 1 hadi 99999).

Tovuti haina muundo wowote wa picha, na kwa hivyo ukurasa ni rahisi kupakia.

Matokeo yanaweza kunakiliwa au kupakuliwa kwa kubofya kitufe.

Hasi:

  • Ukosefu wa widget kwa VKontakte;
  • Hakuna uwezekano wa kushikilia kuchora;
  • Hakuna njia ya kuingiza matokeo kwenye blogi au wavuti.

Hapa ndio watumiaji wanasema huduma hii: "Sio jenereta mbaya, lakini kazi za kutosha", "Vipengele vichache sana", "Inafaa kwa kuzalisha haraka idadi bila mipangilio isiyo ya lazima."

Randomus

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

Unaweza kutumia jenereta hii ya nambari bila mpangilio kwa http://randomus.ru/.

Nyingine, rahisi kutosha, lakini jenereta ya nambari inayofanya kazi bila mpangilio.

Huduma ina utendaji wa kutosha wa kuamua nambari za nasibu, lakini kwa kushikilia kuchora na zingine zaidi michakato tata haitatoshea.

Hasi:

  • Kutowezekana kwa kushikilia michoro kwa repost ya chapisho, n.k.
  • Hakuna programu ya VKontakte au wijeti ya wavuti;
  • Imeshindwa kuzima matokeo ya kurudia.

Na jenereta hii, unaweza kuunda nambari za nasibu katika anuwai yoyote. Jenereta hii pia itakuruhusu kuchagua kwa bahati nasibu au kutambua nambari kutoka kwenye orodha. Au tengeneza safu ya nambari za nasibu kutoka kwa vitu 2 hadi 70. Chombo hiki mkondoni hakuruhusu tu kuunda nambari moja (1), mbili (2) au tarakimu tatu (3), lakini pia tano na saba. Rahisi kuanzisha. Kila mtu anaweza kuimiliki. Unaweza pia kuchagua nambari za bahati nasibu kwa bahati nasibu mkondoni au nje ya mtandao au mashindano. Na itakuwa rahisi. Unaweza kuunda kwa urahisi meza nzima au safu za nambari za nasibu. Katika sekunde iliyogawanyika, utapokea nambari isiyo ya kawaida au mlolongo wao (uliowekwa) kwenye skrini yako. Ikiwa utachukua mlolongo wa nambari zako, basi algorithm itachagua zile za nasibu au za kubahatisha, yoyote inaweza kuacha. Kwa msaada wa chombo hiki, wewe mwenyewe unaweza kufanya kuchora. Kwa kuchagua, kwa mfano, anuwai sawa na idadi ya nambari kama matokeo, unaweza kutoa mlolongo wa nasibu (mchanganyiko). Unaweza pia kuchagua mchanganyiko wa herufi na maneno. Chombo hiki, kama kila kitu kingine kwenye wavuti yetu, ni bure kabisa kutumia (hakuna ubaguzi).

Ingiza nambari katika masafa

Kutoka
Kabla
Kuzalisha

Kubadilisha masafa ili kutoa nambari isiyo ya kawaida

1..10 1..100 1..1000 1..10000 kwa bahati nasibu 5 kati ya 36 kwa bahati nasibu 6 ya 45 kwa bahati nasibu 6 ya 49 kwa bahati nasibu 6 ya 59

Idadi ya nambari za nasibu (1)

Ondoa marudio

Chagua maadili ya nasibu kutoka kwenye orodha (tofauti na koma au nafasi, ikiwa koma hupatikana, mgawanyiko utafanywa nao, vinginevyo nafasi)

Nambari huongozana nasi kila mahali - nambari za nyumba na nyumba, simu, gari, pasipoti, kadi ya plastiki, tarehe, nywila barua pepe... Tunachagua mchanganyiko wa nambari sisi wenyewe, lakini tunapata nyingi kwa nasibu. Bila kutambua hili, tunatumia nambari zilizotengenezwa bila mpangilio kila siku. Ikiwa tunapata nambari za PIN, basi nambari za kipekee za kadi ya mkopo au mshahara hutengenezwa na mifumo ya kuaminika ambayo huondoa ufikiaji wa nywila. Jenereta za nambari zisizo za kawaida hutoa ulinzi katika maeneo ambayo yanahitaji kasi ya usindikaji, usalama, na usindikaji wa data huru.

Mchakato wa kutengeneza nambari za kubahatisha za uwongo ni chini ya sheria fulani na imetumika kwa muda mrefu, kwa mfano, wakati wa kushikilia bahati nasibu. Katika siku za hivi karibuni, sare zilitekelezwa kwa kutumia ngoma za bahati nasibu au kuchora kura. Sasa kuna idadi ya kushinda katika nchi nyingi bahati nasibu za serikali zimedhamiriwa na seti ya nambari zilizotengenezwa bila mpangilio

Faida za njia

Kwa hivyo, jenereta ya nambari isiyo ya kawaida ni utaratibu huru wa kisasa wa kubainisha mchanganyiko wa nambari. Upekee na ukamilifu wa njia hii iko katika kutowezekana kwa kuingiliwa kwa nje katika mchakato. Jenereta ni seti ya programu zilizojengwa, kwa mfano, kwenye diode za kelele. Kifaa hutengeneza mtiririko wa kelele za nasibu, maadili ya sasa ambayo hubadilishwa kuwa nambari na mchanganyiko wa fomu.

Kuzalisha nambari hutoa matokeo ya papo hapo - inachukua sekunde chache kukamilisha mchanganyiko. Ikiwa tunazungumza juu ya bahati nasibu, washiriki wanaweza kujua mara moja ikiwa nambari ya tikiti inafanana na ile iliyoshinda. Hii inaruhusu kuchora kufanyika mara nyingi kama washiriki wanataka. Lakini faida kuu ya njia hiyo ni kutabirika kwake na kutowezekana kuhesabu hesabu ya kuchagua nambari.

Nambari za bandia-nasibu hutengenezwa

Kwa kweli, nambari za kubahatisha sio za kubahatisha - safu huanza na nambari iliyopewa na hutengenezwa na algorithm. Jenereta ya nambari isiyo ya kawaida (PRNG au PRNG - pseudorandom number generator) ni algorithm ambayo hutoa mlolongo wa nambari zinazoonekana kuwa hazihusiani ambazo kawaida husambazwa sawasawa. Katika sayansi ya kompyuta, nambari za uwongo-mbadala hutumiwa katika programu nyingi: katika usimbuaji, uigaji, Monte Carlo, nk Ubora wa matokeo hutegemea mali ya PRNG.

Chanzo cha kizazi inaweza kuwa kelele ya mwili kutoka kwa mionzi ya cosmic hadi kelele kwenye kontena, lakini vifaa kama hivyo havijawahi kutumiwa na matumizi ya usalama wa mtandao. Matumizi ya kriptografia hutumia algorithms maalum ambazo hutengeneza mfuatano ambao hauwezi kuwa wa kihesabu. Walakini, algorithm iliyochaguliwa kwa usahihi hukuruhusu kupata idadi ya nambari ambazo hupita vipimo vingi vya bahati nasibu. Kipindi cha kurudia katika mfuatano kama huo ni kubwa kuliko muda wa kufanya kazi ambao nambari zinachukuliwa.

Wasindikaji wengi wa kisasa wana PRNG, kwa mfano, RdRand. Vinginevyo, seti za nambari za nasibu huundwa na kuchapishwa kwenye pedi inayoweza kutolewa (kamusi). Chanzo cha nambari katika kesi hii ni mdogo na haitoi usalama kamili wa mtandao.

Historia ya PRNG

Mfano wa jenereta ya nambari ya nasibu inaweza kuzingatiwa mchezo wa bodi Seneti, kawaida katika Misri ya kale mnamo 3500 KK. Kulingana na hali hiyo, wachezaji wawili walishiriki, hatua hizo zilidhamiriwa kwa kutupa vijiti vinne vya rangi nyeusi na nyeupe - zilikuwa sawa na PRNG ya wakati huo. Vijiti vilitupwa juu wakati huo huo, na vidokezo vilihesabiwa: ikiwa moja ilianguka na upande mweupe, nukta 1 na hoja ya ziada, nyeupe mbili - alama mbili, na kadhalika. Alama ya juu ya alama tano ilipatikana na mchezaji ambaye alitupa vijiti vinne na upande mweusi.

Siku hizi, jenereta ya ERNIE imekuwa ikitumika kwa miaka mingi nchini Uingereza katika kuchora bahati nasibu. Kuna njia mbili kuu za kizazi nambari za kushinda: nyongeza ya kawaida na nyongeza ya nyongeza. Njia hizi na zingine zinategemea kanuni ya upendeleo na hutolewa na programu ambayo inazalisha idadi kubwa, mlolongo ambao hauwezekani nadhani.

PRNG inafanya kazi kila wakati, kwa mfano, katika mashine yanayopangwa... Kulingana na sheria za Merika, hii hali inayohitajikaambayo wauzaji wote wa programu lazima wazingatie.

© 2021 skudelnica.ru - Upendo, usaliti, saikolojia, talaka, hisia, ugomvi