![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
xi =
В [40] доказана теорема о независимости случайных цифр в случайном числе, которая формулируется следующим образом.
Десятичные цифры h1,h2, …,hk, … случайного числа xk представляют собой независимые случайные цифры. Обратно, если h1,h2, …, hk, … - независимые случайных цифры, то формула (4.1) дает случайное число.
В вычислительных процессах всегда используют числа с конечным количеством десятичных знаков, поэтому вместо случайных чисел xi употребляют конечные десятичные дроби xi=0, h1,h2, …, hk. Принято считать, что здесь имеют место ошибки округления.
Предположим, что, используя некоторый механизм (игральную кость, рулетку и т.п.), мы осуществили ряд опытов, в результате которых получили N случайных цифр, h1,h2, …, hN. Записав эти цифры в таблицу, получим то, что называется таблицей случайных цифр (приложение 2). Это есть первый способ получения первичных случайных чисел.
Способ употребления такой таблицы прост. Если в ходе решения некоторой задачи нам потребуется случайная цифра hj, то мы можем взять любую цифру hk из этой таблицы. Если нам потребуется случайное число xj, то мы можем по произвольному алгоритму выбрать из таблицы n очередных цифр и считать, что
xi = 0, h1, …, hn.
Еще раз отметим произвольность выбора алгоритма получения цифр из таблицы, не зависящего от конкретных значений этих цифр.
Пример 4.1. Используя таблицу (см. приложение 2) равномерно распределенных случайных цифр, получить пять случайных цифр.
Решение 4.1.а. Выбираем наугад строку таблицы. Пусть это будет 5-я строка. Выписываем из нее 5 цифр: 1,2,8,0,7.
Решение 4.1.б. Выбираем наугад строку и колонку и, начиная с выбранной цифры, двигаемся по диагонали влево и вверх по таблице.
Пусть мы выбрали 9-ю строку и 10-ю колонку. Тогда получаем следующие цифры: 5, 0, 8, 4, 9.
Пример 4.2. Используя таблицу равномерно распределенных случайных цифр, получите четыре случайных трехзначных числа.
Решение 4.2.а. Выбираем наугад колонку и выписываем из нее, двигаясь вниз, 12 цифр. Пусть мы выберем, первую колонку и тогда получим цифры: 1,3,0,9,1,6,3,8,6,7,9,1. Сгруппируем их в четыре группы (заметим, что это можно сделать по-разному): 130, 916, 386, 791.
Решение 4.2.б. Воспользовавшись ходом шахматного коня и начиная с первой цифры таблиц, получим следующие четыре трехзначных числа: 180, 276, 299, 379.
Второй способ получения первичных случайных чисел заключается в использовании технических устройств - датчиков или генераторов случайных чисел. В качестве таких могут применяться механические (рулетка, кубик, и т.п.), электронные (резисторы, диоды, электронные лампы и т.п.), радиоактивные и другие типы устройств. На выбор конкретного типа устройства оказывают влияние ряд факторов: стабильность параметров генерируемых сигналов, взаимозаменяемость элементов, срок их службы, условия эксплуатации, простота источника преобразований сигнала и т.п. После определения типа источника требуется сконструировать преобразователь случайного сигнала, основное назначение которого состоит в преобразовании полученного первичного случайного сигнала в форму, пригодную для использования в вычислительном устройстве. Приведем пример такого генератора (рис. 4.6) – [43]. Пусть мы имеем K генераторов стандартных импульсов ГИ-j, которые воспроизводят детерминированные по свойствам импульсы. В силу того, что каждый из генераторов не явля ется идеальным устройством, сигналы на их выходах Cj будут иметь случайные отклонения от идеального. Эти отклонения не превышают допустимых. Объединяя все сигналы Cj элементом ИЛИ, будем получать выходной сигнал U, который по своей сути (в силу неидеальности генераторов) будет представлять собой последовательность импульсов со случайными параметрами, например, амплитудой.
И, наконец, третьим способом получения первичных случайных чисел являются методы генерирования псевдослучайных чисел. Пригодность случайных чисел определяется в конечном счете не процессом их получения, а тем, удовлетворяют ли они некоторым принятым тестам. Но в таком случае совершенно безразлично как эти числа получены (они могут быть даже сосчитаны по какой-то формуле). Главное, чтобы они удовлетворяли тестам.
Числа x1, x2, …, xn, …, которые вычисляются по какой-либо формуле и могут быть использованы вместо случайных чисел при решении некоторых задач, называются псевдослучайными числами.
Большинство алгоритмов, используемых на практике, представляют собой рекуррентные формулы следующего вида:
x n+1=F(x n), (4.2)
где x0 - задано.
Часто в качестве функции F выбирают следующую функцию x i+1=[Axi], где [] - знак целой части числа, а A- некоторый множитель(A>>1).
Важной чертой алгоритмов вида (4.2) является то, что при реализации на компьютере они всегда порождают периодические последовательности. В самом деле, так как в коде любого персонального компьютера можно записать лишь конечное количество чисел, заключенных между нулем и единицей (равномерное распределение в интервале [0,1]), то рано или поздно какое-нибудь значение xj совпадает с одним из предыдущих значений xi.
Вместо формулы (4.2) можно попытаться использовать для получения последовательностей псевдослучайных чисел более сложные рекуррентные формулы
xn+1=F(xn, xn+1, …, xn-r+1),
считая, что начальные значения x0, x1, …, xr-1 заданы. В [40] приведены алгоритмы, основанные на подобных формулах.
В качестве конкретных алгоритмов вида (4.2) можно назвать методы усечения, вычетов, перемешивания и т.д.
Метод усечения. В качестве рекуррентного процесса берется произвольное число x0, состоящее из 2n двоичных цифр. Величина x0 возводится в квадрат (состоящий уже из 4n цифр) и выбирает число x1 из 2n средних двоичных цифр (от n+1-й до 2n -й). В дальнейшем процесс повторяется в той же последовательности.
Такой рекуррентный процесс не дает удовлетворительной (в смысле некоррелированности) последовательности случайных разрядов, а распределение полученных этим способом псевдослучайных чисел отклоняется от равномерного.
Пример 4.3. Пусть x0=1011. Построить последовательность из трех псевдослучайных чисел методом усечения.
Решение 4.3. x =(1011)
=01111001. Отсюда x1=1110, x
=(1110)
=11000100. Отсюда x
=0001, x
=(0001)
=00000001. Отсюда x3=0000. Имеем последовательность: 1110, 0001, 0000.
Приведенный пример демонстрирует один из существенных моментов в использовании методов генерирования псевдослучайных чисел: неудачный выбор начальных констант может привести к вырождению последовательности чисел, то есть получению последовательности нулей.
Способ произведений. Значительно лучшие результаты дает следующее видоизменение метода усечений: выбирается произвольная пара чисел x0 и x1; составляется их произведение и его средние цифры используются в качестве x2.
Данный рекуррентный процесс дает меньшее отклонение псевдослучайных чисел от равномерного распределения, чем метод усечения в первоначальном виде.
Пример 4.4. Пусть x0=24 и x1=31. Построить последовательность из трех псевдослучайных чисел методом произведений.
Решение 4.4. x0x1=0744. x2=74. x1x2=2294. Тогда x3=29. x2x3=2146. Отсюда x4=14. Таким образом, получена последовательность: 74, 29, 14.
4.2.2.3. P-методы.
Методы генерирования некоррелированных случайных чисел с требуемым одномерным законом распределения вероятностей носят название Р-методов.
В зависимости от точности воспроизведения последовательности случайных чисел одномерного закона распределения вероятностей Р-методы можно разделить на точные и приближенные.
К числу точных Р-методов относятся метод обратных функций (метод Н.В.Смирнова) и специальные методы, к приближенным - метод Неймана и метод кусочной аппроксимации (метод Н.П. Бусленко) [12].
В дальнейшем будем использовать следующие обозначения:
h - случайное некоррелированное число, равномерно распределенное в интервале [0,1];
x - случайное число с одномерным законом распределения вероятностей, который требуется получить;
d - случайное число с гауссовским (нормальным) законом распределения вероятностей.
Метод обратных функций. Суть метода состоит в подборе некоторого преобразования исходных случайных чисел, трансформирующего равномерное в интервале [0,1] распределение в требуемое F (x), где F (x) - функция распределения. Выбор преобразования осуществляется в соответствии со следующим предложением [12].
Дата публикования: 2015-01-23; Прочитано: 268 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!