Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
21.04.2026
Размер:
4.39 Mб
Скачать

Генерация случайных чисел

Физические датчики

Таблицы случайных чисел

Программные датчики (псевдо)случайных чисел

Псевдослучайные числа

Рекурентная формула

Доступ к определяющему значению „seed“

Возможность повторения ряда с заданного значения

Неизбежность повторения

Период и отрезок апериодичности

Тщательно отработанный алгоритм CLHEP

В дальнейшем функция double gamma();

Общий метод моделирования дискретной случайной величины

Набор значений xi (конечный или бесконечный)

Каждому значению соответствует вероятность Pi

Построить отображение отрезка [0, 1] в пространство событий

Каждому i соответствует своя область Bi внутри [0, 1]

i Pi=dx

Bi

Общий метод моделирования дискретной случайной величины

Вероятность попадания γ в область Bi равна длине этой области

Разбить [0, 1] на отрезки длиной в соответствующую вероятность.

 

P0

 

P1

 

P2

 

P3

 

 

 

Pn

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

Получить γ и определить номер отрезка

 

 

 

Алгоритм

Получить и запомнить γ

Из полученного значения γ последовательно вычитать

вероятности до получения отрицательного результата

Номер вероятности, вычитание которой привело к отрицательному результату, равен номеру значения дискретной случайной величины

Пример программы

double x[] = { , , , , }; // значения double P[] = { , , , , +1}; //

double gam, ksi; // базовая сл. вел. и ответ int k; // номер значения

k = 0; gam = gamma() - P[0]; // начало

while (gam >= 0) { k = k+1; gam = gam – P[k];} // цикл ksi = x[k]; // ответ

Пример другой программы

double r(int k); // Pk+1 = Pk r(k) double gam, P

int k;

k = 0; P = P0; gam = gamma() - P;

while(gam >= 0){P = P*r(k); k = k+1; gam = gam – P;}

Некоторые распределения

 

Биномиальное

r (k) = nk P

Pk = P(ξ = k) = Cnk Pk (1 − P)nk

 

 

 

k +1 1−P

 

Пуассон

 

Pk =

λk eλ

r(k ) =

λ

 

k !

 

k +1

Геометрическое

Pk = P(1 − P)k

r (k) = 1 − P

Оптимизация метода

n

Число шагов(циклов) 1 + kPk

k=0

Сортировать вероятности по убыванию

Специальные методы

ξ = nγ ,

P(ξ = k ) =

1

k = 0

, 1 , 2 , ... , n−1

 

 

 

n

 

 

 

ξ =

ln(γ )

, P(ξ = k) = P(k

ln (γ )

<k +1)=

 

ln (1−p)

 

 

 

ln (1−p)

 

P(−k ln (1− p) −ln (γ )<−(k +1)ln (1− p)) = P((1−p)k +1 γ <(1−p)k )= (1− p)k−(1− p)k +1 = p(1−p)k

n

 

ξ = min n : γ k < eλ

Пуассон

k=0

 

Соседние файлы в папке Моделирование процессов в физике частиц (7 сем)