Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Këshilla
  • Gjenerues numrash të rastësishëm me një fjalë kodi. Gjenerues i numrave të rastësishëm të lotarisë

Gjenerues numrash të rastësishëm me një fjalë kodi. Gjenerues i numrave të rastësishëm të lotarisë

Gjeneruesi i numrave në internet është një mjet i dobishëm që ju lejon të merrni numrin e kërkuar të numrave të një thellësie të caktuar biti dhe gamën më të gjerë. Ka shumë përdorime për gjeneratorin tonë të numrave të rastësishëm! Për shembull, mund të zhvilloni një konkurs në VKontakte dhe të luani një arush pelushi atje në një grup motoçiklistësh për një kundërpërgjigje :)) Ne gjithashtu do të kënaqemi shumë nëse vendosni ta përdorni për të përcaktuar numrin fitues në një llotari ose të vendosni se cili numri për të vënë bast në një kazino. Shpresojmë vërtet që dikush të gjejë numrin e tij me fat në internet me ne!

Gama e numrave të rastit:

Sasi:

Të eliminohet përsëritja?

gjenerojnë numra

Ju lutemi na ndihmoni të zhvillojmë: Tregojuni miqve tuaj për gjeneratorin!

E rastësishme | numër i rastësishëm në internet me 1 klikim

Numrat na rrethojnë që nga lindja dhe luajnë një rol të rëndësishëm në jetë. Për shumë njerëz, vetë puna është e lidhur me numrat, dikush mbështetet në fat, duke mbushur biletat e lotarisë me numra dhe dikush u jep atyre një kuptim krejtësisht mistik. Në një mënyrë apo tjetër, ndonjëherë nuk mund të bëjmë pa përdorur një program si p.sh gjenerator i numrave të rastësishëm.

Për shembull, ju duhet të organizoni një tërheqje çmimesh midis abonentëve të grupit tuaj. Gjeneruesi ynë i numrave të rastësishëm në internet do t'ju ndihmojë të zgjidhni fituesit shpejt dhe me ndershmëri. Thjesht duhet, për shembull, të vendosni numrin e dëshiruar të numrave të rastësishëm (sipas numrit të fituesve) dhe gamën maksimale (nga numri i pjesëmarrësve, nëse atyre u janë caktuar numra). Mashtrimi në këtë rast është plotësisht i përjashtuar.

Ky program mund të shërbejë edhe si gjenerues i numrave të rastësishëm për loto. Për shembull, keni blerë një biletë dhe dëshironi të mbështeteni plotësisht te rasti dhe fati në zgjedhjen e numrave. Atëherë randomizuesi ynë i numrave do t'ju ndihmojë të plotësoni biletën tuaj të lotarisë.

Si të gjeneroni një numër të rastësishëm: udhëzime

program me numra të rastësishëm funksionon shumë thjesht. Ju as nuk keni nevojë ta shkarkoni në kompjuterin tuaj - gjithçka bëhet në dritaren e shfletuesit ku kjo faqe është e hapur. Numrat e rastësishëm gjenerohen sipas numrit të caktuar të numrave dhe diapazonit të tyre - nga 0 në 999999999. Për të gjeneruar një numër në internet, duhet:

  1. Zgjidhni gamën në të cilën dëshironi të merrni rezultatin. Ndoshta ju dëshironi të shkurtoni numrat deri në 10 ose, të themi, 10000;
  2. Eliminoni përsëritjet - duke zgjedhur këtë artikull, ju do të detyroni randomizues i numrave ju ofron vetëm kombinime unike brenda një diapazoni të caktuar;
  3. Zgjidhni numrin e numrave - nga 1 në 99999;
  4. Klikoni butonin Generate Numbers.

Pavarësisht se sa numra dëshironi të merrni si rezultat, gjeneruesi i numrave kryesorë do të japë të gjithë rezultatin menjëherë dhe ju mund ta shihni atë në këtë faqe duke lëvizur nëpër fushën me numra duke përdorur miun ose tastierën prekëse.

Tani mund t'i përdorni numrat e gatshëm ashtu siç ju nevojiten. Nga fusha e numrave, mund të kopjoni rezultatin për postim në një grup ose postim. Dhe në mënyrë që askush të mos dyshojë në rezultatin, bëni një pamje të kësaj faqeje, në të cilën parametrat e randomizuesit të numrave dhe rezultatet e programit do të jenë qartë të dukshme. Është e pamundur të ndryshohen numrat në fushë, kështu që mundësia e manipulimit është e përjashtuar. Shpresojmë që uebfaqja jonë dhe gjeneruesi i numrave të rastësishëm t'ju kenë ndihmuar.

Sot, gjeneruesit e numrave të rastësishëm përdoren në mënyrë aktive në fusha të ndryshme të veprimtarisë njerëzore. Sidoqoftë, ata kanë fituar një popullaritet të veçantë në të, të cilat organizohen nga pronarët e dyqaneve në internet, salloneve të bukurisë, kafeneve dhe institucioneve të tjera për të tërhequr oferta, shpërblime dhe dhurata fitimprurëse midis pajtimtarëve të tyre. Është gjeneruesi i numrave të rastësishëm që funksionon falas në internet që ju lejon të zgjidhni me ndershmëri fituesin.

Nëse po flasim për një përdorim një herë të gjeneratorit, mund ta përdorni opsioni më i thjeshtë një program i tillë:

Megjithatë, fuqia kompjuterike dhe funksionaliteti i një shërbimi të tillë nuk është gjithmonë i mjaftueshëm për të marrë të dhënat e nevojshme. Deri më sot, ekziston një numër mjaft i madh i programeve të specializuara në internet që ndryshojnë jo vetëm në thjeshtësinë e ndërfaqes së përdoruesit, por edhe në funksionalitetin e tyre të gjerë. Ju nuk keni pse të kërkoni dhjetëra programe vetë, sepse veçanërisht për ju, në këtë artikull, ne kemi përgatitur një përmbledhje të detajuar TOP 3 gjeneruesit më të mirë të numrave në internet sipas përdoruesve:

Së pari ju duhet të njiheni me kriteret kryesore:

  1. Zgjidhni nga një listë. Mundësia për t'i siguruar përdoruesit listën e tyre për gjenerim, e ndjekur nga zgjedhja e një numri të rastësishëm nga një grup i caktuar.
  2. Zgjidhni nga një gamë. Aftësia e një gjeneruesi të numrave të rastësishëm në internet për të marrë mostra nga një gamë specifike falas.
  3. Dalja e numrave të shumtë. Një funksion përgjegjës për ofrimin e njëkohshëm të disa numrave të rastit në të njëjtën kohë, nëse përdoruesi duhet të marrë më shumë se një vlerë.
  4. Çaktivizimi i përsëritjes. Aftësia e gjeneratorit për të përjashtuar nga gjeneratat e mëvonshme numrin që ra para tij, në mënyrë që kur merrni disa numra të rastësishëm me radhë, ato të mos dyfishohen.
  5. Miniaplikacioni i faqes në internet. Mundësia për të lidhur gjeneratorin me faqen tuaj të internetit ose faqen e mediave sociale në mënyrë që të jetë gjithmonë pranë dhe i disponueshëm për punë.
  6. Lidhja me rezultatin. Mundësia e marrjes së një lidhjeje të veçantë me rezultatin e çdo gjenerate individuale, e cila konfirmon saktësinë e informacionit të dhënë kur jepni rezultatet e konkurseve ose shorteve.

Para përgatitjes së këtij artikulli, ne analizuam shumë gjeneratorë që janë në internet. Dhe nga të gjitha - zgjodhi 3 më të mirat:

TOP-1: gjeneruesi i numrave "Randstaff"


Përshkrim: Udhëheqësi i padiskutueshëm i renditjes sonë të gjeneruesve më të mirë të numrave të rastësishëm është shërbimi Randstaff. Ai krenohet me një ndërfaqe përdoruesi miqësore, të bërë në gri, e cila nuk i shtyp fare sytë. Është i përshtatshëm për t'u përdorur jo vetëm në një kompjuter, por edhe duke përdorur një telefon celular, gjë që është veçanërisht e rëndësishme nëse keni nevojë të krijoni një numër të rastësishëm pa qasje në një PC.

Përparësitë: Ky gjenerues falas i numrave të rastit në internet ka funksionalitet të gjerë dhe i ofron përdoruesit mundësinë për të gjeneruar çdo numër numrash të rastësishëm nga një listë ose diapazon pa përsëritje. Mund të zgjidhni vetë opsionin më të përshtatshëm për përdorimin e shërbimit Randstaff përmes një widget të veçantë, një aplikacioni në rrjetet sociale ose në faqen zyrtare të internetit. Pas përfundimit të një procedure të thjeshtë regjistrimi, do të keni akses në llogarinë tuaj personale, ku të gjitha rezultatet tuaja do të ruhen në mënyrë të sigurt.

disavantazhet: E pamundur. Dhe mund ta ruani rezultatin e gjenerimit vetëm për 3 ditë (por kjo zakonisht është e mjaftueshme). Nëse dëshironi të ruani rezultatin përgjithmonë, duhet të regjistroheni në llogarinë tuaj personale (kosto - 300 rubla).

TOP 2: Gjeneruesi i numrave Castlelot


Përshkrim: Vendi i dytë me të drejtë i takon gjeneruesit të numrave të rastësishëm Castlelot. Nuk është një shërbim i pavarur, por pjesë e një portali me një sërë gjërash të dobishme që gjenerojnë vjersha të bukura, hyrje unike dhe thjesht ruajnë koleksione me filma ose citate interesante. Ndërfaqja ndryshon pak nga shërbimet e ngjashme, por krenohet me funksionalitet më të gjerë.

Përparësitë: Castlelot lejon përdoruesin të zgjedhë numra të rastësishëm nga një gamë e caktuar. Mund të jetë një ose më shumë shifra. Ju mund të zgjidhni mënyrën e funksionimit të shërbimit me ose pa përsëritje. Një avantazh i dobishëm i gjeneratorit Castlelot është aftësia për të marrë një lidhje të veçantë për çdo rezultat. Ka një veçori ekskluzive i quajtur "Edhe më shumë rastësi". Kur aktivizohet, procesi i gjenerimit nuk fillon derisa përdoruesi të lëvizë kursorin e miut në një pozicion të caktuar. Për më tepër, gama e mjeteve shtesë të shërbimit përfshin një widget për sitin dhe një aplikacion të pronarit VKontakte.

disavantazhet: E vetmja disavantazh i dukshëm i një gjeneruesi të tillë është mungesa e aftësisë për të zgjedhur nga një listë.

TOP 3: gjeneratori "Numër i rastësishëm.rf"


Përshkrim: Shërbimi "Numër i rastësishëm" ju lejon të gjeneroni vlera në internet në rangun nga 1 deri në 99999. Dizajni është minimalist, gjë që është e mirë për të. Asnjë shpërqendrim. Ato janë po aq të përshtatshme për t'u përdorur në një kompjuter ose smartphone. Numrat e mëdhenj të zinj në një sfond të bardhë janë qartë të dukshëm, kështu që edhe njerëzit me probleme me shikimin nuk do të përjetojnë shqetësim gjatë përdorimit të tij.

Përparësitë: Funksionaliteti i një gjeneruesi të tillë të numrave të rastësishëm në internet ju lejon të zgjidhni një vlerë të rastësishme nga një listë dhe një gamë specifike. Nëse ju duhet të merrni disa numra të rastësishëm në internet menjëherë, numri i kërkuar duhet të tregohet në fushën përkatëse, ku vlera e paracaktuar është 1. Përsëritja çaktivizohet me kërkesë të përdoruesit.

disavantazhet: Ju nuk do të jeni në gjendje të lidhni një shërbim të tillë me faqen tuaj të internetit ose komunitetin tuaj në rrjetet sociale, pasi një gjenerues i tillë numrash të rastësishëm nuk ka miniaplikacionin e vet. Nuk ka as lidhje me rezultatin, gjë që së bashku me mangësitë e tjera e sjell këtë shërbim në vendin e fundit në vlerësimin tonë.

konkluzioni

Sipas mendimit tonë, shërbimi më i mirë dhe optimal për gjenerimin e një numri të rastësishëm është . Ka të gjitha tiparet që kanë gjeneratorët e tjerë. Disavantazhi i vetëm i tij është pamundësia për të çaktivizuar përsëritjen e numrave gjatë gjenerimit. Por siç kemi shkruar më lart, kjo nuancë nuk është shumë e rëndësishme për përdoruesin mesatar. Ndoshta kemi humbur diçka në këtë artikull? Nëse po, shkruani në komente!

Numrat na shoqërojnë kudo - numri i shtëpisë dhe apartamentit, telefoni, makina, pasaporta, karta plastike, datat, fjalëkalimet e emailit. Ne zgjedhim vetë disa kombinime numrash, por shumicën e marrim rastësisht. Pa e kuptuar, ne përdorim numra të gjeneruar rastësisht çdo ditë. Nëse shpikim kode pine, atëherë kodet unike të kartave të kreditit ose të pagave gjenerohen nga sisteme të besueshme që përjashtojnë aksesin në fjalëkalime. Gjeneruesit e numrave të rastësishëm ofrojnë mbrojtje në zonat që kërkojnë shpejtësi të përpunimit, siguri dhe përpunim të pavarur të të dhënave.

Procesi i gjenerimit të numrave pseudo të rastësishëm i nënshtrohet ligjeve të caktuara dhe është përdorur për një kohë të gjatë, për shembull, gjatë kryerjes së llotarive. Në të kaluarën e afërt, vizatimet kryheshin duke përdorur bateri llotarie ose lote. Tani në shumë vende numrat fitues të llotarive shtetërore përcaktohen pikërisht nga një grup numrash të rastësishëm të gjeneruar.

Përparësitë e metodës

Pra, gjeneruesi i numrave të rastësishëm është një mekanizëm i pavarur modern për përcaktimin e rastësishëm të kombinimeve të numrave. Veçantia dhe përsosja e kësaj metode qëndron në pamundësinë e ndërhyrjes së jashtme në proces. Gjeneratori është një grup programesh të ndërtuara, për shembull, në diodat e zhurmës. Pajisja gjeneron një rrjedhë zhurmash të rastësishme, vlerat aktuale të së cilës shndërrohen në numra dhe bëjnë kombinime.

Gjenerimi i numrave ofron rezultate të menjëhershme - duhen disa sekonda për të përfunduar një kombinim. Nëse flasim për lotari, pjesëmarrësit mund të zbulojnë menjëherë nëse numri i biletës përputhet me atë fitues. Kjo lejon që shortet të mbahen aq shpesh sa dëshirojnë pjesëmarrësit. Por avantazhi kryesor i metodës është paparashikueshmëria dhe pamundësia për të llogaritur algoritmin e zgjedhjes së numrave.

Si krijohen numrat pseudo të rastësishëm

Në fakt, numrat e rastësishëm nuk janë të rastësishëm - seria fillon nga një numër i caktuar dhe gjenerohet nga një algoritëm. Një gjenerues i numrave pseudorandom (PRNG ose PRNG - gjenerator i numrave pseudorandom) është një algoritëm që gjeneron një sekuencë numrash, në shikim të parë, të palidhur, që zakonisht i nënshtrohen një shpërndarjeje uniforme. Në shkencat kompjuterike, numrat pseudo të rastësishëm përdoren në shumë aplikacione: në kriptografi, simulim, Monte Carlo, etj. Cilësia e rezultatit varet nga vetitë e PRNG.

Burimi i gjenerimit mund të jetë zhurma fizike nga rrezet kozmike në zhurmën e rezistencës, por pajisje të tilla pothuajse nuk përdoren kurrë në aplikacionet e sigurisë së rrjetit. Aplikacionet kriptografike përdorin algoritme speciale që gjenerojnë sekuenca që nuk mund të jenë statistikisht të rastësishme. Megjithatë, një algoritëm i zgjedhur mirë prodhon seri numrash që kalojnë shumicën e testeve për rastësi. Periudha e përsëritjes në sekuenca të tilla është më e madhe se intervali i punës nga i cili janë marrë numrat.

Shumë procesorë modernë përmbajnë një PRNG, si RdRand. Si alternativë, grupe numrash të rastësishëm krijohen dhe publikohen në një bllok (fjalor) një herë. Burimi i numrave në këtë rast është i kufizuar dhe nuk ofron siguri të plotë të rrjetit.

Historia e PRNG

Prototipi i gjeneruesit të numrave të rastësishëm mund të konsiderohet loja e bordit Senet, e zakonshme në Egjiptin e lashtë në 3500 para Krishtit. Sipas kushteve morën pjesë dy lojtarë, lëvizjet përcaktoheshin duke hedhur katër shkopinj të sheshtë bardh e zi - ishin si një PRNG e asaj kohe. Shkopinjtë u hodhën në të njëjtën kohë dhe pikët numëroheshin: nëse dikush binte me anën e bardhë, 1 pikë dhe një lëvizje shtesë, dy të bardha - dy pikë, e kështu me radhë. Rezultatin maksimal prej pesë pikësh e mori lojtari i cili hodhi katër shkopinj me anën e zezë.

Sot, gjeneratori ERNIE është përdorur në Mbretërinë e Bashkuar për shumë vite në shortet e lotarisë. Ekzistojnë dy metoda kryesore për gjenerimin e numrave fitues: kongruent linear dhe kongruent shtesë. Këto dhe metoda të tjera bazohen në parimin e rastësisë së zgjedhjes dhe ofrohen nga softuer që prodhon numra për një kohë të pacaktuar, sekuenca e të cilave nuk mund të merret me mend.

PRNG funksionon vazhdimisht, për shembull, në makinat e fatit. Sipas ligjit të SHBA-së, ky është një kusht i detyrueshëm që duhet të përmbushin të gjithë shitësit e programeve kompjuterike.


Vini re se, në mënyrë ideale, kurba e densitetit të shpërndarjes së numrave të rastit do të dukej si ajo e treguar në Fig. 22.3. Kjo do të thotë, në rastin ideal, i njëjti numër pikash bie në çdo interval: N i = N/k , ku Nështë numri i përgjithshëm i pikëve, k- numri i intervaleve, i= 1, …, k .

Oriz. 22.3. Grafiku i frekuencës së braktisjes së numrave të rastësishëm,
gjeneruar nga një gjenerator ideal teorikisht

Duhet mbajtur mend se gjenerimi i një numri të rastësishëm arbitrar përbëhet nga dy faza:

  • gjenerimi i një numri të rastësishëm të normalizuar (d.m.th., i shpërndarë në mënyrë uniforme nga 0 në 1);
  • transformimi i numrave të rastit të normalizuar r i në numra të rastësishëm x i, të cilat shpërndahen sipas ligjit të shpërndarjes (arbitrare) të kërkuar nga përdoruesi ose në intervalin e kërkuar.

Gjeneruesit e numrave të rastësishëm sipas metodës së marrjes së numrave ndahen në:

  • fizike;
  • tabelare;
  • algoritmik.

RNG fizike

Shembuj të RNG-ve fizike janë: një monedhë ("shqiponjë" - 1, "bisht" - 0); zare; një daulle me një shigjetë të ndarë në sektorë me numra; gjenerator i zhurmës harduerike (GS), i cili përdoret si një pajisje termike me zhurmë, për shembull, një transistor (Fig. 22.4–22.5).

Oriz. 22.4. Skema e metodës harduerike për gjenerimin e numrave të rastit
Oriz. 22.5. Diagrami i marrjes së numrave të rastit me metodën harduerike
Detyra "Gjenerimi i numrave të rastit duke përdorur një monedhë"

Gjeneroni një numër të rastësishëm 3-shifror të shpërndarë në mënyrë uniforme midis 0 dhe 1 duke përdorur një monedhë. Saktësia është tre shifra dhjetore.

Mënyra e parë për të zgjidhur problemin
Kthejeni një monedhë 9 herë, dhe nëse monedha ka rënë bishti, atëherë shkruani "0", nëse kokat, atëherë "1". Pra, le të themi se si rezultat i eksperimentit kemi marrë një sekuencë të rastësishme 100110100.

Vizatoni një interval nga 0 në 1. Duke lexuar numrat në sekuencë nga e majta në të djathtë, ndani intervalin në gjysmë dhe çdo herë zgjidhni një nga pjesët e intervalit të ardhshëm (nëse 0 bie jashtë, atëherë majtas, nëse bie 1, atëherë drejtë). Kështu, ju mund të arrini në çdo pikë të intervalit, në mënyrë arbitrare me saktësi.

Kështu që, 1 : intervali ndahet në gjysmë - dhe , - zgjidhet gjysma e djathtë, intervali ngushtohet: . Numri tjetër 0 : intervali ndahet në gjysmë - dhe , - zgjidhet gjysma e majtë, intervali ngushtohet: . Numri tjetër 0 : intervali ndahet në gjysmë - dhe , - zgjidhet gjysma e majtë, intervali ngushtohet: . Numri tjetër 1 : intervali ndahet në gjysmë - dhe , - zgjidhet gjysma e djathtë, intervali ngushtohet: .

Sipas kushtit të saktësisë së problemit, gjendet zgjidhja: është çdo numër nga intervali , për shembull, 0,625.

Në parim, nëse afrohemi në mënyrë strikte, atëherë ndarja e intervaleve duhet të vazhdohet deri në kufijtë majtas dhe djathtas të intervalit të gjetur KOINCIDENT me njëri-tjetrin deri në shifrën e tretë dhjetore. Kjo do të thotë, për sa i përket saktësisë, numri i gjeneruar nuk do të jetë më i dallueshëm nga asnjë numër nga intervali në të cilin ndodhet.

Mënyra e dytë për të zgjidhur problemin
Le ta ndajmë sekuencën binare që rezulton 100110100 në treshe: 100, 110, 100. Pas konvertimit të këtyre numrave binarë në numra dhjetorë, marrim: 4, 6, 4. Duke zëvendësuar “0.” përpara, marrim: 0,464. Me këtë metodë mund të merren vetëm numrat nga 0.000 deri në 0.777 (pasi maksimumi që mund të "shtrydhet" nga tre shifra binare është 111 2 = 7 8) - domethënë, në fakt, këta numra përfaqësohen në sistemin e numrave oktal . Për përkthim oktal numrat në dhjetore prezantimi është i ekzekutueshëm:
0,464 8 = 4 8 –1 + 6 8 –2 + 4 8 –3 = 0,6015625 10 = 0,602 10.
Pra, numri i dëshiruar është: 0.602.

RNG tabelare

RNG tabelare si një burim i numrave të rastësishëm përdor tabela të përpiluara posaçërisht që përmbajnë të verifikuara të pakorreluara, domethënë numra që nuk varen nga njëri-tjetri në asnjë mënyrë. Në tabelë. 22.1 tregon një fragment të vogël të një tabele të tillë. Duke ecur tabelën nga e majta në të djathtë nga lart poshtë, mund të merrni numra të rastësishëm të shpërndarë në mënyrë të barabartë nga 0 në 1 me numrin e dëshiruar të numrave dhjetorë (në shembullin tonë, ne përdorim tre shifra dhjetore për secilin numër). Meqenëse numrat në tabelë nuk varen nga njëri-tjetri, tabela mund të përshkohet në mënyra të ndryshme, për shembull, nga lart poshtë, ose nga e djathta në të majtë, ose, të themi, mund të zgjidhni numra që janë në pozicione çift.

Tabela 22.1.
Numra të rastësishëm. Në mënyrë të barabartë
të shpërndarë nga 0 në 1 numra të rastësishëm
numra të rastësishëm të shpërndara në mënyrë të barabartë
0 deri në 1 numra të rastësishëm
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
… …

Avantazhi i kësaj metode është se jep numra vërtet të rastësishëm, pasi tabela përmban numra të verifikuar të pakorreluar. Disavantazhet e metodës: kërkohet shumë memorie për të ruajtur një numër të madh shifrash; vështirësi të mëdha në gjenerimin dhe kontrollimin e tabelave të tilla, përsëritjet gjatë përdorimit të një tabele nuk garantojnë më rastësinë e sekuencës numerike dhe rrjedhimisht besueshmërinë e rezultatit.

Ekziston një tabelë që përmban 500 numra të verifikuar absolutisht të rastësishëm (marrë nga libri i I. G. Venetsky, V. I. Venetskaya "Konceptet dhe formulat themelore matematikore dhe statistikore në analizën ekonomike").

RNG algoritmike

Numrat e gjeneruar duke përdorur këto RNG janë gjithmonë pseudo të rastësishëm (ose thuajse të rastësishëm), domethënë, çdo numër i gjeneruar pasues varet nga ai i mëparshmi:

r i + 1 = f(r i) .

Sekuencat e përbëra nga numra të tillë formojnë sythe, domethënë ekziston domosdoshmërisht një cikël që përsëritet një numër të pafundëm herë. Ciklet e përsëritura quhen perioda.

Avantazhi i të dhënave RNG është shpejtësia; gjeneratorët praktikisht nuk kërkojnë burime memorie, ato janë kompakte. Disavantazhet: numrat nuk mund të quhen plotësisht të rastësishëm, pasi ekziston një varësi midis tyre, si dhe prania e periudhave në sekuencën e numrave pothuajse të rastësishëm.

Konsideroni disa metoda algoritmike për marrjen e RNG:

  • metoda e katrorëve të mesëm;
  • metoda e produkteve të mesme;
  • metoda e përzierjes;
  • metoda lineare kongruente.

Metoda katrore mesatare

Ka një numër katërshifror R 0 . Ky numër është në katror dhe futet në R një. Vjen nga R 1 merret mesi (katër shifra të mesme) - një numër i ri i rastësishëm - dhe shkruhet në të R 0 . Pastaj procedura përsëritet (shih Fig. 22.6). Vini re se në fakt, si një numër i rastësishëm, është e nevojshme të merret jo ghij, por 0.ghij- me një zero dhe një pikë dhjetore të caktuar në të majtë. Ky fakt pasqyrohet në Fig. 22.6, dhe në figurat pasuese të ngjashme.

Oriz. 22.6. Skema e metodës së katrorëve të mesëm

Disavantazhet e metodës: 1) nëse në disa përsëritje numri R 0 bëhet zero, pastaj gjeneratori degjeneron, kështu që zgjedhja e saktë e vlerës fillestare është e rëndësishme R 0; 2) gjeneratori do të përsërisë sekuencën përmes M n hapat (në rastin më të mirë), ku n- kapaciteti shifror i numrit R 0 , Mështë baza e sistemit të numrave.

Për shembull në fig. 22.6 : nëse numri R 0 do të përfaqësohet në sistemin e numrave binar, pastaj sekuenca e numrave pseudo të rastësishëm do të përsëritet pas 2 4 = 16 hapash. Vini re se përsëritja e sekuencës mund të ndodhë edhe më herët nëse numri fillestar zgjidhet pa sukses.

Metoda e përshkruar më sipër u propozua nga John von Neumann dhe daton që nga viti 1946. Meqenëse kjo metodë doli e pabesueshme, ajo u braktis shpejt.

Metoda e produkteve mesatare

Numri R 0 shumëzuar me R 1, nga rezultati R 2 mesi hiqet R 2 * (ky është një numër tjetër i rastësishëm) dhe shumëzuar me R një. Sipas kësaj skeme, llogariten të gjithë numrat e mëpasshëm të rastit (shih Fig. 22.7).

Oriz. 22.7. Skema e metodës së produkteve mesatare

Metoda e përzierjes

Metoda e përzierjes përdor operacione për të rrotulluar përmbajtjen e një qelize majtas dhe djathtas. Ideja e metodës është si më poshtë. Lëreni qelizën të ruajë numrin fillestar R 0 . Duke zhvendosur në mënyrë ciklike përmbajtjen e qelizës majtas me 1/4 e gjatësisë së qelizës, marrim një numër të ri R 0*. Në mënyrë të ngjashme, duke zhvendosur në mënyrë ciklike përmbajtjen e një qelize R 0 në të djathtë me 1/4 e gjatësisë së qelizës, marrim numrin e dytë R 0**. Shuma e numrave R 0 * dhe R 0** jep një numër të ri të rastësishëm R një. Me tutje R 1 është futur R 0, dhe e gjithë sekuenca e veprimeve përsëritet (shih Fig. 22.8).


Oriz. 22.8. Skema e metodës së përzierjes

Vini re se numri që rezulton nga përmbledhja R 0 * dhe R 0 ** , mund të mos përshtatet plotësisht në qelizë R një. Në këtë rast, shifrat shtesë duhet të hiqen nga numri i marrë. Le ta shpjegojmë këtë për Fig. 22.8, ku të gjitha qelizat përfaqësohen nga tetë shifra binare. Le te jete R 0 * = 10010001 2 = 145 10 , R 0 ** = 10100001 2 = 161 10 , pastaj R 0 * + R 0 ** = 100110010 2 = 306 10 . Siç mund ta shihni, numri 306 zë 9 shifra (në sistemin e numrave binar), dhe qeliza R 1 (si dhe R 0 ) mund të mbajë maksimumi 8 bit. Prandaj, përpara se të vendosni vlerën në R 1 është e nevojshme të hiqni një bit "shtesë", më të majtë nga numri 306, duke rezultuar në R 1 nuk do të shkojë më 306, por 00110010 2 = 50 10 . Vini re gjithashtu se në gjuhë të tilla si Pascal, "shkurtimi" i biteve shtesë kur një qelizë tejmbushet bëhet automatikisht në përputhje me llojin e variablit të dhënë.

Metoda lineare kongruente

Metoda lineare kongruenciale është një nga procedurat më të thjeshta dhe aktualisht më të përdorura që simulojnë numra të rastit. Kjo metodë përdor mod( x, y), i cili kthen pjesën e mbetur pas pjesëtimit të argumentit të parë me të dytin. Çdo numër i mëpasshëm i rastësishëm llogaritet bazuar në numrin e mëparshëm të rastësishëm duke përdorur formulën e mëposhtme:

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

Sekuenca e numrave të rastësishëm të marrë duke përdorur këtë formulë quhet sekuencë kongruente lineare. Shumë autorë i referohen një sekuence kongruente lineare si b = 0 metoda kongruente shumëzuese, dhe kur b ≠ 0 — metoda kongruente e përzier.

Për një gjenerator me cilësi të lartë, kërkohet të zgjidhni koeficientët e përshtatshëm. Është e nevojshme që numri M ishte mjaft i madh pasi periudha nuk mund të ketë më shumë M elementet. Nga ana tjetër, ndarja e përdorur në këtë metodë është një operacion mjaft i ngadaltë, kështu që për një kompjuter binar, zgjedhja logjike do të ishte M = 2 N, sepse në këtë rast, gjetja e pjesës së mbetur të ndarjes reduktohet brenda kompjuterit në operacionin logjik binar "AND". Është gjithashtu e zakonshme të zgjedhësh numrin më të madh të thjeshtë M, më pak se 2 N: në literaturën speciale vërtetohet se në këtë rast shifrat më pak të rëndësishme të numrit të rastësishëm që rezulton r i+ 1 sillen po aq rastësisht sa më të vjetrit, gjë që ka një efekt pozitiv në të gjithë sekuencën e numrave të rastit në tërësi. Një shembull është një nga Numrat Mersenne, e barabartë me 2 31 - 1, dhe kështu, M= 2 31 – 1 .

Një nga kërkesat për sekuencat kongruente lineare është periudha më e gjatë e mundshme. Kohëzgjatja e periudhës varet nga vlerat M , k Dhe b. Teorema që paraqesim më poshtë na lejon të përcaktojmë nëse është e mundur të arrihet një periudhë e gjatësisë maksimale për vlera specifike M , k Dhe b .

Teorema. Sekuenca lineare kongruente e përcaktuar me numra M , k , b Dhe r 0 , ka një periudhë gjatësie M nese dhe vetem nese:

  • numrat b Dhe M coprime;
  • k– 1 herë fq për çdo të thjeshtë fq, e cila është një pjesëtues M ;
  • k– 1 është shumëfish i 4 nëse M shumëfish i 4.

Së fundi, le të përfundojmë me disa shembuj të përdorimit të metodës lineare kongruente për të gjeneruar numra të rastit.

U zbulua se një seri numrash pseudo të rastësishëm të krijuara bazuar në të dhënat nga shembulli 1 do të përsëriten çdo M/4 numra. Numri q vendoset në mënyrë arbitrare përpara fillimit të llogaritjeve, megjithatë, duhet të kihet parasysh se seria jep përshtypjen se është e rastësishme në përgjithësi k(dhe për këtë arsye q). Rezultati mund të përmirësohet pak nëse b i rastësishëm dhe k= 1 + 4 q - në këtë rast, seriali do të përsëritet çdo M numrat. Pas një kërkimi të gjatë k Studiuesit u vendosën në vlerat 69069 dhe 71365.

Gjeneruesi i numrave të rastësishëm duke përdorur të dhënat nga shembulli 2 do të prodhojë numra të rastësishëm jo të përsëritur me një periudhë prej 7 milion.

Një metodë shumëzuese për gjenerimin e numrave pseudo të rastësishëm u propozua nga D. H. Lehmer në 1949.

Kontrollimi i cilësisë së gjeneratorit

Cilësia e të gjithë sistemit dhe saktësia e rezultateve varen nga cilësia e RNG. Prandaj, sekuenca e rastësishme e gjeneruar nga RNG duhet të plotësojë një sërë kriteresh.

Kontrollet e kryera janë dy llojesh:

  • kontrolle për shpërndarje uniforme;
  • testimi për pavarësinë statistikore.

Kontrollet për shpërndarje uniforme

1) RNG duhet të japë afër vlerave të mëposhtme të parametrave statistikorë karakteristikë të një ligji uniform të rastësishëm:

2) Testi i frekuencës

Testi i frekuencës ju lejon të zbuloni se sa numra ranë në interval (m r – σ r ; m r + σ r) , që është, (0,5 - 0,2887; 0,5 + 0,2887) ose, në fund të fundit, (0,2113; 0,7887) . Meqenëse 0,7887 - 0,2113 = 0,5774, konkludojmë se në një RNG të mirë, rreth 57,7% e të gjithë numrave të rastësishëm që kanë rënë duhet të bien në këtë interval (shih Fig. 22.9).

Oriz. 22.9. Diagrami i frekuencës së një RNG ideale
në rast të kontrollit të tij për një test frekuence

Duhet gjithashtu të merret parasysh se numri i numrave në intervalin (0; 0.5) duhet të jetë afërsisht i barabartë me numrin e numrave në intervalin (0.5; 1).

3) Testi Chi-square

Testi chi-square (χ 2 -test) është një nga testet statistikore më të njohura; është metoda kryesore e përdorur në kombinim me kritere të tjera. Testi chi-square u propozua në vitin 1900 nga Karl Pearson. Puna e tij e shquar konsiderohet si themeli i statistikave moderne matematikore.

Për rastin tonë, një test chi-square do të na lejojë të zbulojmë se sa është krijuar nga ne reale RNG është afër referencës RNG, pra nëse plotëson kërkesat uniforme të shpërndarjes apo jo.

diagrami i frekuencës referencë RNG është paraqitur në fig. 22.10. Meqenëse ligji i shpërndarjes së referencës RNG është uniform, probabiliteti (teorik). fq i duke goditur numrat në i-intervali (gjithsej i këtyre intervaleve k) është e barabartë me fq i = 1/k . Dhe kështu, në secilin k intervalet do të bien e lëmuarfq i · N numrat ( Nështë numri i përgjithshëm i numrave të gjeneruar).

Oriz. 22.10. Diagrami i frekuencës së referencës RNG

Një RNG e vërtetë do të prodhojë numra të shpërndarë (dhe jo domosdoshmërisht në mënyrë të barabartë!) k intervalet dhe çdo interval do të përfshijë n i numrat (gjithsej n 1 + n 2 + … + n k = N ). Si mund të përcaktojmë se sa i mirë është dhe ta mbyllim RNG-në e testuar me atë referencë? Është mjaft logjike të merren parasysh katrorët e diferencave midis numrit të marrë të numrave n i dhe "referenca" fq i · N . Le t'i mbledhim ato dhe si rezultat marrim:

χ 2 eksp. =( n 1- fq një · N) 2 + (n 2- fq 2 · N) 2 + … + ( n k – fq k · N) 2 .

Nga kjo formulë del se sa më i vogël të jetë diferenca në secilin prej termave (dhe për rrjedhojë sa më e vogël të jetë vlera e χ 2 exp. ), aq më i fortë është ligji i shpërndarjes së numrave të rastësishëm të krijuar nga një RNG reale priret të jetë uniform.

Në shprehjen e mëparshme, secilit prej termave i është caktuar e njëjta peshë (e barabartë me 1), e cila në fakt mund të mos jetë e vërtetë; prandaj për statistikën chi-square është e nevojshme të normalizohet secili i termi i th, duke e pjestuar me fq i · N :

Së fundi, le të shkruajmë shprehjen që rezulton në mënyrë më kompakte dhe ta thjeshtojmë atë:

Ne kemi marrë vlerën e testit chi-square për eksperimentale të dhëna.

Në tabelë. 22.2 janë dhënë teorike vlerat chi-katrore (χ 2 teori.), ku ν = N- 1 është numri i shkallëve të lirisë, fqështë një nivel besimi i specifikuar nga përdoruesi që tregon se sa RNG duhet të përmbushë kërkesat uniforme të shpërndarjes, ose fq — është probabiliteti që vlera eksperimentale χ 2 exp. do të jetë më i vogël se teoria e tabeluar (teorike) χ 2. ose e barabartë me të.

Tabela 22.2.
Disa pikë përqindjeje të shpërndarjes χ 2
p = 1% p = 5% p = 25% p = 50% p = 75% p = 95% p = 99%
ν = 1 0.00016 0.00393 0.1015 0.4549 1.323 3.841 6.635
ν = 2 0.02010 0.1026 0.5754 1.386 2.773 5.991 9.210
ν = 3 0.1148 0.3518 1.213 2.366 4.108 7.815 11.34
ν = 4 0.2971 0.7107 1.923 3.357 5.385 9.488 13.28
ν = 5 0.5543 1.1455 2.675 4.351 6.626 11.07 15.09
ν = 6 0.8721 1.635 3.455 5.348 7.841 12.59 16.81
ν = 7 1.239 2.167 4.255 6.346 9.037 14.07 18.48
ν = 8 1.646 2.733 5.071 7.344 10.22 15.51 20.09
ν = 9 2.088 3.325 5.899 8.343 11.39 16.92 21.67
ν = 10 2.558 3.940 6.737 9.342 12.55 18.31 23.21
ν = 11 3.053 4.575 7.584 10.34 13.70 19.68 24.72
ν = 12 3.571 5.226 8.438 11.34 14.85 21.03 26.22
ν = 15 5.229 7.261 11.04 14.34 18.25 25.00 30.58
ν = 20 8.260 10.85 15.45 19.34 23.83 31.41 37.57
ν = 30 14.95 18.49 24.48 29.34 34.80 43.77 50.89
ν = 50 29.71 34.76 42.94 49.33 56.33 67.50 76.15
ν > 30 ν + sqrt (2 ν ) · x fq+ 2/3 x 2 fq– 2/3 + O(1/sqrt( ν ))
x fq = -2,33 -1,64 –0,674 0.00 0.674 1.64 2.33

Konsideroni të pranueshme fq nga 10% në 90%.

Nëse χ 2 eksp. shumë më tepër se teoria χ 2. (d.m.th fqështë i madh), pastaj gjeneratori nuk kënaq kërkesa për një shpërndarje uniforme, duke qenë se vlerat e vëzhguara n i shkojnë shumë larg nga teoria fq i · N dhe nuk mund të konsiderohet si e rastësishme. Me fjalë të tjera, vendoset një interval kaq i madh besimi saqë kufizimet në numra bëhen shumë të lirshme, kërkesat për numrat janë të dobëta. Në këtë rast, do të vërehet një gabim absolut shumë i madh.

Edhe D. Knuth në librin e tij "Arti i Programimit" vuri në dukje se duke pasur χ 2 exp. i vogël është gjithashtu, në përgjithësi, jo i mirë, megjithëse duket, në shikim të parë, i jashtëzakonshëm nga pikëpamja e uniformitetit. Në të vërtetë, merrni një seri numrash 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, ... - ata janë idealë nga pikëpamja. uniformiteti, dhe χ 2 exp. do të jenë praktikisht zero, por nuk ka gjasa t'i njihni ato si të rastësishme.

Nëse χ 2 eksp. shumë më pak se teoria χ 2. (d.m.th fq- pak), pastaj gjeneratori nuk kënaq kërkesa e një shpërndarjeje uniforme të rastësishme, duke qenë se vlerat e vëzhguara n i shumë afër teorisë fq i · N dhe nuk mund të konsiderohet si e rastësishme.

Por nëse χ 2 eksp. shtrihet në një diapazon të caktuar, midis dy vlerave të teorisë χ 2. , të cilat korrespondojnë, për shembull, fq= 25% dhe fq= 50%, atëherë mund të supozojmë se vlerat e numrave të rastësishëm të gjeneruara nga sensori janë plotësisht të rastësishme.

Përveç kësaj, duhet pasur parasysh se të gjitha vlerat fq i · N duhet të jetë mjaft i madh, për shembull, më i madh se 5 (i gjetur në mënyrë empirike). Vetëm atëherë (me një kampion statistikor mjaft të madh) kushtet eksperimentale mund të konsiderohen të kënaqshme.

Pra, procedura e verifikimit është si më poshtë.

Testet për pavarësinë statistikore

1) Kontrollimi i frekuencës së shfaqjes së një shifre në një sekuencë

Konsideroni një shembull. Numri i rastësishëm 0.2463389991 përbëhet nga shifrat 2463389991, dhe numri 0.5467766618 përbëhet nga shifrat 5467766618. Duke kombinuar sekuencat e shifrave, kemi: 2463538679.

Është e qartë se probabiliteti teorik fq i bie, deshtoj, bie poshte i shifra e saj (nga 0 në 9) është 0.1.

2) Kontrollimi i paraqitjes së serive të numrave identikë

Shënoni me n L numri i serive të shifrave identike të njëpasnjëshme të gjatësisë L. Gjithçka duhet të kontrollohet L nga 1 në m, ku mështë një numër i specifikuar nga përdoruesi: numri maksimal i shifrave identike në një seri.

Në shembullin "24633899915467766618", u gjetën 2 seri me gjatësi 2 (33 dhe 77), d.m.th. n 2 = 2 dhe 2 seri me gjatësi 3 (999 dhe 666), d.m.th. n 3 = 2 .

Probabiliteti i një serie me gjatësi prej Lështë e barabartë me: fq L= 9 10 - L (teorike). Kjo do të thotë, probabiliteti i shfaqjes së një serie me një gjatësi prej një karakteri është i barabartë me: fq 1 = 0,9 (teorik). Probabiliteti që një seri me dy karaktere të shfaqet është: fq 2 = 0,09 (teorik). Probabiliteti që një seri me tre karaktere të shfaqet është: fq 3 = 0,009 (teorik).

Për shembull, probabiliteti i shfaqjes së një serie me gjatësi prej një karakteri është i barabartë me fq L= 0.9, pasi mund të ketë vetëm një karakter nga 10, dhe vetëm 9 karaktere (zero nuk numërohet). Dhe probabiliteti që dy karaktere identike "XX" të takohen në një rresht është 0.1 0.1 9, domethënë, probabiliteti 0.1 që karakteri "X" të shfaqet në pozicionin e parë shumëzohet me probabilitetin 0.1 që i njëjti karakter. do të shfaqet në pozicionin e dytë "X" dhe do të shumëzohet me numrin e kombinimeve të tilla 9.

Frekuenca e shfaqjes së serive llogaritet sipas formulës "chi-square" që kemi analizuar më parë duke përdorur vlerat fq L .

Shënim: Gjeneratori mund të kontrollohet disa herë, por kontrollet nuk janë të plota dhe nuk garantojnë që gjeneratori prodhon numra të rastësishëm. Për shembull, një gjenerator që prodhon sekuencën 12345678912345… do të konsiderohet ideal gjatë kontrolleve, gjë që, padyshim, nuk është plotësisht e vërtetë.

Si përfundim, vërejmë se kapitulli i tretë i librit "Arti i Programimit" nga Donald E. Knuth (vëllimi 2) i kushtohet plotësisht studimit të numrave të rastit. Ai eksploron metoda të ndryshme për gjenerimin e numrave të rastit, kriteret statistikore për rastësi dhe transformimin e numrave të rastit të shpërndarë në mënyrë uniforme në lloje të tjera të variablave të rastit. Prezantimit të këtij materiali i janë kushtuar më shumë se dyqind faqe.

Gjeneruesi i numrave të rastësishëm për Biletat e Lotarisë ofrohet pa pagesë mbi bazën "siç është". Zhvilluesi nuk mban asnjë përgjegjësi për humbjet materiale dhe jomateriale të përdoruesve të skenarit. Ju mund ta përdorni këtë shërbim me përgjegjësinë tuaj. Sidoqoftë, diçka, por patjetër që nuk rrezikoni :-).

Numra të rastësishëm për biletat e lotarisë online

Ky softuer (PRNG në JS) është një gjenerues i numrave pseudo të rastësishëm i implementuar me aftësitë e gjuhës programuese Javascript. Gjeneratori prodhon një shpërndarje uniforme të numrave të rastit.

Kjo i lejon kompanisë së lotarisë të mposht një "pykë me një pykë" në një RNG të shpërndarë në mënyrë të barabartë nga një kompani llotarie për t'u përgjigjur me numra të rastësishëm me një shpërndarje uniforme. Kjo qasje eliminon subjektivitetin e lojtarit, pasi njerëzit kanë preferenca të caktuara në zgjedhjen e numrave dhe numrave (ditëlindjet e të afërmve, datat e paharrueshme, vitet, etj.), Të cilat ndikojnë në zgjedhjen e numrave me dorë.

Mjeti falas i ndihmon lojtarët të zgjedhin numra të rastësishëm për lotari. Skripti i gjeneruesit të numrave të rastësishëm ka një sërë mënyrash të paracaktuara për Gosloto 5 nga 36, ​​6 nga 45, 7 nga 49, 4 nga 20, Sportloto 6 nga 49. Mund të zgjidhni një modalitet të gjenerimit të numrave të rastësishëm me cilësime falas për opsionet e tjera të lotarisë.

Parashikimet e fitimit të lotarisë

Një gjenerues i numrave të rastësishëm me një shpërndarje uniforme mund të shërbejë si horoskop për llotarinë, megjithatë, probabiliteti që parashikimi të realizohet është i ulët. Por megjithatë, përdorimi i një gjeneruesi të numrave të rastësishëm ka një shans të mirë për të fituar në krahasim me shumë strategji të tjera të lojërave të lotarisë dhe gjithashtu ju çliron nga dhimbja e zgjedhjes së numrave dhe kombinimeve me fat. Nga ana ime, unë nuk ju këshilloj t'i nënshtroheni tundimit dhe të blini parashikime të paguara, është më mirë t'i shpenzoni këto para për një libër shkollor për kombinatorikë. Mund të mësoni shumë gjëra interesante prej tij, për shembull, probabiliteti për të fituar xhekpotin në Gosloto është 5 nga 36 1 te 376 992 . Dhe probabiliteti për të marrë çmimin minimal duke hamendësuar 2 numra është 1 te 8 . Parashikimi i bazuar në RNG-në tonë ka të njëjtat probabilitete fitimi.

Në internet, ka kërkesa për numra të rastësishëm për lotarinë, duke marrë parasysh tërheqjet e kaluara. Por me kusht që lotaria të përdorë RNG me një shpërndarje uniforme dhe probabiliteti për të marrë një ose një kombinim tjetër nuk varet nga shorti për të tërhequr, atëherë është e kotë të përpiqesh të marrësh parasysh rezultatet e shorteve të kaluara. Dhe kjo është mjaft logjike, pasi nuk është fitimprurëse për kompanitë e lotarisë të lejojnë pjesëmarrësit të rrisin probabilitetin e fitimit të tyre me metoda të thjeshta.

Shpesh flitet se organizatorët e lotarisë manipulojnë rezultatet. Por në fakt, kjo nuk ka kuptim, madje, përkundrazi, nëse kompanitë e lotarisë do të ndikonin në rezultatet e lotarisë, atëherë do të ishte e mundur të gjendej një strategji fituese, por deri më tani askush nuk ia ka dalë. Prandaj, është shumë e dobishme për organizatorët e lotarisë që topat të bien me një probabilitet uniform. Nga rruga, kthimi i vlerësuar i shortit 5 nga 36 është 34.7%. Kështu, shoqëria e lotarisë ka 65.3% të të ardhurave nga shitja e biletave, një pjesë e fondeve (zakonisht gjysma) zbritet për formimin e xhekpotit, pjesa tjetër e parave shkon për shpenzimet organizative, reklamat dhe fitimin neto të kompanisë. Statistikat e qarkullimit konfirmojnë në mënyrë perfekte këto shifra.

Prandaj përfundimi - mos blini parashikime të pakuptimta, përdorni një gjenerues falas të numrave të rastësishëm, kujdesuni për nervat tuaja. Lërini numrat tanë të rastësishëm të jenë numrat tuaj me fat. humor të mirë dhe ditë të mbarë!

Artikujt kryesorë të lidhur