Оглавление Введение .................................................................................................................. 2 1. Методология имитационного моделирования .......................................... 5 1.1. Понятие случайного события ................................................................... 7 1.2. Роль примеров ............................................................................................. 9 1.3. Обобщенные алгоритмы имитационного моделирования ................... 12 2. Верификация модели ................................................................................... 21 3. Как определяется нелинейная модель?.................................................... 26 Заключение ........................................................................................................... 28 Список литературы ............................................................................................ 30 Введение , Моделирование, в первую очередь, является методом познания окружающего мира. Данный метод можно отнести к общенаучному, то есть применяемый в широком спектре исследовательских и даже образовательных задач. На данный момент все больше таких задач решается с вовлечением ЭВМ. Этот подход позволяет создавать, обрабатывать огромные массивы информации и выдавать необходимый конечный результат. Помимо этого, возможно внесение изменений в моделируемую систему, что еще больше увеличивает спектр применения этого инструмента. То есть в некотором смысле данный метод можно считать имитацией реальных процессов, с сохранением взаимосвязи между элементами системы. Одним из важных преимуществ этого подхода по сравнению с натурным экспериментом является отсутствие временных и материальных затрат на создание, тестирование и обработку данных с экспериментальных установок. Также он оперативен и не требует большой стоимости на исследование. Вышеупомянутый метод внедрен в практику изучения и моделирования производственных процессов. С точки зрения оптимизации, это позволяет снизить затраты, повысить эффективность и тем самым, увеличить прибыль. Вместе с этим, возможно решать задачи, возникающие на разных стадиях производства (в первую очередь, на этапе разработки). На последующих стадиях к таковым задачам относится ввод в эксплуатацию и отладка сложного оборудования. Немаловажным моментом является возможность оценки текущего состояния производства, его модификации, либо его альтернативы и внедряемых методов (технологий). о важном направлении Говоря об этом, стоит упомянуть исследования – автоматизация процессов и/или создание система автоматического управления. Основной задачей в этом случае является сохранение постоянства некоторой закономерности между величинами, при этом, прямое воздействие человека полностью исключено. Под имитационным моделированием понимается воспроизведение реальной системы с рассмотрением ее элементов, а также связей между ними. Однако, не стоит забывать, что это не всегда «дубликат» - условия, при которых осуществляется моделирование, могут не совпадать с действительными. И дело не в ошибочном представлении, а порой в намеренном искажении с целью получения информации об изменении системы. В этом подходе, как единственном возможном, предоставляется проверка теоретических положений на текущих и будущих данных. Это свойство позволяет на стадии автоматизированного проектирования управления) (в особенности провести для систем тестирование, оценку ее элементов и даже детально изучить количественные, качественные и структурные характеристики с целью дальнейшей разработки и успешной эксплуатации. Главная задача имитационного моделирования – воспроизведение – а именно, исследование поведения рассматриваемого объекта при стандартных ситуациях и при возникновении возмущений в изучаемой системе. Это дает понимание дальнейших действий этого объекта, а значит, дает возможность управления им в целях наибольшей экономичности. Другим ценным приложением является внедрение имитационных элементов в уже функционирующие автоматизированные системы обработки и управления, которые направлены на подготовку той информации, которая необходима в формировании, принятии и даже реализации решений. Целью курсовой работы является ознакомиться с теоретической базой имитационных методов, этапами проектирования модели и ее дальнейшей валидации. Задачами являются: - поиск и составление краткого описания существующих методов имитации; - рассмотрение статистической стороны этого вопроса (теории, связанные со случайным событием); - рассмотрение алгоритмов создания модели; - варианты ее валидации, а также обзор вопроса о том, каким образом определяется нелинейная модель. Можно представить имитационный процесс в виде схемы: Рис. 1. Схематическое изображение процесса имитационного моделирования. Как видно разработка осуществляется с выбора реальной системы для исследования, а затем происходит процесс построения модели – создание некой логико-математической модели, которая затем программируется, тестируется и проводится ряд экспериментом на ЭВМ, в ходе этого также могут быть рассмотрены различного рода воздействия на реальную систему. 1. Методология имитационного моделирования В методологию имитации входят: постановка задачи, подготовка данных, построение модели, а также оценка ее адекватности. Аналогично аналитическому подходу, разработка строится на некой совокупности гипотез. Если изменяется лишь одна гипотеза и лишь для одного элемента, то может потребоваться пересмотр всей совокупности и даже разработать заново с уже другими методами исследования сначала. Однако, имитация позволяет получить относительно простую модель с возможностью внесения изменений в уже существующий алгоритм. Именно учет стохастической неопределенности начальных параметров выделяет имитационный подход среди других. Преобразовывая случайные величины, можно получить любые законы распределения. Ввиду широкого спектра задач, решаемых при помощи задействования имитации, выделяют три вида имитационного моделирования: - системная динамика (в начале задействуется графическая визуализация причинно-следственных связей в системе, а затем по ним строится модель); - агентное (представление мира как некое число автономных активных подсистем – агентов). - дискретно-событийное (сущность заключается в описании изменений состояния системы в дискретных интервалах времени). В первом виде структура известна априори и не может быть изменена в последующих разработках. Но сама система может адаптироваться (но не затрагивая структуру). Более подробно об этом типе написано в [1]. Во втором случае взаимодействие подсистем друг с другом и составляет внешнюю среду по отношению к одному из агентов. Из этого очевидно влияние в обе стороны. Тем не менее каждая подсистема изменяется Петрянин Д.Л. Анализ систем защиты информации в базах данных / Д.Л. Петрянин, Н.В. Горячев, Н.К. Юрков // Труды международного симпозиума Надежность и качество. 2013. Т. 1. С. 115-122. 1 в соответствии со своим собственным законам, которые могут быть асинхронны для других. Более детальная информация указана в [2, 3 и 4]. В третьем типе система представляется как хронологическая цепочка событий. В конкретный момент система изменяется под действием события. Ввиду этого, выделяют однопоточные и многопоточные системы (разница в количестве текущих событий). Поэтому совершенно понятно их использование, где важно оценить характеристики потока (количество объектов на единицу времени). Информация об алгоритмах содержится в [5], а основная терминология описана в [6]. Также можно привести классификацию по задачам, которые могут быть решены моделированием: - анализ прямых задач – изучаемая система представлена через свои параметры, известна структура и уравнения; необходимо определить то, как система отреагирует на внешнее воздействие. - анализ обратных задач – зная как система реагирует, можно найти те факторы (возмущения), приведшие к этому состоянию; 2 Борщев А.В. Практическое агентное моделирование и его место в арсенале аналитика //Exponenta Pro, N 3-4, 2004. (См. также http://www.gpss.ru/index-h.html). 3 http://www.empatika.com/blog/agent-modelling. 4 Лысенко А.В. Краткий обзор методов имитационного моделирования / А.В. Лысенко, Н.В. Горячев, И.Д. Граб, Б.К. Кемалов, Н.К. Юрков // Современные информационные технологии. 2011. № 14. С. 171-176. 5 Сивагина Ю.А. Обзор современных симплексных ретрансляторов радиосигналов/ Ю.А. Сивагина, И.Д. Граб, Н.В. Горячев, Н.К. Юрков //Труды международного симпозиума Надежность и качество. 2012. Т. 1. С. 74-76. 6 Бростилов С.А. Математическое моделирование процессов отражения и распространения электромагнитных волн в тонкой градиентной диэлектрической пластине / Бростилов С.А., Кучумов Е.В. // Труды международного симпозиума Надежность и качество. 2011. Т. 1. С. 281-283. - задачи синтеза – подбор характеристик, которые будут воздействовать на процессы необходимым для исследователя образом; - индуктивные – проверка гипотез, уточнение уравнений, которые описывают процессы системы, выявление их свойств, тестирование алгоритмов и т.д. В ходе этой классификации явно, что от исследователя требуется составить модель процессов и установить связи и закономерности, находящиеся в системе, где они действуют. В этом очень помогает создание схем, например, связи между элементами или воздействие один на другой, то есть так называемое «конструирование» - представление системы как совокупность связанных между собой элементов, а также варианты ее реакции на различные внешние воздействия (ситуации). 1.1. Понятие случайного события Под случайным событием в теории вероятности понимается событие, которое может произойти или не произойти при осуществлении некоторых условий. Если известно, что оно произойдет обязательно, то оно достоверно. Если событие произойти не может – оно невозможно. Под несовместными событиями понимаются те, что не могут возникнут вместе. Наиболее важное понятие «полная группа» - в результате испытания может появиться любое событие, входящее в эту группу и точно не появиться то, что не принадлежит этой совокупности. Выделяют два описания вероятности: классическое и статистическое. В первом вероятность связана с понятием «благоприятствующего» исхода – результат эксперимента (опыта) в ходе, которого возникло рассматриваемое событие. Вероятность события – отношение числа благоприятствующих исходов (условий, при которых это событие возникнет) к общему числу всех равновозможных несовместных исходов, принадлежащих полной группе событий. Во втором вероятность связана с относительной частотой события – та частота, к которой стремится вероятность при увеличении числа экспериментов (опытов). Из этого определения ясно, что вероятность всегда лежит в пределах от 0 до 1. Основные теоремы 1. Теорема сложения вероятностей – вероятность суммы двух несовместных событий равна сумме вероятностей этих событий. 2. Теорема умножения вероятностей. Здесь необходимо ввести понятие «условной» вероятности – вероятность одного события, вычисленная с условием, что было другое событие. Сама теорема гласит: вероятность произведения двух событий равна произведению вероятности. 3. Формула полной вероятности. Для этого рассматривается одно событие, которое можно произойти с одним из событий, входящих в полную группу несовместных событий (гипотез). Согласно этой формуле расчет первого события (не являющийся гипотезой) будет представлен как сумма произведений вероятности каждой гипотезы на вероятность события при этой гипотезе. 4. Теорема гипотез (формула Байеса) гласит, что если произошло некое событие, не являющееся гипотезой, но вместе с каким-то событием, являющимся гипотезой, то необходимо произвести перерасчет вероятностей полной группы, то есть найти условные вероятности этой группы в соответствии с первым событием. [7] 1.2. Роль примеров На сегодняшний день имитация случайного события достигла определенного развития и может быть применена к широкому спектру проблем. Большинство примеров имитации случайного события рассматриваются как ряд смежных вопросов: 1. смоделировать полную группу событий: диапазон вероятности наступления (от 0 до 1) разделяется на некое число интервалов, разыгрывается СРРЧ (случайное равномерно распределенное число) R, затем, определяется интервал, где было обнаружено это число и фиксируется событие. 2. независимые события: рассматриваются два события, которые имеют некоторую вероятность оба в независимости друг от друга. Пусть, примем, что они оба произойдут. Тогда, разыгрывается СРРЧ уже R1 и R2, если вероятность каждого из событий больше, то оба события возникли, если хотя бы одно из них удовлетворяет условию – то оно произошло. Если не выполняется ни одно условие, то ни одно из событий не наступило. Таким образом, можно моделировать возможность наступления вместе нескольких событий. 3. Зависимые события: аналогично предыдущему случаю рассматривается вероятность наступления двух событий, но уже зависимых друг от друга. Здесь используется уже термин «условная» вероятность, о которой речь шла выше. Тем не менее, сопоставляется с R с вероятностью одного из событий, но с проверкой другого R с условной вероятностью 7 Кибзун А.И., Горяинова Е.Р., Наумов А.В., Сиротин А.Н. Учебное пособие для вузов. — М.: Физматлит, 2002. — 224 с. этого события. Если оба выполняются – возникновение события, если нет – его отсутствие. Важно отметить, что в этом случае задействован метод Монте-Карло. Основная его сущность заключается в генерации набора случайных чисел (это позволяет учесть элемент случайности и, соответственно без лишней громоздкости, сложность мира. Задача – найти среднее из всей совокупности чисел. Он основан на законе больших чисел, который гласит, что среднее значение определенной выборки при неизменном распределении близко к значению математического ожидания, характерному этому распределению. (Стоит отметить, что данный закон применим только для большого числа испытаний). Зачастую среднее значение воспринимают тождественно математическому ожиданию. Однако, это не всегда так. Среднее значение – как правило, под этим понимается среднее арифметическое, то есть суммирование всех членов ряда, а затем деление на протяженность ряда. [8] Математически это выражается так: , (1.2.1) где xi – значения переменной, n – количество значений. Математическое ожидание находится как сумма всех возможных случайных величин на их вероятности. То есть, это есть нечто иное, как среднее взвешенное. Можно составить блок-схему моделирования случайного события: Генерация Xm да PB/A=… Ввод РА,РВ,РВ/А нет Xm<P A XA=КА+1 K K 1 Генерация Xm+1 Генерация Xm+1 xm1 P B / A A да A x m 1 P B / A нет да нет K K 1 K K 1 K K 1 K K 1 AB AB AB AB AB AB AB AB Выдача исхода РА и РВ – априорные вероятности, РАВ – условная вероятность, xm - число из множества случайных чисел, К – счетчик. Рис.1.2.1. Схема моделирования группы случайных событий. Обобщенные алгоритмы имитационного моделирования 1.3. Моделирование, построенное на принципе особых состояний. Здесь следует оговориться, что в качестве объекта имитации было выбрано функционирование системы. За события приняты: - поступление запроса в систему; - освобождение элемента после выполнения запроса; - окончание процесса моделирования. Другими (альтернативными) событиями также могут являться возникновение внештатных ситуаций, а также их последующее разрешение. Подход I. заключается в применении управляющих последовательностей, которые заданы функциями распределения начальных данных, полученных в ходе случайных экспериментов. За эти последовательности принимались значения периодов, за которые следовал один запрос за другим по одному из совокупности потоков и длительности обработки запроса в этом потоке в определенном устройстве. Для предсказания применялись момента, когда произойдут рекуррентные соотношения. следующие Такой подход события позволяет задействовать циклический тип моделирования, который можно обобщить в следующих пунктах: 1) Выявляется время наступления наиболее ранее события (то, которое имеет минимальное время). 2) Модельному времени присваивается это значение. 3) Идентифицируется класс события. 4) По предыдущему пункту строится последовательность действий, обеспечивающих необходимую (допустимую/начальную) нагрузку устройств и движение запросов, зависящих от способа их обработки. Рассчитываются моменты, когда эти события должны наступить. Данная последовательность и будет рассматриваться как реакция модели на возникшие события. 5) Производится итерация до окончания заданного заранее времени моделирования. Схематические этот алгоритм будет выглядеть так: Рис. 1.3.1. Обобщённый алгоритм моделирования систем по принципу особых состояний. Алгоритм, основанный на постоянном приращении модельного времени: Рис. 1.3.2. Обобщённый алгоритм моделирования систем по принципу приращений "Δt". Под вводом исходных данных понимается задание определенной последовательности чисел, описывающей состояние системы в n-размерном фазовом пространстве совокупности состояний, характерном для начального момента времени (модельное время равно 0, при этом). Основное тело находится в проверяется цикле и воспроизведение по изменяющимся функционирования последовательным системы состояниям, представленными схемой. Для это задается некое приращение по времени. На основе вектора текущих состояний выделяются новые, которые при приращении, превращаются в текущие. Понятно, что для устойчивого функционирования, необходимо внедрить закономерности, действующие в системе. Это достигается путем отслеживания и проверки выходных величин. В случае, если имитационная система является стохастической, за новые состояния принимается расчет распределений вероятностей для всех возможных ситуаций (конкретные значения вектора текущих событий находятся из случайных экспериментов). В итоге, на выходе имеется только одна последовательность случайного процесса в многомерном пространстве, но с заданным интервалом по времени. Второй метод более широко применяем, но возникают проблемы с заданием приращения по времени. Однако, если подходить более систематично, то больше подходит первый принцип. Выделяют следующие методики построения моделей: агрегативная, динамическая и индивидуальная. Агрегативный метод моделирования Сложные системы трудны в реализации – одним и тем же способом можно описать только те компоненты, которые были заданы общей математической схемой. Исходя из этого, трудно представить только одну схему, которая была бы в состоянии описать всю специфику системы. А, значит, и затруднена разработка общего формального метода, позволяющего разграничить и сгруппировать сложные системы. Это также влияет на более детальное рассмотрение ее генеральных свойств. Безусловно, можно вспомнить, что широко применимы статистические модели, однако, при описании большого числа параметров они становятся громоздкими и неудобны в использовании, поэтому принимают различного рода приближения, либо отказываются от этого подхода. Из вышенаписанного, можно сформулировать, что единая формальная схема должна уметь описывать большой диапазон существующих систем. Для этого ей должна быть присуща динамичность – она должна описывать взаимодействие с внешними факторами и адекватно функционировать в случае возникновения случайных событий. Под эти требования попадает стохастическая схема, но она не описывают всю специфику процессов в системе. В итоге, имеется только обобщенное представление, которое, конечно, может иметь свое применение, но не может считаться унифицированным. Рядом коллективом был предложен новый подход, основанный на стохастическом, центральное место в котором занимает понятие «агрегат» (объект, принадлежащий множествам, описывающим контрольные моменты времени, входные и выходные сигналы, управляющий сигнал и состояние системы). Основное отличие этой схемы – уточнение блока переходов и выходов. Он позволяет проводить качественную и количественную оценку элементов сложной системы. Примеры реализации и более подробное описание содержится в [9, 10]. В общем, реализация строится на основе сочетаний элементом системы, описания унифицированных процессов. Он удобен в интерпретации результатов, но требователен к вычислительным ресурсам. Динамический метод моделирования Акцент в этом подходе делается на двух элементах: описание системы и задействование механизма обратной связи, то есть какова организация системы, влияние действий главных элементов на эффективность работы системы, а также рассматривается обмен между элементами, как внутренними, так и внешними, а также их интеграция. Особенностью этого подхода является введение понятия «уровни». Под этим понимается различные масштабы взаимодействия между элементами. Также описывается переходы от одного уровня к другому, их значимость и влияние на другие масштабы. Под уровнями понимаются некие состояния элементов внутри системы, как значения переменных, зависимых от разницы между входным и выходным сигналом. Стоит отметить, что именно потоки формируют уровни, а не наоборот, так как в каждом потоке образуется собственная иерархия уровней, которые осуществляют функционирование всей системы. Поэтому важно иметь в виду то, с какой скоростью происходит поток – это и есть показатель активности, в то время как уровень отвечает за состояние, которая имеет система при некой скорости потока. Очевидно, что скорость различна на разных уровнях и устанавливается из законов, определяющих тип функций 9 Бусленко В.H. Автоматизация имитационного моделирования сложных систем. - М.:Hаука,1977. - 240 с. 10 Бусленко H.П., Калашников В.В., Коваленко И.H. Лекции по теории сложных систем. - М.: Советское радио, 1973. - 439 с. решений (то есть их векторов) – последовательность действий, приводящих к определенному решению, основанному на текущей информации. Эта функция отражает предстоящие события и представляется через темп потока. Она может быть задана не для всей системы, а для ее части и распространяться на небольшое число уровней. С другой стороны, такой подход позволяет реализовать цепочку событий, полученную с внедрением случайной составляющий (то есть события, которые изначально не были включены в последовательность). Более того, если установить небольшой промежуток между интервалами по времени, то возможно изолировать один модуль системы от остальных. Это, в свою очередь, позволяет сократить вычисления, а значит, и машинное время. Схематическое представление изображено на: Рис. 1.3.3. Главные элементы динамической модели. При помощи системы уравнений описывается общая структура динамической модели. Она должна учитывать взаимодействия в системе и процессам, определяющим дальнейшее развитие, также от нее требуется соответствие реальным условиям. Система содержит отдельно уравнения, которые описывают потоки и отдельно те, что отвечают за уровни. Она учитывает априорные условия, установленные в соответствии с заданным способом решения. В этой системе уравнения построены так, чтобы регулировать по времени зависимость между переменных. Это приводит к тому, что необходимо время от времени нужно находить решения уравнений, которые выдают новое состояние системы. На разном этапе вычислений может быть своя последовательность решения. С целью получения непрерывного постоянного потока на одном интервале (что является приближением к реальной системе), необходимо задание коротких промежутков по времени. Это приводит к тому, что изменения, происходящие во время одного интервала, не окажут воздействие на решения, принятые в его начале. Также стоит учитывать и то, что на выбор этого интервала налагается ограничение вычислительных ресурсов. Основным критерием является время запаздывания – промежуток между вычислениями должен быть меньше этого времени. В этом случае приходится прибегнуть к подбору оптимального значения. Максимальное же значения этого промежутка зависит от степени связи между уровнями и скоростью потоков – не должно происходить значительных изменений в уровне за один временной интервал. Также порой необходимо введение дополнительных уравнений, которые описывают элементы, не входящие в начальную структуру модели. В начальные условия входят исходные значения всех уровней (и даже некоторых темпов), которые определяются до начала решения. Сюда входит задание и расчет констант, необходимых в дальнейшем решении. Поэтому такая операция производится только раз – перед запуском модели. Можно выделить еще один тип моделирования – индивидуальный. Исходя из названия, он решает частные задачи, либо изучает специфические процессы. В [11] приведена имитация технологического процесса обогащения полезных ископаемых. Также можно кратко привести классификацию подходов, основанную на факторе случайного воздействия на систему: - аналитический (применяется при имитации малых и простых систем, где нет фактора случайности. Это условное название, так как содержит в себе получение замкнутого аналитического решения или возможность внедрения методов вычислительной математики); - статистический (первоначально считался методом Монте-Карло – численный алгоритм, рассчитывающий вероятностные переменные, который имеет то же решение, что было получено в ходе аналитического моделирования. Затем он был применен для имитации систем, внутри которых могут возникать случайные события или могут быть подвержены воздействиям извне); - комбинированный (объединяет два предыдущих и позволяет имитировать системы, которые имеют как динамические, так и статистические составляющие). Общий алгоритм создания имитационной модели: 1) Постановка цели и задач моделирования 2) Построение концептуальной модели 3) Выбор языка и средств моделирования 4) Программирование модели 5) Отладка модели. Проверка правильности реализации (достоверности) - верификация модели 11 Леонов С.Б., Петров А.В. Имитационное моделирование технологических процессов обогащения полезных ископаемых. – Иркутск: Изд-во Иркутского госуд. техн. ун-та, 1996. – 242 с. 6) Проверка адекватности модели (валидация) 7) Планирование экспериментов 8) Прогон модели 9) Анализ результатов и выводы Этом алгоритм редко реализуется в строгой последовательности – в ходе разработки и тестирования модели могут возникать сбои, которые могут быть причиной не только плохо запрограммированной идеи, но и сама ее некорректность, либо неточность приближений. Это означает, что порой приходится возвращаться на предыдущие стадии, возникает итерация, который и делает модель более пригодной к использованию. 21 2. Верификация модели Под этим понимается проверка соответствия имитационной модели как программы (то есть она не должна противоречить концептуальной версии) и решать те задачи, которые были сформулированы для достижения заявленной цели. Общая схема верификации: 1) Подача на вход заранее подготовленных (тестовых) данных. 2) Отслеживание вектора событий. 3) Визуализация того, как система функционирует. 4) Сравнение выходных величин с результатами аналитической модели. В некоторых случаях возможно использовать в качестве показателя функционирования разнообразные счетчики (например, заявок) и также можно осуществить проверку законов сохранения. На этом этапе происходит поиск ошибок программы и самого планирования, а также оценка чувствительности выходных величин по отношению к входным и общим параметрам модели. Так как процесс имитационного моделирования можно назвать творческим, то возможно проведение верификации различными путями. Это позволяет достаточно точно рассматривать каждый этап, каждый задействованный элемент моделирования, что является преимуществом перед экспериментом, проводимом в реальной среде. После того как имитационная схема прошла тестирование, возможно проведение опытов с ней. На этой стадии важно детально вести учет всех параметров и описание опытов. Таким образом, в будущем, возможно проведение модернизации и это будет готовым «наглядным» материалов для обучения работы с этой моделью. Существуют также проверенные алгоритмы [12]. Рассмотрим подробно каждый из них. 1. Проверка конечных данных. Для этого необходимо задание нулевых значений на входе и затем анализ последующей работы модели. Если на выходе имеются не нулевые значения, то модель некорректна и требуется дополнительная проверка и/или уточнение. Теперь подается на вход значения, которых быть не может в реальной среде и отслеживается реакция (также проверяют конечные данные). Можно произвести запуск с длительным сроком моделирования. В ходе этого выявляются девиации от нормального режима работы модели (имеются некоторые предположения о работе тех или иных элементов и, если это не соответствует, фиксируется девиация, затем снова перепроверка и уточнения, а за ней – вновь тестовый запуск). 2. Если существует возможность сравнения с аналитическим решением, то в течение длительного прогона производится расчет тех или иных характеристик. В случае, если такой возможности нет, можно провести оценку косвенно (через другие величины). 3. Можно также предварительно построить логическую блок-схему и смотреть за процессом при помощи программ отладки. В некоторых ПО также присутствует возможность интерактивного контроля. Блок-схема позволяет программе изучить работоспособность каждого описанного элемента, при этом: - запуск проводится до конкретно заданного момента или появления конкретного события, а затем вывод информации по пройденному интервалу; - остановку модели, если значение элемента достигло заданного значения. 12 Зиновьев В. В. Моделирование процессов и систем: учеб. пособие / В. В. Зиновьев, А. Н. Стародубов, П. И. Николаев; КузГТУ. – Кемерово, 2016. – 146 с. 4. Имитационный след – детальная информация всех изменений, происходящих в модели. В качестве следа можно отслеживать изменение отобранных величин от одного интервала по времени к другому. Это позволяет выявлять ошибки и несоответствие реальным значениям. 5. Ведение строгой отчетности и ее проверка сторонним лицом. Однако, этот метод практически не используется по целому ряда причин. Тем не менее, если комментарии к программе достаточно хорошо описывают работу модели, то специалист вполне может осуществить проверку (т.н. «code review»). 6. Использование аппарата анимации – достаточно хорошее в визуализации не только результатов, но и хода моделирования. Как например, можно вести мониторинг потоков, целостность пакетов данных. Для графических приложений при помощи анимации можно рассмотреть, как одни объекты взаимодействуют с другими (особенно, важно наложение, исчезновение и действия динамических на статические и т.д.). В середине девяностых двадцатого века была проведен целый цикл работ, посвященных оценке достоверности модели. Наиболее известными можно считать работы О. Балчи и Р. Седжента [13, 14], в которых были созданы методологические схемы. Эти схемы на данный момент можно считать методолого-технологическим стандартом, согласно которому оценка достоверности – многоэтапный итерационный процесс, цель его – доказать правильность и корректность положений и выводов относительно работы модели. 13 Balci O. Verification, validation and accreditation // Proceedings of the 1998 Winter Simulation Conference.- 1998. – pp. 41–48. 14 Sargent R.G. Some approaches and paradigms for verifying and validating simulation models//Proceedings of the 2001 Winter Simulation Conference.- 2001.-pp. 106–114. Полезными приемами также могут служить [15]: - масштабирование временных параметров в зависимости от выбранного шага времени; - валидация, инициализирующаяся при наступлении конкретного события и сравнение с реальными данными; - тестирование модели на экстремальные события; - вариация значений входных величин с внутренними с анализом системы, их образующей; - повторные запуски в последующей проверкой; - оценка случайных величин, а также их распределений и рассчитанных для статистических критериев; - сопоставление с другими моделями такого рода; Таким образом, в верификации выделяется два этапа: Построение гипотез и предположений о работе системы, а также подготовка данных. Сам этап тестирования с проверкой гипотез и отладкой работы программы. 15 В. А. Пепеляев, Ю. М. Чёрный (Киев). О современных подходах к оценке достоверности имитационных моделей. Доступно на сайте: www.gpss.ru Рис.2.1. Методологическая схема О. Балчи 26 3. Как определяется нелинейная модель? Нелинейность модели можно представить так – если имеются линейные операторы и они не могут описать систему, значит система нелинейна и для их взаимодействия необходимо провести процедуру линеаризации – приведение всех нелинейных элементов к линейному виду. Пусть имеется такая система уравнений: { 𝑥(𝑡 + 1) = 𝑓(𝑡, 𝑥(𝑡), 𝑢(𝑡), 𝑤(𝑡); 𝜃) 𝑦(𝑡) = ℎ(𝑡, 𝑥(𝑡), 𝑢(𝑡), 𝑣(𝑡); 𝜃), (3.1) w(t), v(t) – последовательности независимых случайных величин, а вектор 𝜃 отвечает за неизвестные параметры. Затруднительной задачей здесь получение эволюции переменных в них и при этом оставаться в пределах математического аппарата. Число переменных больше числа уравнений, а это значит, что решение не может быть получено. Пусть пренебрежем w(t), тогда: { 𝑥(𝑡 + 1, 𝜃) = 𝑓(𝑡, 𝑥(𝑡, 𝜃), 𝑢(𝑡), 0; 𝜃) 𝑦̂(𝑡|𝜃) = ℎ(𝑡, 𝑥(𝑡, 𝜃), 𝑢(𝑡, ); 0, 𝜃), (3.2) Слагаемое в левой части второго уравнения формируется на основе предыдущей системы уравнений, предположении об отсутствии шума, но с реальным входным сигналов. В непрерывном случае дифференцирование по времени проводится для слагаемого в левой части первого уравнения. Для использования регрессионного анализа, должна быть функция, отвечающая за все комбинации нелинейных величин. Для их нахождения используется итерационная схема: 𝑦 = 𝑓(𝑥, 𝛽) + 𝜀, (3.3) 𝛽 – вычисляемые нелинейные параметры, 𝜀 – остаточные члены. Можно выделить 3 алгоритма, позволяющих подобрать нелинейную модель: Алгоритм Гаусса-Ньютона Градиентный спуск Алгоритм Левенберга-Маркварта Также нелинейная регрессия применяется для задач: Выбора в зависимости от структуры данных нелинейной модели, а также их сопоставление; Получения эволюции величин во времени; Определения доверительных интервалов; Оценки точности конечной модели. Алгоритм Гаусса-Ньютона Итерационный численный метод, который решают задачу метода наименьших квадратов. В этом алгоритме используется матрица Якобиана производных первого порядка для поиска вектора значений некого параметра, минимизирующего остаточные суммы квадратов – сумма квадратных отклонений расчетных от реальных значений). В стандартной итерации Ньютона требуется расчет и обращение матрицы Гесса, что делает этот метод сложным в обращении. В схеме ГауссаНьютона такого нет без ущерба скорости сходимости. Он прост в реализации и внедрен в большинство математических пакетов. Однако, порой член второго порядка оказывается достаточно большим и это влияет на скорость сходимости и корректность работы. Улучшенной версией стала схема Левенберга — Марквардта. Он является по своей сути синтезом предыдущего и метода градиентного спуска. Однако, в отличие от первого он задействует так называемый «параметр регуляризации», а от второго – вместо градиента вектора параметров используется матрица Якоби. Сама суть схемы – последовательное приближение заданных начальных значений величин к локальному оптимуму. Заключение Несмотря на успехи, достигнутые математическими науками, это далеко не та скорость, с которой развиваются инженерные (преимущественно, информационные) науки. Поэтому на сегодняшний день математическое моделирование можно считать ограниченном в применении (несмотря на широкий спектр приложений). В свою очередь, имитационные модели вполне способны решать задачи и с существующими математическими выкладками, к тому же для них уже подготовлена почва на уровне программирования. В выполненной курсовой работе представлен материал, посвященный статистическим методам (с элементами теории вероятности), а также этапам моделирования. Основное внимание уделялось именно последнему и также были рассмотрены классификации методов. Как и любое моделирование, имитация должна соответствовать реальным условиям. Ввиду этого, немаловажным пунктом является оценка того, насколько она соответствует поставленным задачам, насколько полно ее описание, насколько она полезна и актуальна, и насколько широко ее применение. Такого рода вопросы рассматриваются на этапе верификации и валидации. После этих проверок может возникнуть потребность в изменении ряда ведущих положений, элементов системы и т.п. Однако, это нельзя считать недостатком – это позволяет сделать продукт более совершенным, адаптированным к условиям эксплуатации (особенно, если имитируются производственные процессы). К тому же, сокращается количество издержек (так как имитационное моделирование не требует специальное оборудование, как в случае экспериментального подхода). Особое внимание было уделено имитации случайного события – данный вопрос (несмотря на его, на первый взгляд, простоту) может находить свое применение в производственных, экономических и даже естественных задачах. Преимущественно изучаются динамические (то есть функционирующие по времени) системы, которые не лишены случайной составляющей и именно для этого придуманы методы генерирования случайности. Имитационные модели позволяют на этапе создания рассмотреть функционирование системы, а также определить степень воздействия на нее внешних факторов. Иными словами, предоставлена возможность предсказания событий, а значит, и реакция или последующая последовательность действий. Отдельный вопрос был рассмотрен по нелинейным моделям. Они отличаются тем, что закономерности, действующие в системе, нельзя описать линейно. В этом случае, проводится либо линеаризация, либо задействуются дополнительные приемы (например, итеративные). Последние кратко приведены в последней главе. Список литературы 1. Петрянин Д.Л. Анализ систем защиты информации в базах данных / Д.Л. Петрянин, Н.В. Горячев, Н.К. Юрков // Труды международного симпозиума Надежность и качество. 2013. Т. 1. С. 115-122. 2. Борщев А.В. Практическое агентное моделирование и его место в арсенале аналитика //Exponenta Pro, N 3-4, 2004. (См. также http://www.gpss.ru/index-h.html) 3. http://www.empatika.com/blog/agent-modelling. 4. Лысенко А.В. Краткий обзор методов имитационного моделирования / А.В. Лысенко, Н.В. Горячев, И.Д. Граб, Б.К. Кемалов, Н.К. Юрков // Современные информационные технологии. 2011. № 14. С. 171-176. 5. Сивагина Ю.А. Обзор современных симплексных ретрансляторов радиосигналов/ Ю.А. Сивагина, И.Д. Граб, Н.В. Горячев, Н.К. Юрков //Труды международного симпозиума Надежность и качество. 2012. Т. 1. С. 74-76. 6. Бростилов С.А. Математическое моделирование процессов отражения и распространения электромагнитных волн в тонкой градиентной диэлектрической пластине / Бростилов С.А., Кучумов Е.В. // Труды международного симпозиума Надежность и качество. 2011. Т. 1. С. 281-283. 7. Кибзун А.И., Горяинова Е.Р., Наумов А.В., Сиротин А.Н. Учебное пособие для вузов. — М.: Физматлит, 2002. — 224 с. 8. https://statanaliz.info/metody/opisanie-dannyx/62-srednee-arifmeticheskoe 9. Бусленко В.H. Автоматизация имитационного моделирования сложных систем. - М.:Hаука,1977. - 240 с. 10. Бусленко H.П., Калашников В.В., Коваленко И.H. Лекции по теории сложных систем. - М.: Советское радио, 1973. - 439 с. 11. Леонов С.Б., Петров А.В. Имитационное моделирование технологических процессов обогащения полезных ископаемых. – Иркутск: Изд-во Иркутского госуд. техн. ун-та, 1996. – 242 с. 12. Зиновьев В. В. Моделирование процессов и систем: учеб. пособие / В. В. Зиновьев, А. Н. Стародубов, П. И. Николаев; КузГТУ. – Кемерово, 2016. – 146 с. 13. Balci O. Verification, validation and accreditation // Proceedings of the 1998 Winter Simulation Conference.- 1998. – pp. 41–48. 14. Sargent R.G. Some approaches and paradigms for verifying and validating simulation models//Proceedings of the 2001 Winter Simulation Conference.- 2001.-pp. 106–114. 15. В. А. Пепеляев, Ю. М. Чёрный (Киев). О современных подходах к оценке достоверности имитационных моделей. Доступно на сайте: www.gpss.ru