русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Мультипликативный метод


Дата добавления: 2014-11-28; просмотров: 3442; Нарушение авторских прав


 

Широкое применение для получения последовательностей псевдослучайных равномерно распределенных чисел получили конгруэнтные процедуры генерации, которые могут быть реализованы мультипликативным либо смешанным методом. Конгруэнтные процедуры являются чисто детерминированными, т.к. описываются в виде рекуррентного соотношения, когда функция (1) имеет вид

Xi+1 = lXi + m ( mod M ), (4)

где Xi, l, m, M - неотрицательные целые числа.

Раскрывая (4), получим

Xi = li X0 + ( li - 1) m / ( l - 1 )( mod M ). (5)

Если задано начальное значение X0, множитель l и аддитивная константа m, то (5) однозначно определяет последовательность целых чисел {Xi}, составленную из остатков от деления на М членов последовательности { li×X0 + m ( li - 1 ) / ( l - 1 )}.

Таким образом, для любого i ³ 1 справедливо неравенство Xi < M. По целым числам последовательности {Xi} можно построить последовательность {хi} = { Хi / M } рациональных чисел из единичного интервала (0, 1).

Мультипликативный метод задает последовательность неотрицательных целых чисел { Хi }, не превосходящих М, по формуле

Хi+1= l Хi ( mod M ), (6)

т.е. это частный случай (4) при m = 0.

Для машинной реализации наиболее удобна версия М = pg, где p - число цифр в системе счисления, принятой в ЭВМ, а g - число бит в машинном слове.

Алгоритм построения последовательности для двоичной машины М = 2g сводится к выполнению следующих операций:

1) выбрать в качестве Х0 произвольное нечетное число;

2) вычислить коэффициент l = 8t ± 3, где t - любое целое положительное число;

3) найти произведение 0, содержащее не более 2g значащих разрядов;

4) взять g младших разрядов в качестве первого числа последовательности Х1, а остальные отбросить;

5) определить дробь х1 = Х1 / 2g из интервала (0, 1);



6) присвоить Х0 = Х1;

7) вернуться к пункту 3.

В настоящее время библиотеки стандартных программ ЭВМ для вычисления последовательностей равномерно распределенных случайных чисел основаны на конгруэнтных процедурах. Последовательность, полученная по мультипликативному методу, хорошо удовлетворяет статистическим критериям проверки качества.

В смешанном методе, в отличие от мультипликативного, m ≠ 0. Вычисление последовательности псевдослучайных чисел смешанным методом проводится по формуле (4). С вычислительной точки зрения смешанный метод генерации сложнее мультипликативного на одну операцию сложения, но при этом возможность выбора дополнительного параметра позволяет уменьшить возможную корреляцию получаемых чисел.

 



<== предыдущая лекция | следующая лекция ==>
Теоретические сведения | Теоретические сведения


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.