Введение.
Концепция компьютерной симуляции предполагает использование компьютерной модели для исследования поведения сложных систем (например биологических и социальных), предусматривающих способность принимать собственные решения. Это также позволяет давать оценку концептам и проектам, не воплощая их в жизнь (к примеру, архитектурные проекты и дорожные системы). Использование такой «синтезированной среды» часто необходимо, так как подобная система не может быть исследована в реальном мире по этическим (например, подобный эксперимент небезопасен для людей) и практическим (слишком большая стоимость проведения эксперимента, слишком малая скорость эволюции систем) причинам. На рис. 1 изображена основная схема, основанная на исследованиях Gilbert, Troitzsch (2005) и Edmonds (2001), которая описывает роль ИМ как инструмента прогнозирования или объяснения.
Рис. 1 Базовая схема описания роли ИМ как прогностического или объяснительного инструмента.
Некоторые ситуации и подсистемы могут быть охарактеризованы взаимодействием множества автономных субъектов, поведение которых (действия и взаимодействия) определяют развитие всей системы. АОМ особенно подходит для таких ситуаций и имеет возможность изучать и анализировать такие феномены, как децентрализованное принятие решений, локально-глобальные взаимодействия, самоорганизация, развитие и эффекты неоднородности в искусственных системах. Интерес к такому подходу в последнее время постоянно растет – об этом можно судить вследствие появления множества мероприятий, посвященных АОМ. Модели, основанные на автономных агентах, были успешно использованы для имитации сложных систем в разных областях, начиная от логистической оптимизации (Weyns 2006) и биологических систем (Bandini, 2006), и заканчивая моделированием транспортных систем (Bazzan, 1999; Wahle, Schreckenberg, 2001; Balmer, Nagel, 2006), пешеходных систем (Batty, 2001) и городского планирования (Arentze, Timmermans, 2003). АОМ также были успешно внедрены в социальные науки (Epstein, 1999) и экономику (Lane, 1993; Windrum, 2007).
Крайняя неоднородность (особенно в АОМ) в искусственных средах часто связана с тем, что воздействия могут возникать в разных исследовательских областях. К примеру, в транспортной и пешеходной динамике большое число моделей зависит от физики, а поэтому в связанных с ней моделях пешеходы рассматриваются в качестве агентов, на которых влияют силы, порожденные средой или другими агентами (active walker model, Helbing, 1997). Другой подход к пешеходным системам строится на экспериментах с клеточными автоматами (КА) моделей пешеходов (Schaschneider, 2002), которые демонстрируют более явное разделение между средой и объектами, которые обитают, действуют и взаимодействуют в ней (Bandini, 2004; Henein, White, 2005). Эта область исследований позволяет объяснять модели с мультиагентными системами (МАС), успешно объясненными и внедренными в концепции реактивной робототехники и систем управления (Weyns, Holvoet, 2006; Weyns, 2005). Модели и симуляции, используемые в социальных науках (Gilbert, Troitzsch, 2005) и экономике (Pyka, Fagiolo, 2009), основываются на разных теориях человеческого поведения. Это позволяет получать новые знания о таком поведении, а также строить и верифицировать новые теории.
Все приведенные выше АОМ, как и многие другие, имеют общую идею моделируемой системы: аналитическая единица рассматривается в качестве индивидуального агента, действующего и взаимодействующего с другими объектами в общей среде. Системная динамика наиболее полно описывается не какой-либо общей функцией, а скорее результатом действий и взаимодействий индивидов. Важно понимать, что несмотря на то, что агенты играют ключевую роль в данном подходе, в большинстве случаев среда, в которой они представлены, играет особую роль, так как:
· Она сильно влияет на поведение симулируемых объектов, определяя знания и действия агентов;
· цель ИМ заключается в изучении некоторых поведений на агрегированном уровне (например, плотность определенных типов агентов в среде, передвижение мобильных агентов, поколение групп агентов), которые можно изучить лишь внутри среды.
Помимо таких общих элементов, подходы к АОМ часто сильно различаются в способах описания как поведения, так и свойств агентов. То же можно сказать и о их среде (Deichsel, Puka, 2009; Brenner, Werker, 2009).
Однако, цель данной статьи заключается в описании абстрактной и типовой модели, которую можно использовать для анализа, описания и интерпретации различных агент-ориентированных моделей, в том числе уже созданных. Такая модель представлена на рис. 2:
Рис. 2 Типовая агент-ориентированная модель.
Основные элементы вышеизложенной модели:
· агенты, охватывающие все возможные характеристики неоднородного поведения;
· их среда, определяющая представления и действия агентов;
· механизмы взаимодействия между агентами, включая прямую и непрямую передачу информацию между ними. Такая возможность реализуется при помощи регулирования способности одного агента узнавать о поведении другого.
Далее в тексте данные элементы анализируются при помощи литературы по ИТ о АОМ. Также вводятся классификации и типологии с целью сравнения разных подходов. После этого в статье рассказывается о различных компьютерных платформах, позволяющих создавать АОМ. В заключение приводятся мысли о дальнейших перспективах и путях развития данного многодисциплинарного подхода.
Агент-ориентированные модели в имитационном моделировании.
Модель – это абстрактная и обобщенная имитация существующей или предполагаемой реальности (target system на рис.1). В основном модели разрабатываются для изучения или объяснения исследуемых, или прогнозирования будущих явлений. Как сказано выше, для АОМ характерно существование агентов, осуществляющих определенную деятельность в общей среде. Однако, не существует однозначного понятия этого термина даже в сообществе исследователей данной области (Franklin, Graesser, 1997). Общепринятое определение (Wooldridge, Jennings, 1995) формулируется как набор особенностей объекта, которых достаточно для называния его агентом. К таким особенностям можно отнести:
· автономность – способность функционировать без человеческого вмешательства и возможность в определенной степени контролировать свое состояние;
· способность к социальному взаимодействию – возможность взаимодействия между агентами при помощи определенного языка;
· реактивность - возможность чувствовать окружающую среду, в которой агент располагается и реагировать на ее изменения;
· превентивность – способность агентов действовать по собственной инициативе для достижения внутренней цели.
Целью данной главы является представление некоторых результатов исследований в области агентных моделей и применяемых технологий в данной области, чтобы сопоставить текущее состояние исследований в данной области с другими областями.
Как было сказано ранее, агент-ориентированные модели являются моделями сложных систем, и в данном подходе предполагается, что простые и сложные явления являются результатами взаимодействия автономных и независимых объектов (агентов), которые функционируют в пределах сообществ в соответствии с различными типами поведения. Однако, агенты и АОМ рассматриваются не только как технология моделирования (Zambonelli, Parunak, 2002; Luck 2005), но и как подход к моделированию, который позволяет описать некоторые системы с точки зрения совокупности отдельных компонентов, формирующих в т.ч. коллективное поведение (Feber, 1999). Изучение таких развивающихся поведений является характерным для моделирования сложных систем (Bar-Yam, 1997), причем для этого все чаще используется АОМ (Hassas, 2007; Weyns, 2007; Alfi, 2007; онлайн-семинары 2007 года европейской Конференции по Сложным Системам).
Характерные черты поведения агентов.
Можно выделить 2 особенности поведения агентов. Во-первых, необходимо правильно определить действия агентов. Действия – базисные элементы агентного поведения: они могут вызвать изменения в среде или в других агентах, включенных в модель. При помощи разных методов можно описать следующие агентные действия:
· изменение глобального состояния системы;
· локальное изменение среды;
· реакция на воздействия;
· выполнение вычислительных процессов внутри агентов для обработки получаемой информации и изменения его состояния;
· физическое смещение агента в пространственной структуре среды.
Особенности поведения агентов также включают в себя механизмы эффективного выбора выполняемых действий в зависимости от представлений и внутреннего состояния агента. Понятие «архитектура» (Russle, Norving, 1995) обозначает модель внутренней структуры агента, отвечающей за выбор типа поведения. Можно разделить архитектуры на размышляющие (обдумывающие) и реактивные (реагирующие) (по Genesereth, 1987 – на истеричные и тропистичные).
Реактивные агенты – простые (в основном с отсутствием памяти) агенты с назначенным положением в среде. Реактивные агенты действуют, улавливая «стимулы», поступающие или от других агентов, или от среды; вообще, поведенческая спецификация этого вида агента - ряд правил типа «условие-действие» с добавлением стратегии выбора действия, которое выполняется всякий раз, когда возможны дальнейшие действия. В этом случае сигналом для выполнения действия является инициирующее событие, поступающее из окружающей среды. Реактивные агенты не могут быть превентивными.
Для обдумывающих, или когнитивных агентов (КА) характерен более сложный механизм выбора механизма, и их поведение основываются на т.н. ментальных состояниях, отражающих знания агента о среде и зачастую воспоминания о прошлом опыте. Когнитивные агенты для каждой возможной последовательности представлений пытаются выбрать порядок действий для достижения цели.
КА, обычно определенные в рамках планирования, формируют символическое и явное представление мира-в-агентах, и их решения основаны на логических размышлениях и обработке кодов. Модель ВЖН (Вера, Желание, Намерение) (Rao, Georgeff, 1991,1995) является, возможно, самой широко распространенной моделью для КА. Внутреннее состояние агентов составлено из трех "структур данных" основанных на верованиях, желаниях и намерениях агентов. Верования представляют из себя информацию агентов о своем окружающем мире; желания - цели агентов, а намерения являются эффективными желаниями, выбранными агентом самостоятельно.
Гибридные архитектуры являются комбинацией предыдущих двух. Агенты могут иметь уровневую архитектуру, где когнитивные слои основываются на символьном отображении окружающего мира. Когнитивные слои формируют планы и принимают решения, а реактивные слои совершают действия под воздействием внешнего стимула. Были разработаны горизонтальные архитектуры, в которых приоритеты не связаны с уровнями, и результаты различных слоев должны комбинироваться для формирования поведения агентов. В вертикальные архитектурах реактивные слои имеют более высокий приоритет, чем в горизонтальных (Brooks 1986).
МАС может состоять из когнитивных агентов (как правило, относительно низкое количество реактивных агентов), имеющих собственные модели знаний, которые определяют его поведение и его взаимодействия с другими агентами и окружающей средой. Однако, бывают даже МАС, состоящие только из реактивных агентов. Такие модели основываются на идее, что нет необходимости в индивидуальном разуме агентов для имитации сложных поведений. Системы реактивных агентов часто являются более устойчивыми к сбоям, чем другие АОС. Другое преимущество реактивной МАС заключается в гибкости и адаптивности (Brooks 1990). Наконец, система может также быть представлена неоднородным составом из реактивных и когнитивных агентов.
Среда.
Было предложено определение среды для МАС и АОМ (Weyns, Omnichi, 2007). В данном контексте среда обычно определяет:
· отражение / конкретизацию / управление структуры физического и общественного устройства системы в целом;
· внедрение, поддержание регулируемого доступа к объектам и части системы, которые не моделируются как агенты;
· поддержка способности к восприятию и определенному действию (следует отметить, что взаимодействие агентов следует рассматривать как особый вид действия);
· поддержание системы внутренней динамики (например, стихийного роста ресурсов, рассеивание сигналов, испускаемых агентами);
· определение / соблюдения правил.
Для того, чтобы привести пример согласно вышеизложенной классификации, далее будут рассматриваться АОМ, основанные на физическом подходе; последний в основном рассматривает агентов в качестве единиц, являющихся и субъектами, и главной движущей силой. В таком случае среда включает в себя законы, регулирующие такие воздействия и элементы системы, которые не являются агентами (например системы отсчета, формирующие силы притяжения/отталкивания). Такие среды определяют динамику в целом, соединяя эффекты, которые воздействуют на каждого агента и на связанные с ним элементы, в дискретные временные интервалы. В таком случае среда охватывает все вышеописанные зависимости, и роль агентов минимизируется. Созданная таким образом модель в основном сводится к итеративно вычислимому набору уравнений (Helbing, 1997; Balmer, Nagel, 2006). В существующих методах построения АОМ агенты как правило располагают большей автономией и контролем над собственными действиями при оценке воздействий и принятии решений, основанных на особенности поведения. Среда при этом сохраняет очень важную роль, так как она поддерживает существование агентов и их воздействия, которые возникают в соответствии с текущей структурой системы и расположения агентов внутри ее. Социоэкономические ИМ предлагают большое количество подходов, воспроизводящих наблюдаемую систему, однако в основном они имеют такой же принцип, как у АОМ. Например, в модели, описанной Dosi (2006), отношения между агентами возникают в результате двухфазового процесса, при котором агенты выбирают партнера для совершения взаимодействия с ним на основании «оповещения», то есть при помощи взаимного информирования.
Агентные взаимодействия.
Взаимодействие – ключевой элемент АОМ. Существует множество определений агента, и в большинстве из них выделяется возможность объектов взаимодействовать друг с другом и со средой для решения своих задач или достижения целей при помощи координации, кооперации и конкуренции. Суть АОМ заключается в том, что глобальная системная динамика развивается при помощи локальных поведений и взаимодействий ее составляющих частей. Строго говоря, для некоторых АОМ глобальная динамика – это сумма локальных поведений и взаимодействий, поэтому нельзя всегда говорить о развивающимся поведении, если речь идет о АОМ. Тем не менее, очень важно правильно выбрать допущения, принимаемые при разработке или выборе существующей интерактивной модели, так как они оказывает большое влияние на определение самих агентов (например, расшифровка языка модели, прием сигналов). Из этого следует, что механизмы взаимодействия оказывают огромное влияние на моделирование, проектирование и разработку приложений для моделирования АОМ, которые в свою очередь основаны на конкретной модели взаимодействия. Таким образом, не удивительно, что значительная часть исследований в области агентного моделирования сосредотачивается на этом аспекте.
Ниже представлена классификация существующих на данный момент моделей агентного взаимодействия (МАВ) (см. рисунок 3), систематизирующая перспективы и вопросы с концептуальной и технической точки зрения, связанные с данной областью.
Рис. 3 Классификация моделей агентного взаимодействия.
Существует множество аспектов и вариантов для МАВ, описывающих данную схему.
Первый аспект связан с тем, напрямую ли (например, при помощи обмена сообщениями) агенты взаимодействуют. В случае прямого взаимодействия канал коммуникации является либо фактическим, либо в модели присутствуют средства передачи информации, влияющие на коммуникацию между агентами. Несмотря на то, что модели с прямым взаимодействием используются крайне часто, они не лишены многих проблем. Например, для того, чтобы эффективно общаться, агенты должны "знать" друг друга, то есть им необходимо присваивать уникальные имена, которые будут идентифицировать их во всей системе. Кроме того, агенты должны «уметь» обнаруживать имена других агентов в системе. При использовании моделей, в которых агенты владеют специальным языком для коммуникации (ACL based на рис.3), обозначенные выше проблемы решаются таким образом, что такой язык наделяет агентов априорными «знакомствами» друг с другом; введение промежуточных агентов для обеспечения информационной поддержки и разработки более сложных моделей «знакомств» позволяет решать вопросы, связанные с хранением и представлении информации о таких связях, а также делает архитектуру модели более надежной и масштабируемой.
Тем не менее, существуют и другие модели взаимодействия агентов, позволяют создавать и эксплуатировать инструменты, которые используют средства передачи информации для взаимодействия агентов. Другие модели непрямого взаимодействия в большей степени сосредоточены на моделировании среды как места, где агенты взаимодействуют и определяют свою деятельность.
Модели прямого взаимодействия.
Первый и наиболее часто используемый вид модели взаимодействия агентов использует обмен информацией между агентами. Такой подход игнорирует каналы связи, обеспечивающие взаимодействия между агентами, и даже не включает его в качестве элемента абстрактной модели взаимодействия. Как правило, такие механизмы обеспечивают протокол передачи сообщений «из точки в точку», который регулирует обмен сообщениями между агентами. Существуют много методов моделирования коммуникативных актов, но в целом такой протокол в большинстве случаев справляется со своими задачами. Хотя данный подход хорошо изучен и может быть эффективно реализован (тем более, что в основном его используют в компьютерных сетевых протоколах), в моделях прямого взаимодействия необходимо разрабатывать конкретные архитектурные и концептуальные решения вопросов, связанных с алгоритмом знакомства / обучения агентов и онтологии.
Интуитивно язык коммуникации агентов (ACL) предоставляет им средства обмена информацией и знаниями (см. рисунок 4). Это размытое определение по своей сути включает в себя часть самого термина «агент», согласно которому агент является интеллектуальной автономной единицей, имеющий определенные социальные способности (Wooldridge, Jennings, 1995). Согласно некоторым подходам, именно эта функция определяет сущность агента (Genesereth, Ketchpel, 1994). Оставляя в стороне определение и концепцию агента, ниже объясняется, что фактически означает выражение "социальные способности". Чтобы объяснить эти способности, необходимо кратко сравнить сходства ACL с теми подходами, которые способны обеспечивать циркуляцию информации между компонентами при помощи информационных каналов (например, системы наследования), обеспечивающих обмен сообщениями при помощи компьютерной сети (то есть на более низком уровне коммуникации). АСL отличаются от таких систем иными объектами исследования и сложным содержанием. В частности, распределенные вычислительные протоколы не справляются с:
· автономией взаимодействующих компонентов: компоненты современных систем (даже в случае, когда системы являются довольно сложными и могут обладать автономией в отношении выполнения определенных задач), имеют более низкую степень автономии, чем та, которая присуща агентам;
· информацией, переданной в сообщениях, которая вообще не требует онтологического (под онтологией понимается формальное представление множества концептов внутри домена и отношений между этими концептами) подхода, поскольку структуры и категории распределены между системными компонентами.
Рис.4 Слои и отделы ACL.
Что касается автономии, в то время как традиционные компоненты программного обеспечения в основном выполняют необходимые действия как реакции на внешние запросы, агенты могут принимать решение не выполнять задачу, которая запрашивается другим элементом системы. Кроме того, агенты способны функционировать непрерывно и предупреждать события в будущем, что невозможно для обычных программных компонентов.
Касательно второго пункта, компоненты имеют определенные интерфейсы, позволяющие согласовывать распределенные структурные данные. Собранная информация и сообщения / обращения / запросы ведутся на обособленном языке моделирования, который тем не менее тесно связан с самой моделью. Для взаимодействия агентов им необходимо обладать явным и всеобъемлющим описанием предметной области. Для того, чтобы иметь возможность эффективно обмениваться знаниями, агенты должны использовать онтологию (Gruber 1995), которая является представлением набора категорий объектов, понятий, объектов, свойств и отношений между ними. Другими словами, одна и та же концепция, объект или сущность должна иметь однородный смысл и набор свойств по всей системе.
Модели непрямого взаимодействия.
Строго говоря, коммуникация между агентами как правило является непрямой даже в моделях прямого взаимодействия. В самом деле, большинство из этих подходов описывают коммуникационную инфраструктуру, обеспечивающую механизм передачи сообщений «из одного конца в другой». Тем не менее, использование модели прямого взаимодействия агентов вызывает ряд проблем, описанных выше. Далее в тексте уделяется внимание описанию промежуточных структур, которые обеспечивают и регулируют взаимодействия между агентами. Такие «коммуникационные абстракции» являются наиболее привлекательными концепциями в моделях.
Модели агентных взаимодействий, использующие непрямые механизмы коммуникации, можно разделить на артефактоопосредующие и пространственно ориентированные. Артефактоопосредующие модели позволяет создавать артефакты, которые имитируют конкретные объекты агентной среды с целью коммуникации между автономными структурами. Пространственно ориентированные модели взаимодействия позволяют моделировать ситуации, когда пространственное расположение среды агентов является ключевым, и им нельзя пренебречь.
Оба подхода позволяют создавать механизмы взаимодействия, сильно отличные от простой передачи информации «от объекта к объекту». В самом деле, средства передачи информации действительно создают контекст, влияющий на коммуникацию между агентами.
Рис. 5 Схема архитактуры модели «доски объявлений», включающая два элемента модели координации Linda, а именно вывод записи на доску (операция ввода) и получение информации агентом через доску объявлений (операция чтения).
В реальной жизни группа физических агентов взаимодействуют и распределяют ресурсы не только путем конкурентного доступа к ним (например, машины на улицах и перекрестках), но и сотрудничая с целью выполнения задач, которые невозможно выполнить в одиночку из-за недостаточности в компетенциях и способностей (к примеру, люди, которые вместе несут большую ответственность). Очень часто, для того, чтобы иметь возможность регулировать взаимодействия, связанные с таким типом ресурсов, необходимо создавать определенные артефакты, такие как светофор на улицах или прикрепленные ручки на больших тяжелых коробках. Таким образом, некоторые подходы к вопросу взаимодействия агентов имеют тенденцию моделировать и использовать абстракции, которые позволяют агентам кооперироваться через общий ресурс, доступ к которому регулируется согласно точно определенным правилам. Архитектура доски объявлений (см. рисунок 5) является одним из примеров этого вида модели. Доска объявлений – общее хранилище данных, которое позволяет сотрудничать программным модулям, осуществляя коммуникации косвенно и анонимно (Englemore, Morgan, 1988). В частности, концепция пространства записи данных, впервые использованной в модели Linda (Gelernter, 1985), представляет собой распространенную модификацию базовой модели доски объявлений.
Язык координации Linda (Gelernter, 1985) представляет из себя наиболее используемый способ создания доски объявлений. Он основан на концепции пространства для записи данных, которая сочетает в себе доску объявлений, позволяющую агентам делиться и обмениваться информацией (записями) при помощи механизмов сопоставления данных, интегрированных с доской (например, сопоставление и унификация). Linda также использует простой язык, определяющий механизмы доступа к этому пространству.
Обоснованность использования подобного метода заключается в возможности долго сохранять вычисляемые и координационные контексты (Gelernter, Carriero, 1992), создавая определенные абстракции для взаимодействия агентов. Относительно моделей прямого взаимодействия, ответственный за координацию блок переносится от агента к инфраструктуре. Этот подход развивается в основном в двух направлениях: в расширении языка координации и инфраструктуры для повышения удобства и простоты использования; и моделирование и внедрение распределенных пространств записи данных (Picco, 1999; Omicini, Zambonelli, 1999; Cabri, 2000).
Рис.6 Упрощенная схема опосредованной от взаимодействий среды, в которой пространственная структура окружающей среды играет ключевую роль в определении восприятия агентов и их возможности взаимодействовать друг с другом.
В то время, как модели непрямого взаимодействия генерируют артефакты для взаимодействия агента, имитирую фактические конкретные объекты реального мира, другой подход создает имитацию среды агентов, принимая во внимание ее пространственные особенности (см. Рисунок 6). В данном подходе агенты распологаются в среде, пространственные особенности которой явно представлены и влияют на их восприятие и взаимодействие – то есть на поведении. Понятие восприятия, которое является абстрактным в модели прямого взаимодействия и имеет мало общего с материальным миром (агенты имеют свое «настроение», которое которое изменяется вследствие полученных данных, воспринимающихся как новые факты в их базе знаний), связан с более прямолинейным моделированием, называемым "локальной точкой зрения". Фактически эти подходы позволяют внедрять инфраструктуры для коммуникации агентов, позволяющие им «чувствовать» состояние окружающей среды (а также близлежащих окрестностей). Агенты также способны изменять состояние среды путем формирования сигналов, аналогичных физическим явлениям (например, феромоны (Brueckner, 2000), или поля (Mamei, 2002; Bandini, 2002), или просто наблюдая действия других агентов и реагируя на них по схеме "Неявной Поведенческой Коммуникации" (Tummolini, 2004).
Однако, во всех этих случаях структурирующая функция среды является ключевой, так как она определяет, что может воспринимать агент в текущем расположении и как он может реально изменить среду, в какой степени его действия могут быть замечены другими агентами, взаимодействующими с ним.
Рис. 7 Скриншоты программы NetLogo (слева) и Repast (справа).
Платформы для создания АОМ.
Ввиду активного развития АОМ неудивительно, что в настоящее время возрастает интерес к программному обеспечению (ПО), позволяющему создавать такие агентные модели. Такое ПО часто предлагает пользователю абстракции и механизмы определения агентов и их среды для поддержания взаимодействий, а также дополнительный функционал, например контроль за симуляцией (то есть настройка, конфигурация, контроль за ходом выполнения), а также визуализацию, мониторинг и сбор данных динамики.
Первая категория платформ обладает универсальными инструментами, позволяющими генерировать агентов в виде пассивных абстракций, то есть элементов системы, управляемых самим процессом. Примером может послужить NetLogo (см. рис 7) – диалект языка Logo, предназначенный для моделирования феноменов децентрализованной и взаимосвязанной природы. Программа называет индивидов не агентами, а черепахами; типичная модель состоит из цикла, выбирающего и выполняющего операций для каждой черепахи в соответствии с конкретной ситуацией и состоянием. Важно заметить, что черепах нельзя назвать агентами, так как они почти не обладают автономией. Простой язык программирования, который почти не требует знаний в области информатика, а также возможность компиляции моделей на языке Java и наличие простых, но эффективных инструментов визуализации сделали NetLogo крайне популярным. Существуют и другие диалекты языка Logo (StarLogo, StarLogoT и др.), но они не представляют интереса с точки зрения требований, представленных выше.
Вторая категория платформ имеет ту же цель, что и первая, и даже предлагает схожие инструменты, однако такие платформы создаются на универсальных языках программирования (в основном объект-ориентированных). RePast (North, 2006) (рис.7) представляет из себя удачную реализацию такой категории, и является платформой для создания АОМ на языке Java. Он позволяет сделать агентов более автономными и наиболее соответствующими своему определению, а также контролировать механизмы изменения состояния, действия и выбора действий внутри агентных классов. Выбор в пользу универсального языка программирования с одной стороны создает трудности при написании моделей неопытными программистами, однако с другой стороны он упрощает процесс интеграции с существующими внешними библиотеками. К RePast можно с легкостью подключить инструменты статистического анализа, визуализацию, мониторинг и даже Географические Информационные Системы (ГИС).
Вышеупомянутая функциональность, конечно, важна для упрощения разработки моделей, однако даже в случае возможности адаптации платформы, используемой ранее, нельзя забывать, что из-за независимости созданных в ней агентов адаптацию необходимо делать заранее. Платформа формирует абстракции и механизмы для агентов, их методы принятия решений, среды и способы, при помощи которых они взаимодействуют, однако разработчик должен в свою очередь создавать техническую поддержку, чтобы иметь возможность успешно использовать платформу.
Кроме того, данная платформа, фактически, не способна наделять агентов способностью к мышлению и создавать инфраструктуру любых моделей взаимодействия (важно отметить, что все вышеупомянутые платформы обычно имеют поддержку определения среды агента, например сетку или структуру графика). Как и в предыдущем случае, существуют множество дополнительных модулей, позволяющих выполнять вышеизложенные задачи – от модуля Swarm, написанного на языке Objective-C (Minar, 1996) до основанных на языке Java модулей Ascape (Parker, 2001) и Mason (Luke, 2003). Все эти модули имеют общие алгоритмы, даже если они отличаются платформой / языком программирования и техническими / реализационными деталями.
Третья категория платформ представлена попытками создания более интуитивных интерфейсов. К примеру, последняя версия RePast имеет интерфейс, работающий по принципу «указал и щелкнул». Также она предоставляет возможность выбора из списка поведения агента, основанного на базовых модулях агентного поведения. SimSesam (Klügl, 2003) предоставляет набор базовых команд в качестве элементов для описания поведения агентов и средства визуализации.
Также существуют платформы, созданные для моделирования конкретных агентных моделей, подходов и даже определенных областей исследования (Weyns, 2006; Bandini, 2007).
Перспективы.
Несмотря на свой молодой возраст, АОМ широко используется для анализа, моделирования и имитации сложных систем. Разнообразие подходов, способов моделирования, программ, а также использование АОМ в различных дисциплинах является факторами, которые сделали АОМ широко применимыми. Данный подход позволяет объединять усилия исследователей для решении многих эпистемологических проблем, характерных для анализа и моделирования сложных систем. В будущем данное направление нацелено на получение результатов комплексного изучения определенных областей, Кроме того, другая цель АОМ заключается в попытке "возведения мостов" между отдельными результатами исследований, с целью достижения более общего понимания того, как агент-ориентированный подход к моделированию может быть эффективно использован для изучения, объяснения и прогнозирования поведения сложных систем.
Оригинал статьи: Bandini, Stefania, Manzoni, Sara and Vizzari, Giuseppe (2009). 'Agent Based Modeling and Simulation: An Informatics Perspective'. Journal of Artificial Societies and Social Simulation 12(4)4 <http://jasss.soc.surrey.ac.uk/12/4/4.html>.
© Владимир Абрамов