Билет № 17

1. Программные средства моделирования систем. Требования, предъявляемые к программным средствам моделирования. (Моделирование)

Развитие имитационного моделирования началось в 50-х годах. Сначала имитационные модели разрабатывали на языках типа FORTRAN. В 60-х годах появились и стали развиваться специализированные языки имитационного моделирования GPSS, SIMSCRIPT, GASP, SIMULA SLAM. Их применение позволило упростить процесс имитации систем. В 80-х годах стали разрабатывать имитационные системы (среды), содержащие интерфейс непрограммирующего пользователя, входные и выходные анализаторы, возможность анимации процесса имитационного моделирования. В наше время на рынке ПО для имитации предлагается более 50 мощных продуктов имитационного моделирования, таких как Arena, AutoMod, Ехtеnd, GPSSWorld и др.

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

В литературе по моделированию встречаются такие названия как: пакеты, софт, имитационные системы, имитационные среды, языки имитационного моделирования, проблемно-ориентированные имитаторы, процедурно и объектно-ориентированные языки моделирования, проблемно-ориентированные информационно-вычислительные системы, системы автоматизированного моделирования, генераторы программ, модельно-ориентированные имитационные пакеты, пакеты имитационного моделирования для ПВЭМ и т.д.

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

Преследуя эту цель, предлагаю разделить все программное обеспечение для моделирования на 3 группы: Универсальные языки; Специализированные языки; Имитационные среды.

1. Универсальные языки (С, Delphi)

Динамику системы описывают в виде последовательности уравнений с детерминированными -X и случайными ~X коэффициентами. Уравнения кодируют в терминах используемого языка и вводят программу в компьютер. Время моделирования разбивают на одинаковые шаги Dt. На каждом шаге Dt изменяют значения случайных коэффициентов, для которых по уравнениям рассчитывают изменения выходной величины ~Y(Dt). Каждый эксперимент представляет собой расчет уравнений с шагом Dt. В результате устанавливают связь выходных величин с входными величинами.

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

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

Для имитационного моделирования универсальные языки применяют редко.

2. Специализированные языки (GPSS, SIMAN, SLAM, SIMSCRIPT, SIMULA, GASP).

 

Специализированные языки имитационного моделирования, представляют собой программное обеспечение, ориентированное на имитацию процессов. Они представляют собой языки высокого уровня, в которых стандартные операции имитационного моделирования, такие как “создать объект”, “двигать”, “передать по условию”, “ожидать в течение”, "генерировать случайные числа" и т.д., представляют собой блоки в виде последовательностей команд на одном из универсальных языков. Поведение системы отображается последовательностью событий. Событием является начало или окончание какой либо операции. Процесс отображается не системой уравнений, а взаимодействием элементов модели Е1,...,Еn во времени и пространстве.

Спец языки написаны на универсальных языках. Динамика системы отображается взаимодействием элементов модели Е1,...,Еn во времени и пространстве.

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

Специализированные языки имитационного моделирования компактны и имеют широкий круг приложений, однако требуют специальной подготовки пользователя, который должен написать программу в терминах языка для конкретного объекта моделирования. Поэтому созданы языки компьютерной анимации, позволяющие отображать процесс имитационного моделирования на мониторе. Например, программное обеспечение Proof Animation отображает на экране компьютера взаимодействие объектов системы по результатам моделирования. Оно может соединяться с различными специализированными языками имитации GPSS, SIMAN, SIMSCRIPT, SLAM.

3. Имитационные среды (Arena, AutoMod, AlphaSim, Anylogic, Deneb, Extend, GPSS World, MicroSaint, MAST и др.).

Моделирование в имитационных средах

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

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

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

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

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

Для определенности рассмотрим «плюсы» и «минусы» универсальных, специализированных языков моделирования и имитационных сред.

Преимущества и недостатки программных средств моделирования систем

Выделим основные требования, которые предъявляются к программным средствам имитационного моделирования и отметим, выполняются или не выполняются эти требования и в какой степени.

0 - требование не выполнено; 1 - требование выполнено; 2 - требование продвинуто.

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

 

2. Разработать программный модуль для нахождения значений функции

для всех с шагом 0,5, тремя способами используя разные типы циклов: со счётчиком, с предусловием, с постусловием.

#include <iostream>

using namespace std; // использование пространства имен std (необходимо для cout)

float y(float x); //прототип функции

int main()

{

cout << "Цикл со счетчиком (for): " << endl;

for (float x = -10; x <= 20; x = x + 0.5)

cout << "x = " << x << " y = " << y(x) << endl;

cout << "*****************" << endl;

cout << "Цикл с предусловием (while): " << endl;

float x = -10;

while (x <= 20) {

cout << "x = " << x << " y = " << y(x) << endl;

x = x + .5;

}

cout << "*****************" << endl;

x = -10;

cout << "Цикл с постусловием (do-while): " << endl;

do {

cout << "x = " << x << " y = " << y(x) << endl;

x = x + .5;

} while (x <= 20);

cout << "*****************" << endl;

return 0;

}

//---------------------------------------------------------------------------

float y(float x)

{

if (x < -5)

return (3 * x);

if (x >= 0)

return (x*x);

return (1/x);

}

//---------------------------------------------------------------------------

 

3. Байесовские сети доверия как средство разработки ЭС. Основные понятия и определения. (ЭС)

Байесовские сети доверия - Bayesian Belief Network - используются в тех областях, которые характеризуются наследованной неопределённостью. Эта неопределённость может возникать вследствие:

- неполного понимания предметной области;

- неполных знаний;

- когда задача характеризуется случайностью.

Таким образом, байесовские сети доверия (БСД) применяют для моделирования ситуаций, содержащих неопределённость в некотором смысле. Для байесовских сетей доверия иногда используется ещё одно название причинно-следственная сеть, в которых случайные события соединены причинно-следственными связями.

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

Рис.6.1. Пример простейшей байесовской сети доверия.

Рассмотрим пример сети (рис.6.1), в которой вероятность пребывания вершины «e» в различных состояниях (ek) зависит от состояний (ci , dj) вершин «c» и «d» и определяется выражением:

где p(ek | ci, dj) - вероятность пребывания в состоянии ek в зависимости от состояний ci, dj. Так как события, представленные вершинами «c» и «d» независимы, то

p(ek | ci , dj) = p(ci) Ч p(dj).

Рис.6.2. Двухуровневая БСД.

Рассмотрим пример более сложной сети (рис.6.2). Данный рисунок иллюстрирует условную независимость событий. Для оценки вершин «c» и «d» используются те же выражения, что и для вычисления p(ek), тогда:

,

.

Из этих выражений видно, что вершина «e» условно не зависит от вершин A1, A2, B1, B2, так как нет стрелок непосредственно соединяющих эти вершины.

Рассмотрев эти примеры попробуем теперь более точно определить основные понятия, используемые в БСД. Байесовские сети доверия - это направленный ациклический граф, обладающий следующими свойствами:

- каждая вершина представляет собой событие, описываемое случайной величиной, которая может иметь несколько состояний;

- все вершины, связанные с “родительскими” определяются таблицей условных вероятностей (ТУВ) или функцией условных вероятностей (ФУВ);

- для вершин без “родителей” вероятности её состояний являются безусловными ( маргинальными).

Другими словами, в байесовских сетях доверия вершины представляют собой случайные переменные, а дуги - вероятностные зависимости, которые определяются через таблицы условных вероятностей. Таблица условных вероятностей каждой вершины содержит вероятности состояний этой вершины при условии состояний её “родителей”.

 

 

Hosted by uCoz