Великий Рандом(Случайные числа и детерминистичная симуляция)

Всё что не связано с программированием на C++ и Lua.
Ответить

Vant
c7i.team
Сообщения: 179
Зарегистрирован: Вс дек 05, 2010 4:22 am

Re: Великий Рандом(Случайные числа и детерминистичная симуля

Сообщение Vant » Сб авг 30, 2014 6:56 pm

Помнится на ооочень медленном контроллере был нужен гсч. Как всегда выручила табличная реализация - массив на 4096 значений был сгенерен методом перемешивания чисел от 0 до 4095. Быстрее x = rnd[i++]; i = i & 0xfff; как-то сложно придумать. Начальное значение i - это и есть seed. Повторяемость - 100%

Diatlo
c7i.team
Сообщения: 251
Зарегистрирован: Пт ноя 06, 2009 6:04 am

Re: Великий Рандом(Случайные числа и детерминистичная симуля

Сообщение Diatlo » Ср сен 03, 2014 12:53 pm

Возникает следующий вопрос. Если нужен рандом из какого-то определенного диапазона [0..100] или [8000..10000000],
то тут возникает проблема - придется создавать и хранить кучу таких рандомных таблиц. =)

Vant
c7i.team
Сообщения: 179
Зарегистрирован: Вс дек 05, 2010 4:22 am

Re: Великий Рандом(Случайные числа и детерминистичная симуля

Сообщение Vant » Пт сен 05, 2014 3:25 pm

Очевидно, всё это поиски компромисса между размером и скоростью.
А вообще, мне показалось, что автор в принципе не заглядывал сюда:

Boost.Random

PS: Все давно не только придумано, но и написано до нас.
PPS: Алгоритм, взятый им у Кнута, имеет именное название - по фамилиям авторов.

Ответить