Вопрос

Хотелось бы узнать, какие наборы инструментов, языки, библиотеки существуют для агентного моделирования и каковы их плюсы/минусы?

Некоторые примеры того, о чем я думаю:Рой, Трапеза, и МАССА.

Это было полезно?

Решение

Я нашел опрос от июня 2009 года, который отвечает на ваш вопрос:

Обзор средств агентного моделирования и симуляции

Ау.Р.Дж.Аллан

Абстрактный
Моделирование и моделирование на основе агента - это метод, требующий вычислений, основанный на дискретном моделировании событий и наличием его происхождения в генетических алгоритмах.Это мощный метод для моделирования динамических сложных систем и наблюдения «возникающего» поведения.Наиболее распространенным использованием ABM являются проблемы социального моделирования и оптимизации, такие как транспортный поток и цепочки поставок.Мы рассмотрим другие виды использования в вычислительной науке и технике.АБМ была адаптирована для работы на новых архитектурах, таких как GPGPU (например,nvidia с использованием cuda).У Argonne National Laboratory есть веб -сайт на ASASCALE ABMS и запускает модели на IBM BlueGene с финансированием из программы SCIDAC.Мы планируем организовать семинар по методам и приложениям ABMS летом 2009 года.Ключевое моделирование на основе агента, археология

http://epubs.cclrc.ac.uk/bitstream/3637/ABMS.pdf

Другие советы

Я также рекомендую NetLogo . Это IDE + среда программирования + язык программирования, основанный на логотипе (который был основан на Lisp), который позволяет чрезвычайно быстро создавать мультиагентные модели. Я обнаружил, что могу за пару часов воспроизвести (смоделировать) алгоритмы из исследовательских статей, алгоритмы, которые потребовались бы недели для реализации с другими библиотеками.

Вы можете проверить некоторые из моих моделей на этой странице.

Я познакомился с Dramatis на OSCON 2008, это основанная на агентах среда для Ruby и Python. Автор (Стивен Паркс) имеет некоторые ссылки в своем блоге и работает над созданием независимого от языка Списка обсуждения для актеров .

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

В википедии также есть довольно хорошая ссылка:

http://en.wikipedia.org/wiki/Comparison_of_agent-based_modeling_software

Что касается моделирования, взгляните на FAML, агентно-ориентированный язык моделирования. Это довольно академический документ, но он может помочь в зависимости от ваших интересов: http://ieeexplore.ieee.org/xpl/freepre_abs_all.jsp?isnumber=4359463&arnumber=4967615

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

вам также следует взглянуть на Madkit и Turtlekit

Старый поток, но для полноты изложения также есть Anylogic и pyabm , который можно использовать для ПРО.

У меня есть опыт программирования моделей на основе агентов в нескольких средах / языках. Мое мнение таково: если вы хотите реализовать относительно простую модель, используйте Netlogo. Также возможно использовать Netlogo для тяжелых моделей (я сделал это успешно), но в какой-то момент гибкость языка программирования, такого как java / python / c ++, перевешивает удобство нативных методов, доступных в Netlogo, особенно когда производительность становится серьезной проблемой.

Repast становится немного раздутым. Если вы опытный программист, все, что вам действительно нужно, чтобы начать строить ПРО - это возможность планировать события и рисовать случайные числа. Остальное (определение агентов / окружения и их поведения) вы можете создать самостоятельно. Когда дело доходит до управления объектами в вашей модели, используйте обычные структуры данных, к которым вы привыкли (массивы / хеши / деревья / и т. Д.). С этой целью я разрабатываю очень легкую библиотеку Java под названием «ABMUtils». (на github), который реализует планировщик и включает генератор случайных чисел. Это на ранней стадии разработки, но я надеюсь, что в ближайшие месяцы все прояснится (будет проще).

Если вы являетесь экономистом-эволюционистом, вы также можете проверить Лабораторию разработки симуляций (LSD) .

Разработчикам PHP и Java следует взглянуть на KATO .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top