Cum se configurează smartphone-uri și PC-uri. Portal informativ

Moderator cu numere aleatorii. Generator de numere aleatorii

Generatorul de numere aleatorii pentru biletele de loterie este oferit gratuit în format „ca atare”. Dezvoltatorul nu poartă nicio responsabilitate pentru pierderile materiale și nemateriale ale utilizatorilor scriptului. Puteți utiliza acest serviciu pe propriul risc. Totuși, ceva, și cu siguranță nu-ți asumi riscul :-).

Numere aleatorii pentru biletele de loterie online

Acest software (PRNG în JS) este un generator de numere pseudo-aleatoare implementat de capacitățile limbajului de programare Javascript. Generatorul produce o distribuție uniformă a numerelor aleatoare.

Acest lucru vă permite să eliminați o „pană cu pană” pe RNG cu o distribuție uniformă de la compania de loterie pentru a răspunde cu numere aleatorii cu o distribuție uniformă. Această abordare elimină subiectivitatea jucătorului, deoarece oamenii au anumite preferințe în alegerea numerelor și numerelor (ziua de naștere a rudelor, date memorabile, ani etc.), care afectează selecția manuală a numerelor.

Instrumentul gratuit îi ajută pe jucători să aleagă numere aleatorii pentru loterie. Scriptul generator de numere aleatorii are un set de moduri prestabilite pentru Gosloto 5 din 36, 6 din 45, 7 din 49, 4 din 20, Sportloto 6 din 49. Puteți selecta un mod de generare de numere aleatorii cu setări gratuite pentru alte opțiuni de loterie.

Predicții câștigătoare la loterie

Un generator de numere aleatorii cu o distribuție uniformă poate servi drept horoscop pentru o tragere la loterie, cu toate acestea, probabilitatea ca prognoza să se adeverească este scăzută. Dar totuși, utilizarea unui generator de numere aleatoare are șanse mari de câștig în comparație cu multe alte strategii de joc de loterie și, în plus, te eliberează de agonia numerelor și combinațiilor complexe norocoase. Din partea mea, nu vă sfătuiesc să cedeți tentației și să cumpărați previziuni plătite, este mai bine să cheltuiți acești bani pe un manual de combinatorie. Din el puteți învăța o mulțime de lucruri interesante, de exemplu, probabilitatea de a câștiga jackpot-ul în Gosloto 5 din 36 este 1 La 376 992 ... Și probabilitatea de a obține premiul minim prin potrivirea a 2 numere este 1 La 8 ... Prognoza bazată pe RNG-ul nostru are aceleași probabilități de câștig.

Pe Internet, există cereri de numere aleatorii pentru loterie, ținând cont de extragerile trecute. Dar cu condiția ca loteria să folosească un RNG cu o distribuție uniformă și probabilitatea ca o anumită combinație să cadă nu depinde de circulația către circulație, atunci nu are sens să încercăm să ținem cont de rezultatele extragerilor anterioare. Și acest lucru este destul de logic, deoarece nu este profitabil pentru companiile de loterie ca participanții să își poată crește probabilitatea de câștig prin metode simple.

Se vorbește adesea că organizatorii de loterie manipulează rezultatele. Dar, de fapt, acest lucru nu are niciun sens, dimpotrivă, dacă companiile de loterie ar influența rezultatele loteriei, atunci ar fi posibil să găsim o strategie câștigătoare, dar până acum nimeni nu reușește. Prin urmare, este foarte benefic pentru organizatorii de loterie ca bilele să cadă cu o probabilitate egală. Apropo, randamentul estimat la loteria 5 din 36 este de 34,7%. Astfel, compania de loterie reține 65,3% din încasările din vânzarea biletelor, o parte din fonduri (de obicei jumătate) este alocată formării jackpot-ului, restul banilor se duc la cheltuieli de organizare, publicitate și profitul net al companiei. Statisticile de circulație confirmă perfect aceste cifre.

De aici concluzia - nu cumpăra previziuni fără sens, folosește un generator gratuit de numere aleatorii, ai grijă de nervii tăi. Lasă numerele noastre aleatorii să fie numerele tale norocoase. Să aveți o dispoziție bună și o zi bună!

Un generator de numere online ușor de înțeles și convenabil, care a câștigat popularitate în ultima vreme. Cea mai răspândită a fost la extragerea premiilor în în rețelele sociale, printre utilizatori.

Este popular și în alte zone. De asemenea, avem sau parole și numere.

Generatorul nostru online de numere aleatorii.

Generatorul nostru de randomizare nu necesită descărcarea lui pe computerul personal. Totul se întâmplă în modul generator de numere online. Doar specificați opțiuni precum: interval de numere online unde numerele vor fi selectate aleatoriu. Indicați, de asemenea, numărul de numere care vor fi selectate.

De exemplu, aveți un grup Vkontakte. În grup, oferiți 5 premii, dintre numărul de participanți care vor reposta recordul. Cu ajutorul unei aplicații speciale, am primit o listă de participanți. Fiecare a primit un număr de serie pentru numerele online.

Acum mergem la generatorul nostru online și indicăm gama de numere (numărul de participanți). De exemplu, să presupunem că sunt necesare 5 numere online, deoarece avem 5 premii. Acum apăsați butonul de generare. Apoi obținem online 5 numere aleatorii, în intervalul de la 1 la 112 inclusiv. Cele 5 numere generate online vor corespunde numărului ordinal al celor cinci participanți care au devenit câștigătorii extragerii. Totul este simplu și convenabil.

Un alt plus al generatorului de numere aleatorii este că toate numerele online sunt generate aleatoriu. Adică nu este posibil să-l influențezi sau să calculezi următorul număr. Ceea ce îl face să spună, cinstit și de încredere, și administrația, care scoate la sorți premii cu ajutorul generatorului nostru gratuit, cinstit și decent în fața participanților la competiție. Și dacă aveți îndoieli cu privire la o soluție, atunci puteți folosi noastre

De ce este cel mai bun generatorul de numere aleatorii?

Adevărul este că generator de numere online disponibil pe orice dispozitiv și întotdeauna online. Puteți genera sincer orice număr pentru oricare dintre ideile dvs. Și folosiți același lucru pentru proiect generator de numere aleatorii pe net. Mai ales dacă trebuie să determinați câștigătorul jocului sau pentru un alt număr online. Adevărul este că generator de numere aleatorii generează orice numere complet aleatoriu, fără algoritmi. Acest lucru este în esență același ca pentru numere.

Generator de numere aleatorii online gratuit!

Generator online gratuit de numere aleatorii pentru toată lumea. Nu trebuie să descărcați sau să cumpărați generator de numere aleatorii online pentru tombolă. Trebuie doar să accesați site-ul nostru web și să obțineți rezultatul dorit la întâmplare. Avem nu numai generator de numere aleatorii dar și nevoie de mulți care cu siguranță te vor ajuta să câștigi la loterie. Un adevărat generator online de numere aleatorii pentru loterie este complet aleatoriu. Pe care site-ul nostru vă poate oferi.

Număr aleatoriu online

Dacă sunteți în căutarea unui număr aleatoriu online, atunci am creat această resursă doar pentru dvs. Ne îmbunătățim constant algoritmii. Vei deveni real aici generator de numere aleatorii. Va oferi orice nevoie ca generator aleatoriu de care aveți nevoie complet gratuit și în orice moment. Creează numere aleatorii cu noi online. Asigurați-vă întotdeauna că fiecare număr generat este complet aleatoriu.

Generator de numere aleatorii aleatoriu

Generatorul nostru de numere aleatorii selectează aleatoriu numerele complet aleatoriu. Nu contează ziua sau ora pe care o ai pe computer. Aceasta este o alegere oarbă cu adevărat. Generatorul aleatoriu amestecă pur și simplu toate numerele în ordine aleatorie. Și apoi selectează aleatoriu dintre ele numărul de numere aleatorii pe care îl specificați. Uneori numerele pot fi repetate, ceea ce demonstrează caracterul aleatoriu complet al generatorului de numere aleatorii.

Aleatoriu online

Aleatorie este cea mai sigură opțiune pentru extragere. Generatorul online este într-adevăr o alegere aleatorie. Sunteți protejat de orice influență asupra alegerii unui număr aleatoriu. Filmarea procesului de selecție online aleatorie a câștigătorului pe video. Asta e tot ce ai nevoie. Jucați corect online cu generatorul nostru de numere online. Obții câștigători și jucători fericiți. Și ne bucurăm că am putut să vă mulțumesc cu generatorul nostru aleatoriu.

etc. și este folosit de titularii de cont pentru a atrage noi audiențe către comunitate.

Rezultatul unor astfel de extrageri depinde adesea de norocul utilizatorului, deoarece destinatarul premiului este determinat la întâmplare.

Pentru această determinare, organizatorii extragerii folosesc aproape întotdeauna un generator de numere aleatorii online sau unul preinstalat care este distribuit gratuit.

Alegere

Destul de des, poate fi dificil să alegeți un astfel de generator, deoarece funcționalitatea lor este destul de diferită - pentru unii este limitat semnificativ, pentru alții este destul de largă.

Sunt implementate un număr destul de mare de astfel de servicii, dar dificultatea este că ele diferă ca scop.

Multe, de exemplu, sunt legate prin funcționalitatea lor de o anumită rețea socială (de exemplu, multe aplicații generatoare funcționează numai cu link-uri ale acesteia).

Majoritatea generatoarelor simple determină pur și simplu aleatoriu un număr într-un interval dat.

Acest lucru este convenabil deoarece nu asociază rezultatul cu o anumită postare, ceea ce înseamnă că poate fi folosit atunci când se joacă în afara rețelei de socializare și în diverse alte situații.

De fapt, nu au altă aplicație.

Sfat! Atunci când alegeți cel mai potrivit generator, este important să luați în considerare scopul pentru care va fi utilizat.

Specificații

Pentru cel mai rapid proces de alegere a serviciului online optim pentru generarea numerelor aleatorii, tabelul de mai jos prezintă principalele caracteristici tehnice și funcționalități ale unor astfel de aplicații.

Tabel 1. Caracteristici ale funcționării aplicațiilor online pentru generarea unui număr aleator
Nume Rețea socială Rezultate multiple Selectarea dintr-o listă de numere Widget online pentru site Selectați dintr-un interval Dezactivați repetările
RandStuff da da Nu da Nu
Trage la sorți Site oficial sau VKontakte Nu Nu da da da
Număr aleatoriu Site-ul oficial Nu Nu Nu da da
Randomus Site-ul oficial da Nu Nu da Nu
Numere aleatorii Site-ul oficial da Nu Nu Nu Nu

Toate aplicațiile discutate în tabel sunt descrise mai detaliat mai jos.

RandStuff

Puteți utiliza această aplicație online, urmând linkul către site-ul său oficial http://randstuff.ru/number/.

Acesta este un simplu generator de numere aleatorii, caracterizat prin performanță rapidă și stabilă.

Este implementat cu succes atât ca aplicație autonomă separată pe site-ul oficial, cât și ca aplicație în.

Particularitatea acestui serviciu este că poate alege un număr aleatoriu atât din intervalul specificat, cât și dintr-o listă specifică de numere care pot fi specificate pe site.

  • Lucru stabil și rapid;
  • Lipsa conexiunii directe la o rețea socială;
  • Puteți alege unul sau mai multe numere;
  • Puteți alege doar dintre numerele specificate.

Recenziile utilizatorilor despre această aplicație sunt următoarele: „Determinăm prin acest serviciu câștigătorii din grupurile VKontakte. Mulțumesc "," Sunteți cel mai bun "," Folosesc doar acest serviciu."

Trage la sorți

Această aplicație este un simplu generator funcțional implementat pe site-ul oficial sub forma unei aplicații VKontakte.

Există, de asemenea, un widget generator pentru încorporarea în site-ul dvs.

Principala diferență față de aplicația anterioară descrisă este că vă permite să dezactivați repetarea rezultatului.

Desfășurarea diferitelor loterie, tombole etc. se desfășoară adesea în multe grupuri sau publice de pe rețelele de socializare, Instagram etc. și este folosită de proprietarii de conturi pentru a atrage un nou public în comunitate.

Rezultatul unor astfel de extrageri depinde adesea de norocul utilizatorului, deoarece destinatarul premiului este determinat la întâmplare.

Pentru această determinare, organizatorii extragerii folosesc aproape întotdeauna un generator de numere aleatorii online sau unul preinstalat care este distribuit gratuit.

Alegere

Destul de des, poate fi dificil să alegeți un astfel de generator, deoarece funcționalitatea lor este destul de diferită - pentru unii este limitat semnificativ, pentru alții este destul de largă.

Sunt implementate un număr destul de mare de astfel de servicii, dar dificultatea este că ele diferă ca scop.

Multe, de exemplu, sunt legate prin funcționalitatea lor de o anumită rețea socială (de exemplu, multe aplicații generatoare de pe VKontakte funcționează numai cu link-uri din această rețea socială).

Majoritatea generatoarelor simple determină pur și simplu aleatoriu un număr într-un interval dat.

Acest lucru este convenabil deoarece nu asociază rezultatul cu o anumită postare, ceea ce înseamnă că poate fi folosit atunci când se joacă în afara rețelei de socializare și în diverse alte situații.

De fapt, nu au altă aplicație.

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

Sfat! Atunci când alegeți cel mai potrivit generator, este important să luați în considerare scopul pentru care va fi utilizat.

Specificații

Pentru cel mai rapid proces de alegere a serviciului online optim pentru generarea numerelor aleatorii, tabelul de mai jos prezintă principalele caracteristici tehnice și funcționalități ale unor astfel de aplicații.

Tabel 1. Caracteristici ale funcționării aplicațiilor online pentru generarea unui număr aleator
Nume Rețea socială Rezultate multiple Selectarea dintr-o listă de numere Widget online pentru site Selectați dintr-un interval Dezactivați repetările
RandStuff da da Nu da Nu
Trage la sorți Site oficial sau VKontakte Nu Nu da da da
Număr aleatoriu Site-ul oficial Nu Nu Nu da da
Randomus Site-ul oficial da Nu Nu da Nu
Numere aleatorii Site-ul oficial da Nu Nu Nu Nu

Toate aplicațiile discutate în tabel sunt descrise mai detaliat mai jos.

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

RandStuff

<Рис. 3 RandStuff>

Puteți utiliza această aplicație online, urmând linkul către site-ul său oficial http://randstuff.ru/number/.

Acesta este un simplu generator de numere aleatorii, caracterizat prin performanță rapidă și stabilă.

Este implementat cu succes atât ca aplicație autonomă separată pe site-ul oficial, cât și ca aplicație pe rețeaua socială VKontakte.

Particularitatea acestui serviciu este că poate alege un număr aleatoriu atât din intervalul specificat, cât și dintr-o listă specifică de numere care pot fi specificate pe site.

Pro:

  • Lucru stabil și rapid;
  • Lipsa conexiunii directe la o rețea socială;
  • Puteți alege unul sau mai multe numere;
  • Puteți alege doar dintre numerele specificate.

Minusuri:

  • Incapacitatea de a ține un desen VKontakte (aceasta necesită o aplicație separată);
  • Aplicațiile pentru VKontakte nu sunt lansate în toate browserele;
  • Rezultatul pare uneori previzibil, deoarece este folosit un singur algoritm de calcul.

Recenziile utilizatorilor despre această aplicație sunt următoarele: „Determinăm prin acest serviciu câștigătorii din grupurile VKontakte. Mulțumesc "," Sunteți cel mai bun "," Folosesc doar acest serviciu."

Trage la sorți

<Рис. 4 Cast Lots>

Această aplicație este un simplu generator funcțional implementat pe site-ul oficial sub forma unei aplicații VKontakte.

Există, de asemenea, un widget generator pentru încorporarea în site-ul dvs.

Principala diferență față de aplicația anterioară descrisă este că vă permite să dezactivați repetarea rezultatului.

Adică, atunci când conduceți mai multe generații la rând într-o sesiune, numărul nu se va repeta.

  • Prezența unui widget pentru încorporare pe un site web sau blog;
  • Capacitatea de a dezactiva repetarea rezultatului;
  • Prezența funcției „și mai mult aleatorie”, după activarea căreia se schimbă algoritmul de selecție.

Negativ:

  • Imposibilitatea de a determina mai multe rezultate deodată;
  • Imposibilitatea de a alege dintr-o anumită listă de numere;
  • Pentru a selecta un câștigător în public, trebuie să utilizați un widget VKontakte separat.

Recenziile utilizatorilor sunt următoarele: „Funcționează stabil, este destul de convenabil de utilizat”, „Funcționalitate convenabilă”, „Folosesc doar acest serviciu”.

Număr aleatoriu

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

Acest serviciu se află la adresa http: // random number.rf/.

Generator simplu cu minim de funcții și caracteristici suplimentare.

Poate genera aleatoriu numere într-un interval dat (maximum de la 1 la 99999).

Site-ul nu are nici un design grafic și, prin urmare, pagina este ușor de încărcat.

Rezultatul poate fi copiat sau descărcat apăsând un buton.

Negativ:

  • Lipsa unui widget pentru VKontakte;
  • Nu există posibilitatea de a organiza extrageri;
  • Nu există nicio modalitate de a introduce rezultatul într-un blog sau un site web.

Iată ce spun utilizatorii despre acest serviciu: „Nu este un generator rău, dar nu sunt suficiente funcții”, „Foarte puține funcții”, „Potrivit pentru a genera rapid un număr fără setări inutile”.

Randomus

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

Puteți utiliza acest generator de numere aleatorii urmând linkul http://randomus.ru/.

Altul, destul de simplu, dar generator funcțional de numere aleatorii.

Serviciul are o funcționalitate suficientă pentru determinarea numerelor aleatorii, cu toate acestea, nu va fi potrivit pentru organizarea de extrageri și alte procese mai complexe.

Negativ:

  • Imposibilitatea de a deține desene pentru repostări ale unui post etc.
  • Fără aplicație VK sau widget pentru site-ul web;
  • Nu se poate dezactiva rezultatele repetate.


Rețineți că, în mod ideal, curba de densitate a distribuției numerelor aleatoare ar arăta ca cea prezentată în Fig. 22.3. Adică, în cazul ideal, fiecare interval conține același număr de puncte: N i = N/k , Unde N- numărul total de puncte, k- numărul de intervale, i= 1,…, k .

Orez. 22.3. Diagrama de frecvență a numerelor aleatoare,
generat de un generator ideal teoretic

Trebuie amintit că generarea unui număr arbitrar aleatoriu constă în două etape:

  • generarea unui număr aleator normalizat (adică distribuit uniform de la 0 la 1);
  • conversia numerelor aleatoare normalizate r i la numere aleatorii X i, care sunt distribuite în conformitate cu legea de distribuție a utilizatorului (arbitrară) cerută sau în intervalul necesar.

Generatoarele de numere aleatorii sunt împărțite în:

  • fizic;
  • tabular;
  • algoritmic.

RNG fizic

Un exemplu de RNG fizic este: o monedă (capete - 1, cozi - 0); zaruri; o tobă cu o săgeată împărțită în sectoare cu numere; generator de zgomot hardware (HS), care este utilizat ca dispozitiv termic zgomotos, de exemplu, un tranzistor (Fig. 22.4-22.5).

Orez. 22.4. Schema metodei hardware pentru generarea numerelor aleatorii
Orez. 22.5. Diagrama obținerii numerelor aleatoare prin metoda hardware
Sarcina „Generarea numerelor aleatorii folosind o monedă”

Utilizați o monedă pentru a genera un număr aleatoriu de 3 cifre distribuit uniform de la 0 la 1. Precizia este de trei zecimale.

Prima modalitate de a rezolva problema
Întoarce o monedă de 9 ori, iar dacă moneda iese în cozi, atunci notează „0”, dacă da cap, atunci „1”. Deci, să presupunem că, în urma experimentului, am obținut o secvență aleatorie 100110100.

Desenați un interval de la 0 la 1. Citind numerele în succesiune de la stânga la dreapta, împărțiți intervalul în jumătate și alegeți de fiecare dată una dintre părțile intervalului următor (dacă a scăzut 0, atunci cea din stânga, dacă a scăzut 1, apoi cel potrivit). Astfel, puteți ajunge în orice moment al intervalului, cu cât de precis doriți.

Asa de, 1 : intervalul este înjumătățit - și, - este selectată jumătatea dreaptă, intervalul este îngustat:. Următorul număr, 0 : intervalul este înjumătățit - și, - este selectată jumătatea stângă, intervalul este îngustat:. Următorul număr, 0 : intervalul este înjumătățit - și, - este selectată jumătatea stângă, intervalul este îngustat:. Următorul număr, 1 : intervalul este înjumătățit - și, - este selectată jumătatea dreaptă, intervalul este îngustat:.

Prin condiția acurateții problemei, s-a găsit soluția: este orice număr din interval, de exemplu, 0,625.

În principiu, dacă te apropii strict, atunci împărțirea intervalelor trebuie continuată până când limitele din stânga și dreapta ale intervalului găsit COINCIDEAZĂ între ele cu o precizie de a treia zecimală. Adică din punct de vedere al acurateței, numărul generat nu va mai fi distins de niciun număr din intervalul în care se află.

A doua modalitate de a rezolva problema
Să împărțim secvența binară rezultată 100110100 în triade: 100, 110, 100. După conversia acestor numere binare în zecimale obținem: 4, 6, 4. Înlocuind „0.” în față, obținem: 0,464. Această metodă poate obține doar numere de la 0,000 la 0,777 (deoarece maximul care poate fi „stors” din trei cifre binare este 111 2 = 7 8) - adică, de fapt, aceste numere sunt reprezentate în sistemul de numere octale. Pentru traducere octal numere în zecimal vom executa reprezentarea:
0,464 8 = 4 · 8 –1 + 6 · 8 –2 + 4 · 8 –3 = 0,6015625 10 = 0,602 10.
Deci, numărul necesar este egal cu: 0,602.

RNG tabelar

RNG-urile tabelare folosesc tabele special compilate care conțin numere verificate necorelate, adică independente unele de altele, ca sursă de numere aleatorii. Masa 22.1 prezintă un mic fragment dintr-un astfel de tabel. Prin parcurgerea tabelului de la stânga la dreapta de sus în jos, puteți obține numere aleatorii distribuite uniform de la 0 la 1 cu numărul necesar de zecimale (în exemplul nostru, folosim trei zecimale pentru fiecare număr). Deoarece numerele din tabel nu depind unele de altele, tabelul poate fi parcurs în diferite moduri, de exemplu, de sus în jos sau de la dreapta la stânga sau, să zicem, puteți selecta numere care sunt în poziții pare.

Tabelul 22.1.
Numere aleatorii. uniform
distribuite de la 0 la 1 numere aleatorii
Numere aleatorii Distribuit uniform
de la 0 la 1 numere aleatorii
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
… …

Avantajul acestei metode este că oferă numere cu adevărat aleatorii, deoarece tabelul conține numere necorelate verificate. Dezavantajele metodei: este nevoie de multă memorie pentru a stoca un număr mare de cifre; mari dificultăți în generarea și verificarea unor astfel de tabele, repetările la utilizarea unui tabel nu mai garantează aleatoritatea succesiunii numerice și, prin urmare, fiabilitatea rezultatului.

Există un tabel care conține 500 de numere verificate absolut aleatoare (preluate din cartea lui I. G. Venetsky, V. I. Venetskaya „Concepte și formule matematice și statistice de bază în analiza economică”).

RNG algoritmic

Numerele generate folosind aceste RNG-uri sunt întotdeauna pseudoaleatoare (sau cvasi-aleatoare), adică fiecare număr generat ulterior depinde de cel anterior:

r i + 1 = f(r i) .

Secvențele formate din astfel de numere formează bucle, adică există în mod necesar un ciclu care se repetă de un număr infinit de ori. Ciclurile care se repetă se numesc perioade.

Avantajul datelor RNG este viteza; generatoarele practic nu necesită resurse de memorie, sunt compacte. Dezavantaje: numerele nu pot fi numite pe deplin aleatoare, deoarece există o dependență între ele, precum și prezența unor perioade în succesiunea numerelor cvasialeatoare.

Luați în considerare câteva metode algoritmice pentru obținerea unui RNG:

  • metoda pătratelor mijlocii;
  • metoda produselor de mijloc;
  • metoda de amestecare;
  • metoda liniară congruentă.

Metoda pătratului mediu

Există un număr din patru cifre R 0. Acest număr este pătrat și introdus în R unu . Mai departe de R 1 este luat în mijloc (patru cifre din mijloc) - un nou număr aleatoriu - și scris în R 0. Apoi se repetă procedura (vezi fig. 22.6). Rețineți că, de fapt, nu este necesar să luați ca număr aleatoriu ghij, A 0.ghij- cu un zero și un punct zecimal alocat la stânga. Acest fapt este reflectat ca în fig. 22.6 și în cifre similare ulterioare.

Orez. 22.6. Schema pătratelor medii

Dezavantaje ale metodei: 1) dacă la o iterație numărul R 0 devine egal cu zero, apoi generatorul degenerează, deci este importantă alegerea corectă a valorii inițiale R 0; 2) generatorul va repeta secvența prin M n pași (în cel mai bun caz), unde n- capacitate de cifre R 0 , M- baza sistemului numeric.

De exemplu, în Fig. 22.6: dacă numărul R 0 va fi reprezentat în notație binară, succesiunea numerelor pseudoaleatoare se va repeta în 2 4 = 16 pași. Rețineți că repetarea secvenței poate apărea mai devreme dacă numărul inițial nu este ales bine.

Metoda descrisă mai sus a fost propusă de John von Neumann și datează din 1946. Deoarece această metodă s-a dovedit a fi nesigură, a fost rapid abandonată.

Metoda produselor de mijloc

Număr R 0 se înmulțește cu R 1, din rezultatul obținut R 2 extrageți mijlocul R 2 * (acesta este un alt număr aleatoriu) și înmulțit cu R unu . Toate numerele aleatoare ulterioare sunt calculate folosind această schemă (vezi Fig. 22.7).

Orez. 22.7. Metoda produselor de mijloc

Metoda de agitare

Metoda shuffle folosește operații pentru a muta ciclic conținutul unei celule la stânga și la dreapta. Ideea metodei este următoarea. Lăsați celula să depoziteze sămânța R 0. Deplasând ciclic conținutul celulei la stânga cu 1/4 din lungimea celulei, obținem un nou număr R 0 *. De asemenea, deplasarea ciclică a conținutului unei celule R 0 la dreapta cu 1/4 din lungimea celulei, obținem al doilea număr R 0 **. Suma numerelor R 0 * și R 0 ** oferă un nou număr aleatoriu R unu . Mai departe R 1 este introdus R 0 și se repetă întreaga secvență de operații (vezi Figura 22.8).


Orez. 22.8. Diagrama metodei de amestecare

Vă rugăm să rețineți că numărul rezultat din însumare R 0 * și R 0 **, este posibil să nu se potrivească complet în celulă R unu . În acest caz, cifrele suplimentare ar trebui eliminate din numărul primit. Să explicăm acest lucru pentru Fig. 22.8, unde toate celulele sunt reprezentate de opt cifre binare. Lăsa R 0 * = 10010001 2 = 145 10 , R 0 ** = 10100001 2 = 161 10 , atunci R 0 * + R 0 ** = 100110010 2 = 306 10 ... După cum puteți vedea, numărul 306 ocupă 9 cifre (în sistemul de numere binar), iar celula R 1 (ca R 0) poate conține maximum 8 biți. Prin urmare, înainte de a introduce valoarea în R 1 este necesar să eliminați un „în plus”, bitul din stânga din numărul 306, ca urmare a căruia în R 1 va merge nu 306, ci 00110010 2 = 50 10. De asemenea, rețineți că în limbi precum Pascal, „trunchierea” biților suplimentari atunci când o celulă este depășită se face automat în conformitate cu tipul specificat de variabilă.

Metoda liniară congruentă

Metoda liniară congruentă este una dintre cele mai simple și mai frecvent utilizate proceduri pentru simularea numerelor aleatoare. Această metodă folosește modul ( X, y), care returnează restul primului argument împărțit la al doilea. Fiecare număr aleatoriu ulterior este calculat pe baza numărului aleatoriu anterior utilizând următoarea formulă:

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

Se numește o succesiune de numere aleatoare obținute folosind această formulă succesiune liniară congruentă... Mulți autori numesc o secvență liniară congruentă pentru b = 0 metoda multiplicativă congruentă, și la b ≠ 0 — metoda mixta congruenta.

Pentru un generator de înaltă calitate, trebuie să alegeți coeficienți potriviți. Este necesar ca numărul M a fost destul de mare, deoarece perioada nu poate avea mai mult M elemente. Pe de altă parte, împărțirea folosită în această metodă este o operațiune destul de lentă, așa că ar fi logic ca o mașină de calcul binară să aleagă M = 2 N, deoarece în acest caz găsirea restului diviziunii este redusă în interiorul computerului la o operație logică binară „ȘI”. De asemenea, este obișnuit să alegeți cel mai mare număr prim M mai putin de 2 N: în literatura de specialitate se dovedeşte că în acest caz biţii mai puţin semnificativi ai numărului aleator rezultat r i+ 1 se comportă la fel de aleatoriu ca și cei mai vechi, ceea ce are un efect pozitiv asupra întregii secvențe de numere aleatoare în ansamblu. Un exemplu este unul dintre numerele Mersenne egal cu 2 31 - 1, și astfel M= 2 31 - 1.

Una dintre cerințele pentru secvențele liniare congruente este cea mai mare lungime posibilă a perioadei. Durata perioadei depinde de valori M , kși b... Teorema pe care o prezentăm mai jos ne permite să stabilim dacă este posibil să realizăm o perioadă de lungime maximă pentru anumite valori M , kși b .

Teorema... Secvență liniară congruentă definită prin numere M , k , bși r 0, are o perioadă de lungime M dacă și numai dacă:

  • numerele bși M reciproc simplu;
  • k- 1 multiplu p pentru fiecare simplu p care este un divizor M ;
  • k- 1 multiplu de 4 dacă M multiplu de 4.

În cele din urmă, să încheiem cu câteva exemple de utilizare a metodei congruențiale liniare pentru a genera numere aleatorii.

S-a constatat că o serie de numere pseudoaleatoare generate din datele din exemplul 1 vor fi repetate la fiecare M/ 4 numere. Număr q este setat arbitrar înainte de a începe calculele, dar trebuie avut în vedere că seria dă impresia că este aleatorie pentru mari k(ceea ce înseamnă că q). Rezultatul poate fi ușor îmbunătățit dacă b ciudat și k= 1 + 4 q - în acest caz, rândul se va repeta la fiecare M numerele. După o lungă căutare k cercetătorii s-au stabilit pe valorile 69069 și 71365.

Un generator de numere aleatoare care utilizează datele din Exemplul 2 va produce numere aleatoare nerepetate cu o perioadă de 7 milioane.

Metoda multiplicativă pentru generarea numerelor pseudoaleatoare a fost propusă de D. H. Lehmer în 1949.

Verificarea calitatii generatorului

Calitatea întregului sistem și acuratețea rezultatelor depind de calitatea RNG. Prin urmare, secvența aleatoare generată de RNG trebuie să îndeplinească o serie de criterii.

Verificările efectuate sunt de două tipuri:

  • verificări pentru uniformitatea distribuției;
  • verificări pentru independența statistică.

Verificări de uniformitate a distribuției

1) RNG ar trebui să producă aproape următoarele valori ale parametrilor statistici caracteristici unei legi aleatorii uniforme:

2) Test de frecventa

Testul de frecvență vă permite să aflați câte numere se încadrează în interval (m r – σ r ; m r + σ r) , adică (0,5 - 0,2887; 0,5 + 0,2887) sau, în cele din urmă, (0,2113; 0,7887). Deoarece 0,7887 - 0,2113 = 0,5774, ajungem la concluzia că, într-un RNG bun, aproximativ 57,7% din toate numerele aleatoare scăzute ar trebui să se încadreze în acest interval (vezi Fig. 22.9).

Orez. 22.9. Diagrama de frecvență a unui RNG ideal
în cazul verificării lui pentru un test de frecvenţă

De asemenea, este necesar să se țină cont de faptul că numărul de numere care se încadrează în interval (0; 0,5) ar trebui să fie aproximativ egal cu numărul de numere care se încadrează în interval (0,5; 1).

3) Testul chi-pătrat

Testul chi-pătrat (testul χ 2) este unul dintre cele mai cunoscute teste statistice; este metoda principală folosită în combinaţie cu alte criterii. Testul chi-pătrat a fost propus în 1900 de Karl Pearson. Lucrarea sa remarcabilă este privită ca fundamentul statisticii matematice moderne.

Pentru cazul nostru, testul chi-pătrat ne va permite să aflăm cât de mult este real RNG-ul este aproape de standardul RNG, adică dacă îndeplinește sau nu cerințele de distribuție uniformă.

Diagrama de frecventa referinţă RNG este prezentat în Fig. 22.10. Deoarece legea de distribuție a RNG de referință este uniformă, probabilitatea (teoretică). p i lovind numere în i al-lea interval (toate aceste intervale k) este egal cu p i = 1/k ... Și astfel, în fiecare dintre k intervalele vor scădea neted pe p i · N numere ( N Este numărul total de numere generate).

Orez. 22.10. Diagrama de frecvență a RNG de referință

Un RNG real va produce numere distribuite (și nu neapărat uniform!) k intervale și fiecare interval va include n i numere (în sumă n 1 + n 2 + ... + n k = N ). Cum putem determina cât de bun este RNG-ul testat și cât de aproape de cel de referință? Este destul de logic să luăm în considerare pătratele diferențelor dintre numărul de numere primit. n iși „referință” p i · N ... Să le adăugăm și, ca rezultat, obținem:

χ 2 exp. = ( n 1 - p unu · N) 2 + (n 2 - p 2 N) 2 + ... + ( n k – p k · N) 2 .

Din această formulă rezultă că, cu cât diferența dintre fiecare dintre termeni este mai mică (și, prin urmare, valoarea lui χ 2 exp.), cu atât legea de distribuție a numerelor aleatoare generate de RNG real tinde să fie mai puternică.

În expresia anterioară, fiecăruia dintre termeni i se atribuie aceeași pondere (egal cu 1), care de fapt poate să nu corespundă realității; prin urmare, pentru statistica chi-pătrat, este necesar să se normalizeze fiecare i-al-lea termen prin împărțirea lui la p i · N :

În cele din urmă, scriem expresia rezultată mai compact și o simplificăm:

Am obținut valoarea testului chi-pătrat pt experimental date.

Masa 22.2 sunt date teoretic valorile chi-pătrat (teoria χ 2), unde ν = N- 1 este numărul de grade de libertate, p Este nivelul de încredere definit de utilizator care indică cât de mult ar trebui să satisfacă RNG cerințele de distribuție uniformă sau p — aceasta este probabilitatea ca valoarea experimentală a lui χ 2 exp. va fi mai mică decât teoria χ 2 tabelată (teoretică). sau egal cu el.

Tabelul 22.2.
Câteva puncte procentuale ale distribuției χ 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 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

Considerat acceptabil p de la 10% la 90%.

Dacă χ 2 exp. mult mai mult decât teoria χ 2. (acesta este p- grozav), apoi generatorul nu satisface cerință de distribuție uniformă, deoarece valorile observate n i merge prea departe de teoretic p i · N și nu poate fi considerată aleatorie. Cu alte cuvinte, intervalul de încredere este atât de mare încât constrângerile asupra numerelor devin foarte laxe, cerințele privind numerele sunt slabe. În acest caz, se va observa o eroare absolută foarte mare.

Chiar și D. Knut în cartea sa „The Art of Programming” a remarcat că având χ 2 exp. nici mic, în general, nu este bun, deși pare, la prima vedere, minunat din punct de vedere al uniformității. Într-adevăr, luați o serie de numere 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, ... - sunt ideale din punct de vedere al uniformitate, iar χ 2 exp. va fi practic zero, dar este puțin probabil să le recunoașteți ca aleatoare.

Dacă χ 2 exp. mult mai mică decât teoria χ 2. (acesta este p- puțin), apoi generatorul nu satisface cerința unei distribuții uniforme aleatorii, din moment ce valorile observate n i prea aproape de teoretic p i · N și nu poate fi considerată aleatorie.

Dar dacă χ 2 exp. se află într-un anumit interval, între două valori ale χ 2 teor. care corespund, de exemplu, p= 25% și p= 50%, atunci putem presupune că valorile numerelor aleatorii generate de senzor sunt complet aleatorii.

În plus, trebuie avut în vedere faptul că toate valorile p i · N trebuie să fie suficient de mare, de exemplu, mai mult de 5 (aflat empiric). Abia atunci (cu un eșantion statistic suficient de mare) condițiile experimentale pot fi considerate satisfăcătoare.

Deci, procedura de verificare este următoarea.

Teste de independență statistică

1) Verificați frecvența de apariție a unei cifre într-o secvență

Să ne uităm la un exemplu. Numărul aleatoriu 0,2463389991 este format din cifrele 2463389991, iar numărul 0,5467766618 este format din cifrele 5467766618. Combinând secvențele de cifre, avem: 24633389996565189996

Este clar că probabilitatea teoretică p i caderi i--a cifră (de la 0 la 9) este 0,1.

2) Verificarea aspectului unor serii de numere identice

Să notăm prin n L numărul de serii de cifre consecutive de lungime L... Totul trebuie verificat L de la 1 la m, Unde m Este un număr specificat de utilizator: numărul maxim de cifre identice care apar într-o serie.

În exemplul „24633899915467766618” au fost găsite 2 serii de lungime 2 (33 și 77), adică n 2 = 2 și 2 seria 3 lungă (999 și 666), adică n 3 = 2 .

Probabilitatea de apariție a unei serii cu lungimea de L este egal cu: p L= 9 10 - L (teoretic). Adică, probabilitatea unei serii de un caracter lungime este: p 1 = 0,9 (teoretic). Probabilitatea unei serii de două caractere lungime este: p 2 = 0,09 (teoretic). Probabilitatea unei siruri de trei caractere lungime este: p 3 = 0,009 (teoretic).

De exemplu, probabilitatea unei serii de un caracter lungime este p L= 0,9, deoarece poate exista doar un caracter din 10 și există 9 caractere în total (zero nu contează). Și probabilitatea ca două simboluri identice „XX” să apară într-un rând este 0,1 · 0,1 · 9, adică probabilitatea de 0,1 ca simbolul „X” să apară în prima poziție este înmulțită cu probabilitatea 0,1 ca același simbolul va apărea în a doua poziție „X” și înmulțit cu numărul de astfel de combinații 9.

Frecvența de apariție a seriei se calculează conform formulei „chi-pătrat” analizată anterior folosind valorile p L .

Notă: generatorul poate fi verificat de mai multe ori, totuși verificările nu sunt complete și nu garantează că generatorul produce numere aleatorii. De exemplu, un generator care emite secvența 12345678912345 ... va fi considerat ideal în timpul verificărilor, ceea ce, evident, nu este în întregime adevărat.

În concluzie, observăm că al treilea capitol al cărții lui Donald E. Knuth „Arta programării” (volumul 2) este complet dedicat studiului numerelor aleatoare. Acesta explorează diverse metode de generare a numerelor aleatoare, criterii statistice pentru aleatorie și conversia numerelor aleatoare distribuite uniform în alte tipuri de variabile aleatoare. Peste două sute de pagini au fost dedicate prezentării acestui material.

Top articole similare