NetLogo является развитием языка Logo, созданного в 1968 году Сеймуром Пайпертом для обучения детей при помощи компьютера. Однако это отнюдь не означает, что Logo — какой-то несерьезный "детский" язык. Достаточно сказать, что Logo — диалект Lisp, являющегося на протяжении многих лет основным языком для создания систем искусственного интеллекта. Брайан Харви, автор трехтомного учебника по Logo, характеризует его, как язык, порог освоения которого низок, а потолок вообще отсутствует.
В традиционном Logo программист дает инструкции единственному исполнителю — "черепашке". В NetLogo действует множество агентов-черепашек. Такой подход открывает возможность объяснения и понимания связей между поведением отдельных индивидуумов и явлениями, которые происходят на макроуровне, в результате независимых действий множества индивидуумов. Основным назначением NetLogo является, таким образом, агентное моделирование поведения сложных систем.
Подробнее об Агентном моделировании >>
- Русская терминология NetLogo.
- Пример работы с моделью "Синхронизация светлячков" (исходные файлы).
- Лабораторная работа "Основы работы с NetLogo" на примере на модели "Синхронизация светлячков": вкладки, кнопки, командный центр, библиотека моделей. Индивидуальные задания к работе. Пояснения к заданиям в отдельном файле. Список моделей:
- Термиты (Termites)
- Банковские резервы (Bank Reserves)
- Лесной пожар (Fire)
- Муравьи (Ants)
- Эпидемия (Virus)
- Транспортный поток (Traffic Basic)
- Распространение компьютерного вируса (Virus on a Network)
- Пчелиные соты (Honeycomb)
- Просачивание жидкости сквозь грунт (Percolation)
- Образование стаи (Flocking)
- Система частиц (Particle System Basic)
- Система типа «хищник-жертва» (Rabbits Grass Weeds)
- Оптимизация методом роя частиц (Particle Swarm Optimization)
- L-системы в NetLogo: что такое L-системы (исходные файлы).
- Лабораторная работа "Отображение векторных геоданных в NetLogo": загрузка данных, отображение точек, линий и полигонов (примеры из текста работы) (исходные данные) (примеры выполнения работы).
- Лабораторная работа "Работа с растровыми геоданными в NetLogo": на примере цифровых моделей рельефа (исходные данные) (примеры выполнения работы).
- Лабораторная работа "Моделирование в NetLogo 3D" (файлы трехмерных моделей) (примеры аналогичных двумерных моделей)(примеры выполнения работы). Список моделей:
- Образование стаи
- Просачивание жидкости сквозь грунт
- "Дерево Серпинского"
- Термиты
- Сохранение видео из NetLogo
Правила вместо уравнений
Вводная статья об агентном моделировании.
Агентное моделирование эвакуации при пожаре в здании
Простейшая модель эвакуации: агенты-черепашки находятся в замкнутой прямоугольной области с ограниченным числом выходов и различными препятствиями; поведение агентов сводится к поиску пути к выходу (исходные файлы).
Эвакуация через единственный выход: с учетом распространения пламени, ожогов и давки (исходные файлы).
Дополнения: широкий выход с возможностью пожара и давки; наглядная реализация волнового алгоритма с числами, изображающими расстояние до выхода.
План здания: съемка плана эвакуации, векторизация снимка и проверка работы программы (исходный файл).
Моделирование поверхностного стока дождевых вод
Идея работы заключалась в создании простейшей модели-"игрушки". У физиков такие модели есть, например, математический маятник. Их легко программировать, и таким образом наглядно видеть картину явления. Геологам повезло меньше: даже самые простые модели у них слишком сложны. Поэтому на начальных этапах освоения профессии (в курсе "Общая геология") будущим геологам приходится довольствоваться словесными описаниями и рисунками. С помощью NetLogo программирование упростилось достаточно, чтобы не слишком на него отвлекаясь, поиграть с параметрами модели. Таким образом можно было бы создать набор простых моделей по курсу "Общая геология".
Описание эрозии (исходные файлы).
Дополнения: график "выполаживания" склона (исходные файлы).
Получение и обработка данных SRTM.
Моделирование динамики транспортных потоков
Модели динамики транспортных потоков (исходные файлы).
Импорт GPS-карт в шейп-файлы (исходники карт). Для нашей работы этих карт хватало, но более свежие лучше конвертировать из OpenStreetMap.
Движение машин на векторной карте города: по мотивам этого и этого.
Отслеживание автомобилей с помощью оптического потока (эта часть работы выполнена на Matlab). Исходный файл. Тестовое видео.
Литература
- Пейперт С. Переворот в сознании: дети, компьютеры и плодотворные идеи. — М.: Педагогика, 1989. — 224 с.
- Resnick M. Turtles, termites and traffic jams: explorations in massively parallel microworlds. — MIT Press, 1994. — 170 p.
- Harvey B. Computer science Logo style. В 3-х томах. Вышло два издания книги — в конце 1980-х и в конце 1990-х.
- книги W. Teahan'a:
- Teahan W. Artificial Intelligence — Agent Behaviour I. — Ventus, 2010. — 240 p.
- Teahan W. Artificial Intelligence — Agents and Environments. — Ventus, 2010. — 154 p.
- Teahan W. Artificial Intelligence — Exercises — Agent Behaviour I. — Ventus, 2010. — 202 p.
- Teahan W. Artificial Intelligence — Exercises — Agents and Environments. — Ventus, 2010. — 165 p.
- Axelrod R. The Complexity of Cooperation: Agent-Based Models of Competition and Collaboration. — Princeton: Princeton University Press, 1997.
- Agent-Based Models of Geographical Systems /ed. by A. Heppenstall, A. Crooks, L. See and M. Batty. — Springer, 2012. — 759 p. — сборник статей, который может служить справочником по использованию агентного моделирования в задачах геоинформатики.
Все это есть на Library Genesis. Кроме этого, на русском языке есть работы Евгения Патаракина про NetLogo и агентное моделирование.
Комментарии
comments powered by Disqus