Генерация датчика псевдослучайных чисел |
Генерация датчика псевдослучайных чисел |
Янычар |
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 115 Пол: Мужской Реальное имя: Александр Репутация: 1 |
Помогите пожалуйста разобраться с методом генерации ДСЧ Фибоначчи или иначе его называют Метод Фибоначчи с запаздываниями. Честно говоря информации по данному методу в интернете найти практически не удалось, везде так или иначе цитируют материал из википедии(или наоборот). Там указано две непонятных формулы, непонятных в том смысле что непонятно что они должны делать и главное как) Так что прошу тех, кому известен такой метод не по наслышке рассказать о нем по подробнее, буду очень признателен)
|
TarasBer |
Сообщение
#2
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
> Там указано две непонятных формулы, непонятных в том смысле что непонятно что они должны делать и главное как)
На самом деле формула одна: a[i] = frac(a[i-97]-a[i-33]); То есть простой ряд Фибоначчи, но берётся только дробная часть. > При реализации через целые числа достаточно формулы Xk = X[k − a] − X[k − b] (при этом будут происходить арифметические переполнения). (это моя правка, кстати) Для реализации на компе надо вместо бесконечной последовательности взять конечную, но циклическую.
Добавлено через 2 мин. Метод действительно работает - проверено на научной программе, работающей по методу Монте-Карло. Вычисляемая величина та же, что у немецких конкурентов, но они использовали вообще Вихрь Мерсена (это типа самый крутой генератор). И разброс значений у нас меньше из-за небольшого отличия в методе (не в генераторе). -------------------- |
Текстовая версия | 13.05.2024 13:11 |