Опубликован: 16.11.2010 | Уровень: специалист | Доступ: платный
Лекция 4:

Статистическое моделирование

3.13. Модель противоборства как процесс блуждания по решетке

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

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

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

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

Противоборствуют две стороны: A и B.

Первоначальные численности сторон: A и B .

Текущие численности сторон: a и b ; a = \overline{0, A}, b = \overline{0, B}.

Время "жизни" каждого средства случайно, имеет экспоненциальное распределение с параметрами \lambda_{a} и \mu_{b} сторон A и B.

Обе стороны образуют единую систему S_{ab} . В ходе боя численности сторон изменяются (уменьшаются) или остаются неизменными. Мы это трактуем как переход системы из одного состояния в другое: S_{a,b} \to S_{a-1,b} или S_{a,b} \to S_{a,b-1} и т. д.

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

Граф состояний приведен на рис. 3.26.

Граф состояний моделируемой системы противоборства Исходное состояние системы S_{a,b} .

увеличить изображение
Рис. 3.26. Граф состояний моделируемой системы противоборства Исходное состояние системы S_{a,b} .

Стороны ведут взаимоуничтожающий огонь. В предположении ординарности потока событий, переводящего систему из одного состояния в другое, система из состояния S_{a,b} может перейти только лишь в состояние S_{a-1,b} или S_{a,b-1} (или остаться в прежнем состоянии S_{a,b} ). Очевидно, направления переходов в графе - решетке только вправо или вниз.

Процесс противоборства заканчивается при полном уничтожении средств одной из сторон, т. е. при переходе в состояние S_{0,b} или S_{a,0}, а также по окончании временного интервала исследования T . Так заканчивается одна, k -я реализация процесса противоборства. Зафиксировав остатки средств сторон a_{k} и b_{k} и усреднив их за N реализаций, найдем решение поставленной задачи - определение оценок численностей сторон на момент окончания операции.

Продвижение времени в модели - фиксированными шагами \Delta t. Величина \Delta t такова, чтобы на этом временном участке происходило не более одного события.

Суммарные интенсивности огня сторон A и B зависят от численностей их боеспособных средств и равны a\lambda_{a} и.

Следовательно, вероятности уничтожения одного из средств (перехода системы в очередное состояние) равны:

P(S_{a,b}\to S_{a,b-1}) \cong a\lambda_a\Delta t = P_a, \\
P(S_{a,b}\to S_{a-1,b}) \cong b\mu_b\Delta t = P_b

Эти приближенные равенства тем точнее, чем меньше \Delta t.

Блок схема алгоритма ИМ противоборства двух сторон, построенная способом "блуждания частицы по решетке" представлена на рис. 3.27.

Блоки 1 и 2 - установка начальных условий на весь процесс моделирования и на каждую очередную реализацию.

Блок 3 - расчет вероятностей P_{a} и P_{b}.

Блоки 4…10 - определение исхода противоборства на очередном временном отрезке \Delta t. Если x_{i} \le P_{a}, то свершилось событие S_{a,b-1}, иначе - проверка условия x_{i} \le P_{b}? Если это условие выполняется, то свершилось событие S_{a-1,b}, если не выполняется, то пораженных средств не оказалось. Вероятность этого события S_{a,b}\to S_{a,b} равна 1-P_{a}-P_{b}.

Блоки 11… 16 аналогичны соответствующим блокам предыдущей имитационной модели противоборства двух сторон (см. рис. 3.22).

Сравним обе рассмотренные модели противоборства двух сторон.

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

Однако, первую модель несложно развить, например, учесть неоднородность средств в каждой группировке, указав соответствующие значения P_{ab} и P_{ba} .

Последняя модель таких возможностей не имеет.

Блок-схема модели "блуждание частицы по решетке"

увеличить изображение
Рис. 3.27. Блок-схема модели "блуждание частицы по решетке"

3.14. Типовая схема имитационной модели с продвижением времени по событиям

Уточним понятие события.

Под событием будем понимать смену состояния системы.

Виды событий:

  • выход из строя технических средств;
  • восстановление работоспособности техники;
  • поступление сообщения на узел связи;
  • начало передачи сообщения;
  • конец передачи сообщения;
  • уничтожение цели и т. п.

Вид события связан с типом элемента, сменяющего свои состояния. Смена состояний системой есть объединение смен состояний ее элементов.

Будем считать, что событие совершается в конкретный момент времени мгновенно.

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

Каждому событию соответствует пространственно-временная точка t ^{j,k}, где t - момент свершения события; k - тип элемента системы, сменившего состояние; j - вид или номер события этого элемента.

Различают события активные и пассивные.

Активное событие - это смена состояния элемента под воздействием присущих ему внутренних причин.

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

Пассивное событие - событие, возникшее под воздействием активного события.

Например:

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

В одном и том же элементе системы могут происходить активные и пассивные события. Например:

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

Обычно элемент, в котором происходит активное событие, называют активным, пассивное событие - пассивным.

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

Множество точек t^{j,k} представляет собой поведение системы во времени. Множество точек t^{j,k} активных событий называется списком событий.

Список событий может быть сформирован либо перед началом моделирования, либо формироваться в ходе моделирования. На рис. 3.20 список событий представлен диаграммой ж.

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

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

Модуль установки начальных условий.

Модуль устанавливает значения разного рода констант, например, заданное число N реализаций модели, критерий завершения интервала моделирования T и др., а также элементы списка событий t^{j,k} - все или только начальные для каждого вида события.

Если в предыдущем способе продвижения модельного времени на фиксированные промежутки \Delta t модуль состоял из трех блоков установки начальных условий, то здесь достаточно двух: установка начальных условий на весь процесс моделирования ( НУ(М) ) и установка начальных условий на каждую реализацию ( НУ(n) ).

Модуль продвижения модельного времени. Его функции: выбор в списке событий момента времени свершения очередного,

ближайшего события \min t^{j,k}, и фиксация очередного момента модельного времени:

t = t_{0} + \min t^{j,k}.

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

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

  • фиксация текущих значений параметров, интересующих исследователя, так называемых числовых атрибутов, и, возможно, их текущая статистическая обработка;
  • подсчет числа свершившихся событий данного вида;
  • прогноз времени свершения t^{j,k}, очередного события данного вида и занесение этого времени в список событий (если список событий формируется в ходе моделирования). Прогноз осуществляется с помощью соответствующего датчика случайных чисел, адекватно имитирующего временные интервалы между событиями.

Модуль обеспечения заданной точности и достоверности ведет подсчет числа реализаций модели n = n +1. При достижении n\succ N моделирование заканчивается.

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

Взаимодействие модулей показано на рис. 3.28.

Переход на соответствующий модуль реакции A, B и т. д. происходит по значению индекса k текущего значения t^{j,k}.

Блок-схема модели с продвижением времени по событиям

увеличить изображение
Рис. 3.28. Блок-схема модели с продвижением времени по событиям

Безусловный выход из любого модуля реакции - в блок выбора очередного значения \min t^{j,k} модуля продвижения времени.

В общий цикл предлагаемой структуры моделирующего алгоритма удобно вписывается определение конца интервала исследования T и момента конца моделирования ( n = N ) . Для этого вся система интерпретируется как один обобщенный активный элемент, имеющий два состояния: включен и выключен.

В списке событий этому обобщенному элементу соответствует одна пространственно-временная точка t^{j,k}= t_{0} +T . Здесь t_{0} - начальная точка отсчета интервала исследования, обычно t_{0} =0. Когда в процессе работы моделирующего алгоритма окажется, что \min t^{j,k}=t_{0}+T , управление будет передано специальному модулю реакции \Theta, который зафиксирует конец текущей реализации (n = n + 1).

Этот модуль также в случае n\prec N передаст управление блоку ( НУ(N) ) на выполнение очередной реализации, а в случае выполнения n = N - модулю формирования результатов.

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

В случае перехода такого элемента в пассивное состояние надо

исключить возможность выбора его блоком "Выбор \min t^{j,k} ". Для этого в список событий записывается время t^{j,k} \succ T его переключения на свой модуль реакции. В этом случае модуль продвижения времени никогда не найдет этой временной точки, так как интервал исследования будет заканчиваться раньше.

Но когда этот элемент вновь станет активным, время его активного события t^{j,k}, должно быть занесено в список событий.

Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!

Лариса Парфенова
Лариса Парфенова

1) Можно ли экстерном получить второе высшее образование "Программная инженерия" ?

2) Трудоустраиваете ли Вы выпускников?

3) Можно ли с Вашим дипломом поступить в аспирантуру?

 

алексей оглы
алексей оглы
Россия
рафич Салахиев
рафич Салахиев
Россия