Фибоначчиевы датчики

Существует класс генераторов, основанный на использовании последовательностей Фибоначчи. Классический пример такой последовательности {0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...} — за исключением первых двух ее членов, каждый последующий член равен сумме двух предыдущих. Один из широко распространенных фибоначчиевых датчиков основан на следующей итеративной формуле:

где Xk — вещественные числа из диапазона [0; 1), лаги а, b — целые положительные числа. Для старта фибоначчиевому датчику требуется тах(я; Ь) случайных чисел, которые могут быть сгенерированы простым конгруэнтным датчиком.

Описанный фибоначчиев датчик псевдослучайных чисел (с лагами 20 и 5) используется в системе MATLAB начиная с версии 5.0. Период фибо- наччиева датчика может быть оценен по следующей формуле:

где е — число битов в мантиссе вещественного числа. Для стандартной /ЕЕЕ-арифметики двойной точности (тип double, е = 53) при рекомендованных значениях лагов период генератора достаточен для любых вычислительных экспериментов. Получаемые с помощью фибоначчиевых датчиков псевдослучайные числа обладают хорошими статистическими свойствами, поэтому пригодны для использования в алгоритмах, критичных к качеству псевдослучайных чисел.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >