В настоящее время я реализую генератор случайных чисел в Qt5.3 как часть экспериментов с генетическим алгоритмом. Я пробовал несколько методов, но лучший, кажется, это:
// Seed the random generator with current time
QTime time = QTime::currentTime();
qsrand((uint)time.msec());
И затем эта функция для генерации случайных чисел:
int MainWindow::getRandomNo(int low, int high)
{
return qrand() % ((high + 1) - low) + low;
}
Из-за характера этих экспериментов важен случайный характер этих чисел. Есть ли способ улучшить качество выборки случайных чисел? После статистического анализа генератор случайных чисел Qt демонстрирует типичные шаблоны, которые можно найти в старых системах генерации случайных чисел.
Используемый выше метод основан на текущем времени в качестве начального значения для генератора чисел. Есть ли способ улучшить начальное число, чтобы случайные последовательности были менее подвержены закономерностям? Буду крайне признателен за любую помощь.
<random>
? Это намного прочнее. - person MSalters   schedule 03.10.2014<random>
. - person MSalters   schedule 04.10.2014