НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СПЕЦИАЛИЗИРОВАННЫЙ УЧЕБНО-НАУЧНЫЙ ЦЕНТР
МОДЕЛИРОВАНИЕ ФИЗИЧЕСКИХ ЯВЛЕНИЙ НА Э...
211 downloads
196 Views
888KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СПЕЦИАЛИЗИРОВАННЫЙ УЧЕБНО-НАУЧНЫЙ ЦЕНТР
МОДЕЛИРОВАНИЕ ФИЗИЧЕСКИХ ЯВЛЕНИЙ НА ЭВМ Часть V Статистическое моделирование
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СПЕЦИАЛИЗИРОВАННЫЙ УЧЕБНО-НАУЧНЫЙ ЦЕНТР Кафедра физики
Кайран Д.А., Кандауров И.В., Краснов А.А., Мезенцев Н.А., Мешков О.И., Пиндюрин В.Ф., Скарбо Б.А.
МОДЕЛИРОВАНИЕ ФИЗИЧЕСКИХ ЯВЛЕНИЙ НА ЭВМ
Методическое пособие Часть V Статистическое моделирование
Новосибирск 2000
Пособие является составной частью учебно-методических материалов, предназначенных для учащихся Специализированного учебно-научного центра Новосибирского государственного университета (СУНЦ НГУ − бывшая Физико-математическая школа им. М.А.Лаврентьева), занимающихся на спецкурсе "Моделирование физических явлений на ЭВМ". В настоящем пособии рассмотрены основы метода статистического моделирования (метод Монте-Карло) для решения физических, технических и других задач. Даются основные вероятностные понятия, способы получения случайных величин и обработки получаемых результатов. Приводится набор задач для самостоятельного решения.
Рецензенты: доцент кафедры физики СУНЦ НГУ Харитонов В.Г. профессор кафедры теор. физики НГУ, к.ф.-м.н. Коткин Г.Л.
Новосибирский государственный университет, 2000
Подготовлено при поддержке ФЦП "Интеграция", проект "Современные компьютерные технологии в ранней профессиональной ориентации и подготовке физиков-исследователей" (рег. № 274)
1
СОДЕРЖАНИЕ
Введение
3
Основные вероятностные понятия
4
Основные принципы метода статистического моделирования
12
Получение равномерно распределенных случайных чисел
15
Моделирование дискретных случайных величин
17
Моделирование непрерывных случайных величин
20
Обработка результатов моделирования
23
Метод наименьших квадратов
30
Пример решения задачи методом статистического моделирования
34
Вычисление интегралов методом Монте-Карло
39
Задачи
45
Рекомендуемая литература
79
Приложение
80
2
ВВЕДЕНИЕ Настоящее пособие посвящено решению задач методом статистических испытаний или, как его еще называют, методом Монте-Карло. Название "Монте-Карло" происходит от города Монте-Карло в княжестве Монако, знаменитого своим игорным домом для игры в рулетку, и символизирует случайность процесса, как и при игре в рулетку. Возникновение и развитие этого метода стало возможным только после появления ЭВМ, поскольку моделирование случайных величин вручную очень трудоемко. На первый взгляд может показаться странным совместимость случайности со строго детерминированной работой ЭВМ. Действительно, случайный сбой даже одного бита в ЭВМ может привести к совершенно неправильным результатам вычислений. Тем не менее, как мы увидим дальше, такой "симбиоз" вполне возможен и очень плодотворен. Метод Монте-Карло весьма красив и прост по своим принципам и широко используется для расчетов в физике и технике (ядерная физика, физика элементарных частиц и ускорителей, взаимодействие различных излучений с веществом, геофизика, расчет качества и надежности изделий и т.д.). В некоторых случаях методом Монте-Карло решаются задачи, которые в принципе могут быть решены другими методами; в других же случаях метод Монте-Карло оказывается единственным для решения задач. Метод особенно хорош там, где не требуется очень высокой точности получаемых результатов. Здесь мы будем рассматривать в основном физические и технические задачи, однако, нужно помнить, что метод статистических испытаний успешно применяется в математике, теории игр, теории массового обслуживания, теории передачи сообщений и обнаружения и т.д., поэтому приобретенные здесь навыки Вы сможете с успехом применить и в других областях деятельности.
3
ОСНОВНЫЕ ВЕРОЯТНОСТНЫЕ ПОНЯТИЯ Случайным опытом или экспериментом называется процесс, при котором возможны различные исходы, так что нельзя заранее предсказать, каков будет результат. Величина X , представляющая собой результат случайного опыта, называется случайной величиной. Непостоянство результата такого опыта может быть связано с наличием случайных ошибок измерений или со статистической природой самой измеряемой величины (например, процесс распада радиоактивного вещества). Будем обозначать отдельные значения, которые принимает случайная величина (не обязательно численные), как X i , где i = 1, 2,, n . Любая функция от X i будет также случайной величиной. Случайные величины бывают дискретные и непрерывные, одномерные (зависящие от одной переменной) или многомерные (зависящие от двух и более переменных). Полной характеристикой случайной величины X с вероятностной точки зрения является ее закон распределения, т.е. заданная в той или иной форме связь между возможными значениями случайной величины и вероятностями их появления. Естественной формой закона распределения дискретной случайной величины X , принимающей дискретный набор значений X 1 , X 2 , ..., X n с соответствующими вероятностями P1 , P2 , ..., Pn , является таблица
X 1 X 2 ... X n , X = P1 P2 ... Pn где X 1 , X 2 , ..., X n − возможные значения величины X , а P1 , P2 , ..., Pn n
− соответствующие им вероятности, причем,
∑ P =1 . i
i =1
Универсальной
формой
закона
распределения
(непрерывных
и
дискретных величин) является функция распределения вероятностей − это такая функция F (x) , значение которой в точке x равно вероятности P 4
того, что при проведении опыта значение случайной величины X окажется меньше, чем x :
F ( x) = P( X < x) . Основные свойства функции распределения вероятностей следующие: 1) числовые значения заключены в пределах 0 ≤ F ( x) ≤ 1 ; 2) если x1 ≤ x2 , то F ( x1 ) ≤ F ( x2 ) , т.е. F (x) − неубывающая функция; 3) F ( x) → 0 при x → −∞ , F ( x) → 1 при x → ∞ .
F(x)
(a)
F(x)
(b)
1
1
x
x
Если случайная величина дискретна, то ее функция распределения представляет собой ступенчатую функцию (рис. a ), а у непрерывных случайных величин функция распределения также непрерывна (рис. b ). Функцию распределения вероятностей F (x) непрерывной случайной величины
можно
представить
в
виде
интеграла
от
некоторой
неотрицательной функции f (x ) : x
F ( x) =
∫ f (u) du
.
−∞
Функция
f (x)
называется плотностью распределения вероятности.
Основные свойства плотности вероятности таковы:
dF ( x) ; 1) f ( x) = dx
x
F ( x) =
∫ f (u) du
−∞
5
;
∞
2)
∫ f (u) du = 1
;
−∞
3) плотность вероятности пропорциональна вероятности события ( x ≤ X ≤ x + dx ) . Кроме закона распределения, случайную величину характеризуют значениями некоторых параметров, определяющих наиболее существенные особенности ее распределения. Наиболее часто используемыми параметрами распределения являются математическое ожидание или среднее значение случайной величины, а также дисперсия случайной величины. Математическим ожиданием или средним значением дискретной случайной величины называется сумма всех возможных значений
xi
случайной величины X , умноженных на соответствующие вероятности:
M{ X } ≡ x =
n
∑
xi P( X = x i ) =
i =1
n
∑x P i
i
.
i =1
x Заметим, что является не случайной, а определенной, детерминированной величиной. Так как функция от случайной величины является также случайной величиной, то математическое ожидание функции Y = H ( X ) определяется следующим образом:
M{H ( X )} =
n
∑
H ( xi ) P( X = xi ) =
i =1
n
∑ H (x ) P i
i
i =1
Для непрерывных случайных величин будем иметь ∞
M{ X } ≡ x =
∫ x f ( x) dx
−∞
и ∞
M{H ( X )} =
∫ H ( x) f ( x) dx
.
−∞
6
.
Важной характеристикой отклонения или разброса случайной величины от ее среднего значения является дисперсия случайной величины, определяемая как математическое ожидание квадрата отклонения случайной величины X от своего среднего значения:
D{ X } ≡ σ 2 ( X ) = = M{( X − M{ X }) 2 } = M{( X − x ) 2 } ≡ M{ X 2 } − (M{ X }) 2 . Положительный квадратный корень из дисперсии
σ = + σ2 ( X )
называется стандартным или среднеквадратичным отклонением*). Среднеквадратичное отклонение количественно показывает, насколько сильно значения случайной величины
X
разбросаны вокруг среднего
значения x . В качестве примера дискретной случайной величины рассмотрим числа, выпадающие при бросании игрального кубика. Пусть мы N раз бросили игральный кубик и получили N1 , N 2 , N 3 ,
N 4 , N 5 , N 6 выпаданий значений 1, 2, 3, 4, 5, 6, соответственно. Тогда говорят,
что
вероятность
выпадания
какого-нибудь
числа
i
( i = 1, 2, 3, 4, 5, 6 ) приближенно равна
Pi ≈
Ni N
,
т.е. Pi равна доле числа случаев, в которых выпало значение i , от полного числа бросаний.
Знак приближенного равенства означает, что если мы
повторим еще N бросаний, то получим, вообще говоря, другое значение N i . Соотношение для вероятности становится точным в пределе, когда N → ∞ :
Pi = lim
N →∞
*)
Ni N
.
Часто используют также эквивалентный термин квадратичное отклонение. 7
В нашем случае, если кубик "честный", вероятности выпадания значений
1, 2, 3, 4, 5, 6 равны P1 = P2 = P3 = P4 = P5 = P6 =
1 . 6
Очевидно также, что
1 ⋅ N
6
6
∑ N = ∑ P =1 i
i =1
i
.
i =1
Вычислим математическое ожидание M{X } и дисперсию D{X } для игрального кубика:
M{ X } = 1 ⋅
1 1 1 1 1 1 + 2 ⋅ + 3 ⋅ + 4 ⋅ + 5 ⋅ + 6 ⋅ = 3.5 , 6 6 6 6 6 6
D{ X } = M{ X 2 } − (M{ X }) 2 = 1 1 1 1 1 1 = 12 ⋅ + 2 2 ⋅ + 3 2 ⋅ + 4 2 ⋅ + 5 2 ⋅ + 6 2 ⋅ − (3.5) 2 = 2.917 . 6 6 6 6 6 6 В качестве примеров непрерывных случайных величин рассмотрим два весьма важных непрерывных распределения. Пример 1. Равномерное распределение. Случайная величина X имеет равномерное распределение на интервале ( a, b ) , если ее плотность вероятности задается следующим образом:
1 p( x ) = b − a 0
, если a < x < b ,
p(x)
, в противном случае .
Заметим, что в разной литературе несколько по-разному определяется равномерное распределение на заданном интервале. Часто плотность
8
1/(b−a) x a
0
b
p(x) такого распределения полагается равной 1 (b − a ) , если a ≤ x ≤ b , 0 , если
и равной
x не принадлежит сегменту
[a, b] .
Поскольку, за
исключением очень специальных случаев, результаты статистического моделирования не зависят от того, определено ли равномерное распределение на интервале
(a, b )
или на сегменте
[a, b] , мы будем здесь
и в дальнейшем считать равномерное распределение определенным на интервале
(a, b ) . b
Легко вычислить, что M{ X } =
∫ x p( x) dx = a
b
D{ X } = M{( X − M{ X }) 2 } =
∫ a
b+a ,а 2
2
b+a (b − a ) x − p ( x) dx = 2 12
2
.
a = 0 и b = 1 , имеем равномерно распределенную на интервале (0,1) случайную величину, играющую В частном случае, когда
значительную роль в методе Монте-Карло. Для таких величин
M{ X } =
1 1 , а D{ X } = . 2 12
Пример 2. Нормальное (или гауссовское) распределение. Нормальной (или гауссовской) называется случайная величина определенная на всей числовой оси
(− ∞, ∞ )
X,
и имеющая плотность
распределения вероятности
p ( x) =
( x − a) 2 ⋅ exp − 2σ 2 2π ⋅ σ 1
,
где a и σ − числовые параметры. Для гауссовского распределения имеем:
M{ X } = a , D{ X } = σ 2 .
9
a характери-
Величина
p(x)
зует центр тяжести распре-
σ = 0.5
деления X и не влияет на форму кривой. Величина же σ характеризует разброс случай-
σ = 1.0
ной величины X относительно ее среднего значения a .
σ = 2.0 Последнее утверждение можно выразить и по-другому. 0 a x Характерный размер функции по оси аргумента принято определять как ширину на полувысоте, т.е. за характерный размер
∆1 2
принимается ширина
на уровне 1 2 от максимального значения
функции (см. рис.). Так как гауссовская функция симметрична относительно вертикальной прямой, проходящей через среднее значение p(x)
a , то ∆ 1 2 = 2w1 2 , где w1 2 − полуширина функции на полувысоте. Нетрудно вычисx=a±σ лить, что при значение
функции
p(a ± σ) = 0.607 максимального
p max =
1 2π σ
равно от
pmax
σ
σ
w1/2
w1/2
0.607⋅pmax 0.5⋅pmax
ее
значения
∆1/2
.
0
a
x
Соответственно, полуширина
w1 2 = 2 ln 2 σ ≈ 1.18 σ
и полная ширина функции на полувысоте
∆ 1 2 ≈ 2.36 σ . Видно, что полуширина функции на уровне p(a ± σ) лишь немного (на 18 % ) отличается от полуширины
w1 2 , определенной на
полувысоте. Поэтому для гауссоподобных функций за полуширину обычно 10
принимают величину вместо
∆1 2 .
σ , а за полную ширину функции − величину 2σ σ
Таким образом, величина
является характерной
полушириной гауссовской функции плотности вероятности. a + 3σ
∫ p( x) dx = 0.997 ,
Можно вычислить, что
или, что то же самое,
a − 3σ
P (a − 3σ < X < a + 3σ) = 0.997 .
Практически
это
означает,
что
X , отличающегося по абсолютной величине больше чем на 3σ от среднего значения a , очень мала (≈0.3 %). Заметим, что все нормальные распределения с параметрами ( a , σ) могут
вероятность получения значения
быть сведены к одному нормальному распределению величины
(0,1) ,
параметрами
называемому
стандартным
U
с
нормальным
распределением и имеющему плотность вероятности
p (u ) =
u2 ⋅ exp − 2π 2
1
Стандартное
.
нормальное
распределение
легко
получается
из
нормального распределения с параметрами ( a , σ) путем замены переменной
U = ( X − a) / σ . Любая же нормально распределенная случайная величина X с параметрами ( a , σ) может быть получена из стандартной нормальной величины U с параметрами (0,1) преобразованием
X = a +U ⋅σ . Распределение Гаусса − одно из самых распространенных в физике. Такому распределению подчиняются ошибки измерения физических величин, результаты стрельбы по мишени, распределение проекций скоростей молекул газа (распределение Максвелла), вероятность малых флуктуаций и многое другое.
11
ОСНОВНЫЕ ПРИНЦИПЫ МЕТОДА СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ Сущность метода статистического моделирования заключается в следующем. Выбирается определенная модель, описывающая исследуемый процесс, явление, систему. На основании математического описания модели и численных методов разрабатывается моделирующий алгоритм, имитирующий внешние воздействия на систему, поведение ее элементов, их взаимодействие и последовательное изменение состояний всей системы во времени. Затем осуществляется одна случайная реализация моделируемого явления, например: один "распад" радиоактивного атома, один "процесс" прохождения элементарной частицы через вещество, один "обстрел" цели, один "день работы" транспорта, и т.п.. После осуществления единичной реализации моделируемого явления эксперимент многократно повторяется, и по результатам моделирования определяются различные характеристики модели. При этом полнота и достоверность полученной путем моделирования информации о свойственных системе закономерностях зависят от того, насколько точно использованная математическая модель описывает реальную систему, от точности вычислительных методов, использованных при разработке моделирующего алгоритма, и от числа проведенных испытаний. Продемонстрируем эти принципы на простом примере. Пусть необходимо определить площадь произвольной
y a
плоской фигуры S . Ограничим фигуру квадратом со
S
стороной a и выберем в квадрате N случайных точек.
Пусть N ′ − число
точек, попавших внутрь фигуры Тогда геометрически очевидно,
S. что
12
x 0
a
2
площадь фигуры S приближенно равна a ⋅ N ' / N . Причем, чем больше будет значение N , тем точнее будет оценка площади фигуры S . Отсюда ясно, как можно построить алгоритм для вычисления площади такой фигуры: 1.
Разыгрываем случайную величину ξ , равномерно распределенную на интервале
(0, a ) .
Значение
ξ
будет означать
X - координату
случайной точки. 2. Разыгрываем случайную величину χ , равномерно распределенную на интервале
(0, a ) .
Значение
χ
будет означать
Y - координату
случайной точки. 3.
(ξ, χ )
Проверяем, попала ли разыгранная точка Если попала, то добавляем к счетчику
N′
внутрь фигуры
S .
единицу (перед началом
описываемых действий счетчик N ′ должен быть обнулен). 4. 5.
Повторяем предыдущий процесс (пункты 1,2,3) N раз. Вычисляем значение интеграла. Отметим две особенности метода статистического моделирования.
Первая − относительная простота вычислительного алгоритма. Как правило, составляется программа для прослеживания одной реализации, а затем эта процедура N раз повторяется. Вторая − погрешности вычислений обычно пропорциональны 1
N , т.е. метод нецелесообразно применять там, где
требуется очень высокая точность вычислений. Таким образом, единичная реализация является основным элементом метода статистического моделирования и представляет один случай осуществления моделируемого процесса (явления) со всеми присущими ему случайностями. Каждый раз, когда в ход моделируемого процесса вмешивается случайность, должен быть реализован какой-то механизм случайного выбора (бросание монет, костей, вынимание жетона из вращающегося барабана, числа из набора чисел, и т.д.), называемый "единичным жребием".
13
Единичный жребий должен давать ответ на один из вопросов: произошло или не произошло некое событие A ? какое из возможных событий величина величин
A1 , A2 ,..., Ak
произошло ? какое значение приняла случайная
X ? какую совокупность значений приняла система случайных X 1 , X 2 ,..., X k ? и т.п.. Например, при моделировании
прохождения элементарной частицы через вещество единичный жребий должен отвечать на вопросы: произошло или не произошло взаимодействие A ) ? какой процесс произошел при частицы с веществом (событие взаимодействии − поглощение или рассеяние (события
A1 , A2 ,..., Ak ) ?
если произошло рассеяние, то на какой угол частица рассеялась (случайная величина X ) ? каковы координаты точки взаимодействия частицы с веществом (система случайных величин X 1 , X 2 ,..., X k ) ? и т.д.. Каждая реализация случайного явления методом Монте-Карло рассматривается как последовательность конечного числа элементарных случайных событий (единичных жребиев), перемежающихся обычными расчетами. Расчетами учитывается влияние исхода единичного жребия на ход моделирования (в частности, на условия, в которых будет осуществляться следующий единичный жребий). Для того, чтобы реализовать единичный жребий, необходимо получать на ЭВМ последовательности значений случайных величин (скалярных или векторных) с заданными законами распределения. Поскольку при решении конкретных задач могут потребоваться случайные величины с самыми разнообразными распределениями (пуассоновское, гауссовское, биноминальное, равномерное, экспоненциальное и т.д.), то задача моделирования необходимой случайной величины может показаться неимоверно сложной. Однако, все эти задачи могут быть разрешены с помощью одного стандартного механизма, позволяющего решить одну единственную задачу − получить случайную величину, распределенную с равномерной плотностью от 0 до 1. Тогда, как показано ниже, случайную величину y с произвольной плотностью распределения f ( y ) можно найти с помощью преобразований одного или нескольких независимых значений случайной величины γ , равномерно распределенной в интервале (0,1).
14
ПОЛУЧЕНИЕ РАВНОМЕРНО РАСПРЕДЕЛЕННЫХ СЛУЧАЙНЫХ ЧИСЕЛ Как упомянуто выше, ключевой проблемой моделирования является получение случайных чисел распределенных в интервале (0,1).
статистического γ , равномерно
Отметим три основных способа
получения γ : табличный, аппаратный и алгоритмический. Первый способ заключается в использовании специально составленных таблиц случайных чисел. Таблицы, полученные с помощью специальных приборов (типа рулетки), заносятся в память ЭВМ и используются по мере необходимости. Основной недостаток − необходимость в памяти достаточно большой емкости, затрудняющий решение "больших" задач, тем более, что преимущество "случайных" таблиц перед "псевдослучайными" числами, получаемыми алгоритмически, никем не было доказано. Во втором способе используются аппаратные датчики, основанные на некоторых физических процессах, случайных по своей природе (шумы в электронных и полупроводниковых приборах, процессы при радиоактивном распаде и т.п.). Основные недостатки − невозможность повторного получения одной и той же последовательности случайных величин для проверочных расчетов и невозможность гарантировать постоянную надежную работу датчика. Как правило, случайные числа γ получают в настоящее время на ЭВМ программным способом, производящим последовательности "псевдослучайных" чисел. Для этого используются рекуррентные формулы, когда каждое последующее число γ i +1 образуется из предыдущего γ i на основании применения некоторого алгоритма. Подобная последовательность чисел, не будучи истинно случайной по своей природе, обладает свойствами, аналогичными свойствам случайных величин. Большинство алгоритмов получения псевдослучайных чисел основано на том, что при перемножении двух многоразрядных чисел x и y средние разряды произведения xy являются сложной функцией сомножителей и обладают "случайными" свойствами.
15
Простой пример получения равномерно распределенной в интервале (0,1)
случайной величины
ξ
может быть осуществлен следующим
алгоритмом:
ξ i +1 = {π ⋅ ξ i } , ξ 0 = 0.1 . Знак { } означает, что берется дробная часть произведения. Вычисления дают такую последовательность: ξ 0 = 0.1 , ξ1 = 0.415926 , ξ 2 = 0.667 ,
ξ 3 = 0.54422 , ξ 4 = 0.97175 , ξ 5 = 0.28426 и т.д.. К настоящему времени разработано множество алгоритмов получения псевдослучайных чисел. Наиболее популярным для получения псевдослучайных
чисел
ξ1 , ξ 2 ,...,
является
метод
вычетов
(мультипликативный датчик), который можно записать в следующей форме:
ξ i +1 = {M ⋅ ξ i } ,
ξ0 = 2 −m ,
где M − достаточно большое целое число, фигурные скобки обозначают дробную часть, а m − число двоичных разрядов в мантиссе чисел в ЭВМ. Методы выбора значений
M , ξ0 и m
разнятся для разных вариантов
реализаций данного метода (это своя собственная "наука") и определяют основные свойства датчика случайных чисел (соответствие статистическим критериям, длину периода повторения последовательности и т.п.). В составе математического обеспечения системы Turbo Pascal также имеется датчик псевдослучайных чисел − функция Random() . Если эта функция используется без параметра, то ее значением будет равномерно распределенное реальное число в интервале от 0 до 1 .
Если же она
n ), то результатом будет равномерно распределенное целое число в интервале от 0 до n . Вызов
вызывается с параметром (целым числом
функции в программе осуществляется следующим образом:
16
x := Random;
{
0<x<1
}
m := Random(n);
{
0≤m
} .
или
Поскольку получение псевдослучайных чисел осуществляется по рекуррентной формуле, то при запуске программы функция Random будет всегда начинать последовательность с одного и того же первого числа (аналог
ξ0
в приведенных выше примерах).
Это означает, что после
компиляции и запуска программы вы все время будете получать одну и ту же наперед заданную последовательность чисел. С одной стороны, это иногда удобно для отладки программы, а, с другой стороны, может мешать при моделировании. Чтобы исключить такую ситуацию, существует специальная процедура Randomize , которая инициализирует случайным значением (текущим системным временем) генератор псевдослучайных чисел, используемый функцией Random . Таким образом, обращение к процедуре Randomize позволяет смоделировать начальную "случайность" программного датчика псевдослучайных чисел.
МОДЕЛИРОВАНИЕ ДИСКРЕТНЫХ СЛУЧАЙНЫХ ВЕЛИЧИН Рассмотрим дискретную случайную величину
ξ , принимающую
n
значений X 1 , X 2 , ..., X n с вероятностями P1 , P2 ,..., Pn . Эта величина задается таблицей распределения
X 1 X 2 ... X n ξ = P1 P2 ... Pn
n
,
∑P
k
=1 .
k =1
Для моделирования такой дискретной случайной величины разбивают отрезок [0,1] на n
последовательных отрезков ∆ 1 , ∆ 2 ,..., ∆ n , длины
которых равны соответствующим вероятностям P1 , P2 ,..., Pn . Получают
17
случайную величину γ , равномерно распределенную в интервале (0,1), и полагают ξ = X k , если γ ∈ ∆ k . Аналогичным образом осуществляется моделирование случайных событий. Пусть необходимо смоделировать реализацию (осуществление или неосуществление) какого-либо события S k из ряда событий S1 , S 2 ,..., S n , образующих полную группу событий.
Свяжем с этой системой событий
случайную величину ξ , равную номеру события:
1 2 ... n , где Pk − вероятность наступления S k . ξ = P1 P2 ... Pn Тогда полагаем, что произошло случайное событие
S k , если случайная
величина ξ приняла значение, равное k . Среди дискретных случайных величин важное значение имеют целочисленные случайные величины с распределением вида p k = P ( ξ = k ) ( k = 0, 1, 2,... ), которые связаны простыми рекуррентными формулами
p k +1 = p k ⋅ r (k ) . Среди таких распределений наиболее важными и часто используемыми являются биноминальное распределение и распределение Пуассона. Для биноминального распределения с параметрами ( p, n) имеем:
Pk = P (ξ = k ) = C kn p k (1 − p ) n − k , k = 0,1,..., n , r (k ) =
p k +1 n − k p = ⋅ , pk k +1 1− p
C kn =
n! . (n − k )!k!
Для распределения Пуассона с параметром λ имеем:
pk =
λk − λ ⋅e , k!
r (k ) =
λ , k = 0,1, . k +1
18
Моделирование этих и подобных им случайных величин можно осуществлять по следующей простой схеме:
M = γ , P = p0 , m = 0 M<0
M=M−P
ξ=m
M≥0 P = P⋅r(m) , m = m + 1
В
качестве
примера
приведем
вариант
программной
функции,
осуществляющей моделирование распределения Пуассона с параметром λ : Function Puass(Lamda : real) : integer; var ver, p0, P : real; k : integer; begin k := 0; p0 := exp(-Lamda); P := p0; ver := random; repeat ver := ver - P; if ver >= 0 then begin P := P*Lamda/(k+1); k := k + 1; end; until ver < 0; Puass := k; end;
{Lamda/(k+1) = r(k)}
19
МОДЕЛИРОВАНИЕ НЕПРЕРЫВНЫХ СЛУЧАЙНЫХ ВЕЛИЧИН
ξ,
Пусть нам нужно получать значения случайной величины
(a, b )
распределенной в интервале
с плотностью вероятности
f (x ) .
Стандартный метод моделирования основан на том, что интегральная функция распределения любой непрерывной случайной величины (0,1), т.е. для любой случайной
равномерно распределена в интервале
величины x с плотностью распределения f (x) случайная величина y
F ( y) =
F(y)
a
1.0 0.8 0.6
∫ f ( x) dx
1
2
равномерно распределена на
F(ξ) = γ
γ
интервале (0,1). Тогда случайную величи-
0.4
ну
0.2
3
0
y
ξ
a
ξ с произвольной плот-
ностью распределения можно найти образом:
b
f (x)
следующим
γ , равномерно распределенную в
1. Получаем случайную величину интервале (0,1). ξ
2. Полагаем F ( ξ) =
∫ f ( x) dx = γ
.
a
3. Решая уравнение ξ = F − ( γ ) , находим искомое значение ξ . 1
Такой способ получения случайных величин называется методом обратных функций. В качестве примера рассмотрим получение случайной величины имеющей экспоненциальное распределение с плотностью где
λ
− параметр распределения. 20
p(τ) = λ ⋅ e
τ , − λτ
,
Такое распределение широко
используется при моделировании различных физических явлений: это и длина свободного пробега ионизирующих частиц в веществе, и распределение интервалов времени между моментами попадания ионизирующих частиц в регистрирующий прибор и т.д.. Следуя указанной методике, получаем τ
∫ λ ⋅e
− λx
⋅ dx = 1 − e − λτ = γ .
0
1 ⋅ ln(1 − γ ) . Так как величина 1 − γ распределена λ точно так же, как и γ , то последнюю формулу можно переписать в виде τ=−
Отсюда
τ=−
1 ⋅ ln(γ ) . λ
Еще один пример. Пусть требуется получить случайную величину ξ , распределенную в интервале ( a , b) с равномерной плотностью:
p( x ) =
1 , b−a ξ
Тогда
dx
a< x
ξ−a
∫ b−a = b−a = γ
и мы получаем следующее выражение:
a
ξ = a + γ ⋅ (b − a ) . Эта формула часто используется для расширения или смещения
стандартного
интервала
(0,1)
равномерно
распределенной
случайной величины до необходимого интервала (a, b) . Следует отметить, что не всегда возможно так легко разрешить получаемые уравнения. Чаще всего аналитическое решение не существует, и тогда приходится прибегать к численному решению уравнения ξ = F − ( γ ) . 1
Может оказаться и так, что алгоритм численного решения указанного уравнения будет достаточно сложным или требовать заметных затрат времени на вычисления. Тогда могут быть использованы другие методы
21
генерирования случайных величин. исключения.
Среди этих методов отметим метод
Суть метода исключения (или метода Неймана) заключается в следующем. Пусть случайная величина
ξ
определена на конечном
интервале ( a, b ) и плотность ее распределения ограничена, так что
f ( x) ≤ M .
Тогда,
y
M
f(x) Q
η
используя пару равномерно распределенных на интервале (0,1) случайных чисел осуществляем действия для
x
γ ,
a
ξ0
b
следующие розыгрыша
значения ξ : 1. Разыгрываем два значения
γ1 и γ 2
случайной величины
γ
и
строим случайную точку Q с координатами (см. рисунок):
ξ 0 = a + γ 1 ⋅ (b − a ) , η = γ 2 ⋅ M . 2. Если η > f (ξ 0 ) , то пару значений (γ1 , γ 2 ) отбрасываем и переходим к п.1; иначе принимаем ξ = ξ 0 . Таким образом, мы определяем координаты случайной точки Q(ξ 0 , η) и, если точка окажется под кривой
f (x) , то абсцисса этой точки
принимается в качестве значения случайной величины ξ = a + γ 1 ⋅ (b − a ) с плотностью распределения f (x) . В противном случае точка отбрасывается, мы определяем координаты следующей точки, и все повторяется. Существуют и другие многочисленные способы формирования случайных величин с различными определенными законами распределения. Так, например, моделирование нормально распределенной случайной
22
величины X может быть осуществлено на основании центральной предельной теоремы теории вероятностей. Эта теорема утверждает, что закон распределения суммы независимых случайных величин стремится к нормальному при увеличении числа слагаемых. Для практического n
использования
можно
считать,
что
случайная
величина
X=
∑γ
i
i =1
распределена нормально при
n≥8
с математическим ожиданием
M{X } = n / 2 и среднеквадратичным отклонением σ = n 12 . Так
как
параметрами
моделирование
(m, σ )
ξ = m + σ ⋅ η , где
любого
нормального
распределения
с
может быть осуществлено по очевидной формуле
η − нормальна с параметрами (0,1), то нормально
распределенные случайные величины с параметрами (0,1) можно вычислять по следующей приближенной формуле:
12 η= n
12
n 1 ⋅ γ i − ⋅ n . 2 i =1
∑
12
При n = 12 эта формула заметно упрощается: η =
∑γ
i
−6 .
i =1
ОБРАБОТКА РЕЗУЛЬТАТОВ МОДЕЛИРОВАНИЯ Чтобы получить статистические характеристики исследуемой модели, необходимо производить обработку результатов моделирования. Обработки могут быть различными в зависимости от цели моделирования, но чаще всего бывает необходимо определить математическое ожидание (среднее значение) и дисперсию (среднеквадратичное отклонение) интересующей нас величины (величин). При реальном моделировании, как и в реальных экспериментах, мы всегда имеем дело с конечным числом испытаний или опытов, то есть с
23
конечным числом n значений любой случайной величины X . Для определения средних значений и дисперсий можно воспользоваться стандартными приемами статистической обработки экспериментальных данных для оценок среднего и дисперсии по выборке из n значений
x1 , x 2 ,, x n случайной величины X :
xn =
выборочное среднее:
σ n2 =
выборочная дисперсия: Величина
1 n
n
∑x
i
,
i =1
n 1 2 ⋅ ( xi − x n ) . n − 1 i =1
∑
x n называется выборочным средним, а σ 2n − выборочной 2
дисперсией случайной величины X . Значения x n и σ n можно принять в качестве оценок математического ожидания величины
X , т.е.
M{X } ≡ x ≈ x n ,
M{X } и дисперсии D{X }
D{X } ≡ σ 2 ≈ σ 2n . Приближенные
равенства становятся точными в пределе, когда
σn
среднеквадратичное отклонение выборочной дисперсии
n→∞ .
Выборочное
равно корню квадратному из
σ 2n .
Оценки среднего и дисперсии могут производиться как после проведения моделирования, так и параллельно ему. В первом случае обработке подвергается достаточно большой массив накопленных чисел, во втором − каждое из значений случайной величины используется сразу же после получения. Если при решении задачи моделирования достаточно лишь вычисления значений среднего и дисперсии случайной величины, то определение их значений в процессе моделирования существенно сокращает как время вычислений, так и требуемый объем памяти (всего две переменных для определения значений
xn
и
σ 2n ). Для этого нужно переписать
формулу для определения дисперсии в эквивалентной форме:
24
σ n2 =
n 1 1 n 2 2 ⋅ ( xi − x n ) = ⋅ xi − n ⋅ x n2 . n − 1 i =1 n − 1 i =1
∑
∑
Тогда при получении каждого нового значения
xn
случайной
n
величины
X
достаточно определять сумму
∑x
i
значений случайной
i =1
n
величины и сумму
∑x
2 i
значений квадратов случайной величины.
i =1
Часто желательно и удобно иметь возможность графически отображать получаемую информацию о распределении моделируемой случайной величины, например, в виде гистограммы или графика так называемого частотного распределения. Для этого диапазон всех возможных значений случайной величины разбивают на одинаковые (как правило) интервалы, внутри которых сосредоточены статистические данные. Интервалы не должны перекрываться. Внутри каждого интервала определяют частоту попадания в него значений случайной величины. Число интервалов и их ширина чаще всего определяются сущностью задачи, однако они должны быть достаточно большими, чтобы не упустить важные подробности в поведении случайной величины. Обычно число интервалов выбирают порядка 20 или больше. Для построения гистограммы нужно над каждым отрезком оси абсцисс, соответствующим выбранному интервалу значений случайной величины, построить прямоугольник, площадь которого пропорциональна количеству попаданий значений случайной величины в данный интервал. При интервалах равной ширины частота попаданий будет пропорциональна высоте прямоугольника. Рассмотрим следующий простой пример. резисторов с номиналом сопротивления
Пусть у нас есть набор
Rnom . Резисторы имеют разброс
значений сопротивлений ∆R , так что истинная величина сопротивления любого резистора с равной вероятностью может находиться в диапазоне от
Rnom − ∆R
до
Rnom + ∆R . Нужно смоделировать измерение значений 25
сопротивлений для
N izm
резисторов, определить среднее значение и
среднеквадратичное отклонение сопротивлений, и построить гистограмму распределения значений сопротивлений. Это можно смоделировать следующей программой: uses Gisto,Graph; const NGist = 100; { число интервалов гистограммы } var Gd, Gm, i : Integer; Nizm : integer; R, Rnom, Rsr, SumR, SumR2, deltaR, Disp : real; begin write('Введите номинал сопротивления Rnom = '); readln(Rnom); write ('Введите величину разброса deltaR = '); readln (deltaR); write ('Введите число сопротивлений Nizm = '); readln (Nizm); SumR := 0; {для накопления суммы значений сопротивлений} SumR2 := 0; {для накопления суммы квадратов значений сопротивлений} { Инициализация гистограммы } InitGist(NGist,Rnom-deltaR,Rnom+deltaR); { Моделирование измерения сопротивлений } Randomize; for i := 1 to Nizm do begin R := Rnom + (2*deltaR*Random-deltaR); { R = Rnom + DR } SumR := SumR + R; { Для определения среднего } SumR2 := SumR2 + sqr(R); { и дисперсии измерений } InGist(R); { Занесение в гистограмму } end; Rsr := SumR/Nizm; { Среднее } Disp := (SumR2 - Nizm*sqr(Rsr))/(Nizm-1); { Дисперсия } writeln (' Rсреднее = ',Rsr:5:2); writeln (' Квадр. отклонение R = ',sqrt(Disp):5:2); readln; { Ожидание <Enter> перед выводом гистограммы } Gd := Detect; InitGraph(Gd, Gm, 'c:\tp\bgi'); { Переход } if GraphResult <> grOk then begin { в графический } writeln (' Graph error or bgi driver not found '); { режим }
26
Halt; end; Gistogram(green); readln; CloseGraph; end.
{ Вывод гистограммы на экран } { Ожидание <Enter> после вывода гистограммы }
В программе используется модуль
Gisto
с тремя процедурами для
работы с гистограммой: InitGist − инициализация работы с гистограммой, InGist − ввод текущего значения в массив гистограммы, Gistogram − вывод гистограммы на экран. Текст модуля должен находиться в файле Gisto.pas , а сам файл нужно поместить в текущую рабочую директорию (папку). Перед Gisto.pas компиляцией программы файл следует предварительно откомпилировать с помощью опции Alt-F9 , чтобы в рабочей директории появился файл Gisto.tpu , либо компиляцию основной программы нужно выполнять с помощью опций Build или Make из меню опции Compile ТурбоПаскаля. Текст модуля приведен ниже:
{ Пакет процедур для построения гистограммы распределений } { Файл: gisto.pas } UNIT Gisto; INTERFACE uses Graph; var I, NGist : Integer; OldPattern : FillPatternType; Xstart,Xfin,deltaX : real; MGist : array[1..580] of integer;
{ NGist-число интервалов гистограммы } { массив гистограммы }
procedure InitGist(Ng : integer; Xl,Xh : real); procedure InGist(Value : real); procedure Gistogram(Color : Byte); IMPLEMENTATION { Процедура инициализации для построения гистограммы } { Ng - число интервалов гистограммы; Xl,Xh - начальное и конечное значение гистограммы по оси X }
27
procedure InitGist(Ng:integer; Xl,Xh:real); var i : integer; begin if Ng <= 580 then Ngist:=Ng else begin writeln('Число интервалов гистограммы > 580 !'); Halt; end; for i := 1 to NGist do MGist[i] := 0; { очистка массива гистограммы } Xstart := Xl; { начальное значение гистограммы по оси X } Xfin:=Xh; { конечное значение гистограммы по оси X } deltaX := (Xh-Xl) / NGist; { интервал построения гистограммы по оси X } end; { Процедура занесения значения в массив гистограммы } procedure InGist(Value : real); var i : integer; begin i := trunc((Value - Xstart)/deltaX)+1; if i < 1 then i := 1; if i > NGist then i := NGist; MGist[i] := MGist[i] + 1; end;
{ Value - вносимое значение }
{ номер элемента по x} { защита от выхода } { за границы массива } { добавление точки в массив }
{ Процедура вывода гистограммы на экран } procedure Gistogram(Color : Byte); { Color - цвет вывода гистограммы } const MaxY = 420; { максимальный размер гистограммы по Y } X0 = 50; Y0 = 450; { координаты начальной точки вывода } var max,x,y,i,shir : integer; mash : real; s : string; begin { Определение максимума массива и масштаба по Y } max := MGist[1]; for i := 2 to NGist do if MGist[i] > max then max := MGist[i];
28
if max <> 0 then mash := MaxY / max; if max = 0 then mash:=0; { Определение ширины прямоугольника для вывода интервала } shir := trunc((630-X0) / Ngist); GetFillPattern(OldPattern); {Цвет и стиль вывода гистограммы} SetFillPattern(OldPattern,Color); { Вывод гистограммы на экран } for i := 1 to NGist do begin y := Y0 - round(MGist[i]*mash); x := X0 + round(Shir*(i-1)); bar(x+1, Y0, x + shir-1, y); end; { Построение осей и разметки гистограммы } SetColor(white); line(X0-10,Y0,X0+NGist*shir+9,Y0); line(X0,Y0+10,X0,Y0-MaxY-10); line(X0-10,Y0-MaxY,X0+10,Y0-MaxY); line(X0+NGist*shir,Y0+10,X0+NGist*shir,Y0-10); { Вывод значений максимума гистограммы, начального и конечного значений по оси X } Str(0,s); MoveTo(X0-22,Y0-4); OutText(s); Str(max,s); MoveTo(0,Y0-MaxY-4); OutText(s); Str(Xstart:8:2,s); MoveTo(X0,Y0+14); OutText(s); Str(Xfin:8:2,s); MoveTo(X0+NGist*shir-64,Y0+14); OutText(s); end; end.
29
МЕТОД НАИМЕНЬШИХ КВАДРАТОВ При решении задач методом Монте-Карло, так же как и при обработке экспериментальных данных, часто возникает один и тот же вопрос. Пусть
y мы решаем какую-нибудь задачу, в которой некая физическая величина ~ зависит от аргумента
y является функцией от x : ~y = ~y ( x) . x , т.е. ~
Задав ряд значений аргумента x i , где i = 1, , N , методом статистических
xi соответствующие значения ~y = ~ y ( xi ) . Если мы отложим на графике найденные точки и соединим их i y вместо отрезками прямых, то из-за статистического разброса значений ~ испытаний мы находим для каждой точки
i
"гладкой" зависимости
~y = ~y ( x) получим изломанную от точки к точке
("зубастую") кривую (см. рис.). Мы понимаем, что эта изломанность возникает из-за статистических ошибок наших
y и не вычислений величины ~
y=y(x) ~
yi
имеет отношения к искомой физической зависимости
~ y ( x) . Поэтому в простейшем
случае по найденному набору точек
~y i
мы
можем,
x xi
например, "на глаз" провести некоторую плавную (гладкую)
yi , и кривую, которая бы наилучшим образом аппроксимировала все точки ~
y ( x) . Но в этом принять эту гладкую зависимость за искомую зависимость ~
случае мы никогда не будем уверены, что провели такую гладкую зависимость "наилучшим" образом и что нельзя провести какую-нибудь 30
другую гладкую кривую, которая бы еще лучше аппроксимировала все точки
~y . i Пусть мы предполагаем, догадываемся или даже определенно знаем, что
y = y ( x, p1 ,..., p m ) , где
искомая зависимость описывается функцией
p1 ,..., p m − некоторые параметры. Попробуем подобрать параметры так, y ( x, p1 ,..., p m ) наилучшим образом аппроксимировала y i . Естественен вопрос, что значит "наилучшим (приближала) все точки ~ образом" ? Нам нужно, чтобы для каждой точки x значения ~ y =~ y (x ) и
чтобы функция
i
y i = y ( xi , p1 ,..., p m )
i
i
как можно меньше отклонялись друг от друга.
Возможны разные меры отклонения, но наиболее часто в качестве такой меры отклонения принимают величину
(y i − ~y i )2
. Тогда для наилучшего
y i функцией y ( x, p1 ,..., p m ) приближения всех точек последовательности ~ мы должны потребовать, чтобы сумма квадратов отклонений по всем точкам была минимальна, т.е. чтобы величина N
S=
∑( y
−~ yi )
2
i
i =1
имела минимум. Поскольку
yi
xi , так и от параметров
является функцией как от
p1 ,..., p m , величина
S
также является функцией от параметров
p1 ,..., p m :
S = S ( p1 ,, pm ) =
N
∑ ( y( x , p ,, p i
1
m)
−~ yi )
2
.
i =1
Чтобы функция S имела минимум, необходимо выполнение условий (см. ПРИЛОЖЕНИЕ):
31
∂S ( p1 ,, pm ) =0 ∂p1 ∂S ( p1 ,, pm ) =0 ∂pm
, , . m
Получается система
уравнений на
m
неизвестных параметров
p1 ,..., p m . Если N ≥ m , то система может иметь однозначное решение, хотя для произвольной нелинейной функции y ( x, p1 ,..., p m ) такое решение в большинстве случаев может быть найдено только численными методами. При найденных из решения системы значениях параметров функция
y ( x, p1 ,..., p m )
наилучшим
образом
p1 ,..., p m
аппроксимирует
yi . последовательность значений ~ Рассмотренный способ называется методом наименьших квадратов (МНК) и широко используется при обработке результатов статистического моделирования, при обработке экспериментальных данных и в других случаях. В ситуации, когда зависимость y (x ) является линейной функцией
y = ax + b , приведенная выше система уравнений сильно упрощается. Действительно, в этом случае
p1 = a , p2 = b ,
S = S ( a , b) =
N
∑ ((ax
+ b) − ~ yi )
2
i
,
i =1
и, соответственно, уравнения на минимум суммы квадратов отклонений имеют вид:
∂S ∂ = ∂a ∂a
N
N
i =1
i =1
∑ ((axi + b) − ~yi )2 = 2∑ xi ((axi + b) − ~yi ) = 0 , 32
∂S ∂ = ∂b ∂b
N
∑ ((ax
i
2 + b) − ~ yi ) = 2
i =1
N
∑ ((ax
i
+ b) − ~ yi ) = 0 .
i =1
Решение этой системы двух линейных уравнений дает:
a= где x =
x~ y− x ⋅ ~ y x − (x )
2
2
1 N
N
∑
y − ax , , b= ~
xi , x 2 =
i =1
1 N
N
1 xi2 , ~ y= N i =1
∑
N
∑ i =1
1 ~ y i , x~ y= N
N
∑ x ~y i
i
.
i =1
Ниже приведен пример программы для вычисления коэффициентов a и b прямой y = ax + b наилучшего приближения по заданному массиву
N статистически смоделированных или экспериментальных точек ~ (xi , yi ) , i = 1, , N :
из
Program MNK ; Var a, b, x, y, sum_x, sum_y : Real ; sum_xx, sum_xy : Real ; i, N : Integer ; Begin Write(‘N=? : ’) ; {ввод числа точек массива} Readln(N) ; sum_x:=0 ; sum_y:=0 ; sum_xx:=0 ; sum_xy:=0 ; For i:=1 to N do Begin Write(‘Input x : ’) ; Readln(x) ; {ввод значения x точки} Write(‘Input y : ’) ; Readln(y) ; {ввод значения y точки} sum_x:=sum_x + x ; sum_y:=sum_y + y ; sum_xx:=sum_xx + x*x ; sum_xy:=sum_xy + x*y ; End ; a:=( sum_x*sum_y - N*sum_xy )/(sum_x*sum_x - N*sum_xx) ;
33
b:=(sum_y - a*sum_x)/N ; Writeln(‘a=’, a) ; Writeln(‘b=’, b) ; Readln ; End.
y (x ) − нелинейная, то в ряде случаев, используя
Если зависимость
функциональный масштаб, ее можно свести к линейной путем замены переменных. Так, например, если по расположению смоделированных или экспериментальных точек на графике
~y ( x) ожидается зависимость вида
y ( x ) = k e λx , то, прологарифмировав это выражение, можно перейти к таким переменным q и p , что связь между ними окажется линейной:
ln( y ( x )) = ln( k ) + λ x , p = ln( y ) , q = x , b = ln k , a = λ , p(q ) = aq + b . В новом масштабе полученные данные должны укладываться на прямую линию. Найдя методом наименьших квадратов коэффициенты a и b , как изложено выше, можем найти выражения для коэффициентов k и λ :
λ=
x ln ~ y − x ⋅ ln ~y x 2 − (x )
2
,
~
k = e ln y −λ x
.
ПРИМЕР РЕШЕНИЯ ЗАДАЧИ МЕТОДОМ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ На пластину из алюминия толщиной D = 75 см перпендикулярно ее поверхности падает пучок моноэнергетических тепловых нейтронов. Вероятность свободного пробега нейтрона в веществе до взаимодействия l равна p(l ) = µ ⋅ e −µ⋅ , где µ = 0.0981 см-1.
34
В результате взаимодействия с веществом нейтрон либо поглощается с вероятностью
y n
pa = 0.141 , либо рассеивается с
x
вероятностью p s = 0.859 . Считать,
0
D
что задача двумерна и рассеяние нейтронов происходит изотропно в плоскости рисунка. Нарисовать набор траекторий движения нейтронов в пластине. Построить гистограмму распределения нейтронов, прошедших через пластину, в зависимости от угла вылета из пластины. Решение Сложный случайный процесс прохождения нейтронов через вещество будем рассматривать как последовательность конечного числа элементарных случайных событий. Такими событиями в данном случае будут: движение нейтрона без взаимодействия на некотором пути, взаимодействие какоголибо типа (поглощение или рассеяние) и, если нейтрон не поглощается, снова движение до следующего взаимодействия. Зная вероятность каждого из этих событий, можно смоделировать траекторию нейтрона в пластине. Повторяя этот процесс для достаточно большого числа нейтронов, можно определить требуемые характеристики процесса прохождения нейтронов через пластину. y , будем считать что Так как задача симметрична относительно оси движение каждого нейтрона начинается в точке 0 . прослеживания траекторий может быть таким: 1.
Тогда алгоритм
Инициализируем начальное положение нейтрона при входе в пластину:
x = 0 , y = 0 , ϕ = 0 (угол ϕ отсчитывается от оси x ). 2.
Моделируем движение нейтрона без взаимодействия (свободный пробег). Так как плотность распределения длины свободного пробега нейтрона
вдоль
заданного
направления
35
ϕ
описывается
экспоненциальной функцией распределения пробега до взаимодействия
l=−
координаты положения нейтрона:
p(l ) = µ ⋅ e −µ⋅l , то длина
1 ⋅ ln(γ ) . µ
Определяем новые
x = x + l cos ϕ ,
y = y + l sin ϕ ,
ϕ=ϕ . 3.
Проверяем, не вышел ли нейтрон за границы пластины ? Если вышел ( x > D ) , то вносим в гистограмму точку с углом
ϕ и переходим к
розыгрышу траектории следующего нейтрона на п.1. Если нейтрон не вышел за границы пластины ( x ≤ D ) , то переходим к следующему пункту. 4. Розыгрыш типа взаимодействия нейтрона с веществом. Определяем, какой процесс произошел − поглощение или рассеяние.
Для этого
получаем очередное случайное число γ и сравниваем его со значением вероятности поглощения нейтрона p a . Если γ ≤ p a , то это означает, что произошло поглощение нейтрона, поэтому процесс прослеживания текущей траектории заканчивается и переходим к п.1 для розыгрыша движения следующего нейтрона. Если γ > p a , то произошло рассеяние нейтрона и переходим к пункту 5. 5. Определение параметров рассеяния нейтрона.
Считая рассеяние
нейтрона изотропным, определяем угол рассеяния по формуле ϕ = 2πγ , так как рассеяние во все стороны равновероятно. Теперь, определив новое направление движения нейтрона, возвращаемся к п.2 для розыгрыша движения нейтрона в этом направлении до следующего взаимодействия. 6. Повторяем описанный процесс необходимое число раз, соответствующее числу нейтронов, упавших на пластину. Вариант программы:
36
uses Gisto,Graph; const MashX = 2; MashY = 1.2; NGist = 60; Mu = 0.0981; Pa = 0.0141; D = 80.;
{ Масштабный коэффициент по X для вывода на экран } { Масштабный коэффициент по Y для вывода на экран } { Число интервалов гистограммы } { Mu - коэффициент поглощения нейтрона } { Pa - вероятность поглощения нейтрона } { D - толщина пластины }
var Gd, Gm, I, N : Integer; Xscr, Yscr, Xscr0, Yscr0 : Integer; OldPattern : FillPatternType; x, y, Lpr, Fi : real; label P1, P2, P3, P4, P5, OutGist; begin writeln('Введите число нейтронов N = '); readln(N); { Переходим в графический режим } Gd := Detect; InitGraph(Gd, Gm, 'с:\tp\bgi'); if GraphResult <> grOk then begin writeln (' Graph error or BGI driver not found. '); Halt; end; { Рисуем пластину в центре экрана } GetFillPattern(OldPattern); SetFillPattern(OldPattern,7); { стиль и цвет для вывода пластины } Bar(320-round(D*MashX/2), 0, 320+round(D*MashX/2), 479); Randomize; i := 0;
{ подкрутка Random } { очистка счетчика числа нейтронов }
InitGist(NGist,-Pi/2,Pi/2);
{ инициализация гистограммы в диапазоне углов от -Pi/2 до Pi/2 }
P1: {Инициализируем начальные координаты и угол движения нейтрона } i := i + 1; if (i > N ) then goto OutGist; { проверка на исчерпание числа нейтронов } x := 0; y := 0; Fi := 0; Xscr0 := 320-round(D*MashX/2); Yscr0 := 240; MoveTo(Xscr0,Yscr0); { установка точки на экране в позицию x=0, y=0 } SetColor (i); { установка цвета вывода траектории }
37
P2: { Определяем длину свободного пробега и новые координаты нейтрона} Lpr := - ln(Random)/Mu; { длина пробега } x := x + Lpr*cos(Fi); { новая координата x } y := y + Lpr*sin(Fi); { новая координата y } { Определяем экранные координаты и рисуем траекторию } Xscr := Xscr0 + round(x*MashX); Yscr := Yscr0 + round(y*MashY); LineTo(Xscr,Yscr); P3: { Проверка выхода за границы пластины } if (x < 0 ) then GoTo P1; { выход за левую границу пластины, переходим к следующему нейтрону } if (x > D) then begin { выход за правую границу } if (Fi > Pi) then Fi := Fi - 2*Pi; { коррекция диапазона по углам } InGist(Fi); { заносим точку в массив гистограмм } GoTo P1; end; P4: { Проверка на поглощение или рассеяние нейтрона } if (Random <= Pa) then GoTo P1; { поглощение нейтрона } P5: { Рассеяние нейтрона, розыгрыш угла рассеяния } Fi := 2*Pi*Random; GoTo P2; OutGist: write(' Вывод гистограммы <Enter> ? '); readln; { ожидание <Enter> } ClearDevice; { очистка экрана перед выводом гистограммы } Gistogram(13); { вывод гистограммы } readln; { ожидание <Enter> } CloseGraph; end.
Для построения гистограмм в программе используется описанный выше модуль Gisto (текст модуля и его правильное применение приведены в предыдущем примере).
38
ВЫЧИСЛЕНИЕ ИНТЕГРАЛОВ МЕТОДОМ МОНТЕ-КАРЛО Метод Монте-Карло, будучи случайным по своей природе, применяется также и для решения многих задач, не связанных с какими-либо случайностями. В частности, он используется при решении ряда задач вычислительной математики, например, для вычисления интегралов (особенно высокой кратности). Пусть у нас есть некоторая функция y = f (x) и необходимо вычислить определенный интеграл от этой функции на интервале
(a, b ) :
b
I=
∫
f ( x ) dx .
a
Разработано много разных методов вычисления интегралов с помощью статистического моделирования. Рассмотрим здесь лишь два наиболее простых. Первый метод аналогичен способу определения площади произвольной плоской фигуры, описанному выше. Рассмотрим прямоугольx=a , ник со сторонами f(x) x = b , y = 0 и y = M , где
M − число, равное или превы-
M
шающее по величине максимум функции на интервале
(a, b ) , так что 0 ≤ f ( x ) ≤ M 0
x a
b
на всем интервале (см. рис.). Будем заполнять этот прямоугольник случайными точками
которых равномерно распределены в интервалах
(ξ, η) , координаты
a < ξ < b , 0 < η< M .
Тогда геометрически очевидно, что приближенное значение интеграла
39
(заштрихованная на рисунке площадь) будет равно площади
S0
прямоугольника, умноженной на отношение числа точек N ′ , попавших под кривую y = f (x) , к общему числу точек N . Следовательно: b
I=
∫ f ( x ) dx
≈ S0 ⋅
a
N′ N' = M ⋅ (b − a ) ⋅ . N N
На практике это означает, что для каждой разыгранной точки
(ξ i , ηi ) ,
где i = 1,2,, N , проверяется условие ηi < f ( ξi ) , и, если оно выполнено, то в счетчик для N ′ добавляется единица, в противном случае − ничего не добавляется. После проведения N испытаний по приведенной формуле вычисляется приближенное значение интеграла. Аналогично могут быть вычислены и кратные интегралы. Например, для
двойного
интеграла
G = { a < x < b, c < y < d
I=
∫∫ f ( x, y) dxdy
функции
f ( x, y )
по
области
будем иметь
≈ V0 ⋅
G
где
}
от
N′ N' = M ⋅ (b − a ) ⋅ (d − c ) ⋅ , N N
V0 − объем параллепипеда со сторонами
(b − a )
и
(d − c) , и с
высотой M , равной или превышающей по величине максимум функции в области G , так что во всей области 0 ≤ f ( x, y ) ≤ M . В данном случае уже не прямоугольник, а параллепипед заполняется случайными точками
(ξ, η, χ ) ,
координаты которых имеют равномерное распределение в
интервалах a < ξ < b , c < η < d , 0 < χ < M , и, если для произвольной точки
(ξ i , ηi , χ i )
выполняется условие χ i < f (ξ i , η i ) , то в счетчик для
N ′ добавляется единица. В общем случае формула вычисления для k -кратных интегралов будет иметь вид
40
∫∫ ∫ f ( x , x 1
2 ,, xk
) dV ≈ V k ⋅
G
N' , N
где Vk − k-мерный объем области интегрирования. Чем больше точек, тем точнее значение интеграла, но следует помнить, что точность вычисления пропорциональна
1
N , и для повышения
точности в 10 раз нужно увеличить N в 100 раз и т.д.. Другой способ вычисления интегралов с помощью метода Монте-Карло основан на вычислении среднего значения функции. Пусть ξ − случайная
(a, b ) с плотностью
величина, равномерно распределенная в интервале вероятности
a< x
.
f (ξ) от случайной величины ξ также будет
случайной, то ее математическое ожидание равно b
M{ f ( ξ)} =
∫ a
1 f ( x ) ⋅ p ξ ( x ) ⋅ dx = b−a
b
I
∫ f ( x) ⋅ dx = b − a
,
a
b
где I =
∫
f ( x ) dx . Отсюда видно, что интеграл I может быть вычислен
a
через математическое ожидание или среднее значение случайной величины
f (ξ) , являющейся функцией равномерно распределенной случайной величины
ξ . Используя оценку для среднего значения по выборочным
значениям из N испытаний, получаем
I = (b − a ) ⋅ M{f (ξ)} ≈ (b − a ) ⋅ f (ξ) N =
41
b−a ⋅ N
N
∑ f (ξ ) i
i =1
.
Описанный способ может также рассматриваться как модификация метода прямоугольников для вычисления интегралов. Правда, в данном случае область интегрирования не разбивается на множество интервалов с
h , которые и служат основанием прямоугольников, шагом аппроксимирующих при суммировании значение интеграла. Наоборот, основание прямоугольников, использующихся в данном методе, f(x) равно полному интервалу интегрирования
(b − a) , а вот
высота этих прямоугольников случайна и равна значению
f ( xi )
функции
в случайной
точке x i интервала (a, b) .
x1
a
x2
x b
Будем "набрасывать" на область интегрирования такие случайные прямоугольники, а площадь каждого прямоугольника принимать за значение интеграла на каждом этапе. Из-за случайности высоты
f ( xi )
прямоугольников оценки значения интеграла будут также носить случайный характер.
Проведя
N
вычислений со случайными, равномерно
( a, b )
распределенными в интервале
xi , после усреднения
узлами
получим b
∫ a
b−a N ⋅ f ( x ) dx ≈ f ( xi ) . N i =1
∑
Аналогично могут быть вычислены и кратные интегралы. Например, для двойного интеграла формула вычислений имеет вид b
d
∫∫ a
c
f ( x, y ) dxdy ≈
(b − a )(d − c ) N
N
⋅
∑ f (ξ , η ) i
i =1
42
i
,
где независимые случайные величины ξ , η равномерно распределены в интервалах a < ξ < b , c < η < d . Для интегралов произвольной кратности k аналогично будем иметь
∫∫ ∫
f ( x1 , x 2 , , x k ) dV ≈ G
Vk ⋅ N
N
∑ f (x i =1
1i , x 2 i , , x ki )
,
где Vk − k -мерный объем интегрирования, а x1i , x 2i , , x ki − случайная реализация значений независимых, равномерно распределенных в соответствующих интервалах интегрирования случайных величин
ξ1 , ξ 2 , , ξ k . В качестве примера рассмотрим вычисление интеграла π
1 J p ( z ) = ⋅ cos( z ⋅ sin x − p ⋅ x ) ⋅ dx , π 0
∫
определяющего функции Бесселя первого рода порядка p от аргумента z Вычисления проведем методом "набрасывания" случайных прямоугольников. Вариант программы: Uses Crt; var p,z,S : real; N : longint; Ch : char;
{ p - порядок функции; z - аргумент функции } { N – число испытаний }
label Rd,St,Fn,Cn; Function f(x : real) : real; begin f:=cos(z*sin(x)-p*x) end;
43
Procedure MK(N : longint; var S : real); var a,h : real; var l : longint; begin a:=0; h := Pi; S:=0; l:=1; { h=b-a =Pi-0 – интервал интегрирования } repeat S:=S+f(a+random*h); l:=l+1; until l > N; S:=h*S/N/Pi; { S - значение интеграла } end; begin St : write('N= '); read(N); { ввод параметров } write('p= '); read(p); write('z= '); read(z); MK(N,s); { вычисление интеграла } writeln(' S = ', S); { вывод значения интеграла } GoTo Cn; Rd : Ch:=ReadKey; case Ch of #27: GoTo Fn; { проверка на <Esc> } #13: GoTo St; { проверка на <Enter> } Else Cn : begin writeln('Введите <Enter> или <Esc>'); GoTo Rd; end; end; Fn : { выход из программы } end.
Расчет при
N = 200 ,
J 0 (1) = 0.76 ± 0.02 .
p=0 ,
z = 1 дает оценочное приближение
Точное значение интеграла
J 0 (1) = 0.7651977 .
Видно, что приближение достаточно неплохое, однако, напомним, что метод наиболее эффективен для расчета многомерных интегралов.
44
ЗАДАЧИ
Задача 1 ( Генератор равномерно распределенных псевдослучайных чисел ) Построить
генератор
псевдослучайных
чисел,
равномерно
распределенных на интервале (0,1), на основе следующих соотношений:
U j +1 = [U j + U j −1 ] (mod 4) , U 0 = π , U 1 = 517 ⋅ 2 −42 ,
γ j =U j 4 . Здесь: U j − некоторые вспомогательные величины (реальные!);
γ j − псевдослучайные числа, равномерно распределенные на интервале (0,1) ; знак (mod 4) означает, что берется остаток от деления на 4 суммы
[U j + U j −1 ] . Построить гистограмму распределения чисел γ на интервале (0,1). Дополнительные вопросы: а) Построить распределение случайных точек с координатами ( γ 1 , γ 2 ) ,
( γ 1 , γ 2 ) , ( γ 1 , γ 2 ) и т.д. на плоскости x − y . Как этот набор точек заполнит квадрат со стороной равной 1 ? б) Вычислить среднее значение γ и дисперсию σ γ величины γ . Насколько хорошо эти параметры соответствуют равномерному распределению на интервале (0,1) ? в) Как изменятся результаты, если
U 1 заменить на какое-нибудь другое
число ?
45
Задача 2 Построить гистограмму распределения случайной величины η :
η = ξ1 + ξ 2 + ξ 3 + + ξ n , где ξ i ( i = 1, 2, ..., n ) − случайные величины, равномерно распределенные на интервале (0,1). Построение выполнить для n = 2, 4, 6, 8,10,12 . Дополнительные вопросы: а) Нанести на гистограмму график функции
P( x) =
1 2π ⋅ σ
⋅e
где a = n 2 , σ =
−
( x−a)2 2σ 2
,
1 ⋅ n3 . 2
Какие выводы можно сделать из сравнения гистограммы и графика функции P (x) ? Как согласуется график и гистограмма при больших значениях x ? б) Построить на плоскости в координатах ( x, y ) распределение точек
(η1 , η 2 ) , (η 3 , η 4 ) , (η 5 , η 6 ) и т.д., где η i ( i = 1, 2, ... ) − последовательно получаемые значения величины η .
С чем ассоциируется получаемая
картинка ?
Задача 3 ( Распределение Гаусса из равномерного распределения ) Функция распределения плотности вероятности Гаусса в двумерном пространстве ( x, y ) имеет вид:
f ( x, y ) =
x2 + y2 1 − . exp 2σ 2 2πσ 2 46
Перейдя от декартовых координат
(x, y )
(r , ϕ)
к полярным
с
использованием соотношений x = r cos ϕ , y = r sin ϕ , получим:
r2 1 − 2 . exp 2σ 2πσ 2
f (r , ϕ) =
Будем интересоваться только распределением по r , тогда:
~ f (r ) =
2π
∫
f ( r , ϕ ) r dϕ =
0
Вспомним, вероятности
если
r2 1 − 2 r exp 2σ σ2
величина
~ f (r ) , то величина
r
.
имеет r
F (r) =
распределение
~
∫ f (r ′)dr ′
плотности
имеет равномерное
0
распределение r
F (r) =
∫ 0
от
0
до
1.
r2 ~ f ( r ′)dr ′ = 1 − exp − 2 2σ
r ( F ) = σ − 2 ln (1 − F ) .
Выполняя
интегрирование,
получаем:
, и после обратного преобразования:
Так как величины
(1 − F )
и
F
имеют
одинаковое равномерное распределение от 0 до 1, то в последнем выражении можем заменить (1 − F ) на F . В итоге имеем для r и, соответственно, для x, y :
r ( F ) = σ − 2 ln F
,
x = r cos ϕ = σ − 2 ln F cos ϕ , y = r sin ϕ = σ − 2 ln F sin ϕ , где величина F равномерно распределена от 0 до 1, угол ϕ равномерно распределен от 0 до 2 π , а величины x и y имеют распределение Гаусса с 2
дисперсией σ .
47
Используя вышеизложенный способ, построить датчик случайных чисел x , распределенных по нормальному закону с заданным стандартным отклонением σ . 1. Построить гистограмму распределения случайных чисел гистограмму график функции
p( x) =
x2 ⋅ exp − 2 2π σ 2σ 1
x . Нанести на
.
Насколько хорошо график описывает гистограмму ? Наблюдается ли хорошее согласие графика и гистограммы при больших значениях x
( x >> σ ) ? 2. Вычислить среднеквадратичное отклонение
~ и среднее значение x σ
построенного распределения и сравнить их с заданными величинами моделируемого распределения. Исследовать точность совпадения вычисленных и заданных величин среднего и дисперсии в зависимости от числа N точек, использованных для моделирования нормального распределения.
Задача 4 ( Определение числа π ) Определить с помощью метода Монте-Карло значение числа π . При произвольно выбранном числе N статистических испытаний для
π N . Построить числа π получается приближенное вычисленное значение ~ график зависимости относительной ошибки вычисления числа величины [~ π N − π]/ π , от числа N испытаний.
π , т.е.
Проанализировать полученный график и выбрать подходящий вид функции для его аппроксимации. Методом наименьших квадратов найти параметры аппроксимирующей функции.
48
Оценить необходимое число N испытаний для вычисления числа π с относительной точностью 10-10 . Оценить требуемое для этого время вычисления на используемом компьютере. Указание: Для вычисления числа
π
используйте определение площади
четверти окружности, вписанной в квадрат со стороной 1.
Задача 5 1
Найти методом Монте-Карло значение интеграла
∫
1 − x 2 ⋅ dx
и
0
сравнить с его точным значением.
Построить график зависимости
относительной ошибки вычисления интеграла от числа N испытаний. Выбрать подходящий вид функции для аппроксимации полученной зависимости и методом наименьших квадратов найти параметры аппроксимирующей функции. Оценить необходимое число испытаний и требуемое время на используемом компьютере для вычисления интеграла с относительной точностью 10-6 .
Задача 6 ( Всемирный закон тяготения и конечные размеры тел ) Всемирный закон тяготения Ньютона, записанный в виде классической
Mm , где F − сила притяжения между телами с массами R2 R − расстояние между телами, и G − гравитационная
формулы F = G
M
и
m ,
постоянная, − справедлив для точечных тел, т.е. для случая, когда размеры тел существенно меньше расстояния между ними. Если же притягивающиеся массы не являются точечными, то, вообще говоря, формула для силы взаимодействия масс должна быть другой. Тем не менее, когда размеры притягивающихся тел сравнимы с расстоянием между ними, можно
49
сохранить классический вид формулы, если записать ее как F = K ⋅ G
Mm , R02
где R0 − расстояние между центрами масс тел, а поправочный коэффициент (геометрический фактор)
K
учитывает "неточечность" масс. В общем
случае этот коэффициент зависит от
R0 , от формы и размеров тел, и от
распределения масс внутри тел. Пусть имеется однородный параллепи-
y
пед с общей массой M и с размерами сторон
a = 1 м, c =1 2 м
a
c
x
b = 1 3 м, (см. рису-
b
нок). Найти поправочный геометрический фактор K для силы притяжения параллепипеда и точечной массы m , расположенной на
M m
R0
z
оси z на расстоянии R0 ≥ c 2 от центра параллепипеда. Построить график зависимости коэффициента K от расстояния R0 . При каких значениях R0 классическую формулу закона притяжения можно считать выполняющейся с точностью не хуже 30, 20, 10, 5, 1, 0.5 % ? Дополнительные вопросы: а) Как изменятся результаты, если параллепипед развернуть на 90° вокруг оси y , так что он станет вытянут вдоль оси z ?
m также будет представлять из себя однородный параллепипед с размерами a × b × c ?
б) Как изменятся результаты, если масса
50
в) Насколько существенно изменятся результаты, если вместо параллепипеда рассмотреть однородный шар диаметром a ? Пояснение: Решение задачи выражается через трех- или шестимерные интегралы, значения которых предлагается находить численно методом статистических испытаний.
Задача 7 ( Атом водорода ) Согласно представлениям квантовой механики, положение электрона в атоме описывается вероятностным образом. Вероятность ∆P обнаружить электрон в малом объеме ∆V = ∆x ∆y ∆z
∆P (x, y, z ) = ψ (x, y, z ) ∆V , 2
Шредингера.
с координатами
ψ(x, y, z )
где
−
(x, y, z )
волновая
функция
(r , ϑ, ϕ) выражение 2 ∆P(r , ϑ, ϕ) = ψ(r , ϑ, ϕ) r 2 sin ϑ ∆r ∆ϑ∆ϕ .
В сферических координатах
вероятности имеет вид
равна
для Для
p (r , ϑ, ϕ ) = ψ(r, ϑ, ϕ ) r 2 sin ϑ 2
электрона в атоме плотность вероятности
может быть записана как p (r , ϑ, ϕ ) = R (r ) ⋅ Y (ϑ) ρ sin ϑ , где ρ = r a , 2
a=
2
2
!2 ≈ 0.5 Å − так называемый боровский радиус (радиус ближайшей к me2
ядру орбиты электрона в атоме водорода). распределения заряда электрона равна
Соответственно, плотность
e ⋅ p (r, ϑ, ϕ ) .
Конкретный вид
функций R (r ) и Y (ϑ) зависит от состояния электрона в атоме, которое обычно характеризуют основными числами: n − главное квантовое число,
l − угловой момент, m − проекция углового момента на ось Z . Смоделировать процесс последовательного наблюдения электрона в атоме водорода и нарисовать распределение плотности заряда электрона (электронное облако) для указанных ниже состояний. Распределение рисовать в плоскости сечения, проходящего через центр атома. 51
1. Основное состояние, n = 1 :
Y (ϑ) =
R (ρ) = 2 e −ρ ;
1 2 π
.
2. S-состояния, l = 0 :
n=2
R (ρ) =
n=3
R (ρ) =
1 ρ −ρ 2 ⋅ 1 − ⋅ e , 2 2
Y (ϑ) =
2
Y (ϑ) =
2 2 −ρ 3 2 ⋅ 1 − ⋅ ρ + ⋅ρ ⋅e , 27 3 3 3
1 2 π 1 2 π
; .
3. P-состояние, n = 2 , l = 1 , m = 1 :
R (ρ) =
1 2 6
⋅ ρ ⋅ e −ρ 2 ;
Y (ϑ) =
3 ⋅ sin ϑ . 2 2π
4. D-состояние, n = 3 , l = 2 , m = 1 :
R (ρ) =
4 81 30
⋅ ρ 2 ⋅ e −ρ 3 ;
Y (ϑ) =
30 ⋅ sin ϑ ⋅ cos ϑ . 4 π
Дополнительные вопросы: а) Нарисовать электронные облака для перечисленных выше состояний электрона в виде плоской проекции трехмерных объектов.
Задача 8 ( Сказка о добром и мудром короле ) Король небольшого государства, дабы лишний раз напомнить подданным о своей доброте, приказал в безветренную погоду поднять над центром своей резиденции на воздушном шаре
N = 1000
крупных
денежных купюр и сбросить их на высоте h = 200 м. Купюры падают вниз равномерно со скоростью Vвер = 1 м/с, среднее смещение купюры в
52
произвольном горизонтальном направлении (за счет флуктуаций потоков воздуха и сложного движения купюры) составляет r0 = 0.45 м/с. Нарисовать картину распределения купюр в горизонтальной плоскости в каждый момент времени (через 1 с) до их падения на землю. Дополнительные вопросы: а) Если резиденция короля представляет собой круг с радиусом R = 10 м, то какая часть денежных купюр попадет на территорию резиденции, то есть вернется обратно королю (или насколько мудр был король) ? б) Если перед сбрасыванием купюр неожиданно начал дуть ветер, сносящий купюры со средней горизонтальной скоростью V гор = 0.1 м/с, то какая часть купюр достанется королю (или насколько просчитается король) ? в) Как изменятся результаты, если смещение купюры
r0 может с равной
вероятностью принимать значения 0 < r0 < 1 м/с ? г) Построить гистограмму распределения числа купюр на поверхности земли в зависимости от расстояния r до центра резиденции. Вычислить r и σ r .
Задача 9 Имеется цепочка сопротивлений, состоящая из 10 одинаковых звеньев. Средние номиналы всех сопротивлений одинаковы и равны Сопротивления
a
1
2
10
b
r = 1 Ом. имеют
разброс параметров ∆r , т.е. истинная величина любого сопротивления
ri ( i = 1, 2, 3,...,20 ) может с равной вероятностью находиться в пределах
ri = r ± ∆r , где ∆r = 0.3 Ом.
53
Построить гистограмму распределения сопротивления
R
цепочки
(между точками a и b ). Дополнительные вопросы: а) Вычислить среднее значение R и дисперсию σ R . б) Какова вероятность, что R будет находиться в пределах R ± σ R ? в) Нарисовать график зависимости R от числа n звеньев цепи. Объяснить качественно ход зависимости.
Задача 10 Нарисовать
траекторию
движения
нормальном давлении и температуре свободного пробега молекулы равна скорость V =
(8kT ) (πm ) .
молекулы
T = 300 ° K.
азота
в
газе
при
Средняя длина
λ = 0.58 ⋅ 10 −5 см, а ее средняя
Считать, что движение молекулы происходит в
плоскости, молекула между столкновениями пробегает одно и то же расстояние λ , а направление скорости молекулы после столкновения равновероятно по всем углам. Примечание: Удобно работать в нормированных безразмерных длинах
s∗ = s λ . Дополнительные вопросы: а) Реальная длина l свободного пробега молекулы в газе является случайной величиной и описывается распределением плотности вероятности l
P (l ) =
1 −λ ⋅e λ
( l может меняться от 0 до ∞ ).
Решить задачу с учетом случайности длины свободного пробега. б) Построить график расстояния между текущим положением молекулы и ее начальным положением в зависимости от времени. Какую зависимость 54
напоминает получающийся график ? Используя метод наименьших квадратов, найти параметры этой зависимости.
Задача 11 В газе H 2 , находящимся при нормальных условиях, под действием электрического разряда в точке с координатами (0,0) родилось N = 1000 однократно ионизованных молекул
H +2 .
температуру, что и окружающий газ. соударениями молекул и ионов равно движения молекул и ионов равна
V =
Ионы
H +2 имеют ту же τ
Среднее время
между
τ = 6.7 ⋅ 10 −11 с, средняя скорость 8kT . Нарисовать в плоскости πm
изменение положений ионов со временем. Считать, что ионы между столкновениями пробегают одинаковое расстояние, а при столкновении ион с равной вероятностью рассеивается под любым углом к направлению скорости иона до столкновения. Примечание: Удобно работать в нормированных координатах x * = x λ ,
y * = y λ , t * = t / τ , где λ − длина свободного пробега молекул и ионов. Дополнительные вопросы: а) Построить гистограмму распределения ионов вдоль оси x в зависимости от времени. б) Нарисовать график зависимости среднего квадрата координат ионов
r2 =
1 ⋅ N
N
∑ (x i =1
2 i
+ y i2
)
от времени.
Какой вид имеет зависимость ?
Методом наименьших квадратов найти параметры этой зависимости. в) Как изменится картина движения ионов, если по оси электрическое поле с напряженностью E = 1 кВ/см ? 55
x
приложено
в) Рассмотреть трехмерный случай движения ионов и нарисовать график зависимости среднего квадрата координат ионов
r2 =
1 N 2 ⋅ (xi + yi2 + zi2 ) от времени. Методом наименьших квадратов N i =1
∑
найти параметры этой зависимости. Насколько существенно результаты отличаются от двумерного случая ?
Задача 12 ( Метеориты против солнечной батареи ) Небольшой космический спутник питается от солнечной батареи, состоящей из 10×10 элементов, соединенных параллельно-последовательно, как показано на рисунке.
Э.д.с. каждого элемента равна
ε 0 = 1 В,
внутреннее сопротивление элемента − r0 = 100 Ом, площадь элемента −
s 0 = 2 см2.
Батарея нагружена на бортовую аппаратуру спутника с
сопротивлением r = 1 кОм. С момента времени
t = 0 спутник попадает в пояс микрометеоритов со средней плотностью потока
n 0 = 50 частиц/с/м2 . Попадание микрометеорита в солнечный элемент вызывает частичное разрушение последнего, и внутреннее сопротивление элемента скачком увеличивается в 3 раза.
1
2
⋅⋅⋅⋅⋅⋅⋅⋅
1 2
. . . . 9 10
r
56
9
10
Смоделировать процесс попадания микрометеоритов в батарею и исследовать жизнеспособность спутника. 1. Построить график зависимости мощности P тепла, выделяемого на батарее, от времени. 2. Через какое время эта мощность будет максимальна ? Чему равно максимальное значение выделяемой тепловой мощности ? 3. Если мощность тепла, выделяемого на батарее, становится больше
0.022 Вт, то батарея перегревается и теряет работоспособность. Через какое время это произойдет ? 4. Как изменятся результаты, если промежуток времени ∆t между попаданиями двух микрометеоритов не постоянен, а распределен по экспоненциальному закону с плотностью вероятности
p(∆t ) = n 0 s ⋅ exp(− n0 s ∆t ) , где s − площадь батареи ?
Задача 13 По ровной наклонной плоскости скользит с постоянной скоростью
V = 1 м/с коробка с массой M = 0.3 кг. В момент времени t = 0 пошел косой дождь (капли падают перпендикулярно задней стенке коробки). Средний радиус капель составляет
r0 = 2 мм, а средняя скорость их
v0
падения равна
v 0 = 6 м/с.
Интервал
времени ∆t между падениями капель на коробку является случайной величиной и описывается распределением плотности вероятности:
V
P ( ∆t ) =
1 − ∆t τ ⋅e , где τ = 1 с. τ
Нарисовать графики зависимостей скорости V коробки и пройденного ею пути S от времени. 57
Дополнительные вопросы: а) Через какое время скорость коробки достигнет величины 3 м/с ? Какой путь пройдет коробка за это время ? б) Оценить возможный разброс в длине пути, проходимого коробкой за заданное время. в) Как изменятся результаты, если падающие капли имеют разброс в радиусах, описываемый распределением плотности вероятности
P(r ) =
(r − r0 )2 ⋅ exp − ? 2 2π
1
г) Для предыдущего вопроса учесть также, что скорость v0 падения капель зависит от их радиуса как v0 ~
r.
д) Как изменятся результаты, если задняя стенка коробки срезана сверху так, что 80 % капель, попадающих в коробку, ударяют о ее переднюю стенку и скатываются на дно коробки ? Какой окажется суммарная масса коробки при достижении ею скорости 3 м/с ? е) Как изменятся результаты, если учесть, что коробка при своем движении встречает
сопротивление
β = 6 ⋅ 10 −5 кг/м ?
воздуха
с
силой
Fвозд = βV 2 ,
где
Какую максимальную скорость сможет достичь
коробка ? ж) Пусть из-за намокания поверхности, по которой скользит коробка, коэффициент k тр
трения скольжения постепенно уменьшается на 1 %
согласно зависимости k тр (t ) = k 0 [1 − 0.01(1 − exp(− t T0 )] , где k 0 = 0.8 − начальный коэффициент трения, и
T0 = 600 с − характерное время
изменения коэффициента трения. Как в этом случае изменятся ответы на предыдущие вопросы ? Через какое время дождь перестанет влиять на движение коробки ?
58
Задача 14 ( Стохатрон − ускоритель заряженных частиц ) Для получения заряженных частиц высоких энергий используются специальные электрофизические установки – ускорители заряженных частиц. Обычно увеличение энергии частиц в ускорителях происходит за счет ускоряющего электрического поля, которое, как правило, стараются создать таким образом, чтобы частица каждый раз увеличивала свою энергию при прохождении области с электрическим полем. Однако, как показано ниже, возможно и стохастическое ускорение заряженных частиц, когда электрическое поле может как ускорять, так и замедлять пролетающие частицы случайным образом. Такие ускорители получили название стохатронов. Рассмотрим ускоритель электронов, состоящий из вакуумной камеры, внутри которой движутся частицы, из магнитной системы, поле которой заставляет частицы двигаться по траектории, близкой к окружности, и из ускоряющего промежутка − двух пластин, к которым приложена разность электрических потенциалов, принимающая случайным образом значение + U U e
-
или
− U . При каждом обороте, пролетая зазор между пластинами, электрон будет
∆E = ± eU в приобретать энергию зависимости от того, какое было напряжение на зазоре в момент его прохождения электроном. Поскольку все реальные магнитные системы и вакуумные камеры обеспечивают лишь ограниченную область пропускания по энергии частиц, будем считать, что электрон погибает на стенках вакуумной камеры, внутри которой он движется, если его энергия меньше некоторой минимальной энергии E min или больше некоторой максимальной энергии E max . Будем также считать, что электроны инжектированы (введены) в вакуумную камеру ускорителя с
59
начальной энергией
E in
и в дальнейшем движутся в ускорителе в виде
короткого по длине пучка частиц. Смоделировать работу стохатрона и убедиться, что такая система может служить ускорителем электронов в смысле увеличения средней энергии пучка заряженных частиц. 1. Построить график зависимости средней энергии E электронов в пучке ускорителя от числа n прохождений пучка через ускоряющий зазор с разностью потенциалов U = 500 кВ, если начальная энергия электронов
E in = 100 МэВ, минимальная и максимальная энергия, соответственно, E min = 90
МэВ и
E max = 250 МэВ.
Рекомендуемое начальное
количество частиц в пучке для моделирования − 1000 . Для сравнения построить аналогичный график для случая, когда на ускоряющий зазор приложена одна и та же разность потенциалов + U . 2. Построить график зависимости числа N частиц в электронном пучке от конечной средней энергии E частиц. Показать уменьшение количества частиц в такой системе из-за их потерь на стенках вакуумной камеры. Найти, какая часть частиц останется в пучке, когда средняя энергия электронов будет 150 МэВ, 200 МэВ ? Дополнительные вопросы: а) Для графика средней энергии электронов в пучке как функции числа прохождений через зазор предположить аналитический вид зависимости. Методом наименьших квадратов найти параметры этой зависимости. б) Через заданное число k прохождений пучком ускоряющего зазора предусмотреть вывод гистограммы распределения электронов по энергии. Нанести на гистограмму линии, соответствующие минимально и максимально возможной энергии электронов. Предположить вид зависимости, которая бы неплохо аппроксимировала получаемые гистограммы.
60
в) Как изменятся результаты моделирования, если при прохождении ускоряющего зазора пучком электронов разность потенциалов на зазоре может принимать случайное значение, равномерно распределенное в интервале от − U до + U ? д) Указать видимые недостатки стохастического метода ускорения заряженных частиц по сравнению с другими, более широко используемыми методами.
Задача 15 ( Многократное комптоновское рассеяние ) Рентгеновские кванты падают слева на бериллиевую пластину толщиной
D = 10 см.
Средняя длина свободного пробега квантов в бериллии
λ = 2.5 см. После пробега длиной λ
квант с вероятностью
поглощается в веществе или с вероятностью
p s = 0.85
p t = 0.15
рассеивается.
Считать рассеяние квантов изотропным по углу, изменением энергии квантов при рассеянии пренебречь. Рассмотреть движение квантов в пластине с помощью метода Монте-Карло в двумерном (плоском) приближении. 1. Нарисовать картину траекторий квантов при прохождении пластины. Выделить точки поглощения квантов. 2. Найти вероятности:
p прох − прохождения пластины квантом;
поглощения кванта в пластине;
p погл −
p рас − выхода кванта назад из пластины
при рассеянии. 3. Построить гистограмму распределения квантов по углу вылета при их выходе из пластины и объяснить качественно результаты. Дополнительные вопросы: а) Учесть, что реальное комптоновское рассеяние квантов неизотропно по углу и в двумерном случае описывается плотностью вероятности
61
p(ϑ) =
(
)
1 1 + cos 2 ϑ , где угол 3π
ϑ
рассеяния отсчитывается от
направления распространения кванта перед рассеянием. Как изменятся предыдущие результаты с учетом анизотропности рассеяния квантов ? б) Рассмотреть трехмерный случай распространения квантов в пластине, считая, что рассеяние кванта аксиально симметрично вокруг направления его движения перед рассеянием, а вероятность его рассеяния на угол ϑ относительно этого направления описывается плотностью вероятности
p(ϑ) =
(
)
3 1 + cos 2 ϑ sin ϑ . Картину траекторий квантов рисовать в 16π
проекции на плоскость сечения пластины. Насколько сильно изменятся результаты задачи по сравнению с двумерным случаем ?
Задача 16 ( Ядерный реактор ) Исследовать условия работы гомогенного (однородного) уранa . В графитового ядерного реактора в виде квадрата со стороной начальный момент времени в реакторе находится n = 30 нейтронов, случайно распределенных по реактору. Средняя длина свободного пробега нейтрона до взаимодействия с каким-нибудь ядром равна λ = 1.7 см. При взаимодействии с ядром возможно: − с вероятностью p s = 0.9632 − изотропное рассеяние нейтрона; − с вероятностью p a = 0.0152 − поглощение нейтрона без деления ядра; − с вероятностью p f = 0.0216 − поглощение нейтрона с делением ядра урана. При делении ядра урана в среднем вылетает n = 2.47 нейтрона.
62
Смоделировать работу реактора на основе метода Монте-Карло. Считать, что нейтроны живут в реакторе поколениями, и число поколений пропорционально времени, а нейтроны до взаимодействия с каким-нибудь ядром пробегают одинаковое расстояние λ . Также считать, что, если число нейтронов превышает 500 , то реактор взрывается; если же число нейтронов становится равным 0 , то реактор гаснет. Стенки реактора − без отражающих свойств. 1. Построить график зависимости количества нейтронов в реакторе от времени при заданном размере реактора a . 2. Оценить критический размер реактора acr . 3. Рассмотреть такой же реактор, но с формой в виде круга радиусом a 2 . Оценить для него критический размер и сравнить с критическим размером для квадратного реактора.
Задача 17 ( Радуга ) Радуга − одно из удивительных и прекрасных явлений природы, поэтому люди издавна пытались понять, как она возникает. Сначала итальянец Антонио Доминико (1566-1624), а затем Исаак Ньютон (1643-1727) смогли правильно указать физический механизм образования радуги [9]. Согласно этим представлениям, радуга возникает в результате попадания в глаз наблюдателя солнечных лучей, испытавших двукратное преломление и одно отражение в дождевой капле (см. рисунок). Если световой луч испытает внутри капли два последовательных отражения, а затем выйдет из нее, то может наблюдаться вторичная радуга, расположенная выше основной и имеющая обратное чередование цветов по отношению к основной радуге. Методом Монте-Карло исследовать возникновение радуги при рассеянии света на сферической капле воды. При моделировании считать, что световые лучи от Солнца случайно и равномерно (по поперечному
63
γ
от Солнца
ψ
γ
γ
стена дождя
солнечные лучи
ϕ
к наблюдателю сечению капли) попадают на каплю, испытывая дальше преломления и отражения. Учесть, что преломление лучей на границе раздела сред происходит согласно закону Снеллиуса падающего (ϕ ) и преломленного границе раздела, а
(ψ )
sin ϕ sin ψ = n , где углы
луча отсчитываются от нормали к
n − относительный показатель преломления среды, в
которой распространяется преломленный луч, относительно среды, в которой распространяется падающий луч. Зависимость показателя преломления воды от длины волны λ света может быть описана выражением:
n = 1.322 +
3905 , где λ выражена в нанометрах. λ2
1. Построить гистограммы распределения интенсивности рассеянного света от угла γ , отсчитываемого от начального направления световых лучей, для синего (400 нм), зеленого (550 нм) и красного (650 нм) света. Считать, что никаких потерь лучей в процессах преломления и отражения не происходит. Рассмотреть случаи одного и двух отражений внутри капли. Определить области углов γ , в которых наблюдается разделение цветов. Выяснить, каким входящим в каплю лучам соответствуют эти области углов.
64
2. В действительности при прохождении светом границы раздела сред возникают и преломленный, и отраженный лучи. Для неполяризованного света зависимость коэффициента отражения R от границы раздела имеет вид
sin 2 (ϕ − ψ ) tg 2 (ϕ − ψ ) + 2 R = 0.5 ⋅ 2 , sin (ϕ + ψ ) tg (ϕ + ψ) и, соответственно, коэффициент пропускания равен T = 1 − R . Это означает, что при прохождении границы раздела сред каждый фотон с вероятностью R может отразиться от границы и с вероятностью T пройти через границу. Рассмотреть процесс рассеяния света каплей для случаев одного и двух отражений внутри капли с учетом коэффициентов отражения и пропускания. Как изменятся результаты моделирования по сравнению с предыдущим случаем ? Оценить интенсивность цветов во вторичной радуге по отношению к первичной.
Задача 18 ( Случайные блуждания и уравнение теплопроводности ) Стационарное распределение температуры в заданной области при отсутствии источников тепла описывается уравнением Лапласа (см. ПРИЛОЖЕНИЕ)
∂ 2 T ∂ 2T ∂ 2 T + + =0 ∂x 2 ∂y 2 ∂z 2 при заданных условиях на границе T | Г = T0 (x, y , z ) . В некоторых случаях решение этого уравнения может быть найдено аналитически. Например, в случае, когда у нас имеется две бесконечные плоскости с разными температурами
T1 и T2 , разнесенные на расстояние a ,
уравнение Лапласа превращается в одномерное
65
∂ 2T d 2T = 2 =0 dx ∂x 2 с граничными условиями T (0) = T1 , T ( a ) = T2 . Решением
последнего
уравнения
T2
T1
является
(T − T1 ) x + T1 . линейная функция T ( x ) = 2 a
x
a
Для двумерной или трехмерной задачи с произвольными граничными условиями не всегда возможно найти аналитическое решение T ( x, y ) или T ( x, y, z ) , но существует много методов численного решения. Рассмотрим здесь интересный численный способ решения уравнения теплопроводности для двумерного случая, основанный на методе статистического моделирования. Этот способ особенно хорош, когда не требуется высокая точность результатов, или когда решение нужно найти только для какой-то ограниченной области внутри всей области задания. Рассматриваемый способ основан на аналогии уравнений теплопроводности и диффузии Ti=T0(xi,yi) Г (случайного или броуновского движения частиц). Пусть
y
G
имеется некоторая область G ,
(x,y)
окруженная границей Г с заданным распределением температуры на границе
x
T |Г = T0 (x, y ) . Выберем внутри
области какую-нибудь точку ( x, y ) , в которой мы хотим найти значение температуры
T (x, y ) . Одну за другой будем выпускать частицы из этой
точки, и пусть дальше каждая из них движется случайным образом с некоторым шагом s . Рано или поздно частица пересечет границу области в некоторой точке i , в которой температура равна Ti = T0 (xi , yi ) . Выпустив 66
таким образом из точки
( x, y )
N
i = 1, , N .
Ti , где
граничных температур
частиц, получим
N
значений
Тогда за приближенное
значение температуры в точке ( x, y ) можем принять среднее значение по всем полученным граничным температурам:
T (x, y ) ≈
1 N
N
1
N
∑ T = N ∑ T (x , y ) 0
i
i =1
i
i
.
i =1
По-другому, если рассмотреть это в обратном направлении по времени,
N частиц приобретает то имеем следующую картину: каждая из некоторую температуру на границе области и, двигаясь случайным образом, приносит эту температуру в выбранную точку ( x, y ) . Для получения правдоподобных решений необходимо, чтобы величина шага s свободного пробега частиц была много меньше характерных размеров заданной области G . Очевидно также, чем больше частиц будет выпущено из выбранной точки
( x, y ) , тем точнее найденное значение
температуры в этой точке будет приближать точное решение. 1. Найти рассмотренным способом распределение температуры между двух бесконечных плоскостей, находящихся на расстоянии a друг от друга. Температуры плоскостей равны T1 и T2 , соответственно. Методом
наименьших
квадратов
зависимость удовлетворяет виду T ( x ) =
убедиться,
что
полученная
(T2 − T1 ) x + T1 . a
2. Имеется квадрат со стороной a , на границах которого заданы следующие температуры:
T0 ( x) = − sin( π x a ) sh( π 2) , на нижней границе y = −a / 2 ; T0 ( x) = sin( π x a ) sh( π 2) ,
на верхней границе y = a / 2 ;
T0 ( y ) = − sh( π y / a ) ,
на левой границе x = − a / 2 ;
T0 ( y ) = sh( π y / a ) ,
на правой границе x = a / 2 .
67
y
а) Построить график распределения температуры на окружности, центр
a/π
которой совпадает с центром квадрата,
R=a π .
Построение графика производить в полярных
координатах
в
ϕ
a
и радиус которой равен
x
виде
T = T (ϕ) , где ϕ изменяется от 0 до
a
2π . Какой вид имеет график ? б) Найти распределение температуры квадрата.
T (x, y ) по всей области внутри
Вывести полученное распределение псевдоцветами, разбив
полный диапазон температур (Tmax − Tmin ) на 16 градаций. в) Для предыдущего случая произвести вывод найденного распределения в виде трехмерного графика T (x, y ) .
Задача 19 ( Классический обнаружитель сигналов ) Для решения задачи обнаружения сигнала n s на некотором фоновом уровне n f
в смеси n sf = n f + n s при априорной (до проведения опыта)
неопределенности в наличии сигнала в смеси применяют прием, называемый критерием Неймана-Пирсона. Суть его заключается в следующем. Устанавливаются две вероятности ошибочных решений − вероятность ложной тревоги α и вероятность пропуска сигнала β . Вероятности α и
β выбирают достаточно маленькие (как правило, 0.05 и менее), чтобы не очень часто пропускать сигнал, когда он есть, и, наоборот, не поднимать зря тревогу, когда сигнала нет. Для заданных величины:
T − время измерения и 68
α
и
β
определяются две
M − порог, с которым сравнивают
T
измеренное за время
значение сигнала с фоном.
Если измеренное
значение не превысило порога M , то говорят, что сигнал отсутствует. В противном случае (больше порога M ) говорят, что сигнал есть. Пусть на вход регистрирующего устройства последовательность распределенных по закону Пуассона
nf
интенсивностью
n sf = n f + n s .
или
поступает импульсов
Необходимо определить,
поступает ли сигнал с фоном, либо только фон. Для распределения Пуассона время измерения T и порог M определяются по следующим формулам:
1 T= nf
k + k ⋅ 1+ ξ ⋅ α β ξ
M = n f ⋅ T + kα ⋅ n f ⋅ T
2
, ,
где k α и kβ − некоторые величины, определяющиеся вероятностями α и
β, а
ξ = ns n f
− отношение сигнала к фоновому уровню.
Для
α = β = 0.05 имеем k α = kβ = 1.645 . Пусть счетчик Гейгера, установленный на самолете радиационного
n f = 1 имп/с от естественного
мониторинга, регистрирует в среднем
радиационного фона. Методом Монте-Карло смоделировать процесс обнаружения возможных дополнительных источников радиации для
α = β = 0.05 , ξ = n s n f = 0.5 (при наличии дополнительных источников излучения с интенсивностью
n sf = n f + n s ;
при
ns
отсутствии
регистрируемый счет составляет таких
источников
−
n sf = n f ).
Моделирование удобно осуществить с помощью счетчика, на вход которого поступает пуассоновский поток импульсов интенсивностью
nf
при
отсутствии дополнительной радиации (сигнала) и интенсивностью n f + n s при наличии сигнала. По истечении заданного времени T счетчике сумма сравнивается с порогом M 69
накопленная в
и принимается решение "есть
радиация", если порог превышен, или "нет радиации" в противном случае. Нарисовать график изменения накопленной в счетчике суммы импульсов в зависимости от времени. Обозначить также на графике пороговый уровень
M и граничное время измерения T . Определить "экспериментальные" вероятности ложной тревоги α p пропуска повышенного уровня радиации
βp
и
(проведя не менее 100
испытаний на фоне и на сигнале с фоном, соответственно), и сравнить их с заданными значениями α и β . Дополнительные вопросы: а) Модифицировать критерий Неймана-Пирсона следующим образом. Если зарегистрированное в процессе измерения число импульсов превысило порог M до истечения времени T , то процесс измерения прекращаем и принимаем решение о наличии дополнительной радиации. Оценить экономию во времени измерения при таком алгоритме принятия решения.
Задача 20 ( Последовательный обнаружитель сигналов ) При решении задач обнаружения (см. предыдущую задачу) вместо критерия Неймана-Пирсона может применяться последовательный критерий Вальда. В отличие от классического обнаружителя сигналов время измерения в нем не фиксируется, а измеряемая в процессе наблюдений определенная величина сравнивается с двумя порогами
C 0 и C1 . Для
пуассоновских сигналов алгоритм принятия решения можно выразить следующим образом. Пока выполняются неравенства
β 1 − β ln ln α 1− α ≤ m(t ) ≤ = C1 , C0 = ln(1 + ξ) ln(1 + ξ )
70
где m(t ) = n sf ⋅ t −
ξ ⋅ n f ⋅ t ; α и β − вероятности ложной тревоги ln (1 + ξ)
и пропуска сигнала, соответственно; ξ = n s n f ; t − время измерения; n sf − интенсивность поступающих на регистрирующее устройство импульсов (равно либо
n f , либо n f + n s ), − мы не можем сделать определенных α и β
заключений при заданных вероятностях
и должны продолжать
измерения. Если же m(t ) становится меньше или равно C 0 , измерения прекращают и принимают решение об отсутствии сигнала. Если же величина
m(t ) становится больше или равна C1 , измерения также прекращают и принимают решение о наличии сигнала. Заметим также, что при равных α и β порог C1 = −C 0 . Смоделировать методом Монте-Карло описанный в предыдущей задаче процесс радиационного мониторинга при
ξ = n s n f = 0.5 . реверсивного
α = β = 0.05 ,
n f = 1 имп/с,
Моделирование проще всего выполнить с помощью
счетчика*),
на
вход
сложения
которого
поступает
пуассоновский поток импульсов n sf ⋅ t , а на вход вычитания − постоянная частота
ξ ⋅ n f . При достижении в счетчике верхнего порога C1 ln(1 + ξ )
принимается решение о наличии дополнительной радиации на уровне 50 % от естественного фона, при достижении же нижнего порога
C 0 − об
отсутствии такой радиации. В процессе моделирования выводить график накопленной в реверсивном счетчике суммы импульсов в зависимости от времени. Отобразить также на экране нижний и верхний пороговые уровни
C 0 и C1 . *)
Реверсивный счетчик − счетчик импульсов с двумя входами: суммирования и вычитания. При поступлении импульса на вход суммирования, к содержимому счетчика добавляется единица; при поступлении же импульса на вход вычитания, из содержимого счетчика вычитается единица. 71
Определить "экспериментальные" вероятности ложной тревоги пропуска сигнала
βp
αp и
(проведя не менее 100 испытаний на фоне и на
сигнале с фоном, соответственно) и сравнить их с заданными значениями α иβ . Определить средние времена обнаружения на фоне и на сигнале с фоном, и сравнить их со временем классического обнаружителя. Среднее время обнаружения и на фоне, и на сигнале с фоном должно быть примерно в два раза меньше, чем в классическом случае.
Задача 21 ( Фотоэлектронный умножитель ) Электроны с достаточно большой кинетической энергией, бомбардируя поверхность металлов или некоторых других материалов, способны выбивать из них другие электроны. Падающие на поверхность материала электроны называют первичными; электроны же, покидающие поверхность, называют вторичными, а сам процесс получил название вторичная электронная эмиссия. Этот эффект широко используется во многих электронных и оптоэлектронных приборах, в частности, в фотоэлектронном умножителе (ФЭУ) − приборе для регистрации слабых световых потоков. ФК фотон
e-
A
сигнал
Rн Д1
-U
R
Д3
Д2 R
R
R
высоковольтный делитель напряжения
72
ФЭУ представляет собой откачанный объем со стеклянным окном, на которое с внутренней стороны нанесен материал с малой работой выхода − фотокатод (ФК). При попадании фотонов на фотокатод, из последнего вылетают фотоэлектроны внутрь объема ФЭУ. Далее в объеме последовательно размещена система пластин − динодов (Д) из материала с большим коэффициентом
k
вторичной эмиссии, т.е. при попадании
электрона на динод из последнего вылетает k > 1 вторичных электронов. Между ФК и динодами приложены разности потенциалов таким образом, чтобы электроны, образовавшиеся на ФК или диноде, ускорялись к следующему диноду. Последним динодом, собирающим образовавшуюся лавину электронов, является анод (А), с которого и снимается электрический сигнал. Процессы рождения вторичных электронов имеют вероятностный характер. Число m вылетевших вторичных электронов с динода хорошо описывается распределением Пуассона
P (m, k ) = где
k m −k ⋅e , m!
k − коэффициент вторичной эмиссии (среднее число вылетающих
электронов на один падающий электрон). Смоделировать
работу
ФЭУ
с
тремя
динодами
(n = 3)
и
с
коэффициентом вторичной эмиссии k = 4 . На ФЭУ посылают слабые световые импульсы, так что с фотокатода всегда вылетает только один электрон. 1. Построить гистограмму распределения числа k an электронов на аноде. 2. Найти M{ k an } − среднее число электронов, приходящих на анод, и σ an − дисперсию величины k an . Каков коэффициент усиления ФЭУ ? 3. Какова вероятность, что k an = 0 и, значит, световая вспышка не будет зарегистрирована ?
73
4. Пусть с фотокатода с равной вероятностью вылетает либо 1, либо 2 электрона. При каком значении k
распределения k an от одного и от
двух электронов с фотокатода будут отделяться друг от друга, т.е. мы сможем различить − один или два электрона вылетают с фотокатода ?
Задача 22 ( Суперколлайдер и мультипактор ) Эффект вторичной электронной эмиссии, с большой пользой используемый во многих приборах (см. задачу "Фотоэлектронный умножитель"), иногда нежелателен, поскольку может приводить к ряду паразитных эффектов. Во многих таких случаях устранить соответствующие трудности достаточно легко: поскольку энергия вторичных электронов невелика, их можно вынудить вернуться на поверхность с помощью слабого электрического поля. Однако, в некоторых случаях полное устранение вторичной электронной эмиссии невозможно. Рассмотрим негативное влияние вторичных электронов на функционирование ускорителя положительно заряженных частиц (протонов, позитронов). В ускорителе (накопителе) частицы X движутся практически со скоростью света внутри Y вакуумной камеры по замкнутой траектории. Радиус поворота A определяется энергией частиц и напряженностью H магнитного (a) A поля, приложенного перпендикулярно плоскости вращения частиц. Движущиеся частицы в накопителе сгруппированы в виде коротких сгустков (банчей), распределенных по периметру ускорителя (рис. а). Поскольку при движении 74
по окружности заряженные частицы излучают так называемое синхротронное излучение, в вакуумной камере всегда существуют "блуждающие" электроны и ионы, образованные действием этого излучения на поверхность камеры.
Z p
p A (b)
H
(c)
(d)
A X
Y Проследим поведение электрона, покинувшего нижнюю (по оси Z) поверхность вакуумной камеры, в произвольном сечении А – А. В момент прохождения сгустка частиц электрон будет ускорен полем положительных частиц (рис. b). Во временной промежуток между сгустками ускоренный электрон за короткое время достигнет противоположной стенки камеры и выбьет из нее вторичные электроны (рис. с). Последние, вообще говоря, могут иметь произвольные направления скоростей, но магнитное поле закручивает движение электронов в спираль, направленную вдоль оси Z. Обычно, радиус спирали (проекция на плоскость XY) для характерных скоростей вторичных электронов и напряженности поворотного магнитного поля ускорителя составляет сотые доли миллиметра. Поэтому движение электронов можно считать одномерным и направленным вдоль оси Z. Теперь, если к моменту прохождения следующего сгустка (рис. d), электроны не успели достигнуть поверхности камеры накопителя, то они также будут ускорены, и далее смогут выполнять роль первичных электронов. 75
Таким образом, при условии, что в среднем число вторичных электронов превышает число первичных, процесс может повторяться многократно, а количество электронов расти до бесконечности ! Это явление получило название мультипактор, означающее лавинообразное увеличение числа вторичных электронов. Нетрудно догадаться, что мультипактор приводит к значительным потерям энергии частиц в ускорителе. Рассмотреть условия возникновения мультипактора для строящегося в настоящее время Большого Адронного Коллайдера (БАК) в Швейцарии. БАК − протонный ускоритель/накопитель, в проектировании и строительстве которого участвуют все развитые страны мира. Проектные параметры БАК впечатляют: периметр − 27 км ; .
12
энергия протонов − 7 10
эВ = 7 ТэВ ;
максимальный ток протонов − 0.7 А ; индукция магнитного поля на поворотных участках − 8.4 Т (такое поле будет создаваться сверхпроводящими магнитами, охлаждаемыми жидким гелием до температуры 1.5° К) ; 10
количество протонов в сгустке − N p = 10
÷ 1.5 ⋅ 1011 ( варьируется ) ;
длина сгустка − 7.5 см ; диаметр сгустка − 1 мм ;. расстояние между сгустками − 7.5 м ; диаметр вакуумной камеры − 3.6 см ; количество первичных свободных электронов, образующихся под действием излучения от одного сгустка на стенки вакуумной камеры −
N e = 6 ⋅ 10 −5 N p электронов на 1 метр длины вакуумной камеры. Стенки вакуумной камеры медные.
Коэффициент
δ
вторичной
электронной эмиссии ( δ – среднее число вторичных электронов, выбиваемых одним первичным) для меди сильно зависит от примесей в металле и от чистоты поверхности. Кроме того,
δ
зависит от энергии
первичных электронов. Максимальный коэффициент δ max для меди может изменяться в пределах: 1.2 ÷ 2.2 . 76
Построить график зависимости числа электронов в камере от количества пролетевших сгустков. Считать, что до появления первого сгустка электроны отсутствуют, а добавление очередной "порции" электронов происходит синхронно с появлением очередного сгустка. Варьируя параметрами δ max и N p , определить условия возникновения мультипактора в данном ускорителе. Примечания: Распределение вторичных электронов по энергии может быть описано выражением
P (W 2 ) =
W2 W 22max
1 W 2 ⋅ exp − ⋅ 2 W 2 max
2
, где W2 max = 5 эВ.
Вероятность вылета вторичного электрона под углом ϑ к нормали с поверхностью: P (ϑ) = sin 2ϑ . Число
вторичных
электронов,
выбиваемых
одним
первичным,
описывается распределением Пуассона с λ = δ . Эмпирическая зависимость
δ от энергии первичных электронов дается выражением δ (W1 ) = δ max
W1 ⋅ W1 max
3 .5 W1 1 + 2 .5 W1 max
1 .4
,
где W1 max = 630 − 150 δ max (в эВ). Электрическое поле сгустка (В/м):
E = 2K E = 8K
eN p
, при r ≥
rL eN p L
⋅
r d2
d ; 2
, при r ≤
d ; 2
9
где K = 9 ⋅ 10 – постоянная в законе Кулона о силе взаимодействия зарядов (в системе единиц СИ),
e – элементарный электрический заряд (в "Кл"), 77
N p – число протонов в сгустке, L – длина сгустка (в "м"), d – диаметр сгустка (в "м"). Связь скорости
v e электрона (в "м/с") с его кинетической энергией
We , выраженной в "эВ": v e = 5.94 ⋅ 10 5 We . Для моделирования динамики числа электронов не следует выбирать слишком большой участок вакуумной камеры. Длина рассматриваемого участка должна быть выбрана таким образом, чтобы с приходом очередного сгустка на выбранном участке появлялось не более 100 электронов. В противном случае процесс моделирования может занять значительное время. Дополнительные вопросы: а) Как изменятся условия образования мультипактора, если из пучка протонов исключить каждый пятый сгусток ? б) Построить гистограммы распределений электронов по энергии и по координате Z до и после прохождения N -го сгустка. в) Вторичные электроны передают энергию стенкам вакуумной камеры. Определить тепловую нагрузку на 1 метр длины камеры ускорителя вблизи порога образования мультипактора.
78
РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА 1. Л.А.Растригин. Вычислительные машины, системы, сети... . М.: "Наука", 1982. 2. Р.Фейнман, Р.Лейтон, М.Сэндс. Фейнмановские лекции по физике, т.1,2. М.: "Мир", 1976. 3. И.М.Соболь. Метод Монте-Карло. М.: "Наука", 1978. 4. Н.П.Бусленко, Ю.А.Шрейдер. Метод статистических испытаний (МонтеКарло). М.: Гос.изд.физ.-мат.лит., 1961. 5. Г.Хан, С.Шапиро. Статистические модели в инженерных задачах. М.: "Мир", 1969. 6. С.М.Ермаков, Г.А.Михайлов. Курс статистического моделирования. М.: "Наука", 1976. 7. Вероятностные методы в вычислительной технике: Учеб. Пособие / Под ред. А.Н.Лебедева и Е.А.Чернявского. М.: Высшая школа, 1986. 8. А.Е.Мудров. Численные методы для ПЭВМ на языках БЭЙСИК, ФОРТРАН и ПАСКАЛЬ. Томск: МП "Раско", 1992. 9. Л.В.Тарасов, А.Н.Тарасова. Беседы о преломлении света. Библиотечка "Квант", выпуск 18. М.: "Наука", 1982.
79
ПРИЛОЖЕНИЕ Частные производные
y
Пусть функция
зависит от
m
независимых переменных :
y = f ( x1 , , x m ) . Частной производной функции y в точке x1 , , x m по переменной xk ( k = 1, , m ) называется величина
y ′xk =
f ( x1 , , x k + ∆x k , , x m ) − f ( x1 , , x k , , x m ) ∂y , = lim ∂x k ∆xk →0 ∆x k
т.е. частная производная по переменной производной функции
y = f ( x1 , , x m )
xk
совпадает с обыкновенной при неизменных остальных
переменных x1 , , xk −1 , xk +1 , , xm . Аналогично определяется частная производная второго порядка в точке
x1 , , x m по переменным xk , xl ( k = 1, , m ; l = 1, , m ):
y ′x′k xl =
∂ ∂y ∂xl ∂x k
= lim
∂2 y = = ∂x k ∂x l
y ′xk ( x1 , , xl + ∆xl , , xm ) − y′xk ( x1 , , xl , , xm ) ∆xl
∆xl →0
.
Экстремум функции многих переменных В теории математического анализа доказывается, что необходимым условием существования локального экстремума (максимума или минимума) функции многих переменных
y = f ( x1 , , x m )
в точке
x10 ,, x m 0
является равенство нулю всех ее частных производных в этой точке :
y ′xk ( x10 ,, x m 0 ) =
∂y = 0 , k = 1, , m . ∂x k
80
Локальность экстремума означает, что функция имеет максимум или
x10 , , x m 0 . Вообще говоря, функция
минимум в окрестностях точки
может принимать наибольшее или наименьшее значение в другой точке области ее определения, а не в точке локального экстремума. Достаточное условие локального экстремума для функции многих переменных является более сложным и здесь не приводится.
Уравнение Лапласа Если
ψ( x, y , z ) − функция от независимых переменных
x, y , z
(координат), то уравнение в частных производных
∂ 2ψ ∂ 2ψ ∂ 2ψ + + =0 ∂x 2 ∂y 2 ∂z 2 называется уравнением Лапласа. Таким уравнением описывается, например, распределение электростатического потенциала в областях пространства, свободных от зарядов, или потенциал поля тяготения в области, не содержащей притягивающих масс. Уравнением Лапласа описываются также стационарные процессы теплопроводности, диффузии и другие процессы в физике и технике. Часто уравнение Лапласа записывают в другом виде через дифференциальный оператор Лапласа ∆ или лапласиан, который функции
ϕ( x1 , x 2 ,, x m ) от m независимых переменных x1 , x 2 ,, x m ставит в соответствие функцию
∆ϕ =
∂ 2ϕ ∂ 2ϕ ∂ 2ϕ + + + . ∂x12 ∂x 22 ∂x m2
С помощью оператора простом виде
∆
уравнение Лапласа записывается в более
∆ϕ = 0 .
81
ДЛЯ ЗАМЕТОК
82
ББК 32.97:53 УДК 53.072 Дмитрий Александрович Кайран Игорь Васильевич Кандауров Александр Анатольевич Краснов Николай Александрович Мезенцев Олег Игоревич Мешков Валерий Федорович Пиндюрин Борис Александрович Скарбо МОДЕЛИРОВАНИЕ ФИЗИЧЕСКИХ ЯВЛЕНИЙ НА ЭВМ Часть V Статистическое моделирование Методическое пособие
Подписано в печать 26.06.2000
Формат 60 х 84 1/16 Тираж 150 экз.
Отпечатано на ризографе СУНЦ НГУ, 630090, Новосибирск-90, ул.Пирогова, 11
83