Generator liczb losowych

Generuj losowe liczby w określonym zakresie.

Generator

Wprowadź swój zakres

O

Losowe wytwarzanie liczb

To narzędzie generuje naprawdę losowe liczby w określonym zakresie. Liczby są generowane za pomocą losowego modułu Pythona, który wykorzystuje algorytm Mersenne Twister do generowania liczb losowych.

Zrozumienie liczby losowej

Losowe generowanie liczb jest podstawową koncepcją w informatyce z aplikacjami od kryptografii i bezpieczeństwa do statystycznego pobierania próbek, symulacji i gier. Istnieją dwa główne rodzaje generatorów liczb losowych:

Prawdziwe generatory liczb losowych (TRNGs)

TRNG czerpią losowość z procesów fizycznych, które są z natury nieprzewidywalne, takich jak:

  • Hałas atmosferyczny lub hałas tła radiowego
  • Zjawiska kwantowe (jak rozpraszanie fotonów)
  • Hałas termiczny w obwodach elektronicznych
  • Różnice sprzętowe i rozbieżności w czasie

Chociaż naprawdę losowe, TRNG są zazwyczaj wolniejsze i mniej praktyczne dla większości zastosowań wymagających dużych ilości liczb losowych.

Pseudo- Losowe generatory liczb (PRNG)

PNG używają algorytmów deterministycznych do generowania sekwencji liczb, które wydają się przypadkowe. Kluczowe cechy obejmują:

  • Initialize with a "seed" value that determines the entire sequence
  • Szybkie i efektywne generowanie dużych ilości liczb
  • Wyprodukuj powtarzalne sekwencje (przydatne do testowania)
  • Posiadaj okresy, po których sekwencja się powtarza

Wspólne PRNG Algorytmy

Mersenne Twister

Jest to jeden z najczęściej używanych dziś PRNG i zasila nasz generator liczb losowych. Posiada:

  • Wyjątkowo długi okres 219937-1 (około 4, 3 × 106001)
  • Szybkie generowanie wysokiej jakości liczb losowych
  • Dobre właściwości statystyczne - przechodzi liczne testy losowości
  • Standard w wielu językach programowania, w tym Python

Liniowy generator kongregacji

Jeden z najstarszych i najprostszych PRNG, zdefiniowanych przez relację powtarzania: Xn+1= (aXn+ c) mod m

Podczas gdy generatory te są proste i szybkie, mają ograniczenia, w tym krótsze okresy i potencjalną korelację między kolejnymi wartościami.

Badanie losowości

Do weryfikacji jakości generatorów liczb losowych stosuje się różne testy statystyczne:

  • Badania częstotliwości - weryfikacja jednolitego rozkładu wartości
  • Badania seryjne - pary kontrolne lub grupy kolejnych wartości
  • Testy gap - analizują przestrzenie pomiędzy podobnymi wartościami
  • Kompleksowe apartamenty testowe, takie jak DIEHARD i NIST są standardami branżowymi

Zastosowanie liczb losowych

Losowe numery są niezbędne w wielu dziedzinach:

  • Kryptografia - do generowania kluczy szyfrujących i żetonów bezpieczeństwa
  • Pobieranie próbek i badania statystyczne
  • Symulacje komputerowe i modelowanie
  • Aplikacje do gier i gier hazardowych
  • Zrandomizowane algorytmy
  • Symulacja zjawisk naturalnych
Cechy:
  • Generuj numery w dowolnym zakresie
  • Prawdziwe generowanie liczb losowych
  • Wyniki natychmiastowe
  • Łatwy w użyciu interfejs