лекцииММиИТпП-ч.1. Конспект лекций ч. 1 Омск
Скачать 1.27 Mb.
|
6. Моделирование с использованием имитационно подходаРазвитие моделей, использующих имитационный подход, связано с необходимостью исследования очень сложных систем, встречающихся на практике. Аналитические и численные методы, позволяющие провести наиболее полное исследование математической модели объекта, применимы далеко не для всех систем. При построении аналитических моделей многих сложных систем исследователю зачастую приходится идти на серьезные упрощения, чтобы получить представление о некоторых общих свойствах моделируемой системы, например оценить устойчивость стационарного состояния системы. Моделируемая система может оказаться настолько сложной, а поведение ее так многообразно и непредсказуемо, что принятая система гипотез будет способна привести не только к существенным количественным, но и качественным отличиям результатов моделирования от поведения системы в реальных условиях. При этом повысить степень адекватности модели будет нельзя по многим причинам: вследствие неразвитости существующих аналитических и численных методов, невозможности построения аналитического описания поведения отдельных элементов системы или взаимодействия между элементами и т.д. Ситуации, когда исследователю рекомендуется применять модели, имитирующие поведение реального объекта, следующие: 1) если не существует законченной постановки задачи исследования и идет процесс познания объекта моделирования или отдельных его элементов; если аналитические методы имеются, но математические процедуры трудно реализуемы, сложны и трудоемки; когда кроме оценки влияния параметров сложной системы желательно осуществить наблюдение за поведением отдельных компонентов этой системы в течение определенного периода времени; когда имитационный подход оказывается единственным способом исследования сложной системы из-за невозможности наблюдения явлений в реальной обстановке; когда необходимо контролировать протекание процессов в сложной системе путем замедления или ускорения явлений в ходе имитации; при подготовке специалистов и освоении новой техники, когда имитатор обеспечивает возможность приобретения необходимых навыков в эксплуатации новой техники; когда изучаются новые ситуации в сложных системах, о которых мало что известно. В этом случае имитация служит для предварительной проверки новых стратегий и правил принятия решений перед проведением экспериментов на реальной системе; когда основное значение имеет последовательность событий в проектируемой сложной системе и модель используется для предсказания узких мест в функционировании системы и других трудностей, связанных с добавлением в систему новых элементов. Имитационный подход, в частности, оправдан, если вопросы, на которые должна ответить модель, относятся не к выяснению фундаментальных законов и причин, определяющих динамику реальной системы, а к анализу поведения системы, как правило, выполняемому сугубо в практических целях. 6.1. Особенности моделей, использующих имитационный подходСуть подхода, используемого при разработке имитаторов, состоит в том, что процесс функционирования сложной системы представляется в виде определенного алгоритма, реализуемого на ЭВМ. Для систем, состоящих из множества элементов, приходится строить модель не только всей системы, но и модели отдельных элементов. Как и для аналитического подхода, разработка имитатора ведется с использованием некоторой совокупности гипотез. Изменение даже одной гипотезы для одного из элементов системы может привести к необходимости пересмотра всей модели системы и поиску новых методов исследования (именно поэтому аналитические и численные подходы к моделированию сложных систем применяют после длительного и всестороннего изучения поведения как всей системы, так и отдельных ее элементов). Имитационный подход позволяет «максимально использовать всю имеющуюся в распоряжении исследователя информацию о системе». Например, пусть требуется построить модель популяции живых существ с учетом взаимодействия с конкурирующими видами, хищниками и окружающей природой. Объектом моделирования в данном случае является сложная система, состоящая из живых существ разного вида, взаимодействующих друг с другом. При некоторых ограничениях можно описать изменение численности животных с помощью системы обыкновенных дифференциальных уравнений. Однако биологи, наблюдающие за реальной биосистемой, могут описать поведение отдельных особей только в виде совокупности правил и приближенно контролировать общую численность различных животных. Использовать эти наблюдения для определения констант, входящих в систему уравнений, достаточно сложно. В то же время построить алгоритм, реализующий указанную таблицу правил поведения одной особи, гораздо проще. Если известны правила взаимодействия с особями другого вида и с окружающей природой, то несложно разработать алгоритм, имитирующий поведение всей системы. Если в процессе дальнейшего наблюдения за реальной биосистемой будут уточняться или изменяться некоторые правила поведения или взаимодействия особей, то их учет можно выполнить, изменив соответствующий алгоритм, без существенной модификации всей модели. Таким образом, на самом раннем этапе исследований реальной системы можно получить ее рабочую модель, которая будет достаточно легко совершенствоваться по мере накопления экспериментального материала. Имитаторы, как правило, используются для моделирования сложных динамических систем. При этом приходится моделировать не только структуру системы, но и время ее функционирования. При моделировании обычно используются три представления времени: реальное время моделируемой системы; модельное время, по которому организуется синхронизация событий в системе; машинное время имитации, отражающее затраты ресурсов времени ЭВМ на организацию имитации. Для сложных систем возможна ситуация, когда различные события в различных компонентах происходят одновременно с точки зрения реального времени. Однако подавляющее большинство существующих современных вычислительных устройств не поддерживают распараллеливание вычислений. Поэтому возникает необходимость введения модельного времени, с помощью которого реализуется квазипараллельная работа компонент имитатора. Приставка «квази» в данном случае вводится для подчеркивания последовательного характера обработки событий в имитаторе, одновременно возникающих в разных компонентах реальной системы. В отличие от реального времени модельное изменяется не непрерывно, а пошагово. При этом величина шага по времени может быть фиксированной или переменной. При фиксированном шаге изменение модельного времени происходит всегда на одну и ту же величину. В случае переменного шага его величина соответствует интервалу времени между соседними событиями в системе. На практике большее распространение получил способ переменного шага. Еще одной особенностью имитационного подхода является относительная простота учета стохастической неопределенности исходных параметров моделирования. Метод Монте-Карло достаточно хорошо подходит для моделирования параметров имитатора. Использование преобразования случайных величин позволяет получать распределения случайных параметров, соответствующие практически любому закону распределения случайных величин. Работа с имитатором представляет собой вычислительный эксперимент, осуществляемый на ЭВМ, который во многом сродни эксперименту с реальной системой. В связи с такой особенностью имитатор обычно дает ответы на вопросы лишь в статистическом смысле, что следует признать неизбежным при работе со сложными системами и более соответствующим поведению реальных объектов. Построение имитатора можно представить как технологический процесс, многие этапы которого аналогичны этапам, рассмотренным выше, однако имеются и определенные отличия. Всего в этом случае можно выделить восемь технологических этапов: Содержательное описание объекта моделирования: формулируются основные вопросы о поведении сложной системы, ответы на которые требуется получить; определяется объект имитации; устанавливаются границы и ограничения моделирования; выбираются показатели для сравнения эффективности вариантов системы. Концептуальная модель системы: на основе содержательно го описания определяется общий замысел модели, выдвигаются основные гипотезы, фиксируются сделанные допущения. Концептуальная модель сложной системы представляет собой упрощенное алгоритмическое отображение реальной системы. Сложная система расчленяется на конечное число частей (деком позиция системы), сохраняя при этом связи, обеспечивающие их взаимодействие. Полученные части при необходимости вновь расчленяются до тех пор, пока не получатся элементы, удобные для математического или алгоритмического описания. В результате этого сложная система представляется в виде многоуровневой «конструкции» взаимосвязанных элементов, объединенных в подсистемы (подмодели) различных уровней. При этом стремятся к тому, чтобы получаемые подмодели отвечали реально существующим фрагментам системы. В состав концептуальной модели входят: уточненное описание объекта моделирования, свободное от всего того, что не представляет интереса для имитации поведения системы; список параметров и переменных моделирования; критерии эффективности функционирования вариантов системы; список используемых методов обработки результатов имитации и перечисление способов представления результатов моделирования. 3. Формальное описание объекта моделирования: построение исследователем формального представления алгоритмов поведения компонентов сложной системы и отражение вопросов взаимодействия компонентов между собой. Для составления формального описания используется один из трех видов формализации: аппроксимация явлений функциональными зависимостями, алгоритмическое описание процессов в системе и смешанное представление. После составления формального описания выполняют проверку правильности функционирования имитатора, используя классические модели, достоверность которых доказана. При этом выясняют следующие вопросы: позволяет ли имитатор решить поставленные задачи моделирования, насколько полна предложенная схема модели и отражает ли она фактическую последовательность развития процессов в реальной системе. На этом же этапе выполняется выбор вычислительных средств, которые обеспечили бы исследователю легкость программирования, минимальные затраты на моделирование, доступность выбранной ЭВМ, быстрое получение результатов. Конструирование имитатора: преобразование формального описания в описание имитатора. Данный этап, как правило, вводится для сложных систем, которые нельзя представить в виде агрегативной схемы или системы массового обслуживания. Здесь же прорабатываются вопросы, связанные с синхронизацией частей компонентов модели в модельном времени, организацией сбора статистики, заданием начальных условий моделирования, планированием процесса имитации отдельных вариантов системы, проверкой условий окончания моделирования, обработкой результатов имитации. Программирование и отладка модели, этот этап практически не отличается от соответствующего этапа, рассмотренного для аналитических и численных моделей. Отладочный процесс обязательно включает как независимую отладку отдельных компонентов, так и комплексную отладку программы для всей модели. Данный этап предполагает разработку технической документации на программную реализацию модели. Испытание и исследование модели: проверка правильности алгоритма моделирования исследуемого объекта в ходе имитации его поведения; определение степени адекватности модели и объекта исследования. Под адекватностью программной реализации имитатора понимают степень совпадения с заданной точностью векторов характеристик поведения объекта и модели. При отсутствии адекватности проводят калибровку модели, т.е. уточняют алгоритмы как отдельных компонентов, так и взаимодействия компонентов. Эта операция может включать и уточнение формально го описания компонентов. Исследование свойств имитатора предполагает оценку точности и устойчивости результатов имитации явлений, а также определение чувствительности значений критериев качества к изменению параметров модели. Под точностью имитации явления понимают оценку влияния стохастических элементов на функционирование модели сложной системы. Устойчивость результатов моделирования характеризуется сходимостью контролируемых параметров к определенным величинам при увеличении времени моделирования варианта сложной системы, что обычно наблюдается на практике в системах с конечным числом состояний. Стационарность режима моделирования характеризует некоторое установившееся равновесие процессов в модели системы, при котором дальнейшее увеличение времени моделирования не приводит к получению новой информации. Чувствительность модели определяется величиной максимального приращения значений выбранного критерия качества, вычисляемого по статистикам моделирования, при последовательном изменении параметров моделирования на всем диапазоне. Следует отметить, что без оценки точности, устойчивости и чувствительности имитатора нельзя рассчитывать на доверие к нему со стороны как разработчика, так и заказчика. Эксплуатация имитатора. Этап начинается с составления плана экспериментов, позволяющего исследователю получить максимум информации при минимальных затратах на проведение вычислений и обработку результатов. При этом необходимо вы полнить обязательное статистическое обоснование плана экспериментов. Планирование эксперимента представляет собой процедуру выбора минимального числа и условий проведения опытов, необходимых и достаточных для решения поставленной задачи с заданной точностью. После составления плана экспериментов приступают к их реализации. Итогом работы являются результаты экспериментов на модели. Анализ результатов моделирования: всесторонний анализ полученных результатов с целью получения рекомендаций по проектированию системы или ее модификации. На результаты анализа и их интерпретацию существенное влияние может оказывать способ представления данных на ЭВМ. Так, использование средств компьютерной графики и мультипликации может оказать существенную помощь на данном этапе. Успех или неудача проведения имитационных экспериментов с моделями сложных систем существенным образом зависит от инструментальных средств, используемых для моделирования, т.е. от набора аппаратно-программных средств, представляемых пользователю-разработчику или пользователю-исследователю имитатора. В настоящее время существует большое количество специальных языков создания имитаторов на ЭВМ, которые называют языками моделирования. Перед разработчиком возникает проблема выбора языка, наиболее эффективного для целей моделирования конкретной системы. Языки моделирования заслуживают пристального внимания, так как, во-первых, число существующих языков и систем моделирования превышает несколько сотен, поэтому необходимо научиться ориентироваться в них. Во-вторых, почти каждый новый язык моделирования является не только средством, облегчающим доведение концептуальной модели до готовой машинной моделирующей программы, но и представляет собой новый способ «видения мира», т.е. построения моделей реальных систем. Описание, изучение и применение языков моделирования является предметом отдельного пособия. Поэтому для примеров, рассмотренных ниже, языки моделирования не используются. В заключение еще раз остановимся на достоинствах и недостатках имитационного подхода. При достаточно глубоком знании поведения реальной системы и правильном представлении феноменологической информации в имитаторе последний характеризуется, вообще говоря, большей близостью к реальной системе, чем аналитические и численные модели. Такая близость в значительной степени обусловлена блочным принципом построения имитатора, который позволяет выполнять верификацию каждого блока до его включения в общую модель, а также благодаря тому, что имитатор может использовать зависимости более сложного характера, которые трудно (а иногда невозможно) учесть с помощью математических соотношений. В то же время создать хороший имитатор поведения сложной системы, как правило, труднее, дольше и дороже, чем аналитическую модель. Это связано с обязательным присутствием в цикле создания имитатора этапа программирования, стоимость, сложность и длительность которого может быть значительной. Кроме того, необходимость использования ЭВМ соответствующего класса в значительной степени осложняет использование модели. И, наконец, срок жизни имитатора, как правило, ограничен сроком использования ЭВМ, для которых была разработана его программная реализация. Учитывая, что время разработки достаточно сложного имитатора составляет несколько лет, а период существенного обновления вычислительной техники сократился до 10 лет, – все это является серьезным недостатком моделей, основанных на имитационном подходе. Быстрое развитие средств вычислительной техники, совершенствование языков и технологий разработки имитаторов позволяет надеяться, что отмеченные недостатки будут со временем устраняться. 6.2. Вопросы для самопроверкиКаким образом соотносятся между собой реальное, системное и модельное время? Может ли системное время быть не равно реальному времени? Почему? В каких случаях обосновано применение имитаторов? В чем принципиальные отличия аналитических моделей и имитаторов? В чем схожесть реального и вычислительного с использованием имитатора экспериментов? В чем достоинства и недостатки моделирования системного времени с постоянным и переменным шагами? Назовите отличия технологии создания имитаторов от аналитических моделей. Почему имитаторы можно отнести к разновидности математических моделей? |