Generator de numere aleatorii

Adăugați pe site Metainformații

Alte unelte

Generator de numere

Generator de numere

Progresul științific și tehnologic al secolului al XX-lea se datorează mult dezvoltării teoriei probabilităților și creării generatoarelor de numere aleatorii.

Numerele aleatoare sunt numere care pot fi interpretate ca rezultate ale implementării unei variabile aleatoare - conceptul de bază al teoriei probabilităților. Conceptul de aleatorie în acest context implică impredictibilitatea valorii unei cantități date înainte de începerea experimentului.

Istoricul numerelor aleatoare

Nevoia umanității de a folosi numere aleatorii a apărut cu mult înainte de inventarea de către oamenii de știință a dispozitivelor care permit obținerea de matrice aleatoare. Multă vreme, oamenii au folosit mijloace improvizate pentru a genera numere aleatorii, inclusiv obiecte de natură animată și neînsuflețită.

Unul dintre cele mai izbitoare exemple ale celor mai simple generatori de numere aleatoare sunt zarurile familiare, care sunt utilizate pe scară largă astăzi. În experimentele elementare și de antrenament, dependențele legii mișcării unui zar de mediul său, de condițiile inițiale și de factorul uman pot fi complet neglijate, astfel încât numărul de puncte de pe un zar poate fi considerat, cu unele rezerve, un zar. variabil. Zarurile au jucat un rol semnificativ în dezvoltarea teoriei probabilităților: în 1890, cercetătorul englez Francis Galton a propus o metodă de generare a numerelor aleatorii folosind zaruri.

Puțin mai complicat în dispozitiv este un alt generator de numere utilizat pe scară largă în viața de zi cu zi - toba loteriei. Acest dispozitiv este un tambur cu bile numerotate care sunt amestecate în interiorul său în timpul rotației. Domeniul principal de aplicare a tobelor de loterie este loteriile și loto. Este ușor de ghicit că lototronul nu este potrivit pentru utilizare în experimente științifice serioase din cauza gradului scăzut de aleatorie și a vitezei de funcționare.

Primul generator de numere aleatorii care vă permite să obțineți cantități mari de date și care este potrivit pentru rezolvarea problemelor aplicate a fost inventat în 1939. Maurice George Kendall și Bernard Babington-Smith au creat un dispozitiv care ar putea genera un tabel care conține 100.000 de numere aleatorii. Și doar 16 ani mai târziu, compania strategică americană RAND a îmbunătățit de 10 ori rezultatele academicienilor englezi - cu ajutorul unor mașini speciale, a fost creat un tabel cu un milion de numere aleatoare. Metoda tabelară pentru generarea numerelor aleatoare a primit o dezvoltare semnificativă datorită lui George Marsaglia, care a primit 650 MB de numere aleatoare în 1996. Cu toate acestea, din cauza îngustării domeniului de aplicare, această metodă nu este în prezent acceptată pe scară largă.

Mașinile care generează numere aleatoare în timp real au o serie de avantaje față de dispozitivele care creează tabele cu numere aleatorii. Una dintre primele astfel de mașini a fost computerul Ferranti Mark 1, care în 1951 includea un program care genera numere aleatorii bazate pe fluxul de zgomot de intrare al unui rezistor. Interesant, ideea creării unui astfel de program a fost marele matematician englez Alan Turing. De asemenea, inovatoare în domeniul generării numerelor aleatoare a fost invenția în 1957 a ERNIE (Echipamentul electronic de indicator al numărului aleatoriu), destinat inițial să genereze numere câștigătoare la loteria britanică.

Numerele pseudo-aleatorie

Invenția generatoarelor de numere aleatoare a accelerat, fără îndoială, foarte mult procesul științific și tehnologic. Cu toate acestea, aceste dispozitive au avut un dezavantaj extrem de important, care a limitat semnificativ posibilitatea aplicării lor. Deja la mijlocul secolului al XX-lea, matematicianul maghiar-american John von Neumann a remarcat nepotrivirea generatoarelor fizice de numere aleatoare în calcul, din cauza imposibilității repetării unui experiment aleator și, ca urmare, a imposibilității de a reproduce un număr aleator. pentru a testa funcționarea unei mașini. Așa se face că comunitatea științifică avea nevoie de numere pseudoaleatoare - numere care au o serie de proprietăți importante ale numerelor aleatoare, dar obținute nu ca urmare a unui experiment aleatoriu, ci pe baza unui algoritm. Însuși John von Neumann a devenit autorul metodei „mijlocul pătratului”, care vă permite să obțineți numere pseudoaleatoare din zece cifre la ieșire.

Principalul dezavantaj al numerelor pseudoaleatoare este, desigur, lipsa aleatoriei datelor, care este atât de importantă în multe domenii ale științei și ale vieții. În plus, toți generatorii de numere pseudoaleatoare au proprietatea de a bucla, adică de la un anumit moment de a repeta secvența numerelor de ieșire, mulți algoritmi sunt reversibile, iar unii chiar au o distribuție unidimensională inegală. Prin urmare, în prezent, acest domeniu atrage mulți cercetători care caută să dezvolte existente sau să creeze noi generatoare de numere pseudoaleatoare eficiente.

Fapte interesante

  • Potrivit unor istorici, primele încercări de a genera numere aleatorii datează din 3500 î.Hr. În mod ciudat, ele sunt conectate cu vechiul joc egiptean de masă „Senet”, care constă în mutarea jetoanelor în jurul tablei.
  • De multă vreme, rezultatele recensămintelor populației și ale altor tabele de date obținute experimental au servit drept surse de numere aleatorii pentru unele probleme practice reale.
  • O vulnerabilitate în algoritmii de generare a numerelor pseudoaleatoare a fost exploatată la începutul anilor 2010 de către fostul director de securitate al Asociației Multi-State Lottery. Intrusul avea acces la software-ul folosit pentru a determina numerele câștigătoare ale biletelor de loterie, cu ajutorul cărora putea determina combinațiile câștigătoare în câteva zile pe an. El a fost acuzat în 2015 după ce a câștigat 16,5 milioane de dolari.
  • Un generator de numere pseudoaleatoare instalat pe computerul de bord al unei nave spațiale Apollo a cauzat odată mișcarea acesteia să funcționeze defectuos și să devieze serios de la traiectoria prevăzută. După cum au descoperit oamenii de știință, datele de ieșire ale generatorului utilizat pentru a calcula vitezele unghiulare au căzut în semiplanul inferior în 80% din cazuri, ceea ce nu a îndeplinit absolut criteriile necesare pentru caracterul aleatoriu al rezultatelor generatorului.

Problema generării de numere aleatorii este în prezent una dintre cele mai relevante și promițătoare din comunitatea științifică. În același timp, acest subiect este mai ales interesant pentru oamenii care sunt departe de lumea științei. Familiarizați-vă cu cei mai faimoși algoritmi de generare a numerelor pseudoaleatoare și domeniile lor de utilizare.

Generator de numere aleatorii

Generator de numere aleatorii

În fiecare zi, milioane de oameni folosesc servicii online de generare de numere aleatorii, dar puțini oameni se gândesc la ce se află în spatele acestui proces. Cum funcționează generatoarele de numere aleatoare și aceste numere sunt aleatorii?

Cum se obțin numerele aleatoare

Cele mai cunoscute exemple de experimente cu rezultate aleatorii care pot fi interpretate ca numere aleatorii sunt aruncarea familiară a unei monede sau a zarurilor, amestecarea cărților sau tragerea unei cărți dintr-un pachet amestecat. Oamenii folosesc aceste tehnici în viața de zi cu zi de secole, dar, evident, astfel de metode nu sunt potrivite pentru a genera matrice mari.

Primele încercări de sistematizare a procesului de generare a numerelor aleatoare au condus la crearea unor algoritmi pentru completarea tabelelor cu numere aleatorii. Cu toate acestea, domeniul de aplicare a unor astfel de tabele este destul de restrâns, astfel încât tabelele cu numere aleatorii au fost în curând înlocuite de mașini care generează numere aleatoare în timp real și sunt utilizate pe scară largă astăzi.

Generatoare de numere aleatoare și pseudoaleatoare

Puțini oameni știu, dar majoritatea dispozitivelor moderne generează efectiv numere pseudoaleatoare. Acesta este numele șirurilor de numere ale căror proprietăți sunt în multe privințe similare cu cele aleatorii, dar mecanismul de construcție a acestora este semnificativ diferit. Adevărații generatori de numere aleatoare folosesc în activitatea lor rezultatele unor procese fizice aleatorii minuscule, cum ar fi zgomotul termic și de împușcare, efectul fotoelectric sau unele fenomene cuantice. Secvența de ieșire a unui astfel de generator nu poate fi prezisă, ceea ce este principalul avantaj al generatoarelor de numere aleatoare față de cele pseudoaleatoare. Această proprietate a numerelor aleatoare este cea mai importantă în domeniile în care sunt necesare confidențialitatea și securitatea datelor, cum ar fi criptografia.

Spre deosebire de numerele aleatoare adevărate, secvențele de numere pseudoaleatoare sunt generate pe baza unor algoritmi, deci sunt previzibile și fixe. Rezultatele generatorului de numere pseudo-aleatoare pot fi îmbunătățite prin introducerea unor parametri în sistem care complică dependențele dintre numere, totuși, toate generatoarele de numere pseudo-aleatoare existente în prezent, mai devreme sau mai târziu, buclă și, prin urmare, nu sunt capabile să producă cu adevărat. numere aleatorii.

Cu siguranță, din cauza complexității ridicate a dispozitivului și a costului generatoarelor de numere aleatoare, oamenii de știință acordă în prezent multă atenție găsirii și optimizării celor mai eficienți algoritmi pentru generarea de numere pseudoaleatoare. S-au inventat chiar și „Cryptographically Strong Pseudo-Random Number Generators” (CSPRNGS), care sunt utilizați în domeniile criptării și asigurării integrității informațiilor transmise.

Unde sunt folosite numere aleatoare și pseudoaleatoare

Generatoarele de numere aleatorii sunt o parte integrantă a majorității software-ului sistemului de operare. În plus, sunt indispensabile pentru teste statistice și simulări numerice. Generatoarele de numere aleatorii sunt folosite și în crearea de jocuri complexe pe computer și pot extinde semnificativ capacitățile inteligenței artificiale, una dintre cele mai promițătoare tehnologii ale acestui deceniu. Desigur, numerele aleatoare sunt utilizate pe scară largă la loterie, concursuri și extrageri.

Generarea de numere aleatorii este un proces care necesită timp și, în multe privințe, misterios, dar de aceea este și mai interesant. Aprofundați acest subiect și asigurați-vă că descoperiți ceva nou pentru dvs..