MKL Intel C++ и генератор на квазислучайни числа

Използвам MKL Intel за изчисляване на случайни числа. Използвам Quasi random algo. Освен това ми се струва, че генерираните числа изобщо не са случайни. Разбирам, че квазислучайният алго ще предостави извадени точки, които максимизират заемането на пространството. Така не е нужно те да са съвършено неочаквани и произволни, а само да покриват пространството правилно.

Бих искал да използвам това число по произволен начин, а не да ги подреждам по очакван начин, така че преди да използвам тези „случайни“ точки, да ги пермутирам.

Не използвам ли MKL библиотеката правилно? Или звучи нормално, защото, както споменах, точките трябва да покриват цялото пространство, а не да са идеално произволни?

Ако някои MKL или квази случаен ген. потребители там, съветите са добре дошли.

За разбирането.


person kiriloff    schedule 07.05.2012    source източник


Отговори (1)


На теория произволната пермутация на всяка равномерно разпределена последователност трябва да доведе до произволна извадка. Вземете 1, 2, 3, ..., n, например, и го разменете на случаен принцип, и ще получите произволна еднаква извадка.

Качеството на алгоритъма за произволна пермутация става жизненоважно за качеството на получената проба.

В същото време се чудя защо изобщо се нуждаете от квазислучаен RNG от MKL. На мен ми изглежда малко пресилено. Ако имате нужда от добра псевдослучайна последователност, тогава може да има смисъл да използвате други RNG от MKL, напр. MT19937 или MT2203 или SFMT19937, които са бързи и с високо качество. Можете ли да обясните защо имате нужда от квазислучайна последователност като основа за пермутация?

Поздрави, Сергей

person Sergey Maidanov    schedule 10.05.2012
comment
Нямам нужда от произволен генератор като основа за пермутация. Тук не става въпрос за това. Използвам квазислучаен генератор на MKL и забелязвам, че той винаги връща числа в една и съща последователност (когато пробвам същия даден интервал например). Чудя се дали това поведение се очаква за такъв генератор (който не е „случаен“ в правилния смисъл), или дали не използвам правилно MKL тук. Благодаря - person kiriloff; 15.05.2012