Процедура разработки агентной модели
Разработка агентной модели основывается на наблюдениях за поведением реальных объектов. Агентное моделирование применяется, как правило, для имитации динамики дискретной системы с большим количеством объектов (сотни агентов и более). При этом требуется программирование поведения агентов на индивидуальном уровне. В связи со сложностью идентификации особенностей всех агентов на индивидуальном… Читать ещё >
Процедура разработки агентной модели (реферат, курсовая, диплом, контрольная)
Разработка агентной модели основывается на наблюдениях за поведением реальных объектов. Агентное моделирование применяется, как правило, для имитации динамики дискретной системы с большим количеством объектов (сотни агентов и более). При этом требуется программирование поведения агентов на индивидуальном уровне. В связи со сложностью идентификации особенностей всех агентов на индивидуальном уровне применяется подход, основанный на дифференциации агентов на группы с различным поведением и усреднении характеристик агентов на уровне каждой группы. Примером такой дифференциации является разбиение экономики на отрасли, в которых функционируют агенты-предприятия. Для упрощения модели поведение агентов-предприятий, относящихся к одной отрасли, считается одинаковым. В случае неоднородного поведения агентов внутри группы соответствующая группа разбивается на подгруппы (отрасль дифференцируется на суботрасли) и т. д., до тех пор пока не будет достигнута достаточная степень однородности в поведении агентов — участников группы.
При этом для дифференциации агентов можно применять различные методы, например кластерный анализ.
Напомним, что кластерный анализ (англ, cluster analysis) — многомерная статистическая процедура, выполняющая сбор данных, содержащих информацию о выборке объектов, и затем упорядочивающая объекты в сравнительно однородные группы. Задача кластеризации относится к статистической обработке, а также к широкому классу задач обучения без учителя.
Также можно использовать экспертные знания о моделируемом объекте. В случае национальной экономики имеется четкая отраслевая разбивка, сохраняющаяся в структуре данных Росстата РФ (например, электроэнергетика, нефтедобывающая промышленность, нефтеперерабатывающая промышленность, металлургическая промышленность и т. д.). Тем не менее, например, в нефтедобывающей промышленности существует несколько типов компаний: добывающие, геологоразведочные, нефтесервисные и др. Соответственно, у них различные стратегии, и моделировать их поведение по единой схеме невозможно. Вместе с тем стратегия поведения и крупных, и мелких добывающих (геологоразведочных, нефтесервисных и др.) компаний является схожей. Следовательно, на уровне национальной экономики можно рассматривать в качестве автономных агентов однотипные компании, принадлежащие одной отрасли.
Тем не менее при моделировании динамики локальных рынков необходимо учитывать, что агенты-компании, принадлежащие одной отрасли, могут иметь различную стратегию. Например, некоторые ориентированы на продуктовую и географическую диверсификацию, другие — на присутствие в узком, но высокодоходном сегменте рынка, третьи борются за государственные заказы и т. д. Подобные особенности необходимо учитывать при проектировании агентной модели.
Итак, по результатам статистического и экспертного анализа определяется структура агентной модели, возможные состояния агентов и правила переходов между ними.
Технически процедура построения агентной модели основана на использовании методов объектно-ориентированного программирования.
В частности, в системе AnyLogic, поддерживающей методы агентного моделирования, для проектирования агентной модели следует добавить в модель класс активного объекта (рис. 2.4).
Далее для выбранного класса необходимо установить свойство «Агент» на вкладке основных свойств класса. В результате будет обеспечен доступ к функциональности AnyLogic, специально разработанной для агентного моделирования (например, функции отправки и приема сообщений между агентами).
Для того чтобы промоделировать популяцию агентов, потребуется добавить в объект верхнего уровня (например, в класс Main) реплицированный объект. Механизм репликации объектов позволяет создавать любое необходимое количество агентов и обеспечивает возможность их динамического добавления и удаления. Следует отметить, что реплицированные агенты могут функционировать в распараллеленных процессах.
Рис. 2.4. Добавление класса активного объекта к модели в системе AnyLogic.
Для создания реплицированного объекта-агента в AnyLogic достаточно включить класс активного объекта со свойством «Агент» в объект верхнего уровня и затем в свойствах следует задать начальное количество реплицированных объектов. В дальнейшем количеством агентов можно управлять динамически.