Архив статей журнала
При многоагентном моделировании ключевым моментом является реализация модели в виде компьютерной программы. Реализацию модели можно сделать удобнее, если использовать проблемно-ориентированный язык (domain-specific language, DSL). В ходе данной работы была разработана библиотека на языке программирования C#, представляющая собой проблемно-ориентированный язык, позволяющий формулировать задачу моделирования на высоком уровне в терминах, близких предметной области. Были предложены структуры данных и иерархия классов. В частности, была предложена реализация агента, состав атрибутов которого может изменяться в процессе моделирования. Библиотека также включает в себя методы для моделирования жизни сообщества: рождаемости и смертности, имеет средства для моделирования брачного поведения. В ходе тестирования было показано, что расход памяти в пике и вычислительная сложность в целом соответствует теоретическим оценкам, структура моделируемого сообщества соответствует демографическим данным. Была построена модель населения Российской Федерации по демографическим данным 2019 года и выполнен прогноз изменения численности населения к 2036 году. Получен результат, близкий к полученному для этих данных и интервала времени Росстатом, способом, отличным от многоагентного моделирования.
Начальным шагом построения многоагентной модели популяции является построение совокупности объектов-агентов, атрибуты которых будут распределены в соответствии со статистическими данными о реальной популяции, модель которой предстоит построить. Эти атрибуты в зависимости от типа модели могут включать, географическое положение, социальные связи, занятость, образование и уровень доходов, но общим является то, что такие данные часто представляют собой таблицы частот определенных уровней классификации значений отдельных признаков особей в популяции. Каждая таблица характеризует распределение одной случайной величины. Каждому агенту следует назначить значения атрибутов в соответствии с этими распределениями. В отличие от других моделей, которые были тесно связаны с конкретными агентными средами, в данной работе представляется обобщенный подход, предлагающий универсальный инструмент для распределения атрибутов агентов, который можно легко интегрировать в различные сценарии моделирования. Этот этап моделирования может быть выполнен с помощью генератора псевдослучайных векторов, распределение значений элементов которых в каждой из позиций будут соответствовать заданным таблицам частот. Статья затрагивает вопросы разработки алгоритма такого генератора, оценку его точности и эффективности, а также демонстрацию его применения на нескольких примерах.