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.