Термины, используемые разработчиками агент-ориентированных моделей и искусственных обществ
(Переводы из Википедии. По возможности, мы старались дать наиболее точный перевод)
Агент-ориентированные модели (АОМ)
АОМ - специальный класс вычислимых моделей, основанных на индивидуальном поведении агентов, и создаваемых для компьютерных симуляций. Эти компьютерные симуляции тесно взаимосвязаны со следующими понятиями: сложные системы, метод Монте-Карло, вычислительная социология, системы с множеством агентов и эволюционное программирование.
Краткий исторический экскурс
Первая АОМ была разработана в конце 1940-х гг. В последствии, развитие микрокомпьютеров способствовало дальнейшему развитию этого направления и возможности проводить компьютерные симуляции.
Основная идея, лежащая в основе агент-ориентированных моделей заключается в построении «вычислительного инструмента» (представляющего собой набор агентов с определенным набором свойств), позволяющего проводить симуляции реальных явлений. Конечная цель процесса по созданию АОМ – отследить влияние флуктуаций агентов, действующих на микроуровне, на показатели макроуровня.
Принято считать, что агент-ориентированные модели берут свое начало с вычислительных машин Джон фон Неймана (Von Neumann), являющихся теоретическими машинами, способными к воспроизводству.
Джон фон Нейман предложил использовать машины, которые следуют детальным инструкциям для создания точных копий самих себя. Впоследствии данный подход был усовершенствован другом фон Неймана – Станиславом Уламом, который предложил изображать машину на бумаге - в качестве набора клеток на решетке. Данный подход стал началом развития клеточных автоматов.
Наиболее известной реализацией конечного автомата стала игра «Жизнь» (смотреть), предложенная Джоном Хортоном Конвеем (John Horton Conway), отличающаяся от машины фон Неймана достаточно простыми правилами поведения агентов.
Использование АОМ для социальных систем взяло свое начало с работы программиста Крега Рейнолдса (Craig Reynolds ), в которой он предпринял попытку моделирования деятельности живых биологических агентов (модель «Artificial life» - Искусственная жизнь).
Теория
В основе агент-ориентированных моделей лежат три основные идеи: объектная ориентированность; обучаемость агентов (или их эволюция); сложность вычислений.
Доминирующим методологическим подходом является подход, при котором вычисляется равновесие или псевдоравновесие системы, содержащей в себе множество агентов. При этом, сами модели, используя простые правила поведения, могут выдавать весьма интересные результаты.
АОМ состоят из динамически взаимодействующих по определенным правилам агентов. Среда, в которой они взаимодействуют, может быть достаточно сложной.
Основные свойства агентов АОМ:
- Интеллектуальность. В то же время, это свойство должно быть умеренным для того, чтобы агенты не могли познать нечто большее, выходящее за рамки правил игры.
- Наличие жизненной цели.
- Расположение во времени и пространстве. Имеется ввиду некоторая «среда обитания», которая может быть представлена и в виде решетки (как в игре «Жизнь»), так и в виде гораздо более сложной структуры. Иногда, результат взаимодействия агентов в «среде обитания» - равновесие, иногда – непрекращающийся процесс эволюции, а иногда – бесконечный цикл без определенного решения.
В идеале, АОМ могут помочь идентифицировать критические моменты времени, после наступления которых, чрезвычайные последствия будут иметь необратимый характер.
Коммерческие приложения
С середины 1990-х годов, АОМ стали использовать для решения множества коммерческих и технологических проблем. Примерами могут послужить задачи
- оптимизации сети поставщиков и логистика;
- моделирования потребительского поведения (в том числе социальные сети);
- распределенных вычислений;
- менеджмента трудовых ресурсов;
- управления транспортом;
- управления инвестиционными портфелями.
В этих и других приложениях стратегии поведения определяются с учетом поведения множества индивидуальных агентов–атомов и их взаимодействий. Таким образом, АОМ могут помочь в изучении влияния индивидуального поведения агентов на эволюцию всей системы.
Методы
Простой и доступной программой для разработки АОМ является бесплатно распространяемое приложение NetLogo. Изначально NetLogo был разработан как учебный инструмент, однако сейчас им пользуются не только студенты, но и тысячи исследователей. Это программа часто применяется в ВУЗах для обучения студентов основам АОМ. Схожей функциональностью обладает программа StarLogo.
Инструментов для реализации более широкого спектра задачи в области АОМ является программа Swarm. В ней используется язык программирования Objective-C и она может быть рекомендована программистам, пишущих на C, причем не только профессионалам, но и новичкам. Программировать в среде Swarm можно так же и на языке Java.