Generator liczb losowych

Dodaj na stronę Metainformacja

Inne narzędzia

Generator liczb

Generator liczb

Postęp naukowy i technologiczny XX wieku wiele zawdzięcza rozwojowi teorii prawdopodobieństwa i stworzeniu generatorów liczb losowych.

Liczby losowe to liczby, które można interpretować jako wyniki implementacji jakiejś zmiennej losowej - podstawowe pojęcie teorii prawdopodobieństwa. Pojęcie losowości w tym kontekście implikuje nieprzewidywalność wartości danej wielkości przed rozpoczęciem eksperymentu.

Historia liczb losowych

Potrzeba używania liczb losowych przez ludzkość pojawiła się na długo przed wynalezieniem przez naukowców urządzeń pozwalających na uzyskiwanie losowych tablic. Przez długi czas ludzie używali improwizowanych środków do generowania losowych liczb, w tym obiektów natury ożywionej i nieożywionej.

Jednym z najbardziej uderzających przykładów najprostszych generatorów liczb losowych są dobrze znane kości, które są dziś szeroko stosowane. W eksperymentach elementarnych i uczących można całkowicie pominąć zależności prawa ruchu kostki od jej otoczenia, warunków początkowych i czynnika ludzkiego, tak więc liczbę oczek na kostce można, z pewnymi zastrzeżeniami, uznać za przypadkową zmienny. Kości odegrały znaczącą rolę w rozwoju teorii prawdopodobieństwa: w 1890 roku angielski badacz Francis Galton zaproponował metodę generowania liczb losowych za pomocą kości.

Nieco bardziej skomplikowany w urządzeniu jest inny generator liczb szeroko stosowany w życiu codziennym - bęben loterii. To urządzenie to bęben z ponumerowanymi kulkami, które mieszają się w nim podczas obracania. Głównym obszarem zastosowania bębnów loteryjnych są loterie i lotto. Łatwo się domyślić, że lototron nie nadaje się do poważnych eksperymentów naukowych ze względu na niski stopień losowości i szybkość działania.

Pierwszy generator liczb losowych, który pozwala uzyskać duże ilości danych i nadaje się do rozwiązywania problemów aplikacyjnych, został wynaleziony w 1939 roku. Maurice George Kendall i Bernard Babington-Smith stworzyli urządzenie, które mogło wygenerować tabelę zawierającą 100 000 liczb losowych. A zaledwie 16 lat później amerykańska firma strategiczna RAND 10 razy poprawiła wyniki angielskich akademików – przy pomocy specjalnych maszyn powstała tablica miliona liczb losowych. Metoda tabelaryczna generowania liczb losowych znacznie się rozwinęła dzięki George'owi Marsaglia, który otrzymał 650 MB liczb losowych w 1996 roku. Jednak ze względu na wąski zakres ta metoda nie jest obecnie powszechnie akceptowana.

Maszyny generujące liczby losowe w czasie rzeczywistym mają szereg zalet w porównaniu z urządzeniami tworzącymi tablice liczb losowych. Jedną z pierwszych takich maszyn był komputer Ferranti Mark 1, który w 1951 roku zawierał program generujący liczby losowe na podstawie wejściowego strumienia szumów rezystora. Co ciekawe, pomysłodawcą stworzenia takiego programu był wielki angielski matematyk Alan Turing. Innowacją w dziedzinie generowania liczb losowych było również wynalezienie w 1957 r. urządzenia ERNIE (Electronic Random Number Indicator Equipment), pierwotnie przeznaczonego do generowania zwycięskich liczb w brytyjskiej loterii.

Liczby pseudolosowe

Wynalezienie generatorów liczb losowych niewątpliwie znacznie przyspieszyło proces naukowy i technologiczny. Urządzenia te miały jednak krytycznie istotną wadę, która znacznie ograniczała możliwość ich zastosowania. Już w połowie XX wieku węgiersko-amerykański matematyk John von Neumann zwrócił uwagę na nieprzydatność fizycznych generatorów liczb losowych w obliczeniach, ze względu na niemożność powtórzenia losowego eksperymentu, aw rezultacie niemożność odtworzenia liczby losowej przetestować działanie maszyny. W ten sposób środowisko naukowe potrzebowało liczb pseudolosowych - liczb, które posiadają szereg ważnych właściwości liczb losowych, ale uzyskanych nie w wyniku losowego eksperymentu, ale na podstawie jakiegoś algorytmu. Sam John von Neumann został autorem metody „środka kwadratu”, która pozwala uzyskać na wyjściu dziesięciocyfrowe liczby pseudolosowe.

Główną wadą liczb pseudolosowych jest oczywiście brak losowości danych, tak ważnej w wielu dziedzinach nauki i życia. Ponadto wszystkie generatory liczb pseudolosowych mają właściwość zapętlania, to znaczy powtarzania sekwencji liczb wyjściowych od określonego momentu, wiele algorytmów jest odwracalnych, a niektóre mają nawet nierówny rozkład jednowymiarowy. Dlatego obecnie obszar ten przyciąga wielu badaczy, którzy starają się rozwijać istniejące lub tworzyć nowe wydajne generatory liczb pseudolosowych.

Ciekawe fakty

  • Według niektórych historyków pierwsze próby generowania liczb losowych sięgają 3500 pne. Co dziwne, są one związane ze starożytną egipską grą planszową „Senet”, która polega na przesuwaniu żetonów po planszy.
  • Przez długi czas wyniki spisów ludności i inne tabele danych uzyskane eksperymentalnie służyły jako źródło liczb losowych dla niektórych rzeczywistych problemów praktycznych.
  • Luka w zabezpieczeniach algorytmów generowania liczb pseudolosowych została wykorzystana na początku 2010 roku przez byłego dyrektora bezpieczeństwa Multi-State Lottery Association. Intruz miał dostęp do oprogramowania służącego do określania zwycięskich numerów losów loterii, za pomocą którego mógł ustalać zwycięskie kombinacje przez kilka dni w roku. Został oskarżony w 2015 roku po wygraniu 16,5 miliona dolarów.
  • Generator liczb pseudolosowych zainstalowany na komputerze pokładowym jednego ze statków kosmicznych Apollo spowodował kiedyś awarię jego ruchu i poważne odchylenie od zamierzonej trajektorii. Jak ustalili naukowcy, dane wyjściowe generatora użyte do obliczenia prędkości kątowych w 80% przypadków wypadły na dolną półpłaszczyznę, co absolutnie nie spełniało wymaganych kryteriów losowości wyników generatora.

Problem generowania liczb losowych jest obecnie jednym z najbardziej istotnych i obiecujących w środowisku naukowym. Jednocześnie temat ten jest szczególnie interesujący dla osób, które są daleko od świata nauki. Zapoznaj się z najsłynniejszymi algorytmami generowania liczb pseudolosowych i obszarami ich zastosowania.

Generator liczb losowych

Generator liczb losowych

Każdego dnia miliony ludzi korzystają z internetowych usług generowania liczb losowych, ale niewiele osób zastanawia się, co kryje się za tym procesem. Jak działają generatory liczb losowych i czy te liczby w ogóle są losowe?

Jak uzyskuje się liczby losowe

Najbardziej znanymi przykładami eksperymentów z przypadkowymi wynikami, które można zinterpretować jako liczby losowe, są znajome rzuty monetą lub kostką, tasowanie kart lub dobieranie karty z przetasowanej talii. Ludzie używają tych technik w życiu codziennym od wieków, ale oczywiście takie metody nie nadają się do generowania dużych tablic.

Pierwsze próby usystematyzowania procesu generowania liczb losowych doprowadziły do ​​powstania algorytmów wypełniania tabel liczbami losowymi. Jednak zakres zastosowania takich tablic jest raczej wąski, dlatego tablice liczb losowych zostały wkrótce wyparte przez maszyny generujące liczby losowe w czasie rzeczywistym i są dziś powszechnie stosowane.

Generatory liczb losowych i pseudolosowych

Niewielu ludzi wie, ale większość nowoczesnych urządzeń faktycznie generuje liczby pseudolosowe. Tak nazywają się ciągi liczb, których właściwości są pod wieloma względami podobne do losowych, ale mechanizm ich budowy jest znacząco inny. Prawdziwe generatory liczb losowych wykorzystują w swojej pracy wyniki drobnych losowych procesów fizycznych, takich jak szum termiczny i strzałowy, efekt fotoelektryczny lub niektóre zjawiska kwantowe. Nie można przewidzieć sekwencji wyjściowej takiego generatora, co jest główną przewagą generatorów liczb losowych nad pseudolosowymi. Ta właściwość liczb losowych jest najważniejsza w obszarach, w których wymagana jest prywatność i bezpieczeństwo danych, takich jak kryptografia.

W przeciwieństwie do prawdziwych liczb losowych, sekwencje liczb pseudolosowych są generowane na podstawie pewnego algorytmu, dzięki czemu są przewidywalne i stałe. Wyniki generatora liczb pseudolosowych można poprawić, wprowadzając do systemu pewne parametry, które komplikują zależności między liczbami, jednak wszystkie obecnie istniejące generatory liczb pseudolosowych prędzej czy później zapętlają się i dlatego nie są w stanie wytworzyć prawdziwie liczby losowe.

Oczywiście, ze względu na dużą złożoność urządzenia i koszt generatorów liczb losowych, naukowcy przykładają obecnie dużą wagę do znalezienia i optymalizacji najbardziej wydajnych algorytmów generowania liczb pseudolosowych. Wynaleziono nawet „silne kryptograficznie generatory liczb pseudolosowych” (CSPRNGS), które są wykorzystywane w obszarach szyfrowania i zapewniania integralności przesyłanych informacji.

Gdzie używane są liczby losowe i pseudolosowe

Generatory liczb losowych są integralną częścią większości programów systemów operacyjnych. Ponadto są niezastąpione w testach statystycznych i symulacjach numerycznych. Generatory liczb losowych są również wykorzystywane przy tworzeniu złożonych gier komputerowych i mogą znacznie rozszerzyć możliwości sztucznej inteligencji, jednej z najbardziej obiecujących technologii tej dekady. Oczywiście liczby losowe są szeroko stosowane w loteriach, konkursach i losowaniach.

Generowanie liczb losowych to czasochłonny i pod wieloma względami tajemniczy proces, ale właśnie dlatego jest jeszcze bardziej interesujący. Zagłęb się w ten temat i upewnij się, że odkryjesz coś nowego dla siebie.