ОСНОВЫ ПРОЕКТИРОВАНИЯ СИСТЕМЫ АГЕНТНОГО МОДЕЛИРОВАНИЯ - Студенческий научный форум

IV Международная студенческая научная конференция Студенческий научный форум - 2012

ОСНОВЫ ПРОЕКТИРОВАНИЯ СИСТЕМЫ АГЕНТНОГО МОДЕЛИРОВАНИЯ

 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Введение

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

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

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

Для исследования агентного подхода потребуется:

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

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

Вопросы построения агентной системы моделирования

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

Какие задачи могут возникнуть при построении подобной системы? Перечислим основные из них:

  • Среда моделирования. Следует определить математическую модель среды моделирования, в которой сосуществуют агенты. За основу можно взять, например, списковые структуры, графы, деревья, клеточные автоматы и т.д.
  • Методы решения экстремальных задач. Например, в случае графовых моделей агентам потребуется поиск кротчайших путей (циклов, парасочетаний, остовных деревьев и т.п.).
  • Способ задания агента. Агент должен обладать памятью, интенциональными характеристиками, механизмами коммуникации, интерфейсами для сбора статистики и т.д.
  • Способ взаимодействия с окружающей средой. Агент должен знать структуру среды, либо уметь её воспринимать с помощью датчиков/сенсоров.
  • Способ взаимодействия друг с другом. Необходимо разработать некоторый протокол коммуникации.
  • Способ задания поведения агента. Каждый агент выполняет свои действия самостоятельно. Это отличает агентный подход к моделированию от всех остальных.
  • Способ изменения поведения агента. Поведение может измениться, например, в ходе коммуникации с другими агентами или в результате пополнения знаний.
  • Механизм принятия решений. Агент ‑ автономная сущность, это значит, что в случае неопределённости он должен уметь принимать конкретные решения согласно поставленных перед собою целей и задач.
  • Механизм вывода в условиях неопределённости. В некоторых задачах может возникнуть целый класс проблем, связанный с тем, что стандартный механизм принятия решений не может изменить состояние агента. Агент, по возможности, должен уметь действовать в любых обстоятельствах. В связи с этим требуется реализация вывода на ненадёжных знаниях.
  • Механизм пополнения знаний. Для адекватного представления модели важно умение агента пополнять свою базу знаний, в т.ч. во время имитационного прогона.
  • Использование метазнаний. Метазнания играют очень важную роль в представлении поведения агента: от управления стратегией вывода до поиска и разрешения противоречий, существующих в текущей базе знаний.
  • Средства адаптации. Агент должен уметь изменять свою внутреннюю структуру, поведение и семантику при различных воздействиях среды моделирования.
  • Механизм продвижения времени. Требуется определить, как продвигать время в среде моделирования.
  • Условия моделирования. На полученную математическую модель пользователем «накладываются» условия моделирования - например, информационные процедуры, ‑ которые задают конкретный имитационный процесс.
  • Механизмы сбора статистики. Исследователь должен задать интересующие его параметры моделирования, а специальные программный модули (возможно также агенты) должны уметь собрать эти данные.
  • Методы отладки моделирования. Отладка поможет исследователю детально изучить конкретный имитационный прогон. Желательно, чтобы система умела воссоздать и повторить завершившийся ранее прогон.
  • Способ задания модели. Это может быть некоторый язык моделирования (графический, текстовый и т.п.), с помощью которого пользователем описывается модель.
  • Методы распараллеливания имитационного процесса. В случае распределённой системы возникнут проблемы отправки/приёма сообщений, совместного доступа к данным, синхронизации времени и т.д.
  • Определение общей архитектуры приложения. Здесь следует определить интерфейсы, модули, подпрограммы, компоненты, структуры данных, протоколы, объекты, ресурсы, потоки управления и т.д.

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

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

Возможные подходы к разрешению вопросов, связанных
с созданием системы агентного моделирования

Ниже представлена краткая характеристика возможных решений, методов и технологий для реализации системы агентного моделирования. Рассмотрим, какие подходы уже используются, а какие вопросы остаются нерешёнными.

Обзор методов, применимых при создании системы

Нейросетевые технологии. Нейронные сети уже давно используются в моделировании - на их основе базируются множество систем (одна из систем представлена в [2]). В этом подходе явно прослеживается проблема адаптации - для ИНС требуется достаточно большая (и желательно репрезентативная) выборка для обучения и тестирования. В ходе имитационного прогона агент может получить новые данные и на этапе выполнения переобучать сеть.

Методы оптимизации. Некоторые авторы [3, 5] предлагают на базе математической модели построить различные функции (функционалы) и найти условный экстремум. Если мы имеем дело со сложной многокритериальной экстремальной задачей, то стоит задуматься о привлечении методов эвристического поиска (например, на базе генетических алгоритмов). В этом случае также возникает задача адаптации - подбор параметров и анализ пространства решений для ускорения поиска.

МАС. Теорию мультиагентных систем стоит изучить более детально, т.к. она оперирует общими с агентным моделированием понятиями. Стоит обратить внимание на различные способы представления и коммуникации агентов (в т.ч. Blackboard-архитектуры). Подробнее о МАС см. в [5].

Методы теории игр и исследования операций. В качестве механизмов принятия решений можно применять подходы, основанные на матричных играх, теории полезности и сетевого планирования. Во многих работах [1, 3, 4] упоминаются подобные методы. Если задача (подзадача) формулируется чётко, то они, безусловно, будут иметь преимущество перед эвристиками. В одной работе предлагалось сначала математическими методами найти точное решение, а затем его уточнить с помощью МАС.

Нечёткая логика. Несколько авторов [5, 6] предложили идеи использования нечёткой логики. Поскольку агент должен уметь принимать решения недетерминированного характера в условиях неопределённости, многозначности, неполноты и немонотонности, то он должен, во-первых, обладать памятью для хранения фактов, а во-вторых, уметь строить рассуждения на их основе. Поскольку факты как по своей природе, так и в силу коммуникации с другими агентами могут быть разнородны и противоречивы, то требуется реализовать вывод в нечёткой логике.

Вывод на базе знаний. Агент может иметь встроенные СБЗ, в т.ч. экспертные системы. Например, один из авторов [7] предложил использовать продукционную базу знаний с метаправилами до 3‑го уровня включительно. Раз агент в течение продолжительного времени сосуществует с другими агентами в определённой среде, то он может накапливать новые факты. А это вновь потребует реализации некоторых механизмов адаптации - сбора статистики, добавления в ходе прогона новых правил, изменения правил с помощью метаправил, разрешения противоречий в базе знаний и т.д.

Методы децентрализованного принятия решений. Данный аспект прослеживается практически во всех существующих работах (например, в [2, 5]), и этого следовало ожидать: агентный подход объясняет процессы в системе через независимое децентрализованное поведение агентов. Более того, принятие решений может быть распределено внутри агента. В этом случае агент действует на базе нескольких источников принятия решений. Тут вновь возникает задача адаптации - если один источник часто даёт неправильные решения, то агент должен полагаться на другие источники.

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

Теория графов. Очень много работ [1, 2, 5, 7] опираются на графовое представление модели. Теория графов достаточно хорошо изучена, имеет методы решения многих графовых и комбинаторных задач, как точные, так и эвристические. Поэтому следует учесть опыт исследователей и попробовать применить данную теорию.

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

Методы теории вероятностей и математической статистики. Несколько авторов [2, 4, 5] предложили этот подход, однако они утверждают, что его следует использовать с осторожностью. Дело в том, что агентное моделирование представляет взгляд на систему «снизу‑вверх», в то время как теория вероятностей больше подходит для типа «сверху‑вниз», когда известны глобальные законы распределения, статистические оценки, априорные/апостериорные вероятности тех или иных процессов и т.д. Однако статистика располагает некоторыми полезными приёмами: анализ выборки, построение статистических гипотез, выявление корреляции между факторами, доверительное оценивание, регрессионный анализ и т.д.

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

Комбинирование различных форм моделирования. Некоторые авторы [2, 5, 6] предлагают применение синергетической интеграции различных методов, приёмов, алгоритмов и технологий для получения более правдоподобного результата в моделировании сложных экономических процессов. Разумеется, агентное моделирование должно идти по пути интеграции, т.к. каждая методика обладает своими преимуществами и недостатками. Тут вновь возникает достаточно нетривиальная задача адаптации. Например, агент может с помощью логического вывода или вывода на семсетях принимать одни решения, но затем, приспособившись к среде и пообщавшись с другими агентами, изменить ход вывода и принять другие решения.

Анализ перечисленных методов

Итак, на примере предложенных методов мы убедились, насколько нетривиальна задача агентного моделирования. Нет чётко определённого подхода ни в способах проектирования, ни в выборе методов и алгоритмов, ни в способах представления агента, ни в выборе математической модели, ни в применении средств искусственного интеллекта.

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

Большинство работ пропагандируют интегрирование различных форм решений проблем агентного моделирования. Действительно, агентный подход явно подразумевает, что моделирование процессов системы суммируется из составных её элементов. Это порождает массу подзадач, для большинства из которых уже существуют решения. Казалось бы, осталось лишь объединить эти решения в одну общую архитектуру. Однако вопрос, каким образом это следует делать, до сих пор остаётся открытым. Более того, решения также могут отличаться:

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

Таблица 1. Степень применимости существующих решений к задаче
агентного моделирования

Имеются решения, в той или иной мере допустимые для агентного моделирования

Имеются решения, но их использование и сопровождение может представить затруднения

Решения, возможно, и существуют, но они могут быть неадекватны, неполны, неэффективны, либо работать лишь в частных случаях

Методы решения экстремальных задач

Среда моделирования

Способ задания агента

Механизм продвижения времени

Способ взаимодействия с окружающей средой

Способ задания поведения агента

Условия моделирования

Способ взаимодействия агентов

Способ изменения поведения агента

Механизмы сбора статистики

Механизм принятия решений

Механизм вывода в условиях неопределённости

Методы отладки моделирования

Способ задания модели (язык)

Механизм пополнения знаний

 

Методы распараллеливания имитационного процесса

Использование метазнаний

 

 

Средства адаптации

 

 

Определение общей архитектуры приложения

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

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

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

Способ построения системы моделирования удовлетворяющей требованиям открытых систем

Рассмотрим один из возможных подходов к проектированию системы агентного моделирования с учётом стандартов и технологий открытых систем [8].

Начнём с того, что для реализации агентных систем рекомендуется объектно-ориентированный подход. Фактически от обычных объектов агентов отличает их автономность, независимость и целеполагание. Раз агент - это объект, наделённый набором специфичных характеристик, то ООП будет идеальным инструментом к проектированию.

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

Требования к системе агентного моделирования

Перечислим основные требования к системе с точки зрения стандартов и технологий открытых систем:

  • Расширяемость. Система должна иметь сложную модульную структуру. Поскольку даже выбор представления агента является эвристическим, следует обеспечить возможность добавления, изменения и расширения свойств и поведения агентов за счёт подключения дополнительных компонентов.
  • Переносимость. Желательно построить гибкую, устойчивую и, главное, независимую от технологии и конкретной реализации архитектуру. Это способствует не просто лёгкости перенесения системы на другую платформу, но и её сопровождению уже на разных платформах.
  • Интероперабельность. Система должна иметь поддержку интеграции с другими программными компонентами. Это связано, прежде всего, с тем, что природа самого процесса моделирования неоднородна: и среда моделирования, и агенты, и алгоритмы их поведения/коммуникации, и механизмы планирования событий заранее не определены. Более того, они могут постоянно расширяться, изменяться, совершенствоваться или просто подменяться исследователем.
  • Простота использования. Управление системой должно быть естественным образом разделено между различными категориями пользователей. Например, конечные пользователи не должны прописывать состояние предметной области на языке онтологий, равно как эксперты не должны задавать ограничения на языке исчисления предикатов (или инженер по знаниям не должен программировать внешние модули агентов).
  • Возможность распараллеливания и управления с помощью удалённого доступа. Для эффективного моделирования желательна поддержка распределённых вычислений в гетерогенной среде. Для этого требуется открытая спецификация всех протоколов и внешних интерфейсов для организации взаимодействия компонентов.
  • Возможность динамического связывания программных модулей. В этом случае исследователь получает возможность добавления/изменения компонентов без остановки имитационного прогона, что делает систему удобной и устойчивой к изменениям.

Структура системы моделирования

Рассмотрим обобщённую схему системы моделирования (рис. 1).

Система управления

Ход имитационного процесса контролирует «Система управления». Она должна состоять из нескольких уровней, различающихся по степени абстрактности в управлении данными и процедурами (рис. 2):

  • Нулевой уровень - это часть архитектуры, зависимая от аппаратуры и программного обеспечения. Представляет собой конкретную реализацию функций ядра (см.ниже).
  • Ядро. Содержит основные функции по управлению и координированию составных частей системы. Функции должны оперировать абстрактными понятиями на уровне интерфейсов, т.е. не должны зависеть от конкретной реализации.
  • Системные компоненты. Содержат методы, алгоритмы, схемы и структуры данных по управлению ходом имитационного процесса с помощью функций ядра.
  • API системы. Представляет собой прослойку для доступа внешних компонентов к системным компонентам и/или функциям ядра. Фактически, это - имена процедур, по которым внешние модули могут принять участие в управлении имитационным процессом.
  • Компонента графического интерфейса. Здесь могут использоваться как аппаратно-зависимые интерфейсы (GDI+, X11, Quartz2D), так и специализированные открытые библиотеки (OpenGL). В общем случае, эту часть будем полагать зависимой от платформы.
  • Уровень удалённого доступа. Представляет собой дополнительный прокси‑уровень, отвечающий за поддержку RPC в системах распределённого моделирования. Это позволит остальным компонентам системы единообразно обращаться к методам локальных и удалённых объектов. Уровень предоставляет общие интерфейсы по маршализации и пересылке вызовов объектов, однако конкретная реализация будет зависеть от платформы (XMLRPC, RMI, .NETRemoting).

 

Подобная 6-уровневая архитектура отделяет интерфейсы от реализации, что сделает систему управления более гибкой и прозрачной. Нетрудно заметить, что этот подход явно ложится в рамки концепции архитектур MDA (Model Driven Architecture).

Агенты и модули агентов

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

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

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

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

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

Модули сбора статистики

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

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

Онтологии

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

Онтологии, при необходимости, можно описывать в утверждённых W3C‑консорциумом языках описания онтологий, таких как OWL и RDF. В частности, среди открытых кроссплатформенных редакторов онтологий хорошо зарекомендовал себя Protégé-OWL.

Также стоит обратить внимание на язык разметки агентов DAML (Dapra Agent Markup Language). Если онтологии не будут слишком громоздки, то для упрощения использования их можно описать в текстовом виде, например, с помощью JSON‑подобных структур (см. далее).

Среда моделирования

В среде находятся активные агенты, которые управляются самостоятельно, и пассивные объекты, контролируемые системой управления. Среда (через системные компоненты) должна предоставлять обширный набор функций для изменения своего состояния. Это даст агентам возможность динамически изменять, порождать и уничтожать объекты среды.

Среда разработана в двух формах:

  • Графовая модель, определяющая топологию взаимодействия агентов
  • Пространственная модель - представляет собой пространственную двумерную сетку

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

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

Представление данных

В качестве формата данных можно использовать подход на JSON‑подобных структурах (как наиболее простой, понятный и лаконичный способ представления данных). Данный способ, как и XML, будет работать в гетерогенных средах. Из соображений мультиязычности предлагается использовать одну из юникод‑кодировок, например UTF-8.

Если не удастся ограничиться хранением данных в виде JSON или XML, то можно прибегнуть к помощи баз данных. Рекомендуется рассмотреть такие открытые кроссплатформенные СУБД как:

  • MySQL для работы с реляционными базами данных;
  • MongoDB, CouchDB, Redis для управления данными в рамках концепции NoSQL.

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

Более того, в процессе работы неизбежно возникнут вопросы, связанные с внешними файлами: работа с текстами, генерация отчётов, импорт данных из электронных таблиц, загрузка растровых/векторных изображений и 3D-моделей, сохранение снимков и т.д. В этом случае имеет смысл использовать открытые форматы файлов (odf, txt, png, htm, 7z, ogg и ряд других) и открытые протоколы (SOAP).

Заключение

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

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

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

Выходом из этой проблемы служит построение системы имитационного моделирования. Нетрудно заметить, что эта задача является ещё более сложной и дорогостоящей, особенно для агентного моделирования. Данная статья была посвящена обзору вопросов и проблем, сопутствующих разработке столь сложного инструментального средства. Также была предложена обобщённая архитектура и возможные теории и методы решения задач. Надеемся, статья поможет разработчикам учесть специфику агентного моделирования во избежание ошибок на ранних этапах проектирования. Также советуем придерживаться архитектуры MDA и паттернов проектирования, следование которым упростит разработку открытых, масштабируемых, переносимых, расширяемых, интероперабельных приложений, простых в плане изменения и сопровождения [9, 10].

Список литературы

  1. Кринецкий Е.О., Шебеко Ю.А. Исследование конкурентного поведения экономических агентов в условиях использования ограниченных объёмов возобновляемыхресурсов. http://www.mai.ru/content/files/index.php?ID=13086
  2. Бахтизин А.Р. Гибридные методы моделирования общего экономического равновесия с использованием агент-ориентированных моделей. http://www.phido.ru/Disser/13683/View.aspx
  3. Чиркунов К.С. Агентный протокол переговоров государства и частного сектора на примере задачи концессионного транспортного проекта. http://scipeople.ru/publication/100558/
  4. ПичугинА.А. Агентное моделирование коррупции. http://матметоды.рф/agentnoe-modelirovanie-korruptsii/
  5. Иванов Д.А., Соколов Б.Ю. Модель динамического структурно-функционального синтеза гибких цепей поставок на основе ключевых компетенций. http://www.xjtek.ru/file/189
  6. Каталевский Д.Ю. Системная динамика и агентное моделирование: необходимость комбинированного подхода. http://www.xjtek.ru/file/290
  7. Чудинов Г.В. Программные средства для реализации агентного имитационного моделирования. Вестник пермского университета «Математика. Механика. Информатика» Пермь, 2009. Вып.3 (29)
  8. Лядова Л.Н., Ланин В.В., Шаврин С.М. Стандарты и технологии создания открытых информационных систем: учеб.-метод. пособие; Перм. ун-т. - Пермь, 2007. - 228 с.: ил.
  9. Грибачев К. Delphi и Model Driven Architecture. ‑ СПб. Питер, 2004. - 348с.
  10. Freeman E. Head First Design Patterns. O´Reilly, 656c.
Просмотров работы: 264