Методики развития

Что такое имитационные модели? Имитационные модели

В статье поговорим об имитационных моделях. Это довольно сложная тема, которая требует отдельного рассмотрения. Именно поэтому мы попробуем доступным языком объяснить этот вопрос.

Имитационные модели

О чем же идет речь? Начнем с того, что имитационные модели необходимы для воспроизведения каких-либо характеристик сложной системы, в которой происходит взаимодействие элементов. При этом такое моделирование имеет ряд особенностей.

Во-первых, это объект моделирования, который чаще всего представляет собой сложную комплексную систему. Во-вторых, это факторы случайности, которые присутствуют всегда и оказывают определенное влияние на систему. В-третьих, это необходимость описания сложного и длительного процесса, который наблюдается в результате моделирования. Четвертый фактор заключается в том, что без использования компьютерных технологий получить желаемые результаты невозможно.

Разработка имитационной модели

Она заключается в том, что каждый объект имеет определенный набор своих характеристик. Все они хранятся в компьютере при помощи специальных таблиц. Взаимодействие значений и показателей всегда описывается при помощи алгоритма.

Особенность и прелесть моделирования в том, что каждый его этап постепенный и плавный, что дает возможность пошагово менять характеристики и параметры и получать разные результаты. Программа, в которой задействованы имитационные модели, выводит информацию о полученных результатах, опираясь на те или иные изменения. Часто используется графическое или анимированное их представление, сильно упрощающее восприятие и понимание многих сложных процессов, которые осознать в алгоритмичном виде довольно сложно.

Детерминированность

Имитационные математические модели строятся на том, что они копируют качества и характеристики неких реальных систем. Рассмотрим пример, когда необходимо исследовать количество и динамику численности определённых организмов. Для этого при помощи моделирования можно отдельно рассматривать каждый организм, чтобы анализировать конкретно его показатели. При этом условия чаще всего задаются вербально. К примеру, по истечении какого-то отрезка времени можно задать размножение организма, а по прошествии более длительного срока - его гибель. Выполнение всех этих условий возможно в имитационной модели.

Очень часто приводят примеры моделирования движения молекул газа, ведь известно, что они двигаются хаотично. Можно изучать взаимодействие молекул со стенками сосуда или друг с другом и описывать результаты в виде алгоритма. Это позволит получать усредненные характеристики всей системы и выполнять анализ. При этом надо понимать, что подобный компьютерный эксперимент, по сути, можно назвать реальным, так как все характеристики моделируются очень точно. Но в чём смысл этого процесса?

Дело в том, что имитационная модель позволяет выделить конкретные и чистые характеристики и показатели. Она как бы избавляется от случайных, лишних и ещё ряда других факторов, о которых исследователи могут даже не догадываться. Заметим, что очень часто детерминирование и математическое моделирование схожи, если в качестве результата не должна быть создана автономная стратегия действий. Примеры, которые мы выше рассмотрели, касаются детерминированных систем. Они отличаются тем, что у них нет элементов вероятности.

Случайные процессы

Наименование очень просто понять, если провести параллель из обычной жизни. Например, когда вы стоите в очереди в магазине, который закрывается через 5 минут, и гадаете, успеете ли вы приобрести товар. Также проявление случайности можно заметить, когда вы звоните кому-то и считаете гудки, думая, с какой вероятностью дозвонитесь. Возможно, кому-то это покажется удивительным, но именно благодаря таким простым примерам в начале прошлого века зародилась новейшая отрасль математики, а именно теория массового обслуживания. Она использует статистику и теорию вероятности для того, чтобы сделать некоторые выводы. Позже исследователи доказали, что эта теория очень тесно связана с военным делом, экономикой, производством, экологией, биологией и т. д.

Метод Монте-Карло

Важный метод решения задачи на самообслуживание - это метод статистических испытаний или метод Монте-Карло. Заметим, что возможности исследования случайных процессов аналитическим путем довольно сложны, а метод Монте-Карло очень прост и универсален, в чем его главная особенность. Мы можем рассмотреть пример магазина, в который заходит один покупатель или несколько, приход больных в травмпункт по одному или целой толпой и т. д. При этом мы понимаем, что всё это случайные процессы, и промежутки времени между какими-то действиями - это независимые события, которые распределяются по законам, которые можно вывести, только проведя огромное количество наблюдений. Иногда это невозможно, поэтому берется усредненный вариант. Но какова цель моделирования случайных процессов?

Дело в том, что это позволяет получить ответы на множество вопросов. Банально необходимо рассчитать, сколько человеку придется стоять в очереди при учете всех обстоятельств. Казалось бы, это довольно простой пример, но это лишь первый уровень, а подобных ситуаций может быть очень много. Иногда рассчитать время очень важно.

Также можно задать вопрос о том, как можно распределить время, ожидая обслуживание. Еще более сложный вопрос касается того, как должны соотнестись параметры, чтобы до только что вошедшего покупателя очередь не дошла никогда. Кажется, что это довольно лёгкий вопрос, но если задуматься о нем и начать хотя бы немножко усложнять, становится понятно, что ответить не так легко.

Процесс

Как же происходит случайное моделирование? Используются математические формулы, а именно законы распределения случайных величин. Также используются числовые константы. Заметьте, что в данном случае не надо прибегать ни к каким уравнениям, которые используют при аналитических методах. В данном случае просто происходит имитация той же очереди, о которой мы говорили выше. Только сначала используются программы, которые могут генерировать случайные числа и соотносить их с заданным законом распределения. После этого проводится объемная, статистическая обработка полученных величин, которая анализирует данные на предмет, отвечают ли они изначальной цели моделирования. Продолжая дальше, скажем, что можно найти оптимальное количество людей, которые будут работать в магазине для того, чтобы очередь не возникала никогда. При этом используемый математический аппарат в данном случае - это методы математической статистики.

Образование

Анализу имитационных моделей в школах уделяется мало внимания. К сожалению, это может отразиться на будущем довольно серьезно. Дети должны со школы знать некоторые базовые принципы моделирования, так как развитие современного мира без этого процесса невозможно. В базовом курсе информатики дети могут с легкостью использовать имитационную модель "Жизнь".

Более основательное изучение может преподаваться в старших классах или в профильных школах. Прежде всего надо заняться изучением имитационного моделирования случайных процессов. Помните, что в российских школах такое понятие и методы только начинают вводиться, поэтому очень важно держать уровень образования учителей, которые со стопроцентной гарантией столкнутся с рядом вопросов от детей. При этом не будем усложнять задачу, акцентируя внимание на том, что речь идет об элементарном введении в эту тему, которое можно подробно рассмотреть за 2 часа.

После того как дети усвоили теоретическую базу, стоит осветить технические вопросы, которые касаются генерации последовательности случайных чисел на компьютере. При этом не надо загружать детей информацией о том, как работает вычислительная машина и на каких принципах строится аналитика. Из практических навыков их нужно учить создавать генераторы равномерных случайных чисел на отрезке или случайных чисел по закону распределения.

Актуальность

Поговорим немного о том, зачем нужны имитационные модели управления. Дело в том, что в современном мире обойтись без моделирования практически невозможно в любой сфере. Почему же оно так востребовано и популярно? Моделирование может заменить реальные события, необходимые для получения конкретных результатов, создание и анализ которых стоят слишком дорого. Или же может быть случай, когда проводить реальные эксперименты запрещено. Также люди пользуются им, когда просто невозможно построить аналитическую модель из-за ряда случайных факторов, последствий и причинных связей. Последний случай, когда используется этот метод, - это тогда, когда необходимо имитировать поведение какой-либо системы на протяжении данного отрезка времени. Для всего этого создаются симуляторы, которые пытаются максимально воспроизвести качества первоначальной системы.

Виды

Имитационные модели исследования могут быть нескольких видов. Так, рассмотрим подходы имитационного моделирования. Первое - это системная динамика, которая выражается в том, что есть связанные между собой переменные, определенные накопители и обратная связь. Таким образом чаще всего рассматриваются две системы, в которых есть некоторые общие характеристики и точки пересечения. Следующий вид моделирования - дискретно-событийное. Оно касается тех случаев, когда есть определенные процессы и ресурсы, а также последовательность действий. Чаще всего таким способом исследуют возможность того или иного события через призму ряда возможных или случайных факторов. Третий вид моделирования - агентный. Он заключается в том, что изучаются индивидуальные свойства организма в их системе. При этом необходимо косвенное или прямое взаимодействие наблюдаемого объекта и других.

Дискретно-событийное моделирование предлагает абстрагироваться от непрерывности событий и рассматривать только основные моменты. Таким образом случайные и лишние факторы исключаются. Этот метод максимально развит, и он используется во множестве сфер: от логистики до производственных систем. Именно он лучше всего подходит для моделирования производственных процессов. Кстати, его создал в 1960-х годах Джеффри Гордон. Системная динамика - это парадигма моделирования, где для исследования необходимо графическое изображение связей и взаимных влияний одних параметров на другие. При этом учитывается фактор времени. Только на основе всех данных создается глобальная модель на компьютере. Именно этот вид позволяет очень глубоко понять суть исследуемого события и выявить какие-то причины и связи. Благодаря этому моделированию строят бизнес-стратегии, модели производства, развитие болезней, планирование города и так далее. Этот метод был изобретён в 1950-х годах Форрестером.

Агентное моделирование появилось в 1990-х годах, оно является сравнительно новым. Это направление используется для анализа децентрализованных систем, динамика которых при этом определяется не общепринятыми законами и правилами, а индивидуальной активностью определенных элементов. Суть этого моделирования заключается в том, чтобы получить представление о новых правилах, в целом охарактеризовать систему и найти связь между индивидуальными составляющими. При этом изучается элемент, который активен и автономен, может принимать решения самостоятельно и взаимодействовать со своим окружением, а также самостоятельно меняться, что очень важно.

Этапы

Сейчас рассмотрим основные этапы разработки имитационной модели. Они включают её формулировку в самом начале процесса, построение концептуальной модели, выбор способа моделирования, выбор аппарата моделирования, планирование, выполнение задачи. На последнем этапе происходит анализ и обработка всех полученных данных. Построение имитационной модели - это сложный и длительный процесс, который требует большого внимания и понимания сути дела. Заметьте, что сами этапы занимают максимум времени, а процесс моделирования на компьютере - не больше нескольких минут. Очень важно использовать правильные модели имитационного моделирования, так как без этого не получится добиться нужных результатов. Какие-то данные получены будут, но они будут не реалистичны и не продуктивны.

Подводя итоги статьи, хочется сказать, что это очень важная и современная отрасль. Мы рассмотрели примеры имитационных моделей, чтобы понять важность всех этих моментов. В современном мире моделирование играет огромную роль, так как на его основании развиваются экономика, градостроение, производство и так далее. Важно понимать, что модели имитационных систем очень востребованы, так как они невероятно выгодны и удобны. Даже при создании реальных условий не всегда можно получить достоверные результаты, так как всегда влияет множество схоластических факторов, которые учесть просто невозможно.

Имитационное Моделирование.

Понятие имитационной модели.

Подходы к построению имитационных моделей.

По определению академика В.Маслова: «имитационное моделирование заключается прежде всего в конструировании мысленной модели (имитатора), имитирующей объекты и процессы (например, станки и их работу) по нужным (но неполным) показателям: например, по времени работы, интенсивности, экономическим затратам, расположению в цехе и т.п. Именно неполнота описания объекта делает имитационную модель принципиально отличной от математической в традиционном смысле этого слова. Далее происходит перебор в диалоге с ЭВМ огромного числа возможных вариантов и выбор в конкретные сроки наиболее приемлемых с точки зрения инженера решений. При этом используется интуиция и опыт инженера, принимающего решение, понимающего всю сложнейшую ситуацию на производстве».

При исследовании таких сложных объектов оптимального решения в строго математическом смысле вообще можно не найти. Зато можно получить приемлемое решение в сравнительно короткие сроки. Имитационная модель включает в себя эвристические элементы, использует иногда неточную и противоречивую информацию. Этим имитационное моделирование ближе к реальной жизни и более доступно для пользователей – инженеров в промышленности. В диалоге с ЭВМ специалисты расширяют свой опыт, развивают интуицию в свою очередь, передают их имитационной модели.

До сих пор мы много говорили о непрерывных объектах, однако нередко приходится иметь дело с объектами, которые имеют дискретные входные и выходные переменные. Как пример анализа поведения такого объекта на основе имитационной модели рассмотрим ставшую классической «задачу о пьяном прохожем» или задачу о случайном блуждании.

Предположим, что прохожий, стоя углу улицы, решил прогуляться, чтобы разогнать хмель. Пусть вероятности того, что, достигнув очередного перекрестка, он пойдет на север, юг, восток или запад, одинаковы. Какова вероятность того, что пройдя 10 кварталов, прохожий окажется не далее двух кварталов от места, где он начал прогулку?

Обозначим его местоположение на каждом перекрестке двумерным вектором

(X1, X2) («выход»), где

Каждое перемещение на один квартал к востоку соответствует приращению X1 на 1, а каждое перемещение на один квартал к западу – уменьшению X1 на 1 (X1, X2– дискретная переменная). Подобным же образом перемещение прохожего на один квартал к северу X2 увеличивается на 1, а на один квартал к югу – X2 уменьшается на1.

Теперь, если мы обозначим начальное положение (0,0), то будем точно знать, где будет находиться прохожий относительно этого начального положения.

Если в конце прогулки сумма абсолютных значений X1 и X2 будет больше 2, то будем считать, что он ушел дальше двух кварталов в конце прогулки протяженностью в 10 кварталов.

Так как вероятность движения нашего прохожего в любом из четырех возможных направлений по условию одинакова и равна 0,25 (1:4=0,25), то можно оценивать его передвижение с помощью таблицы случайных чисел. Условимся, что если случайное число (СЧ) лежит в пределах от 0 до 24, пьяный пойдет на восток и мы увеличим X1 на 1; если от 25 до 49, то он пойдет на запад, и мы X1 уменьшим на 1; если от 50 до 74, он пойдет на север, и мы X2 увеличим на 1; если СЧ лежит в пределах от 74 до 99, то прохожий пойдет на юг, и мы уменьшим X2 на 1.

Схема (а) и алгоритм (б) движения «пьяного прохожего».

а) б)

Нужно провести достаточно большое число «машинных опытов», чтобы получить достоверный результат. Но другими методами такую задачу решить практически невозможно.

В литературе метод имитационного моделирования встречается также под названиями метода цифрового, машинного, статистического, вероятностного, динамического моделирования или метода машинной имитации.

Метод имитационного моделирования может рассматриваться как своеобразный экспериментальный метод. Отличие от обычного эксперимента заключается в том, что в качестве объекта экспериментирования выступает имитационная модель, реализованная в виде программы на ЭВМ.

С помощью имитационной модели невозможно получить аналитические зависимости между величинами.

Можно определенным образом обработать экспериментальные данные и подобрать соответствующие математические выражения.

При создании имитационных моделей в настоящее время используются два подхода : дискретный и непрерывный.

Выбор подхода в значительной степени определяется свойствами объекта – оригинала и характером воздействия на него внешней среды.

Однако, согласно теореме Котельникова, непрерывный процесс изменения состояний объекта можно рассматривать как последовательность дискретных состояний и наоборот.

При использовании дискретного подхода к созданию имитационных моделей обычно применяются абстрактные системы.

Непрерывный подход к построению имитационных моделей широко развит американским ученым Дж.Форрестером. Моделируемый объект независимо от его природы формализуется в виде непрерывной абстрактной системы, между элементами которой циркулируют непрерывные «потоки» той или иной природы.

Таким образом, под имитационной моделью объекта – оригинала в общем случае мы можем понимать определенную систему, состоящую из отдельных подсистем (элементов, компонентов) и связей между ними (обладающую структурой), причем функционирование (изменение состояния) и внутреннее изменение всех элементов модели под действием связей может быть алгоритмизировано тем или иным образом так же, как и взаимодействие системы с внешней средой.

Благодаря не только математическим приемам, но и хорошо известным возможностям самой ЭВМ при имитационном моделировании могут быть алгоритмизированы и воспроизведены процессы функционирования и взаимодействия самых различных элементов абстрактных систем – дискретных и непрерывных, вероятностных и детерминированных, выполняющих функцию обслуживания, задержки и др.

В качестве имитационной модели объекта при такой постановке выступает программа на ЭВМ (вместе с обслуживающими, сервисными программами), написанная на универсальном языке высокого уровня.

Академик Н.Н.Моисеев так сформулировал понятие имитационного моделирования: «Имитационная система – это совокупность моделей, имитирующих протекание изучаемого процесса, объединенная со специальной системой вспомогательных программ и информационной базой, позволяющей достаточно просто и оперативно реализовать вариантные расчеты».

Имитационные модели

Имитационная модель воспроизводит поведе ние сложной системы взаимодействующих элемен тов. Для имитационного моделирования характерно наличие следующих обстоятельств (одновременно всех или некоторых из них):

  • объект моделирования - сложная неоднородная система;
  • в моделируемой системе присутствуют факторы случайного поведения;
  • требуется получить описание процесса, развивающегося во времени;
  • принципиально невозможно получить результаты моделирования без использования компьютера.

Состояние каждого элемента моделируемой системы описывается набором параметров, которые хранятся в памяти компьютера в виде таблиц. Взаимодействия элементов системы описываются алгоритмически. Моделирование осуществляется в пошаговом режиме. На каждом шаге моделирования изменяются значения параметров системы. Программа, реализующая имитационную модель, отражает изменение состояния системы, выдавая значения ее искомых параметров в виде таблиц по шагам времени или в последовательности происходящих в системе событий. Для визуализации результатов моделирования часто используется графическое представление, в т.ч. анимированное.

Детерминированное моделирование

Имитационная модель основана на подражании реальному процессу (имитации). Например, моделируя изменение (динамику) численности микроорганизмов в колонии, можно рассматривать много отдельных объектов и следить за судьбой каждого из них, ставя определенные условия для его выживания, размножения и т.д. Эти условия обычно задаются в вербальной форме. Например: по истечении некоторого промежутка времени микроорганизм делится на две части, а по прошествии другого (большего) временного отрезка - погибает. Выполнение описанных условий алгоритмически реализуется в модели.

Другой пример: моделирование движения молекул в газе, когда каждая молекула представляется в виде шарика с определенным направлением и скоростью движения. Взаимодействие двух молекул или молекулы со стенкой сосуда происходит согласно законам абсолютно-упругого столкновения и легко описывается алгоритмически. Получение интегральных (общих, усредненных) характеристик системы производится на уровне статистической обработки результатов моделирования.

Такой компьютерный эксперимент фактически претендует на воспроизведение натурного эксперимента. На вопрос: "Зачем это нужно делать?" можно дать следующий ответ: имитационное моделирование позволяет выделить "в чистом виде" следствия гипотез, заложенных в представления о микрособытиях (т.е. на уровне элементов системы), избавив их от неизбежного в натурном эксперименте влияния других факторов, о которых мы можем даже не подозревать. Если такое моделирование включает и элементы математического описания процессов на микроуровне, и если исследователь при этом не ставит задачу поиска стратегии регулирования результатов (например, управления численностью колонии микроорганизмов), то отличие имитационной модели от математической (дескриптивной) оказывается достаточно условным.

Приведенные выше примеры имитационных моделей (эволюция колонии микроорганизмов, движение молекул в газе) приводят к детерминиро ванному описанию систем. В них отсутствуют элементы вероятности, случайности событий в моделируемых системах. Рассмотрим пример моделирования системы, обладающей этими качествами.

Модели случайных процессов

Кому не случалось стоять в очереди и с нетерпением прикидывать, успеет ли он сделать покупку (или заплатить за квартиру, покататься на карусели и т.д.) за некоторое имеющееся в его распоряжении время? Или, пытаясь позвонить по телефону в справочную и натыкаясь несколько раз на короткие гудки, нервничать и оценивать - дозвонюсь или нет? Из таких "простых" проблем в начале XX века родилась новая отрасль математики - теория массового обслуживания, использующая аппарат теории вероятностей и математической статистики, дифференциальных уравнений и численных методов. Впоследствии выяснилось, что эта теория имеет многочисленные выходы в экономику, военное дело, организацию производства, биологию и экологию и т.д.

Компьютерное моделирование при решении задач массового обслуживания, реализуемое в виде метода статистических испытаний (метода Монте-Карло), играет важную роль. Возможности аналитических методов решения реально возникающих задач массового обслуживания весьма ограничены, в то время как метод статистических испытаний универсален и относительно прост.

Рассмотрим простейшую задачу этого класса. Имеется магазин с одним продавцом, в который случайным образом входят покупатели. Если продавец свободен, то он начинает обслуживать покупателя сразу, если зашло одновременно несколько покупателей - выстраивается очередь. Есть немало других аналогичных ситуаций:

  • ремонтная зона я автохозяйстве и автобусы, сошедшие с линии из-за поломки;
  • травмпункт и больные, пришедшие на прием по случаю травмы (т.е. без системы предварительной записи);
  • телефонная станция с одним входом (или одной телефонисткой) и абоненты, которых при занятом входе ставят в очередь (такая система иногда
    практикуется);
  • сервер локальной сети и персональные машины на рабочем месте, которые шлют сообщение серверу, способному воспринять разом и обработать не более одного сообщения.

Процесс прихода покупателей в магазин - случайный процесс. Промежутки времени между приходами любой последовательной пары покупателей - независимые случайные события, распределенные по некоторому закону, который может быть установлен лишь путем многочисленных наблюдений (либо для моделирования взят некоторый его правдоподобный вариант). Второй случайный процесс в этой задаче, никак не связанный с первым, - длительность обслуживания каждого из покупателей.

Целью моделирования систем такого вида является получение ответа на ряд вопросов. Относительно простой вопрос - какое в среднем время придется стоять и очереди при заданных законах распределения указанных выше случайных величин? Более сложный вопрос; каково распределение времен ожидания обслуживания в очереди? Не менее сложный вопрос: при каких соотношениях параметров входных распределений наступит кризис, при котором очередь до вновь вошедшего покупателя не дойдет никогда? Если задуматься над этой относительно простой задачей, возможные вопросы будут множиться.

Способ моделирования выглядит в общих чертах так. Используемые математические формулы - законы распределения исходных случайных величин; используемые числовые константы - эмпирические параметры, входящие в эти формулы. Не решается никаких уравнений, которые использовались бы при аналитическом исследовании данной задачи. Вместо этого происходит имитация очереди, разыгрываемая с помощью компьютерных программ, генерирующих случайные числа с заданными законами распределения. Затем производится статистическая обработка совокупности полученных значений величин, определяемых заданными целями моделирования. Например, находится оптимальное количество продавцов для разных периодов времени работы магазина, которое обеспечит отсутствие очередей. Математический аппарат, который здесь используется, называется методами математической статистики .

В статье "Моделирование экологических систем и процессов" описан другой пример имитацион ного моделирования: одна из многих моделей системы "хищник-жертва". Особи видов, находящихся в указанных отношениях, по определенным правилам, содержащим элементы случайности, перемещаются, хищники съедают жертв, и те и другие размножаются и т.д. Такая модель не содержит никаких математических формул, но требует стати стической обработки результатов.

Пример алгоритма детерминированной имитационной модели

Рассмотрим имитационную модель эволюции популяции живых организмов, известную под названием "Жизнь", которую легко реализовать на любом языке программирования.

Для построения алгоритма игры рассмотрим квадратное поле из п -\- 1 столбцов и строк с обычной нумерацией от 0 до п. Крайние граничные столбцы и строки для удобства определим как "мертвую зону", они играют лишь вспомогательную роль.

Для любой внутренней клетки поля с координатами (i,j) можно определить 8 соседей. Если клетка "живая", ее закрашиваем, если клетка "мертвая", она пустая.

Зададим правила игры. Если клетка (i,j) "живая" и ее окружает более трех "живых" клеток, она погибает (от перенаселения). "Живая" клетка также погибает, если в ее окружении находится менее двух "живых" клеток (от одиночества). "Мертвая" клетка оживает, если вокруг нее появляются три "живые" клетки.

Для удобства введем двумерный массив А , элементы которого принимают значение 0, если соответствующая клетка пустая, и 1, если клетка "живая". Тогда алгоритм определения состояния клетки с координатой (i , j ) можно определить следующим образом:

S:=A+A+A+A+A+A+A+A;
If (A = 1) And (S > 3) Or (S < 2)) Then B: =0;
If (A = 0) And (S = 3)
Then B: = 1;

Здесь массив Вопределяет координаты поля на "следующем этапе. Для всех внутренних клеток от i = 1 до n - 1 и j = 1 до n - 1 справедливо сказанное выше. Отметим, что последующие поколения определяются аналогично, стоит лишь осуществить процедуру переприсваивания:

For I: = 1 То N - 1 Do
For J: = 1 То N - 1 Do
A : = В ;

На экране дисплея удобнее выводить состояние поля не в матричном, а в графическом виде.
Осталось лишь определить процедуру задания начальнойконфигурации игрового поля. При случайном определении начального состояния клеток подходит алгоритм

For I: = 1 To K Do
Begin K1: = Random (N-1);
K2:= Random (N-1)+1;
End;

Интереснее для пользователя самому задавать начальную конфигурацию, что легко осуществить. В результате экспериментов с этой моделью можно найти,например, устойчивые расселения живых организмов, которые никогда не погибают, оставаясь неизменными или изменяя свою конфигурацию с определенным периодом. Абсолютно неустойчивым (гибнущим во втором поколении) является расселение "крестом".

В базовом курсе информатики ученики могут реализовать имитационную модель "Жизнь" в рамках раздела "Введение в программирование". Более основательное освоение имитационного моделирования может происходить в старших классах в профильном или элективном курсе информатики. Далее будет говориться о таком варианте.

Начало изучения - лекция об имитационном моделировании случайных процессов. В российской школе понятия теории вероятностей и математической статистики лишь начинают внедряться в курс математики, и учителю следует быть готовым к тому, чтобы самому сделать введение в этот важнейший для формирования мировоззрения и математической культуры материал. Подчеркнем, что речь идет об элементарном введении в круг обсуждаемых понятий; это можно сделать за 1-2 часа.

Потом обсуждаем технические вопросы, связанные с генерацией на ЭВМ последовательностей случайных чисел с заданным законом распределения. Опираться при этом можно на то, что в каждом универсальном языке программирования есть датчик равномерно распределенных на отрезке от 0 до 1 случайных чисел. На данном этапе нецелесообразно вдаваться в сложный вопрос о принципах его реализации. Опираясь на имеющиеся датчики случайных чисел, показываем, как можно устроить

а) генератор равномерно распределенных случайных чисел на любом отрезке [а, b];

б) генератор случайных чисел под практически любой закон распределения (например, используя интуитивно ясный метод "отбора-отказа").

Начать рассмотрение описанной выше задачи массового обслуживания целесообразно с обсуждения истории решения проблем массового обслуживания (задача Эрланга об обслуживании запросов на телефонной станции). Затем следует рассмотрение простейшей задачи, которую можно сформулировать на примере формирования и обследования очереди в магазине с одним продавцом. Отметим, что на первом этапе моделирования распределения случайных величин на входе можно принять равновероятными, что хоть и не реалистично, но снимает ряд трудностей (для генерации случайных чисел можно просто использовать встроенный в язык программирования датчик).

Обращаем внимание учащихся на то, какие вопросы ставятся в первую очередь при моделировании систем такого вида. Во-первых, это вычисление средних значений (математических ожиданий) некоторых случайных величин. Например, какое среднее время приходится стоять в очереди к прилавку? Или: найти среднее время, проведенное продавцом в ожидании покупателя.

Задача учителя, в частности, состоит в том, чтобы разъяснить, что выборочные средние сами по себе - случайные величины; в другой выборке того же объема они будут иметь другие значения (при больших объемах выборки - не слишком отличающиеся друг от друга). Далее.возможны варианты: в более подготовленной аудитории можно показать способ оценивания доверительных интервалов, в которых находятся математические ожидания соответствующих случайных величин при заданных доверительных вероятностях (известными из математической статистики методами без попытки обоснования). В менее подготовленной аудитории можно ограничиться чисто эмпирическим утверждением: если в нескольких выборках равного объема средние значения совпали в некотором десятичном знаке, то этот знак скорее всего верен. Если при моделировании не удается достичь желаемой точности, следует увеличить объем выборки.

В еще более подготовленной в математическом отношении аудитории можно ставить вопрос: каково распределение случайных величин, являющихся результатами статистического моделирования, при заданных распределениях случайных величин, являющихся его входными параметрами? Поскольку изложение соответствующей математической теории в данном случае невозможно, следует ограничиться эмпирическими приемами: построение гистограмм итоговых распределений и сравнение их с несколькими типичными функциями распределения.

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

В рассмотренной задаче, как и в любой более сложной задаче об очередях, может возникнуть критическая ситуация, когда очередь неограниченно растет со временем. Моделирование приближения к критической ситуации по мере возрастания одного из параметров - интересная исследовательская задача для наиболее подготовленных учащихся.

На примере задачи об очереди отрабатываются сразу несколько новых понятий и навыков:

  • понятия о случайных процессах;
  • понятия и простейшие навыки имитационного моделирования;
  • построение оптимизационных имитационных моделей;
  • построение многокритериальных моделей (путем решения задач о наиболее рациональном обслуживании покупателей в сочетании с интересами
    владельца магазина).

Задание :

    1. Составить схему ключевых понятий;
  • Подобрать практические задания с решениями для базового и профильного курсов информатики.

Имитационное моделирование (ситуационное моделирование) - метод, позволяющий строить модели , описывающие процессы так, как они проходили бы в действительности. Такую модель можно «проиграть» во времени как для одного испытания, так и заданного их множества. При этом результаты будут определяться случайным характером процессов. По этим данным можно получить достаточно устойчивую статистику .

Имитационное моделирование - это метод исследования, при котором изучаемая система заменяется моделью, с достаточной точностью описывающей реальную систему, с которой проводятся эксперименты с целью получения информации об этой системе. Экспериментирование с моделью называют имитацией (имитация - это постижение сути явления, не прибегая к экспериментам на реальном объекте).

Имитационное моделирование - это частный случай математического моделирования . Существует класс объектов, для которых по различным причинам не разработаны аналитические модели, либо не разработаны методы решения полученной модели. В этом случае аналитическая модель заменяется имитатором или имитационной моделью.

Имитационным моделированием иногда называют получение частных численных решений сформулированной задачи на основе аналитических решений или с помощью численных методов .

Имитационная модель - логико-математическое описание объекта, которое может быть использовано для экспериментирования на компьютере в целях проектирования, анализа и оценки функционирования объекта.

Энциклопедичный YouTube

    1 / 3

    ✪ Моделирование систем. Лекция 8. Имитационное моделирование систем

    ✪ Вебинар: Имитационное моделирование бизнес процессов

    ✪ Применение Имитационного Моделирования в Логистике.

    Субтитры

Применение имитационного моделирования

К имитационному моделированию прибегают, когда:

  • дорого или невозможно экспериментировать на реальном объекте;
  • невозможно построить аналитическую модель: в системе есть время, причинные связи, последствие, нелинейности, стохастические (случайные) переменные;
  • необходимо сымитировать поведение системы во времени.

Цель имитационного моделирования состоит в воспроизведении поведения исследуемой системы на основе результатов анализа наиболее существенных взаимосвязей между её элементами или другими словами - разработке симулятора (англ. simulation modeling ) исследуемой предметной области для проведения различных экспериментов.

Виды имитационного моделирования

  • Агентное моделирование - относительно новое (1990-е-2000-е гг.) направление в имитационном моделировании, которое используется для исследования децентрализованных систем, динамика функционирования которых определяется не глобальными правилами и законами (как в других парадигмах моделирования), а наоборот, когда эти глобальные правила и законы являются результатом индивидуальной активности членов группы. Цель агентных моделей - получить представление об этих глобальных правилах, общем поведении системы, исходя из предположений об индивидуальном, частном поведении её отдельных активных объектов и взаимодействии этих объектов в системе. Агент - некая сущность, обладающая активностью, автономным поведением, может принимать решения в соответствии с некоторым набором правил, взаимодействовать с окружением, а также самостоятельно изменяться.
  • Дискретно-событийное моделирование - подход к моделированию, предлагающий абстрагироваться от непрерывной природы событий и рассматривать только основные события моделируемой системы, такие, как: «ожидание», «обработка заказа», «движение с грузом», «разгрузка» и другие. Дискретно-событийное моделирование наиболее развито и имеет огромную сферу приложений - от логистики и систем массового обслуживания до транспортных и производственных систем. Этот вид моделирования наиболее подходит для моделирования производственных процессов. Основан Джеффри Гордоном в 1960-х годах.
  • Системная динамика - парадигма моделирования, где для исследуемой системы строятся графические диаграммы причинных связей и глобальных влияний одних параметров на другие во времени, а затем созданная на основе этих диаграмм модель имитируется на компьютере. По сути, такой вид моделирования более всех других парадигм помогает понять суть происходящего выявления причинно-следственных связей между объектами и явлениями. С помощью системной динамики строят модели бизнес-процессов, развития города, модели производства, динамики популяции, экологии и развития эпидемии. Метод основан Джеем Форрестером в 1950 годах.

Области применения

  • Динамика населения
  • ИТ-инфраструктура
  • Математическое моделирование исторических процессов
  • Пешеходная динамика
  • Рынок и конкуренция
  • Сервисные центры
  • Цепочки поставок
  • Уличное движение
  • Экономика здравоохранения

Введение

Одна из важных особенностей АСУ – принципиальная невозможность проведения реальных экспериментов до завершения проекта. Возможным выходом является использование имитационных моделей. Однако их разработка и использование чрезвычайно сложны, возникают затруднения в достаточно точном определении степени адекватности моделируемому процессу. Поэтому важно принять решение – какую создать модель.

Другой важный аспект – использование имитационных моделей в процессе эксплуатации АСУ для принятия решений. Такие модели создаются в процессе проектирования, чтобы их можно было непрерывно модернизировать и корректировать в соответствии с изменяющимися условиями работы пользователя.

Эти же модели могут быть использованы для обучения персонала перед вводом АСУ в эксплуатацию и для проведения деловых игр.

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

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


Компонента модели, отображающая определенный элемент моделируемой системы, описывает набором характеристик количественного или логического типа. В зависимости от длительности существования различают компоненты условно-постоянные и временные. Условно-постоянные компоненты существуют в течение всего времени эксперимента с моделью, а временные – генерируются и уничтожаются в ходе эксперимента. Компоненты имитационной модели делят на классы, внутри которых они имеют одинаковый набор характеристик, но отличаются их значениями.

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

Изменение значений характеристик, являющееся результатом отображения в модели взаимодействия между элементами моделируемой системы, приводит к изменению состояния модели. Характеристика, значение которой в ходе моделирующего эксперимента изменяется, является переменной, в противном случае это параметр. Значения дискретных переменных не изменяются в течение интервала времени между двумя последовательными особыми состояниями и меняются скачком при переходе от одного состояния к другому.

Моделирующий алгоритм представляет собой описание функциональных взаимодействий между компонентами модели. Для его составления процесс функционирования моделируемой системы разбивается на ряд последовательных событий, каждое из которых отражает изменение состояния системы в результате взаимодействия ее элементов или воздействия на системы внешней среды в виде входных сигналов. Особые состояния возникают в определенные моменты времени, которые планируются заранее, либо определяются в ходе эксперимента с моделью. Наступление событий в модели планируется путем составления расписания событий по временам их свершения либо проводится анализ, выявляющий достижение переменными характеристиками установленных значений.

Для этой цели наиболее удобно использовать СИВС. Представленные на них материальные и информационные потоки легко анализировать для выявления особых состояний. Такими состояниями являются отражаемые на СИВС моменты окончания обработки изделия на каждом рабочем месте или его транспортировки; приема и выдачи на постоянное или временное хранение; сборки деталей в узлы, узлов в изделие и т.п. Для дискретного производства изменение характеристик между особыми состояниями можно также считать дискретным, имея в виду переход условным скачком от исходного материала к заготовке, от заготовки к полуфабрикату, от полуфабриката к детали и т.д.

Таким образом, каждая производственная операция рассматривается как оператор, изменяющий значение характеристик изделия. Для простых моделей последовательность состояний можно принимать детерминированной. Лучше отражают действительность случайные последовательности, которые можно формализовать в виде случайных приращений времени, имеющих заданное распределение, либо случайного потока однородных событий, аналогично потокам заявок в теории массового, обслуживания. Аналогичным образом можно проанализировать и выявить с помощью СИВС особые состояния при движении и обработке информации.

На рис. 2 представлена структура обобщенной имитационной модели.

При моделировании непрерывных производственных процессов по принципу ∆t датчик временных интервалов выдает тактовые импульсы для работы моделирующего алгоритма. Блоки случайных и управляющих воздействий, а также начальных условий служат для ручного ввода условий проведения очередного модельного эксперимента.

Комплекс имитационных функциональных программ по каждому моделируемому объекту определяет условное распределение вероятностей состояний объекта к окончанию каждого момента ДЛ При случайном выборе одного из возможных состояний это осуществляется функциональной подпрограммой; при выборе экспериментатором – программой, заложенной в блоке управляющих воздействий, или, при желании осуществлять этот выбор вручную на каждом такте, вводом новых начальных условий исходя из текущего состояния, определяемого с помощью блока индикации.

Функциональная программа определяет параметры технологической установки на каждом такте в зависимости от заданных начальных условий – характеристик сырья, заданного режима, свойств и условий работы установки. Из модели технологической части программным путем могут быть добавлены соотношения весового и объемного баланса.

Координацию и взаимодействие всех блоков и программ осуществляет программа-диспетчер.

При моделировании дискретных процессов, при котором обычно используют принцип особых состояний, структура имитационной модели изменяется незначительно. Вместо датчика временных интервалов вводится блок, определяющий наличие особого состояния и выдающий команду на переход к следующему. Функциональная программа имитирует на каждом переходе одну операцию на каждом рабочем месте. Характеристики таких операций могут быть детерминированными во времени, например при работе станка-автомата, либо случайными с заданными распределениями. Кроме времени могут имитироваться и другие характеристики – наличие или отсутствие брака, отнесение к некоторому сорту или классу и т.п. Аналогично имитируются сборочные операции, с той разницей, что на каждой операции изменяются не характеристики обрабатываемого материала, а вместо одних наименований – детали, узлы – появляются другие – узлы, изделия – с новыми характеристиками. Однако принципиально операции сборки имитируются аналогично операциям обработки – определяются случайные или детерминированные затраты времени на операцию, значения физических и производственных характеристик.

Для имитации сложных производственных систем требуется создание логико-математической модели исследуемой системы, позволяющей проведение с нею экспериментов на ЭВМ. Модель реализуют в виде комплекса программ, написанных на одном из универсальных языков программирования высокого уровня либо на специальном языке моделирования. С развитием имитационного моделирования появились системы и языки, сочетающие возможности имитации как непрерывных, так и дискретных систем, что позволяет моделировать сложные системы типа предприятий и производственных объединений.

При построении модели, прежде всего, следует определить ее назначение. В модели должны быть отражены все существенные с точки зрения цели ее построения функции моделируемого объекта и в то же время в ней не должно быть ничего лишнего, иначе она будет слишком громоздкой и мало эффективной.

Основным назначением моделей предприятий и объединений является их исследование с целью совершенствования системы управления либо обучения и повышения квалификации управленческого персонала. При этом моделируется не само производство, а отображение производственного процесса в системе управления.

Для построения модели используется укрупненная СИВС. Методом единичной нити выявляют те функции и задачи, в результате которых может быть получен искомый результат в соответствии с назначением модели. На основании логико-функционального анализа строят структурную схему модели. Построение структурной схемы позволяет выделить ряд самостоятельных моделей, входящих в виде составных частей в модель предприятия. На рис. 3 приведен пример построения структурной схемы моделирования финансово-экономических показателей предприятия. Модель учитывает как внешние факторы – спрос на продукцию, план поставок, так и внутренние – затраты на производство, существующие и планируемые производственные возможности.


Некоторые из моделей являются детерминированными – расчет планируемого полного дохода по номенклатуре и количествам в соответствии с планом производства при известных ценах и стоимости упаковки. Модель плана производства является оптимизационной, настраиваемой на один из возможных критериев – максимизацию дохода или использования производственных мощностей; наиболее полное удовлетворение спроса; минимизацию потерь поставляемых материалов и комплектующих изделий и пр. В свою очередь модели спроса на продукцию, планируемых производственных мощностей и плана поставок являются вероятностными с различными законами распределения.

Взаимосвязь между моделями, координация их работы и связь с пользователями осуществляется с помощью специальной программы, которая на рис. 3 не показана. Эффективная работа пользователей с моделью достигается в режиме диалога.

Построение структурной схемы модели не формализовано и во многом зависит от опыта и интуиции ее разработчика. Здесь важно соблюдать общее правило – лучше на первых этапах составления схемы включить в нее большее число элементов с последующим их постепенным сокращением, чем начать с некоторых, кажущихся основными, блоков, намереваясь в последующем их дополнять и детализировать.

После построения схемы, обсуждения ее с заказчиком и корректировки переходят к построению отдельных моделей. Необходимая для этого информация содержится в системных спецификациях – перечень и характеристики задач, необходимые для их решения исходные данные и выходные результаты и т д. Если системные спецификации не составлялись, эти сведения берут из материалов обследования, а иногда прибегают к дополнительным обследованиям.

Важнейшими условиями эффективного использования моделей являются проверка их адекватности и достоверность исходных данных. Если проверка адекватности осуществляется известными методами, то достоверность имеет некоторые особенности. Они заключаются в том, что во многих случаях исследование модели и работу с нею лучше проводить не с реальными данными, а со специально подготовленным их набором. При подготовке набора данных руководствуются целью использования модели, выделяя ту ситуацию, которую хотят промоделировать и исследовать.