Jak działa losowość od fizyki do generatorów liczb
Inne

Jak działa losowość od fizyki do generatorów liczb

Losowość pod mikroskopem nauka o kości, karcie i algorytmie

 

Jak działa losowość od fizyki do generatorów liczb
Jak działa losowość od fizyki do generatorów liczb

 

Losowość nie zaczyna się od komputera, tylko od prostych rzeczy. Rzut sześcienną kostką ma sześć wyników, każdy z jednakową szansą. W potasowanej talii 52 karty mogą ułożyć się na niewyobrażalnie wiele sposobów.

W obu sytuacjach nikt nie zna wyniku z góry. Decyduje drobne drżenie ręki, siła rzutu, tarcie stołu. Fizyczny świat dostarcza entropii, czyli nieuporządkowania, z którego rodzi się los. Dopiero później matematyka i komputery próbują ten chaos opisać i odtworzyć.

Gdzie losowość spotyka cyfrową rozrywkę

Dziś te same idee stoją za generatorami liczb w grach, aplikacjach losujących, a także w sektorze rozrywki online. Zanim ktoś zaufa algorytmom w wirtualnych grach losowych, rozsądnie jest sprawdzić, jak dana platforma podchodzi do bezpieczeństwa i przejrzystości. Dlatego wiele osób przed wyborem serwisu najpierw zagląda na polskakasyno.com, żeby zobaczyć rzetelne opisy mechaniki i używanych generatorów.

Dzięki temu łatwiej odróżnić marketingowe hasła od konkretnych informacji. Świadomość, czy dana usługa korzysta z certyfikowanych generatorów, staje się równie ważna jak wygląd strony czy wysokość bonusu.

TRNG czyli los z fizyki

Prawdziwe generatory losowe TRNG korzystają z procesów, które trudno przewidzieć nawet przy dokładnych pomiarach. Może to być szum termiczny w układach elektronicznych, małe fluktuacje napięcia, czas między fotonami padającymi na czujnik.

Urządzenie mierzy taki sygnał, zamienia go na zera i jedynki, a następnie „czyści” statystycznie. Dzięki temu powstaje strumień bitów, którego nie da się odtworzyć, nawet znając konstrukcję sprzętu. To komputerowy odpowiednik kości rzucanej w idealnie losowy sposób, tylko że bez stołu i dłoni.

Czytaj  Jak wielu jest adwokatów w Tarnowskich Górach

TRNG są stosowane tam, gdzie stawką jest bezpieczeństwo. W kryptografii potrzebne są klucze, których nie odgadnie nawet superkomputer. Sprzętowe źródło entropii daje fundament, na którym dopiero buduje się dalsze algorytmy.

PRNG liczby z przepisu

Większość zwykłych aplikacji używa jednak generatorów pseudolosowych PRNG. To fragment kodu, który przyjmuje wartość startową, tzw. seed, a potem wylicza kolejne liczby według ścisłej formuły. Bez ziarna nie ma ciągu.

Typowe źródła ziarna w programach wyglądają bardzo przyziemnie:

  • Aktualny czas systemowy do milisekundy.

  • Liczba kliknięć myszą lub naciśnięć klawiszy w danej chwili.

  • Dane z czujników, na przykład ruchu urządzenia mobilnego.

Z tych danych powstaje liczba początkowa, która potem przechodzi przez wzór, często z użyciem funkcji modulo. Gdy programista liczy X mod Y, interesuje go reszta z dzielenia, tak jak opisuje to artykuł w Komputer Świat. W podanym przykładzie reszta wynosi kolejno 2, 3 i 7, a sam generator produkuje wewnętrzne stany, które dopiero później zamienia się na liczby widoczne dla użytkownika.

Z definicji generator liczb losowych to program lub układ elektroniczny, który tworzy losowy ciąg elementów binarnych o określonych własnościach statystycznych. Taki ciąg powinien być stacjonarny i ergodyczny, co w praktyce oznacza, że rozkład wyników wygląda podobnie niezależnie od momentu, w którym „patrzymy” na strumień.

PRNG nigdy nie jest naprawdę przypadkowy, bo ten sam seed da zawsze ten sam ciąg. Z punktu widzenia gracza albo użytkownika aplikacji często wystarczy jednak, że wzór jest wystarczająco długi, a powtarzanie praktycznie niewidoczne.

Testy, które odróżniają chaos od wzoru

Czy da się sprawdzić, czy liczby są „wystarczająco losowe”? Statycy odpowiadają na to całkiem konkretnie. Stosuje się zestawy testów, które polują na wzory.

Najczęściej używa się kilku prostych badań naraz:

  • Test częstości sprawdza, czy każde wyjście pojawia się zbliżoną liczbę razy.

  • Test serii ogląda, jak często pojawiają się ciągi tych samych bitów.

  • Analiza korelacji szuka zależności między kolejnymi wartościami.

Czytaj  Zezwolenie na pracę w Polsce: jak uniknąć odrzucenia wniosku?

Jeśli generator obleje takie testy, może nadawać się do prostych zadań, ale nie do poważnych zastosowań. Projektanci systemów wiedzą, że słaby RNG otwiera drogę do przewidywania wyników, a więc i do nadużyć. Dlatego sprzętowe i programowe generatory są regularnie sprawdzane, a ich implementacje aktualizowane.

Kość na stole, potasowana talia i linijka kodu robią więc w gruncie rzeczy to samo. Tworzą niepewność. Różnica polega na tym, że w świecie algorytmów tę niepewność trzeba zmierzyć, udokumentować i udowodnić liczbami, a nie tylko intuicją.

Polecane wpisy
Łóżko – czym się kierować przy jego wyborze?
Łóżko – czym się kierować przy jego wyborze?

Sypialnia to bardzo ważne miejsce w każdym domu. Kojarzy się z odpoczynkiem i snem, stanowi miejsce regeneracji po ciężkim dniu. Czytaj dalej

Na jakie kursy zawodowe warto zwrócić uwagę?
Na jakie kursy zawodowe warto zwrócić uwagę?

Kursy zawodowe to dobry sposób, aby zdobyć nową wiedzę i podnieść swoje kompetencje. Kursy przydają się w codziennej pracy, dzięki Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.