Mam pewien problem. Próbuje porównać sobie działanie funckji do generowania liczb pseudolosowych, korzystając z pakietu GSL. Porównuje dwa algorytmy zwykły rand() i Mersenne Twister. Histogram jaki otrzymuje niestety nie pokazuje znaczących różnic pomiędzy algorytmami, a Mersenne Twister powinien byc wiele lepszy niż rand(). Co zrobić żeby zaprezentowac ta różnice pomiędzy tymi dwoma funkcjami?

Kod który używam do generowania liczb:

double** *RandomNumberGenerator::MersenneTwister(**int** Npairs,**int** trials)
{
**
1608 - Mam pewien problem. Próbuje porównać sobie działanie funckji do generowania li...

źródło: comment_HM1NtuNw1lUB2wp1A7bm4OWNUfJ6OBi7.jpg

Pobierz
niestety nie pokazuje znaczących różnic pomiędzy algorytmami, a Mersenne Twister powinien byc wiele lepszy niż rand()


@1608: Lepszy to wcale nie znaczy, że rozkład będzie "bardziej" jednostajny. MT jest lepszy, bo ma np. bardzo długi okres itp. Istnieje zbiór testów do badania jakości generatorów liczb pseudolosowych (http://en.wikipedia.org/wiki/Diehard_tests ), może spróbuj je jakoś wykorzystać, żeby pokazać wyższość MT nad rand - sam histogram różnic znaczących nie pokaże.
  • Odpowiedz