1.4. Датчики случайных чисел.
Генераторами или датчиками случайных величин называют различные технические устройства, вырабатывающие случайные величины. Чаще всего для построения датчика используют «шумящие» радиоэлектронные приборы (диоды, тиратроны, газотроны и др.). Не вдаваясь в технические подробности, рассмотрим один из возможных способов построения датчика, вырабатывающего случайные двоичные цифры а.
Рис. 2.
Нетрудно представить себе счетчик, который подсчитывает количество v флуктуаций напряжения шумящего прибора, превышающих заданный уровень
за фиксированное время
(рис. 2). Еще проще устроить счетчик, который выдавал бы число v (mod 2), т. е. 0 при четном v и 1 при нечетном v. Если вероятности появления 0 и 1 в таком процессе равны между собой, то можно считать, что устройство вырабатывает случайную последовательность двоичных цифр.
Если вероятность появления нуля отлична от половины
, то можно ввести какую-нибудь схему стабилизации вероятности. Например, можно группировать цифры парами и выдавать 0 при получении пары 01 и 1 - при получении пары 10, а пары 00 и 11 просто опускать. Так как
то в результате получим последовательность нулей и единиц с равными вероятностями.
Обычно датчики случайных чисел содержат
генераторов описанного типа, работающих независимо, так что датчиком выдается приближенное случайное число
записанное в форме
-разрядной двоичной дроби. Для случайных чисел отведена специальная ячейка в накопителе, и скорость генерирования их столь велика, что на каждом такте работы ЭВМ в этой ячейке получается новое случайное число.
Применение датчиков случайных чисел свободно от тех недостатков, которые препятствуют широкому применению таблиц: не требуется места во внутреннем накопителе и запас чисел практически неограничен. Тем не менее подавляющее большинство задач, решенных методом Монте-Карло, сосчитано без применения датчиков. Ибо датчики имеют свои, новые недостатки. Во-первых, числа, выработанные датчиком, нельзя воспроизвести. Это затрудняет контроль расчетов и делает невозможным счет на таких ЭВМ, на которых двойной пересчет является правилом. Во-вторых, приходится содержать и эксплуатировать дополнительное устройство, которое требует ухода и регулярной проверки «качества» вырабатываемых чисел с помощью специальных тестов.
Основные области применения датчиков — системы автоматического регулирования и аналоговые вычислительные машины, а не методы Монте-Карло.