Введение в компьютерное моделирование. Л. В. Горчаков в в в в е е д д е е н н и и е е в в к к о о м м п п ь ь ю ю т т е е р р н н о о е е м м о о д д е е л л и и р р о о в в а а н н и и е е учебное пособие
Скачать 1.03 Mb.
|
6.2. Экспоненциальное распределение Когда вероятность наступления события в малом интервале времени t очень мала и не зависит от наступления других собы- тий, то интервалы времени между последовательными событиями распределены по экспоненциальному закону (рис. 17). Оно имеет плотность вероятности ax f x e с математическим ожидани- ем 1 и дисперсией 2 1 Рис. 17. Экспоненциальное распределение Если в какой-либо ситуации с очередями появление клиентов име- ет пуассоновское распределение с параметром , то интервалы времени между их появлениями имеют экспоненциальное распре- деление с параметром 1/ . Этому закону распределения подчиня- ются многие явления. Например, длительность телефонных пере- говоров, срок службы многих электронных деталей, время поступ- ления заказов на предприятие, время прибытия самолета в аэро- дром и т.д. Для генерирования случайных чисел, распределенных 58 по экспоненциальному закону, используем обратное преобразова- ние. Если случайная величина имеет плотность распределения f x , то распределение случайной величины f x dx (42) является равномерным в [0, 1]. Следовательно нам нужно найти функциональную зависимость исходной случайной величины и равномерно распределенной в [0, 1] величины , т.е. . Если уравнение (42) разрешить относительно , то найдем . Если x f x e , то 0 i x i e dx и интегрируя, получаем 1 ln 1 i i Поскольку распределение величины i имеет тот же вид, что и рас- пределение 1 i , то последнее выражение можно записать в виде 1 ln i i (43) и оно может быть использовано для генерации случайной величи- ны i . Тогда длина интервала между (i–1)-ым и i-м событиями за- дается формулой (43), а моменты поступления заявок в потоке определяются согласно формуле 1 0 1 2 1 2 1 , , , k k k t t t t t t (44) Программа, генерирующая такие величины, имеет вид 10 INPUT “Введите параметр “; L 20 A=RND(1) 30 X=-LN(A)/L 40 PRINT X 6.3. Пуассоновское распределение Распределением Пуассона можно описать целый ряд реальных процессов. Если взять серию из n независимых испытаний по схеме Бернулли (да–нет, успех–неудача и т. п.) с малой вероятностью по- явления событий в каждом из них, то с ростом n вероятность того, 59 что мы будем наблюдать появление событий х раз, подчиняется пуассоновскому закону распределения (рис. 18) Рис. 18. Распределение Пуассона Распределение Пуассона имеет плотность вероятности ! x f x e x с математическим ожиданием и дисперсией Этим распределением, например, описываются многие явления на определенном отрезке времени, например, количество пожаров, авиакатастроф, ураганов, крушений морских судов и т. д. Распре- деление Пуассона относится к числу дискретных (т.е. таких, при которых переменная может принимать лишь целочисленные значе- ния, включая нуль) с математическим ожиданием и дисперсией, равными . В теории вероятностей показано, что если моменты по- явления событий на некотором временном интервале имеют экспо- ненциальное распределение, то число появлений событий, прихо- дящееся на каждый интервал, будет распределено по закону Пуас- сона. Отсюда следует метод вычисления значений переменных, подчиняющихся закону Пуассона – генерируются экспоненциально распределенные моменты наступления событий с математическим ожиданием 1, которые потом суммируются до тех пор, пока итог не превысит величину . Т.е. производится генерирование случайных значений переменной r i , равномерно распределенных в интервале от 0 до 1, до тех пор, пока не станет справедливым соотношение 1 0 0 x x i i i i r e r (45) Этот метод реализуется следующей программой 10 INPUT “Введите “; L 20 A=EXP(-L) 30 S=1.0 40 RN=RND(1) 60 50 S=S*RN 60 IF(S-A)<0 THEN 90 70 X=X+1.0 80 GOTO 40 90 PRINT X Когда вероятность некоторого события для одного временного интервала такая же, как для любого другого, а осуществление како- го-либо события не оказывает влияния на вероятность его повтор- ного появления, имеется веское основание ожидать распределение Пуассона. Дополнительные основания для этого мы получаем, если в любом интервале времени имеет место высокая вероятность по- явления нулевого числа событий и если среднее число событий в каждом временном интервале мало. 6.4. Нормальное распределение Нормальное, или гауссово, распределение (рис. 19) – это, несо- мненно, одно из наиболее важных и часто используемых видов распределений. Оно симметрично относительно математического ожидания и характеризуется его величиной и среднеквадратиче- ским отклонением . Нормальное распределение имеет плотность вероятность 2 1 2 exp 2 f z z c математическим ожидани- ем 0 и дисперсией 1. Рис. 19. Нормальное распределение В литературе описывался целый ряд широко используемых ме- тодов генерирования нормального распределенных псевдослучай- ных чисел. Все они основаны на преобразовании Z X , так 61 что генерируемая случайная величина распределена нормально с математическим ожиданием, равным 0, и среднеквадратическим отклонением 1. Переход к требуемому нормальному распределе- нию осуществляется с использованием соотношения X Для получения нормального распределения используют цен- тральную предельную теорему теории вероятностей. Если взять выборку объемом в n значений из совокупности распределенной с параметрами и , то сумма этих n значений будет асимптотиче- ски стремиться к нормальному распределению с математическим ожиданием n и дисперсией n при большом n. Если взять те же n значений из совокупности равномерно распределенной на интерва- ле [0, 1], то = 1/2 и = 12 и из суммы наших n величин мы мо- жем получить величину х, распределенную нормально с математи- ческим ожиданием n/2 и дисперсией n/12. Таким образом, если взять n = 12, то получим дисперсию х равную 1. Если из суммы вы- честь число 6, то математическое ожидание окажется равным 0. Поэтому, если r i есть нормально распределенные случайные числа на интервале [0, 1], то можно вычислить значение случайной пере- менной, распределенной нормально с = 0 и = 1, по формуле 12 1 6 i i x r (46) Тогда программа расчета такой величины будет иметь вид 10 INPUT “ВВЕДИТЕ МАТОЖИДАНИЕ И ДИСПЕРСИЮ”;EX,ST 20 S=0.0 30FOR I=1 TO 12 40A=RND(1) 50 S=S+A 60 X=ST*(S-6)+EX 70 PRINT X Формулы и программы для других видов распределений (гео- метрического, биномиального, гипергеометрического) приведены в монографии [3]. Общий метод, пригодный для имитации 1) любого эмпириче- ского распределения, 2) любого дискретного распределения, 3) лю- бого непрерывного распределения, которое можно аппроксимиро- вать дискретным, может быть следующим. Пусть Х – дискретная 62 случайная величина, заданная формулой i i P X b p . Предпо- ложим, что Х можно описать при помощи распределения из табл. 8. Таблица 8 b i i i p X b p b 1 0,273 b 2 0,037 b 3 0,195 b 4 0,009 b 5 0,124 b 6 0,058 b 7 0,062 b 8 0,151 b 9 0,047 b 10 0,044 В памяти машины в ячейках с 1 по 1000 располагаем 273 величины b 1 , 37 величин b 2 , 195 величин b 3 ,..., 44 величины b 10 , Генерируем состоящее из трех цифр случайное число 1 2 3 r d d d , причем 0 1000 r . Число, расположенное в ячейке с номером r, присваи- вается переменной Х. Задачи для самостоятельного решения 1. Размеры предприятия 60 150 метров. Бомбардировщик захо- дит на цель по середине длинной стороны. Точка прицеливания – центр. Фактическая точка попадания по горизонтали и по вертика- ли имеет отклонения х и у, которые распределены нормально с ну- левым средним значением. Среднеквадратичное отклонение 60 метров по х и 30 метров по у. При каждом заходе выпускается 6 ракет. Взяв объем выборки в 10 заходов, оцените среднее число попаданий при каждой атаке. 2. Число пожаров в сутки следует распределению Пуассона со средним значением 4 пожара в сутки. Данные представлены в табл. 9. 63 Таблица 9 Число пожаров 0 1 2 3 4 5 6 7 8 9 Вероятность 0,02 0,07 0,15 0,20 0,20 0,16 0,10 0,06 0,03 0,02 В 75% случаев для тушения потребовалась 1 машина, а время не- обходимое для ликвидации пожара имеет нормальное распределе- ние с = 3 часов и = 0.5 часа. В остальных 25% требовалось две машины и время – с = 4 часа и = 1час. Определите, сколько ча- сов в среднем они бывают нужны каждые сутки. Объем выборки 10 суток. 3. Задача о продавце Продавец газет покупает оптом в типографии газеты по 2 рубля за штуку и продает их по 3 рубля, непроданные в течение дня газе- ты пропадают. Из опыта продавец установил, что в среднем имеет- ся 10 покупателей в день и число их колеблется случайным обра- зом. Если вероятность покупки одинакова, то, сколько газет выгод- но покупать продавцу? Допустим, продавец приобретает k газет и имеется m покупателей. Если m k , то будет продано m газет и доход будет 3 2 m k рублей. Если m k , то продается только k газет и доход будет k рублей. В общем случае для случайного про- цесса доход определяется по формуле 10 10 0 1 3 2 10 ! 10 ! k m m k m m k E m k e m k e m (47) Можно показать, что 10 10 1 0 1 2 10 ! 10 ! k m m k k m m k E E e m e m (48) Используя 10 0 10 ! 1 m m e m , (49) можно преобразовать его к виду 10 1 0 1 3 10 ! k m k k m E E e m (50) Очевидно, что продавец будет покупать k + 1 газету, если 1 0 k k E E Поэтому число газет, которые он приобретает должно быть наименьшим значением k из всех k, при которых 1 0 k k E E Построим табл. 10 вида 64 Таблица 10 k 10 10 ! k e k 10 0 10 ! k m m e m 1 k k E E k E 0 0,00005 0,00005 0,99985 0 1 0,00005 0,00005 0,9985 0,9999 7 0,0901 0,2203 0,3394 6,2784 8 0,1126 0,3329 0,0013 6,6088 9 0,1251 0,4580 -0,3737 6,6195 10 0,1251 0,5831 -0,7490 6,2485 Из таблицы видно, что продавец должен покупать только 9 газет и его доход ожидается равным 6,6 рубля. При покупке 10 газет доход меньше на 6% и убытки больше, если он не найдет 10 покупателей. Проверьте с помощью Mathcad данные табл. 10. 7. И МИТАЦИОННОЕ СТОХАСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ При моделировании процессов не обязательно преобразовывать математическую модель в специальную систему уравнений отно- сительно искомых величин. Достаточно имитировать сами явления, описываемые математической моделью, с сохранением их логиче- ской структуры, последовательности чередования во времени, фи- зическое содержание. «Имитировать» значит вообразить, постичь суть явления, не прибегая к экспериментам на реальном объекте. По существу, каждая модель или представление вещи есть форма имитации. Когда имитационная модель строится для системы, вхо- ды и (или) функциональные соотношения между различными ком- понентами которой содержат элементы случайности, подчиняющи- еся вероятностным законам, то она называется имитационной сто- хастической моделью. Имитационное моделирование полезно при наличии следующих условий: 1) не существует законченной математической задачи, либо еще не разработаны аналитические методы сформулированной ма- тематической задачи; 2) аналитические методы имеются, но математические про- цедуры столь сложны и трудоемки, что имитационная модель дает более простой способ решения; 65 3) аналитическое решение существует, но их реализация не- возможна из-за недостаточной компетенции персонала; 4) кроме оценки определенных параметров, желательно осуществить наблюдение за ходом процесса в течение определен- ного периода; 5) имитационное моделирование единственно возможное из-за трудностей постановки эксперимента и наблюдений явлений в реальных условиях; 6) для долговременного действия систем или процессов мо- жет понадобиться замедление или ускорение явления в ходе экспе- римента (сжатие временной шкалы). К достоинствам имитационной модели относят то, что она 1) позволяет экспериментально исследовать сложные внут- ренние взаимодействия в системе; 2) позволяет изучить воздействие на функционирование си- стемы внутренней и внешней обстановки; 3) позволяет лучше понять систему и изучить ее; 4) как педагогический прием для обучения студентов основ- ным навыкам теоретического анализа; 5) знания, полученные во время разработки модели, часто становятся источником изменений в самой имитируемой системе; 6) дает представление о том, какие из переменных системы наиболее существенны и как они взаимодействуют; 7) использовать для изучения новых ситуаций (подготовка к будущему); 8) служит предварительной проверкой новых стратегий и правил принятия решений; 9) позволяет сменить последовательность событий в систе- ме; 10) может служить для проверки аналитических решений; 11) позволяет изучить динамические системы в реальном времени; 12) использовать для предсказания узких мест и других труд- ностей, появляющихся в поведении системы при введении в нее новых элементов. Все имитационные системы модели являются по существу чер- ным ящиком. Они обеспечивают выдачу входного сигнала, если на ее взаимодействующие подсистемы поступает входной сигнал. По- 66 этому для получения необходимой информации необходимо осу- ществлять «прогон» моделей, а не решать их. Имитационные моде- ли не способны формировать свое собственное решение в том виде, в каком это имеет место в аналитической модели, а могут лишь служить в качестве средства для анализа поведения системы в условиях, которые определяются экспериментатором. Следова- тельно, имитационное моделирование это не теория, а методология решения проблемы. Является ли имитационное моделирование наиболее эффектив- ным способом решения задач? Ответ является отрицательным по следующим причинам: 1) разработка хорошей имитационной модели очень дорога, длительна и требует высококвалифицированных специалистов; 2) полученная имитационная модель может не отражать ре- альное положение вещей; 3) имитационная модель в принципе не точна, и мы не в со- стоянии измерить степень этой неточности. Анализ чувствительно- сти модели к изменению определенных параметров лишь частично преодолевает это затруднение; 4) результаты, которые дает имитационная модель, обычно являются численными, а их точность определяется количеством знаков после запятой, выбранным экспериментатором. Машинная имитация позволяет исследовать модель, как в опре- деленные моменты времени, так и в течение продолжительных пе- риодов времени (т.е. статическое и динамическое моделирование). В первом случае необходимо ответить на вопрос, сколько раз надо повторить один частный имитационный эксперимент, чтобы до- стичь данного уровня статистической точности. Во втором случае необходимо ответить на вопрос, как долго надо проводить динами- ческую имитацию, чтобы любой статистический вывод относи- тельно поведения системы не был подвержен воздействию началь- ных условий или исходного состояния. Большинство имитационных экспериментов с моделями явля- ются стохастической имитацией. Так как результаты, полученные при воспроизведении на имитационной стохастической модели, являются реализациями случайных процессов, то для нахождения устойчивых характеристик требуется его многократное воспроиз- ведение с последующей статистической обработкой. При реализа- 67 ции процессов в таких моделях необходимо имитировать воздей- ствие многочисленных случайных факторов сложной природы на различные элементы модели. Каждое такое воздействие на процесс в модели представляется «розыгрышем» случайного явления с по- мощью процедуры, дающей случайный результат. Множество та- ких реализаций в ходе одного варианта имитации дает одну реали- зацию процесса. Затем следует статистическая обработка для полу- чения характеристик процесса. Для построения имитационных мо- делей необходимо знать сущность метода статистических испыта- ний, способы расчета необходимого числа реализаций, алгоритмы имитации псевдослучайных чисел, имеющих типовые распределе- ния. При имитационном эксперименте на ЭВМ с моделями следуют процедуре, состоящей из следующих этапов: 1) формулировка проблемы; 2) формулировка математической модели; 3) составление программы для ЭВМ; 4) оценка пригодности модели; 5) планирование эксперимента; 6) обработка результатов эксперимента. Формулировка проблемы обычно состоит из формулировки целей эксперимента, которые формулируются либо в виде 1) вопросов, на которые надо ответить, либо 2) гипотез, которые нужно проверить, либо 3) воздействий, которые нужно оценить. При формулировке подготавливают не только вопросы, но и формулируют критерий оценки возможных ответов на них. При формулировке математической модели 1) выбирают переменные модели (входные и выходные); 2) определяют степень сложности модели и связи. Для оценки пригодности модели (адекватности) следует ответить на следующие вопросы: 1) нет ли в модели несущественных переменных, которые не улучшают нашу способность предсказывать поведение системы; 2) все ли существенные переменные включены в модель; 3) правильно ли сформулированы функциональные связи между входными и выходными переменными систем; 4) верно ли оценены параметры модели и уравнений; 68 5) являются ли оценки параметров модели статистически значи- мыми; 6) в какой степени совпадают теоретические величины, полу- ченные на основе ручного счета, с фактическими значениями. При построении стохастических имитационных моделей необ- ходимо обеспечить возможность генерирования случайных вели- чин либо с помощью таблиц, либо по теоретическим законам рас- пределения вероятностей с требуемыми параметрами. Для этой це- ли используются случайные числа. Если имитационная модель просчитывается на ЭВМ, мы должны иметь возможность 1) полу- чать равномерно распределенные случайные числа, 2) использовать эти случайные для генерации случайных величин с требуемыми характеристиками. До появления ЭВМ в качестве генераторов слу- чайных чисел использовались механические устройства – колесо рулетки, специальные игральные кости и устройства, перемешива- ющие фишки с номерами. Недостатками таких устройств является 1) трудность построения таких устройств, из которых ЭВМ в лю- бое время могла бы случайное число, 2) невозможность повторного воспроизведения той же самой последовательности чисел для по- вторных прогонов. С помощью рекуррентных математических ме- тодов реализовано несколько алгоритмов генерирования псевдо- случайных чисел, которые мы рассмотрели в разделе 3. Краткое изложение необходимых сведений из теории вероятностей и мате- матической статистики представлено в приложении. 0> |