Generator liczb losowych
Generuj losowe liczby w określonym zakresie.
Wprowadź swój zakres
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
- Generuj numery w dowolnym zakresie
- Prawdziwe generowanie liczb losowych
- Wyniki natychmiastowe
- Łatwy w użyciu interfejs