Тема имитационного моделирования актуальна для исследования систем, так как применение моделирования делает возможным исследование системы в случае, если:
Выделяют три вида моделирования: системная динамика, дискретно-событийное и агентное моделирование. Традиционные виды имитационного моделирования, к которым относят системную динамику и дискретно-событийное моделирование, обладают рядом недостатков, прежде всего сложностью добавления деталей к существующим моделям, их расширению и изменению. Кроме того, обычно необходимо знание глобальных законов поведения всей системы в целом.
Агентное моделирование является относительно новым направлением и позволяет сглаживать подобные недостатки и решать эти задачи с любой степенью точности. Отличие агентного моделирования от других видов состоит в том, что поведение агентной модели в целом строится из совокупности поведения отдельных индивидуумов - агентов. Поэтому агентное моделирование используется для исследования децентрализованных систем, динамика функционирования которых определяется не глобальными правилами и законами (как в других парадигмах моделирования), а наоборот, когда эти глобальные правила и законы являются результатом индивидуальной активности членов группы.
Центральным понятием агентного моделирования является понятие агента. Одно из наиболее популярных определений понятия «агент» дали М. Вулдридж и Н. Дженнингс [2, 3]. Они считают, что агент - это программно или аппаратно реализованная система, обладающая следующими свойствами:
Можно предложить немало различных оснований для построения классификаций агентов [4]. Наиболее очевидными являются критерии классификации, связанные с полярными шкалами «естественное - искусственное» и «материальное - виртуальное». Еще одна пара взаимосвязанных критериев классификации опирается на дихотомии «сосредоточенное - распределенное» и «неподвижное - подвижное».
Но наиболее важным основанием для классификации можно назвать степень интеллектуальности агентов, то есть их модель поведения по отношению к окружающему миру. В одном случае, речь идет о трактовке агентов как объектов, самостоятельно решающих встающие перед ними задачи, а в другом они уподобляются простейшим организмам, непосредственно реагирующим на изменения среды в интересах выживания и адаптации [5].
Интеллектуальные агенты, благодаря богатым внутренним представлениям внешней среды и возможностям рассуждений, могут запоминать и анализировать различные ситуации, предвидеть возможные реакции на свои действия, делать из этого выводы, полезные для дальнейших действий и, в результате, планировать свое поведение. Именно развитые когнитивные и делиберативные способности позволяют таким агентам строить виртуальные миры, работая в которых они формируют планы действий. Тогда как реактивные агенты обладают очень ограниченным диапазоном предвидения и не способны планировать свои будущие действия.
Целью работы является разработка системы имитационного моделирования, сочетающей в себе наилучшие качества уже существующих систем агентно-ориентированного имитационного моделирования. Должны быть учтены такие требования к системе как кросс-платформенность и интеллектуальность агентов.
Перед разработкой системы были исследованы наиболее популярные системы агентного моделирования:
Из обзора можно сделать вывод, что системы моделирования склоняются к простоте разработки модели, чтобы разрабатывать модели могли не только пользователи с квалификацией программиста, но и обычные конечные пользователи, т.е. есть такие среды моделирования, которые обладают визуальными средствами конструирования и редактирования моделей. Среди исследованных систем к системам такого рода можно отнести NetLogo и Ascape.
Предлагается реализация, которая могла бы учесть основные преимущества рассмотренных систем, такие как:
Далее будет рассмотрен предложенный подход к реализации системы.
Реализуемая система будет представлена на платформе Java, благодаря чему будет достигнута кросс-платформенность системы, так как исполнение Java-кода возможно на таких операционных системах, как Windows, Linux, Mac OS. Язык Java является объектно-ориентированным, что идеально подходит для агентной системы, где каждый агент может быть представлен в виде объекта.
Разработка будет вестись в соответствии со стандартами Java EE (Java Platform Enterprise Edition). Стандарт Java EE включает в себя несколько спецификаций API, таких как JDBC, RMI, web-services, XML и так далее, и определяет, как оперировать с ними. Это позволяет создавать мобильные и расширяемые приложения, и интегрировать их с существующими технологиями. Использование стандартов позволит сконцентрироваться на бизнес-логике системы, а не на ее инфраструктуре и задачах интеграции.
Интерфейс пользователя будет адаптируемым. Это означает, что пользователю системы будут предоставлены следующие возможности по изменению интерфейса:
Предполагается, что пользователю будет предоставлена возможность по остановке процесса моделирования и изменения модели. Например, возможно добавление новых агентов или изменение характеристик уже существующих.
Также будет возможна сериализация и десериализация модели во время ее выполнения. Данные возможности делают систему более дружелюбной к пользователю и повышает управляемость системы, позволяя приостанавливать процесс моделирования, менять модель, и продолжить моделирование в любое удобное время, возможно даже на другой аппаратно-программной платформе
Возможность настройки на предметную область решаемой задачи достигается за счет представления предметной области онтологией. Онтологии будут представлены в утверждённом W3C консорциумом языке описания онтологий OWL, который на данный момент является наиболее распространенным языком описания онтологий. Данное свойство позволит просматривать и редактировать онтологии предметных областей в сторонних редакторах онтологий.
Разрабатываемая система моделирования будет обладать визуальными средствами конструирования и редактирования моделей с поддержкой языков DSL (Domain Specific Language), что позволит пользователю работать в рамках свойственной моделируемой предметной области терминологии.
Интеллектуальность агентов будет заключаться в наличии механизма логического вывода. Данный механизм основан на нейронных сетях, что позволит анализировать состояние среды и на основе этого принимать решений.