Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекц_ИТ_2.doc
Скачиваний:
58
Добавлен:
29.03.2015
Размер:
1.21 Mб
Скачать

4.4. Численные распределения

При использовании случайных чисел часто требуются помимо равномерного распределения и другие виды распределений в зависимости от приложений. Например, необходимо моделировать случайное время ожидания между появлениями независимых событий, что достигается на основе применения показательного распределения случайных чисел. Иногда в случайных числах нет необходимости, но нужны случайные перестановки (случайное размещение n объектов) или случайное сочетание (случайный выбор k объектов из совокупности, содержащей n объектов).

В принципе, любая из этих случайных величин может быть получена из равномерно распределенных случайных величин U0 , U1 , U2 , …, где Ui  [0, 1].

Случайный выбор из ограниченного множества

В общем случае случайные целые числа X, которые лежат между 0 и k1, можно получить, умножив U на k и положив X = k U (ближайшее целое снизу).

В общем случае можно получить, если необходимо, различные веса для различных целых чисел. Предположим, что значение X = x1 должно быть получено с вероятностью p1, X = x2 — с вероятностью p2, … и X = xk — с вероятностью pk. Для этого генерируется равномерное число U и полагается

(Заметим, что .)

Общие методы для непрерывных распределений

В общем случае распределение действительных чисел может быть выражено в терминах «функции распределения» F(X), которая точно определяет вероятность того, что случайная величина X не превысит значения x:

F(X) = Pr (X x) (4.11)

Эта функция всегда монотонно возрастает от 0 до 1, т.е. F(x1) F(x2), если x1 x2;

F(-) = 0, F(+) = 1. Если F(X) непрерывна и строго возрастающая (так что

F(x1) < F(x2) , когда x1 < x2), то она принимает все значения между 0 и 1 и существует обратная функция F-1(y), такая, что для 0 < y < 1 Y = F(X), тогда и только тогда, когда

X = F -1(y). В большинстве случаев, когда F(X) непрерывна и строго возрастающая, можно вычислить случайную величину X с распределением F(X), полагая X = F -1 (U), где U — равномерно распределенная случайная величина. Заметим, что если х1 — случайная величина, имеющая функцию распределения F1(Х), и если х2 — независимая от х1 случайная величина с функцией распределения F2(Х), то max (х1, х2) имеет распределение F1(Х) F2(Х), min (х1, х2) имеет распределение F1(Х) + F2(Х) – F1(Х) F2(Х).

Любой алгоритм, использующий случайные числа на входе, дает на выходе случайные величины с некоторым распределением.

Нормальное распределение

Возможно, наиболее значительным неравномерным распределением является нормальное распределение с нулевым средним значением и среднеквадратичным отклонением, равным единице:

(4.12)

Рассмотрим алгоритм вычисления двух независимых нормально распределенных случайных величин: X1 и X2.

Алгоритм Р. (Метод полярных координат для нормальных случайных величин).

Р1. [Получение равномерно распределенных случайных величин.] Сгенерировать две независимые случайные величины U1 и U2, равномерно распределенные между 0 и 1. Присвоить V1 2U1 – 1, V2 2U2 – 1. (Здесь V1 и V2 равномерно распределены между –1 и +1.)

Р2. [Вычисление S.] Присвоить S V12 + V22.

Р3. [Проверить S 1?] Если S 1 возврат к п. Р1.

Р4. [Вычисление X1, X2.] Присвоить X1 и X2 следующие значения:

, .

Это требуемые нормально распределенные случайные величины.