Я хотел бы знать, какие инструменты, языки, библиотеки существуют для моделирования на основе агентов и какие плюсы/минусы из них?
Некоторые примеры того, о чем я думаю, Swarm, Repast и MASS.
Я хотел бы знать, какие инструменты, языки, библиотеки существуют для моделирования на основе агентов и какие плюсы/минусы из них?
Некоторые примеры того, о чем я думаю, Swarm, Repast и MASS.
Я нашел опрос от июня 2009 года, который отвечает на ваш вопрос:
Обзор средств моделирования и моделирования на основе агентов
Аи. R.J. Аллан
Абстрактный
Агентное моделирование и моделирование - это вычислительно требующей техники, основанной на дискретном моделировании событий и происхождение в генетических алгоритмах. Это мощный метод для имитируя динамические сложные системы и наблюдая "возникновение" поведения. Наиболее распространенные виды использования ABMS - это социальное моделирование и оптимизация таких как транспортный поток и цепи поставок. Мы будем исследовать другие применения в вычислительной науке и технике. ABMS была приспособленный для работы на новых архитектурах, таких как GPGPU (например, nVidia, использующий CUDA). Национальная лаборатория Argonne имеет веб-сайт по Exascale ABMS и запустили модели на IBM BlueGene при финансовой поддержке SciDAC Программа. Мы планируем организовать семинар по методам ABMS и приложений летом 2009 года. Ключевые слова, основанные на моделях, Археология
Я также рекомендую NetLogo. Это среда IDE + среда + язык программирования на основе логотипа (который был основан на Lisp), который позволяет вам быстро создавать многоагентные модели. Я обнаружил, что через пару часов я могу воспроизвести (имитировать) алгоритмы из исследовательских статей, алгоритмы, которые потребовались бы неделям для реализации с другими библиотеками.
Вы можете проверить некоторые мои модели на на этой странице.
Я познакомился с Dramatis в OSCON 2008, это основанная на Agent структура для Ruby и Python. Автор (Стивен Паркс) имеет некоторые ссылки в своем блоге и работает над запуском языкового агностика Список дискуссий актеров.
Эта страница на erights.org содержит большой набор ссылок на то, что я думаю, основные документы, которые представляют и исследуют Модель передачи сообщений участников.
вы также должны посмотреть Madkit and Turtlekit
В Википедии есть довольно хорошая ссылка:
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
Я знаю, что это старый поток, но я подумал, что не помешает добавить дополнительную информацию. Существует большой новый веб-сайт, посвященный агентному моделированию. Сайт содержит ссылки на документы, учебные пособия, инструменты, ресурсы и исследователей, работающих в области моделирования на основе агентов в ряде областей.
Старый поток, но для полноты также есть Anylogic и pyabm, который может использоваться для ПРО.
У меня есть опыт программирования на основе агентов на нескольких средах/языках. Мое мнение таково, что если вы хотите внедрить относительно простую модель, используйте Netlogo. Также можно использовать Netlogo для сверхмощных моделей (я сделал это успешно), но в какой-то момент гибкость языка программирования, такого как java/python/С++, перевешивает удобство собственных методов, доступных в Netlogo, особенно когда производительность становится серьезной проблемой.
Repast становится немного раздутым. Если вы опытный программист, все, что вам действительно нужно для создания ABM, это возможность планировать события и рисовать случайные числа. Остальные (определяющие агенты/среды и их поведение) вы можете создавать самостоятельно. Когда дело доходит до управления объектами в вашей модели, используйте обычные структуры данных, к которым вы привыкли (массивы/хэши/деревья и т.д.). С этой целью я разрабатываю очень легкую библиотеку Java под названием "ABMUtils" (на github), которая реализует планировщик и обертывает генератор случайных чисел. Это находится на ранней стадии разработки, но я ожидаю, что в ближайшие месяцы вы будете плоть (если будет проще).
Если вы являетесь экономистом-эволюционистом, вы также можете проверить Лабораторию моделирования (ЛСД).
PHP и разработчики Java должны взглянуть на KATO.