Какой же подход лучше использовать?

§ Если проблема хорошо «ложится» на традиционные подходы системной динамики и дискретно-событийного моделирования и допускает соответствующую абстракцию, лучше использовать традиционные подходы

§ Если система содержит активные объекты (люди, компании, животные, машины или проекты, акции, продукты) с временами, событиями или индивидуальным поведение любого другого рода, можно выбрать от использования агентного моделирования

§ Также нужно помнить о возможности совмещения подходов

Ø Могут быть модели системной динамики внутри дискретно взаимодействующих агентов

Ø Агенты могут взаимодействовать в среде, которая описана в терминах системной динамики

Ø Агенты могут взаимодействовать с другими агентами в рамках дискретно-событийной модели

Достоинства и недостатки агентного моделирования в AnyLogic:

§ Недостаток: Создание агентной модели – это не «несколько щелчков мыши». В любом случае придется писать какие0-то строчки кода.

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

Агент – активный объект AnyLogic. Ему можно добавлять ориентацию в пространстве, мобильность, социальные свойства, обучаемость, активность и реактивность и т.д.

Поведение агента может быть описано по-разному:

  • С помощьюфункций Java

strategy () {

if( enemy in range ) {

if(friends > enemies )

attack();

else

retreat();

}

}

  • С помощью карты состояний

Какой же подход лучше использовать? - student2.ru

  • С помощьютаймера

Cyclic: yes

Timeout: exponential( MoveRate )

Action: move();

  • С помощьюдиаграммы системной динамики

Какой же подход лучше использовать? - student2.ru

§ С помощью любой комбинации этих элементов

Архитектура агентных моделей:

  • Объект Environment обычно – корневой объект модели, инкапсулирующей агентов

Environment
Какой же подход лучше использовать? - student2.ru

  • Агенты могут быть разного типа

Какой же подход лучше использовать? - student2.ru

  • Агенты могут инкапсулировать других агентов

Company
Какой же подход лучше использовать? - student2.ru

Среда играет важную роль в агентных моделях:

  • «Нулевая» среда – среда никак не влияет на агентов, но может, например, собирать агрегатную статистику
  • Пассивная среда – агенты меняют и читают переменные среды (обратная связь через среду), но у среды нет собственной динамики

§ Активная среда – у среды есть собственная динамика и, таким образом, она является активным игроков в агентной модели, динамика среды может задаваться уравнениями, картой состояний, потоковой диаграммой и т.д.

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

Агенты взаимодействуют также в пространстве. Существует 3 типа пространств:

§ Непрерывное – используется, если нужно проверять столкновения, или есть другие причины учитывать точное физическое положение

§ Дискретное упорядоченное пространство – используется, если нужно различать «близко» и «далеко», но точное расстояние не так важно

§ Дискретное неупорядоченное – используется, если важно знать «в том же» или «в другом» месте, а где именно – неважно

Агент может иметь свою анимациюили использовать репликацию фигур.

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

§ Те же агенты, уменьшенная среда

§ Та же среда, укрупненные агенты

Наши рекомендации