Statistička analiza generatora pseudo-slučajnih brojeva
Сажетак
U radu je opisan koncept slučajnih brojeva i njihova višestruka primjena. Opisani su tipovi generatora pseudo-slučajnih brojeva i glavne karakteristike koje treba da ima dobar generator. Pored toga, opisani su mehanizmi i statistički testovi kojima se utvrđuje kvalitet generisanih pseudo-slučajnih sekvenci koje produkuju pojedini algoritmi. Analizirani su testovi koji imaju za cilj da pokažu koliko su generisane sekvence slučajne i uniformne. U okviru praktičnog dijela rada kreiran je testni scenario koji ima za cilj da pokaže koliko su kvalitetne sekvence koje generišu pojedini poznati algoritmi, čije su implementacije date kroz standardne biblioteke programskog jezika Python. Analizirani su algoritmi uniform, randint i betavariate iz standardnih Python biblioteka. Dodatno, u okviru rada je implementiran algoritam rand_22 za koji je pokazano da generiše sekvence koje prate uniformnu raspodjelu, te se može ravnopravno koristiti u primjenama koje zahtijevaju dugačke sekvence pseudo-slučajnih brojeva sa uniformnom raspodjelom. U okviru testnog scenarija su provedeni i dokumentovani sljedeći testovi: Chi-square test, Grafički test, Poker test i Runs test. Grafički test je na vizuelan način pokazao da algoritmi uniform, randint i rand_22 generišu uniformo raspoređene slučajne brojeve, dok se to ne može reći za algoritam betavariate. Sa druge strane, ostali testovi su kroz numeričke rezultate potvrdili ovu činjenicu.