Losowy regenerator. Generator liczb losowych Excel w funkcjach i analizie danych

Generator liczb online to wygodne narzędzie, które pozwala uzyskać wymagana ilość liczby o danej głębokości bitowej i najszerszym zakresie. Nasz generator liczb losowych ma wiele zastosowań! Na przykład możesz zorganizować konkurs na VKontakte i narysować tam misia w grupie rowerzystów na ripostę :)) Będzie nam również bardzo pochlebnie, jeśli za jego pomocą zdecydujesz się określić zwycięską liczbę w dowolnym loterii lub zdecyduj, na jaki numer postawić w kasynie. Mamy nadzieję, że ktoś znajdzie swoje szczęśliwy numer online z nami!

Losowy zakres liczb:

Ilość:

Wyeliminować powtórzenia?

Generuj liczby

Pomóż nam się rozwijać: Powiedz znajomym o generatorze!

Losowe | losowa liczba online za pomocą 1 kliknięcia

Liczby otaczają nas od urodzenia i odgrywają ważną rolę w życiu. Dla wielu osób sama praca wiąże się z liczbami, niektórzy polegają na szczęściu, wypełnianiu liczb losy na loterię, a ktoś nadaje im całkowicie mistyczne znaczenie. Tak czy inaczej, czasami nie możemy obejść się bez użycia programu takiego jak generator liczb losowych.

Na przykład musisz zorganizować losowanie nagród wśród subskrybentów swojej grupy. Nasz internetowy generator liczb losowych pomoże Ci szybko i uczciwie wybrać zwycięzców. Wystarczy np. ustawić wymaganą liczbę liczb losowych (na podstawie liczby zwycięzców) i maksymalny zakres (na podstawie liczby uczestników, jeśli są im przypisane liczby). Oszustwo w tym przypadku jest całkowicie wykluczone.

Program ten może również służyć jako generator liczb losowych dla lotto. Na przykład kupiłeś bilet i chcesz całkowicie zdać się na przypadek i szczęście w wyborze liczb. Następnie nasz randomizator liczb pomoże Ci wypełnić kupon na loterię.

Jak wygenerować liczbę losową: instrukcje

Program liczb losowych Działa to bardzo prosto. Nie musisz nawet pobierać go na swój komputer – wszystko odbywa się w oknie przeglądarki, w której otwarta jest ta strona. Liczby losowe generowane są zgodnie z określoną liczbą liczb i ich zakresem - od 0 do 999999999. Aby wygenerować liczbę online należy:

  1. Wybierz zakres, w którym chcesz uzyskać wynik. Być może chcesz obciąć liczby do 10 lub, powiedzmy, 10 000;
  2. Wyeliminuj powtórzenia - wybierając ten element, wymusisz randomizator liczb oferować Ci tylko unikalne kombinacje w określonym zakresie;
  3. Wybierz liczbę cyfr – od 1 do 99999;
  4. Kliknij przycisk „Generuj liczby”.

Nieważne, ile liczb chciałbyś w rezultacie uzyskać, generator liczby pierwsze wyświetli od razu cały wynik i możesz go zobaczyć na tej stronie przewijając pole z liczbami za pomocą myszki lub touchpada.

Teraz możesz korzystać z gotowych numerów tak, jak potrzebujesz. Z pola liczbowego możesz skopiować wynik i opublikować go w grupie lub wysłać pocztą. Aby wynik nie budził żadnych wątpliwości, zrób zrzut ekranu tej strony, na którym będą wyraźnie widoczne parametry randomizera liczbowego oraz wyniki działania programu. Nie ma możliwości zmiany liczb w polu, zatem wykluczona jest możliwość manipulacji. Mamy nadzieję, że nasza strona internetowa i generator liczb losowych Ci pomogły.

Itp. i jest używany przez właścicieli kont w celu przyciągnięcia nowych odbiorców do społeczności.

Wynik takich losowań często zależy od szczęścia użytkownika, ponieważ odbiorca nagrody jest wybierany losowo.

Aby to ustalić, organizatorzy loterii prawie zawsze korzystają z internetowego lub preinstalowanego generatora liczb losowych, który jest dystrybuowany bezpłatnie.

Wybór

Dość często wybór takiego generatora może być trudny, ponieważ ich funkcjonalność jest zupełnie inna - dla niektórych jest znacznie ograniczona, dla innych dość szeroka.

Wdraża się dość dużą liczbę takich usług, ale trudność polega na tym, że różnią się one zakresem.

Wiele z nich jest na przykład powiązanych swoją funkcjonalnością z pewnym sieć społecznościowa(na przykład wiele aplikacji generatorów działa tylko z linkami z tej).

Najprostsze generatory po prostu losowo wyznaczają liczbę z zadanego zakresu.

Jest to wygodne, ponieważ nie wiąże wyniku z konkretnym postem, co oznacza, że ​​można go wykorzystać do loterii poza siecią społecznościową i w różnych innych sytuacjach.

W zasadzie nie mają innego zastosowania.

Rada! Przy wyborze najbardziej odpowiedni generator ważne jest, aby rozważyć, do jakich celów będzie używany.

Dane techniczne

Aby przyspieszyć proces wyboru optymalnej usługi online do generowania liczb losowych, poniższa tabela przedstawia główne parametry techniczne i funkcjonalność takich aplikacji.

Tabela 1. Cechy działania aplikacji on-line do generowania liczby losowej
Nazwa Sieć społecznościowa Wiele wyników Wybierz z listy numerów Widżet online dla witryny Wybierz z zakresu Wyłączenie powtórzeń
RandStuff Tak Tak NIE Tak NIE
Rzucaj losy Oficjalna strona internetowa lub VKontakte NIE NIE Tak Tak Tak
Losowa liczba Oficjalna strona internetowa NIE NIE NIE Tak Tak
Losowy Oficjalna strona internetowa Tak NIE NIE Tak NIE
Liczby losowe Oficjalna strona internetowa Tak NIE NIE NIE NIE

Wszystkie zastosowania omówione w tabeli opisano bardziej szczegółowo poniżej.

RandStuff

Możesz korzystać z tej aplikacji online, klikając link do jej oficjalnej strony internetowej http://randstuff.ru/number/.

To prosty generator liczb losowych, charakteryzuje się szybką i stabilną pracą.

Jest z powodzeniem wdrażany zarówno w formie osobnej, samodzielnej aplikacji na oficjalnej stronie internetowej, jak i jako aplikacja w formacie .

Osobliwością tej usługi jest to, że może wybrać losową liczbę zarówno z określonego zakresu, jak i z określonej listy liczb, którą można określić na stronie.

  • Stabilna i szybka praca;
  • Brak bezpośredniego połączenia z siecią społecznościową;
  • Możesz wybrać jeden lub kilka numerów;
  • Możesz wybierać tylko spośród określonych numerów.

Recenzje użytkowników tej aplikacji są następujące: „Za pośrednictwem tej usługi ustalamy zwycięzców w grupach VKontakte. Dziękuję”, „Jesteś najlepszy”, „Korzystam tylko z tej usługi”.

Rzucaj losy

Ta aplikacja jest prostym generatorem funkcji, zaimplementowanym na oficjalnej stronie internetowej w formie aplikacji VKontakte.

Dostępny jest także widget generatora, który można umieścić na swojej stronie internetowej.

Główną różnicą w porównaniu z poprzednio opisaną aplikacją jest to, że pozwala ona wyłączyć powtarzanie wyniku.


Należy zauważyć, że w idealnym przypadku krzywa gęstości rozkładu liczb losowych wyglądałaby tak, jak pokazano na ryc. 22.3. Oznacza to, że w idealnym przypadku każdy przedział zawiera tę samą liczbę punktów: N I = N/k , Gdzie N — całkowita liczba zwrotnica, k liczba interwałów, I= 1, , k .

Ryż. 22.3. Wykres częstotliwości liczb losowych,
generowane teoretycznie przez generator idealny

Należy pamiętać, że generowanie dowolnej liczby losowej składa się z dwóch etapów:

  • generowanie znormalizowanej liczby losowej (to znaczy równomiernie rozłożonej od 0 do 1);
  • znormalizowana konwersja liczb losowych R I do liczb losowych X I, które są dystrybuowane zgodnie z (arbitralnym) prawem dystrybucji wymaganym przez użytkownika lub w wymaganym odstępie czasu.

Generatory liczb losowych ze względu na sposób uzyskiwania liczb dzielą się na:

  • fizyczny;
  • tabelaryczny;
  • algorytmiczne.

Fizyczne RNG

Przykładem fizycznego RNG może być: moneta („reszka” 1, „reszka” 0); kostka do gry; bęben ze strzałką podzielony na sektory z liczbami; sprzętowy generator szumu (HS), który wykorzystuje hałaśliwe urządzenie termiczne, na przykład tranzystor (ryc. 22.422.5).

Ryż. 22.4. Schemat sprzętowej metody generowania liczb losowych
Ryż. 22,5. Schemat otrzymywania liczb losowych metodą sprzętową
Zadanie „Generowanie liczb losowych za pomocą monety”

Wygeneruj losową trzycyfrową liczbę o równomiernym rozkładzie w zakresie od 0 do 1 za pomocą monety. Dokładność do trzech miejsc po przecinku.

Pierwszy sposób na rozwiązanie problemu
Rzuć monetą 9 razy i jeśli moneta wyląduje na orle, wpisz „0”; jeśli wyląduje na orle, wpisz „1”. Załóżmy więc, że w wyniku eksperymentu otrzymaliśmy losową sekwencję 100110100.

Narysuj przedział od 0 do 1. Czytając liczby po kolei od lewej do prawej, podziel przedział na pół i za każdym razem wybierz jedną z części kolejnego przedziału (jeśli wypadnie 0, to lewą, jeśli 1 jest rozwijany, potem prawy). W ten sposób możesz dotrzeć do dowolnego punktu interwału tak dokładnie, jak chcesz.

Więc, 1 : przedział jest dzielony na pół i , wybierana jest prawa połowa, przedział jest zawężany: . Następny numer 0 : przedział jest dzielony na pół i wybierana jest lewa połowa, przedział jest zawężany: . Następny numer 0 : przedział jest dzielony na pół i wybierana jest lewa połowa, przedział jest zawężany: . Następny numer 1 : przedział jest dzielony na pół i , wybierana jest prawa połowa, przedział jest zawężany: .

Zgodnie z warunkiem dokładności problemu znaleziono rozwiązanie: jest to dowolna liczba z przedziału, na przykład 0,625.

W zasadzie, jeśli przyjmiemy podejście ścisłe, wówczas dzielenie przedziałów należy kontynuować aż do lewej i prawej granicy znalezionego przedziału POJEDYNCZO z dokładnością do trzeciego miejsca po przecinku. Oznacza to, że z punktu widzenia dokładności wygenerowana liczba nie będzie już odróżnialna od żadnej liczby z przedziału, w którym się znajduje.

Drugi sposób rozwiązania problemu
Podzielmy wynikowy ciąg binarny 100110100 na triady: 100, 110, 100. Po przekształceniu tych liczb binarnych na liczby dziesiętne otrzymamy: 4, 6, 4. Podstawiając „0” z przodu otrzymamy: 0,464. Metodą tą można uzyskać tylko liczby od 0,000 do 0,777 (ponieważ maksimum, które można „wycisnąć” z trzech cyfr binarnych to 111 2 = 7 8), co oznacza, że ​​​​liczby te są w rzeczywistości reprezentowane w systemie liczb ósemkowych. Do tłumaczenia ósemkowy numery w dziesiętny wykonajmy reprezentację:
0,464 8 = 4 8 1 + 6 8 2 + 4 8 3 = 0,6015625 10 = 0,602 10.
Zatem wymagana liczba to: 0,602.

Tabelaryczny RNG

Tabelaryczne RNG wykorzystują specjalnie opracowane tabele zawierające zweryfikowane nieskorelowane, czyli w żaden sposób od siebie zależne, liczby jako źródło liczb losowych. W tabeli Rysunek 22.1 pokazuje mały fragment takiej tabeli. Przemierzając tabelę od lewej do prawej, od góry do dołu, możesz otrzymać losowe liczby równomiernie rozłożone od 0 do 1 z wymaganą liczbą miejsc po przecinku (w naszym przykładzie dla każdej liczby używamy trzech miejsc po przecinku). Ponieważ liczby w tabeli nie są od siebie zależne, tabelę można przeglądać na różne sposoby, na przykład od góry do dołu lub od prawej do lewej, lub, powiedzmy, możesz wybrać liczby, które znajdują się na parzystych pozycjach.

Tabela 22.1.
Liczby losowe. Równomiernie
liczby losowe rozdzielone od 0 do 1
Liczby losowe Równomiernie rozłożone
Liczby losowe od 0 do 1
9 2 9 2 0 4 2 6 0.929
9 5 7 3 4 9 0 3 0.204
5 9 1 6 6 5 7 6 0.269
… …

Zaletą tej metody jest to, że generuje ona liczby prawdziwie losowe, ponieważ w tabeli znajdują się zweryfikowane, nieskorelowane liczby. Wady tej metody: do przechowywania duża ilość liczby wymagają dużo pamięci; Generowanie i sprawdzanie takich tabel wiąże się z dużymi trudnościami; przy korzystaniu z tabeli nie gwarantuje się już losowości sekwencja liczb, a co za tym idzie, wiarygodność wyniku.

Istnieje tabela zawierająca 500 całkowicie losowo zweryfikowanych liczb (zaczerpnięta z książki I. G. Venetsky'ego, V. I. Venetskaya „Podstawowe pojęcia i wzory matematyczne i statystyczne w analizie ekonomicznej”).

Algorytmiczny RNG

Liczby generowane przez te RNG są zawsze pseudolosowe (lub quasi-losowe), to znaczy każda kolejna wygenerowana liczba zależy od poprzedniej:

R I + 1 = F(R I) .

Sekwencje złożone z takich liczb tworzą pętle, to znaczy koniecznie istnieje cykl, który powtarza się nieskończoną liczbę razy. Powtarzające się cykle nazywane są okresami.

Zaletą tych RNG jest ich prędkość; generatory nie wymagają praktycznie żadnych zasobów pamięci i są kompaktowe. Wady: liczb nie można w pełni nazwać losowymi, ponieważ istnieje między nimi zależność, a także obecność kropek w sekwencji liczb quasi-losowych.

Rozważmy kilka algorytmicznych metod uzyskiwania RNG:

  • metoda środkowych kwadratów;
  • metoda produktów średnich;
  • metoda mieszania;
  • liniowa metoda kongruencji.

Metoda środkowego kwadratu

Jest jakaś czterocyfrowa liczba R 0. Liczba ta jest podnoszona do kwadratu i wprowadzana R 1. Następny od R 1 bierze środkową (cztery środkowe cyfry) nową liczbę losową i zapisuje ją R 0. Następnie procedurę powtarza się (patrz ryc. 22.6). Zauważ, że tak naprawdę jako liczbę losową nie musisz brać ghij, A 0.ghj z zerem i kropką dziesiętną dodaną po lewej stronie. Fakt ten jest odzwierciedlony jak na ryc. 22,6 i na kolejnych podobnych rysunkach.

Ryż. 22.6. Schemat metody średnich kwadratów

Wady metody: 1) jeśli w jakiejś iteracji liczba R 0 staje się równe zero, wówczas generator ulega degeneracji, dlatego ważny jest prawidłowy wybór wartości początkowej R 0 ; 2) generator powtórzy sekwencję M N kroki (w najlepszy scenariusz), Gdzie N cyfra numeru R 0 , M podstawa systemu liczbowego.

Na przykład na ryc. 22,6: jeśli liczba R 0 będzie reprezentowane w systemie liczb binarnych, wówczas sekwencja liczb pseudolosowych zostanie powtórzona w 2 4 = 16 krokach. Należy pamiętać, że powtórzenie sekwencji może nastąpić wcześniej, jeśli numer startowy zostanie wybrany źle.

Opisana powyżej metoda została zaproponowana przez Johna von Neumanna i sięga 1946 roku. Ponieważ metoda ta okazała się zawodna, szybko ją porzucono.

Metoda środkowego produktu

Numer R 0 pomnożone przez R 1, z uzyskanego wyniku R 2 środek jest wyodrębniony R 2 * (jest to kolejna liczba losowa) i pomnożona przez R 1. Wszystkie kolejne liczby losowe są obliczane według tego schematu (patrz ryc. 22.7).

Ryż. 22,7. Schemat metody iloczynów medianowych

Metoda mieszania

Metoda shuffle wykorzystuje operacje do cyklicznego przesuwania zawartości komórki w lewo i w prawo. Idea metody jest następująca. Niech komórka przechowuje numer początkowy R 0. Przesuwając cyklicznie zawartość komórki w lewo o 1/4 długości komórki, otrzymujemy nową liczbę R 0 * . W ten sam sposób zmieniasz zawartość komórki R 0 w prawo o 1/4 długości komórki, otrzymujemy drugą liczbę R 0**. Suma liczb R 0* i R 0** daje nową liczbę losową R 1. Następny R Wpisano 1 R 0 i cała sekwencja operacji jest powtarzana (patrz ryc. 22.8).


Ryż. 22.8. Schemat metody mieszania

Należy pamiętać, że liczba wynikająca z sumowania R 0* i R 0**, może nie zmieścić się całkowicie w komórce R 1. W takim przypadku dodatkowe cyfry należy odrzucić z wynikowej liczby. Wyjaśnimy to na ryc. 22.8, gdzie wszystkie komórki są reprezentowane przez osiem cyfr binarnych. Pozwalać R 0 * = 10010001 2 = 145 10 , R 0 ** = 10100001 2 = 161 10 , Następnie R 0 * + R 0 ** = 100110010 2 = 306 10 . Jak widać liczba 306 zajmuje 9 cyfr (w systemie binarnym), a komórka R 1 (tak samo jak R 0) może zawierać maksymalnie 8 bitów. Dlatego przed wprowadzeniem wartości do R 1, należy usunąć jeden „dodatkowy”, skrajny lewy bit z liczby 306, w wyniku czego R 1 nie będzie już należeć do 306, ale do 00110010 2 = 50 10 . Należy również pamiętać, że w językach takich jak Pascal „przycinanie” dodatkowych bitów w przypadku przepełnienia komórki odbywa się automatycznie zgodnie z określonym typem zmiennej.

Liniowa metoda kongruencji

Liniowa metoda kongruencji jest jedną z najprostszych i najczęściej stosowanych obecnie procedur symulujących liczby losowe. Ta metoda wykorzystuje mod ( X, y) , która zwraca resztę z dzielenia pierwszego argumentu przez drugi. Każda kolejna liczba losowa jest obliczana na podstawie poprzedniej liczby losowej według następującego wzoru:

R I+ 1 = mod( k · R I + B, M) .

Nazywa się ciąg liczb losowych uzyskany za pomocą tego wzoru liniowa sekwencja zgodna. Wielu autorów nazywa liniową sekwencję przystającą kiedy B = 0 multiplikatywna metoda kongruencji i kiedy B ≠ 0 — metoda mieszana kongruentna.

Aby uzyskać generator wysokiej jakości, należy wybrać odpowiednie współczynniki. Konieczne jest podanie numeru M był dość duży, gdyż okres nie może mieć więcej M elementy. Z drugiej strony dzielenie stosowane w tej metodzie jest operacją dość powolną, dlatego w przypadku komputera binarnego logicznym wyborem byłoby M = 2 N, ponieważ w tym przypadku znalezienie reszty dzielenia jest zredukowane w komputerze do binarnej operacji logicznej „AND”. Powszechnym jest również wybieranie największej liczby pierwszej M, mniej niż 2 N: w literaturze specjalistycznej udowodniono, że w tym przypadku cyfry niższego rzędu wynikowej liczby losowej R I+ 1 zachowują się tak samo losowo jak starsze, co pozytywnie wpływa na cały ciąg liczb losowych jako całość. Przykładowo jeden z Liczby Mersenne’a, równe 2 31 1, a zatem, M= 2 31 1 .

Jednym z wymagań dotyczących liniowych ciągów zgodnych jest możliwie najdłuższy okres. Długość okresu zależy od wartości M , k I B. Twierdzenie, które prezentujemy poniżej, pozwala określić, czy możliwe jest osiągnięcie okresu o maksymalnej długości dla określonych wartości M , k I B .

Twierdzenie. Liniowy ciąg zgodny określony liczbami M , k , B I R 0, ma okres długości M wtedy i tylko wtedy, gdy:

  • takty muzyczne B I M stosunkowo proste;
  • k 1 razy P dla każdej liczby pierwszej P, który jest dzielnikiem M ;
  • k 1 jest wielokrotnością 4, jeśli M wielokrotność 4.

Na koniec zakończmy kilkoma przykładami wykorzystania metody liniowej zgodności do generowania liczb losowych.

Stwierdzono, że ciąg liczb pseudolosowych wygenerowany na podstawie danych z przykładu 1 będzie się powtarzał M/4 cyfry. Numer Q ustalany jest arbitralnie przed rozpoczęciem obliczeń, należy jednak mieć na uwadze, że szereg sprawia w zasadzie wrażenie losowego k(i dlatego Q). Wynik można nieco poprawić, jeśli B dziwne i k= 1 + 4 · Q w tym przypadku wiersz będzie powtarzany co M takty muzyczne. Po długich poszukiwaniach k badacze ustalili wartości 69069 i 71365.

Generator liczb losowych korzystający z danych z Przykładu 2 wygeneruje losowe, niepowtarzalne liczby z okresem 7 milionów.

Multiplikatywną metodę generowania liczb pseudolosowych zaproponował D. H. Lehmer w 1949 roku.

Sprawdzanie jakości generatora

Od jakości RNG zależy jakość całego systemu i dokładność wyników. Dlatego losowa sekwencja generowana przez RNG musi spełniać szereg kryteriów.

Przeprowadzane kontrole są dwojakiego rodzaju:

  • sprawdza równomierność dystrybucji;
  • testy niezależności statystycznej.

Sprawdza równomierność rozkładu

1) RNG powinien produkować blisko następujące wartości parametry statystyczne charakterystyczne dla jednolitego prawa losowego:

2) Test częstotliwości

Test częstotliwości pozwala sprawdzić, ile liczb mieści się w przedziale (M R – σ R ; M R + σ R) , czyli (0,5 · 0,2887; 0,5 + 0,2887) lub ostatecznie (0,2113; 0,7887). Ponieważ 0,7887 · 0,2113 = 0,5774, wnioskujemy, że w dobrym RNG około 57,7% wszystkich wylosowanych liczb losowych powinno mieścić się w tym przedziale (patrz ryc. 22.9).

Ryż. 22.9. Wykres częstotliwości idealnego RNG
w przypadku sprawdzania go do testu częstotliwości

Należy również wziąć pod uwagę, że liczba liczb mieszczących się w przedziale (0; 0,5) powinna być w przybliżeniu równa liczbie liczb wchodzących w przedział (0,5; 1).

3) Test chi-kwadrat

Test chi-kwadrat (test χ 2) jest jednym z najbardziej znanych testów statystycznych; jest to główna metoda stosowana w połączeniu z innymi kryteriami. Test chi-kwadrat został zaproponowany w 1900 roku przez Karla Pearsona. Jego niezwykłe dzieło uważane jest za podstawę współczesnej statystyki matematycznej.

W naszym przypadku sprawdzenie za pomocą kryterium chi-kwadrat pozwoli nam dowiedzieć się, jak bardzo prawdziwy RNG jest zbliżony do benchmarku RNG, to znaczy spełnia wymogi jednolitej dystrybucji, czy nie.

Wykres częstotliwości odniesienie RNG pokazano na ryc. 22.10. Ponieważ prawo dystrybucji odniesienia RNG jest jednolite, wówczas (teoretyczne) prawdopodobieństwo P I wprowadzanie liczb I interwał (wszystkie te interwały k) jest równe P I = 1/k . I tak w każdym z k interwały będą uderzać gładki Przez P I · N liczby ( Nłączna liczba wygenerowanych numerów).

Ryż. 22.10. Wykres częstotliwości odniesienia RNG

Prawdziwy RNG będzie generował liczby rozłożone (i niekoniecznie równomiernie!) w poprzek k interwały i każdy interwał będzie zawierał N I liczby (w sumie N 1 + N 2 + + N k = N ). Jak możemy określić, jak dobry jest testowany RNG i jak blisko jest do referencyjnego? Całkiem logiczne jest rozważenie kwadratów różnic między wynikową liczbą liczb N I i „odniesienie” P I · N . Dodajmy je i otrzymamy następujący wynik:

χ 2 eksp. = ( N 1 P 1 · N) 2 + (N 2 P 2 · N) 2 + + ( N k – P k · N) 2 .

Z tego wzoru wynika, że ​​im mniejsza jest różnica w każdym z wyrazów (a zatem i mniejsza wartośćχ 2 eksp. ), im silniejsze prawo rozkładu liczb losowych generowanych przez prawdziwy RNG, zwykle jest jednolite.

W poprzednim wyrażeniu każdemu z terminów przypisano tę samą wagę (równą 1), co w rzeczywistości może nie być prawdą; dlatego w przypadku statystyk chi-kwadrat konieczna jest normalizacja każdej z nich I wyraz, dzieląc go przez P I · N :

Na koniec napiszmy wynikowe wyrażenie bardziej zwięźle i uprośćmy je:

Otrzymaliśmy wartość testu chi-kwadrat dla eksperymentalny dane.

W tabeli Podano 22,2 teoretyczny wartości chi-kwadrat (teoretyczne χ 2), gdzie ν = N 1 to liczba stopni swobody, P jest to poziom ufności określony przez użytkownika, który wskazuje, w jakim stopniu RNG powinien spełniać wymagania jednolitego rozkładu, lub P — jest prawdopodobieństwem, że wartość eksperymentalna χ 2 exp..

będzie mniejsza niż tabelaryczna (teoretyczna) teoria χ 2.
lub mu równy
Tabela 22.2. Niektóre punkty procentowe rozkładu χ 2 p = 1% p = 5% p = 25% p = 50% p = 75%
ν = 1 0.00016 0.00393 0.1015 0.4549 1.323 3.841 6.635
ν = 2 0.02010 0.1026 0.5754 1.386 2.773 5.991 9.210
ν = 3 0.1148 0.3518 1.213 2.366 4.108 7.815 11.34
ν = 4 0.2971 0.7107 1.923 3.357 5.385 9.488 13.28
ν = 5 0.5543 1.1455 2.675 4.351 6.626 11.07 15.09
ν = 6 0.8721 1.635 3.455 5.348 7.841 12.59 16.81
ν = 7 1.239 2.167 4.255 6.346 9.037 14.07 18.48
ν = 8 1.646 2.733 5.071 7.344 10.22 15.51 20.09
ν = 9 2.088 3.325 5.899 8.343 11.39 16.92 21.67
ν = 10 2.558 3.940 6.737 9.342 12.55 18.31 23.21
ν = 11 3.053 4.575 7.584 10.34 13.70 19.68 24.72
ν = 12 3.571 5.226 8.438 11.34 14.85 21.03 26.22
ν = 15 5.229 7.261 11.04 14.34 18.25 25.00 30.58
ν = 20 8.260 10.85 15.45 19.34 23.83 31.41 37.57
ν = 30 14.95 18.49 24.48 29.34 34.80 43.77 50.89
ν = 50 29.71 34.76 42.94 49.33 56.33 67.50 76.15
ν > 30 ν p = 95% ν ) · X P p = 99% X 2 P+ sqrt(2 + 2/3 · 2/3 + ν ))
X P = O (1/m2( 2.33 0.00 0.674 1.64 2.33

1,64 P 0,674.

Uznane za akceptowalne P od 10% do 90% Jeśli χ 2 exp. znacznie więcej niż teoria χ 2. N I(to jest P I · N jest duży), następnie generator

Nawet D. Knuth w swojej książce „The Art of Programming” zauważył, że posiadanie χ 2 exp.

dla małych w ogóle też nie jest dobrze, chociaż na pierwszy rzut oka wydaje się to cudowne z punktu widzenia jednolitości. Rzeczywiście, weź serię liczb 0,1, 0,2, 0,3, 0,4, 0,5, 0,6, 0,7, 0,8, 0,9, 0,1, 0,2, 0,3, 0,4, 0,5, 0,6, są one idealne z punktu widzenia jednolitości i χ 2 eksp. P będą praktycznie zerowe, ale jest mało prawdopodobne, że rozpoznasz je jako losowe. Jeśli χ 2 exp. Jeśli χ 2 exp. N I znacznie mniej niż teoria χ 2. P I · N (to jest

mały), następnie generator P wymóg losowego rozkładu równomiernego, ponieważ obserwowane wartości P zbyt blisko teorii

i nie można ich uważać za przypadkowe. P I · N Ale jeśli χ 2 exp.

leży w pewnym przedziale pomiędzy dwiema wartościami teorii χ 2. , które odpowiadają np.

= 25% i

= 50%, to możemy założyć, że losowe wartości liczbowe generowane przez czujnik są całkowicie losowe.

Ponadto należy pamiętać, że wszystkie wartości

musi być wystarczająco duża, na przykład większa niż 5 (znaleziona empirycznie). Dopiero wtedy (przy odpowiednio dużej próbie statystycznej) warunki eksperymentu można uznać za zadowalające. P I Zatem procedura weryfikacji jest następująca. I Testy niezależności statystycznej

1) Sprawdzenie częstotliwości występowania liczb w ciągu

Spójrzmy na przykład. Liczba losowa 0,2463389991 składa się z cyfr 2463389991, a liczba 0,5467766618 składa się z cyfr 5467766618. Łącząc ciągi cyfr otrzymujemy: 24633899915467766618. N Oczywiste jest, że prawdopodobieństwo teoretyczne strata Oczywiste jest, że prawdopodobieństwo teoretyczne Th cyfra (od 0 do 9) jest równa 0,1. Oczywiste jest, że prawdopodobieństwo teoretyczne 2) Sprawdzenie wyglądu serii identycznych liczb M Oznaczmy przez M L

liczba serii identycznych cyfr w rzędzie długości N. Wszystko trzeba sprawdzić N 3 = 2 .

od 1 do Oczywiste jest, że prawdopodobieństwo teoretyczne, Gdzie P Oczywiste jest, że prawdopodobieństwo teoretyczne jest to liczba określona przez użytkownika: maksymalna występująca liczba identycznych cyfr w serii. Oczywiste jest, że prawdopodobieństwo teoretyczne W przykładzie „24633899915467766618” znaleziono 2 serie o długości 2 (33 i 77), czyli P 2 = 2 i 2 serie o długości 3 (999 i 666), tj P Prawdopodobieństwo wystąpienia szeregu długości P jest równe:

= 9 10 P Oczywiste jest, że prawdopodobieństwo teoretyczne= 0,9, ponieważ na 10 może być tylko jeden symbol, a w sumie jest 9 symboli (zero się nie liczy). Natomiast prawdopodobieństwo, że dwa identyczne symbole „XX” pojawią się w rzędzie wynosi 0,1 · 0,1 · 9, czyli prawdopodobieństwo 0,1, że symbol „X” pojawi się na pierwszej pozycji, jest mnożone przez prawdopodobieństwo 0,1, że ten sam symbol pojawi się na drugiej pozycji „X” i zostanie pomnożony przez liczbę takich kombinacji 9.

Częstotliwość występowania szeregów oblicza się za pomocą wzoru chi-kwadrat, który omówiliśmy wcześniej, korzystając z wartości P Oczywiste jest, że prawdopodobieństwo teoretyczne .

Uwaga: Generator można testować wielokrotnie, jednak testy nie są kompletne i nie gwarantują, że generator wygeneruje liczby losowe. Przykładowo generator generujący ciąg 12345678912345 zostanie w trakcie testów uznany za idealny, co oczywiście nie jest do końca prawdą.

Podsumowując, zauważamy, że trzeci rozdział książki Donalda E. Knutha The Art of Programming (tom 2) jest w całości poświęcony badaniu liczb losowych. Bada różne metody generowania liczb losowych, statystyczne testy losowości i konwersję liczb losowych o równomiernym rozkładzie na inne typy zmiennych losowych. Prezentacji tego materiału poświęcono ponad dwieście stron.

Mamy ciąg liczb składający się z praktycznie niezależnych elementów, które spełniają zadany rozkład. Z reguły rozkład równomierny.

Liczby losowe można generować w programie Excel na różne sposoby. Rozważmy tylko najlepsze z nich.

Funkcja liczb losowych w programie Excel

  1. Funkcja LOS zwraca losową liczbę rzeczywistą o równomiernym rozkładzie. Będzie mniejsza niż 1, większa lub równa 0.
  2. Funkcja RANDBETWEEN zwraca losową liczbę całkowitą.

Przyjrzyjmy się ich zastosowaniu na przykładach.

Próbkowanie liczb losowych za pomocą RAND

Ta funkcja nie wymaga żadnych argumentów (RAND()).

Aby na przykład wygenerować losową liczbę rzeczywistą z zakresu od 1 do 5, użyj następującej formuły: =RANDA()*(5-1)+1.

Zwrócona liczba losowa jest rozłożona równomiernie w przedziale.

Za każdym razem, gdy arkusz jest obliczany lub gdy zmienia się wartość w dowolnej komórce arkusza, zwracana jest nowa liczba losowa. Jeśli chcesz zapisać wygenerowaną populację, możesz zastąpić formułę jej wartością.

  1. Kliknij komórkę z losową liczbą.
  2. Na pasku formuły wybierz formułę.
  3. Naciśnij klawisz F9. I WEJDŹ.

Sprawdźmy równomierność rozkładu liczb losowych z pierwszej próbki za pomocą histogramu rozkładu.


Zakres wartości pionowych to częstotliwość. Poziomo - „kieszenie”.



Funkcja RANDBETWEEN

Składnia funkcji RANDBETWEEN jest następująca (granica dolna; granica górna). Pierwszy argument musi być mniejszy niż drugi. W przeciwnym razie funkcja zgłosi błąd. Zakłada się, że granice są liczbami całkowitymi. Formuła odrzuca część ułamkową.

Przykład użycia funkcji:

Liczby losowe z dokładnością 0,1 i 0,01:

Jak zrobić generator liczb losowych w programie Excel

Stwórzmy generator liczb losowych, który generuje wartość z pewnego zakresu. Używamy formuły takiej jak: =INDEKS(A1:A10,INTEGER(RANDA()*10)+1).

Stwórzmy generator liczb losowych z zakresu od 0 do 100 w krokach co 10.

Musisz wybrać 2 losowe z listy wartości tekstowych. Korzystając z funkcji LOS, porównujemy wartości tekstowe z zakresu A1:A7 z liczbami losowymi.

Użyjmy funkcji INDEX, aby wybrać dwie losowe wartości tekstowe z oryginalnej listy.

Aby wybrać jedną losową wartość z listy, użyj poniższej formuły: =INDEKS(A1:A7,RANDBETWEEN(1,COUNT(A1:A7))).

Generator liczb losowych o rozkładzie normalnym

Funkcje RAND i RANDBETWEEN generują liczby losowe o rozkładzie równomiernym. Dowolna wartość z takim samym prawdopodobieństwem może wpaść w dolną granicę żądanego zakresu i w górną. Powoduje to ogromny spread od wartości docelowej.

Rozkład normalny oznacza, że ​​większość wygenerowanych liczb jest bliska wartości docelowej. Dostosujmy formułę RANDBETWEEN i utwórzmy tablicę danych o rozkładzie normalnym.

Koszt produktu X wynosi 100 rubli. Cała wyprodukowana partia ma rozkład normalny. Zmienna losowa również ma normalny rozkład prawdopodobieństwa.

W takich warunkach średnia wartość zakresu wynosi 100 rubli. Wygenerujmy tablicę i zbudujmy wykres o rozkładzie normalnym z odchyleniem standardowym 1,5 rubla.

Używamy funkcji: =NORMINV(RANDA();100;1,5).

Excel obliczył, które wartości mieściły się w zakresie prawdopodobieństwa. Ponieważ prawdopodobieństwo wytworzenia produktu o koszcie 100 rubli jest maksymalne, formuła częściej niż inne pokazuje wartości bliskie 100.

Przejdźmy do narysowania wykresu. Najpierw musisz utworzyć tabelę z kategoriami. W tym celu dzielimy tablicę na okresy:

Na podstawie uzyskanych danych możemy stworzyć diagram z rozkładem normalnym. Oś wartości to liczba zmiennych w przedziale, oś kategorii to okresy.

Liczby towarzyszą nam wszędzie – numery domów i mieszkań, numery telefonów, samochodów, paszportów, kart plastikowych, dat, haseł e-mailowych. Niektóre kombinacje liczb wybieramy sami, ale większość trafiamy przez przypadek. Nie zdając sobie z tego sprawy, codziennie używamy losowo generowanych liczb. Jeśli wymyślimy kody PIN, to unikalny kredyt lub karta wynagrodzeń generowane są przez niezawodne systemy wykluczające dostęp do haseł. Generatory liczb losowych zapewniają bezpieczeństwo w obszarach wymagających szybkości przetwarzania, bezpieczeństwa i niezależności danych.

Proces generowania liczb pseudolosowych podlega pewnym prawom i od dawna jest stosowany na przykład w loteriach. W niedawnej przeszłości losowania przeprowadzano za pomocą maszyn lub losów. Teraz w wielu krajach wygrywające liczby loterie państwowe są wyznaczane dokładnie przez zbiór wygenerowanych liczb losowych.

Zalety metody

Tak więc generator liczb losowych jest niezależnym nowoczesnym mechanizmem losowego określania kombinacji liczb. Wyjątkowość i doskonałość tej metody polega na braku możliwości zewnętrznej ingerencji w proces. Generator to zestaw programów zbudowanych np. na diodach szumowych. Urządzenie generuje strumień losowego szumu, którego aktualne wartości są przeliczane na liczby i tworzą kombinacje.

Generowanie liczb daje natychmiastowe rezultaty – utworzenie kombinacji zajmuje kilka sekund. Jeśli mówimy o loteriach, uczestnicy mogą od razu dowiedzieć się, czy numer losu odpowiada zwycięskiemu. Dzięki temu rysunki mogą być przechowywane tak często, jak chcą uczestnicy. Ale główną zaletą tej metody jest jej nieprzewidywalność i niemożność obliczenia algorytmu wybierania liczb.

Jak generowane są liczby pseudolosowe

Tak naprawdę liczby losowe nie są losowe – seria zaczyna się od danej liczby i jest generowana przez algorytm. Generator liczb pseudolosowych (PRNG lub PRNG – generator liczb pseudolosowych) to algorytm generujący ciąg pozornie niepowiązanych ze sobą liczb, zwykle podlegających rozkładowi równomiernemu. W informatyce liczby pseudolosowe znajdują zastosowanie w wielu zastosowaniach: kryptografii, modelowaniu symulacyjnym, metodzie Monte Carlo itp. Jakość wyniku zależy od właściwości PRNG.

Źródłem generowania może być szum fizyczny powstający w wyniku promieniowania kosmicznego lub szum w rezystorze, ale tego typu urządzenia prawie nigdy nie są używane w zastosowaniach związanych z bezpieczeństwem sieci. Aplikacje kryptograficzne wykorzystują specjalne algorytmy, które generują sekwencje, które nie mogą być statystycznie losowe. Jednak odpowiednio dobrany algorytm może wygenerować serię liczb, która przejdzie większość testów losowości. Okres powtarzania w takich sekwencjach jest większy niż interwał roboczy, z którego pobierane są liczby.

Wiele nowoczesnych procesorów zawiera PRNG, na przykład RdRand. Alternatywnie tworzone są zestawy liczb losowych i publikowane w jednorazowym notesie (słowniku). Źródło liczb w tym przypadku jest ograniczone i nie zapewnia pełnego bezpieczeństwa sieci.

Historia PRNG

Można rozważyć prototyp generatora liczb losowych gra planszowa Senet, powszechny w Starożytny Egipt w 3500 p.n.e. Zgodnie z warunkami, w grze brało udział dwóch graczy, a ruchy ustalano poprzez rzucanie czterema płaskimi czarno-białymi kijami – było to swego rodzaju PRNG tamtych czasów. W tym samym czasie rzucano kijami i podliczano punkty: jeśli jeden padł białą stroną, 1 punkt i dodatkowy ruch, dwa białe - dwa punkty i tak dalej. Maksymalny wynik Gracz, który rzucił cztery patyki czarną stroną, otrzymywał pięć punktów.

Obecnie generator ERNIE jest używany od wielu lat w Wielkiej Brytanii do losowań loterii. Istnieją dwie główne metody generowania zwycięskie liczby: przystające liniowo i przystające addytywnie. Te i inne metody opierają się na zasadzie losowego wyboru i są dostarczane przez oprogramowanie, które w nieskończoność generuje liczby, których kolejności nie da się odgadnąć.

PRNG działa nieprzerwanie m.in automaty do gier. Według prawa amerykańskiego to warunek wstępny które muszą przestrzegać wszyscy dostawcy oprogramowania.