Многоагентное моделирование в изучении группового поведения (Syllabus): различия между версиями

Материал из Поле цифровой дидактики
Строка 61: Строка 61:


== Модели для модификации  ==
== Модели для модификации  ==
== Простые модели ==
{{#ask:  
{{#ask:  
[[School Choice ABM]] OR
[[School Choice ABM]] OR
[[Team Assembly]]
[[Team Assembly]]
| ?Description }}
| ?Description }}

Версия 13:12, 16 октября 2024



Планируемые результаты обучения (Знать, Уметь, Владеть) Уметь думать о групповом поведении при помощи многоагентных моделей
Результаты
  1. Использовать многоагентные модели для представления и изучения группового поведения;
  2. Создавать и использовать организационные схемы, определяющие поведение моделей;
  3. Создавать многоагентные модели в средах блочного и текстового программирования (Snap!, StarLogo Nova, NetLogo);
  4. Использовать многоагентные модели для выращивания данных о совместной деятельности.
  5. Планировать серии экспериментов по нескольким переменным с использованием Behavior Space
  6. Анализировать данные, полученные в искусственных сообществах при помощи открытых инструментов RAWGraphs, CODAP
Содержание разделов курса
  1. Модели группового поведения
    1. Flocking
    2. Segregation,
    3. Team Assembly,
    4. Termites
  2. Среды многоагентного моделирования
    1. Scrtch
    2. Snap!
    3. StarLogo Nova
    4. NetLogo
  3. Выращивание данных и постановка экспериментов
    1. BehaviorSpace
  4. Среды анализа и визуализации выращиваемых данных
    1. RAWGraphs,
    2. CODAP,
    3. R,
    4. NetLogo
Видео запись
Среды и средства, которые поддерживают учебный курс R, RAWGraphs, RStudio, Snap!, Scratch, StarLogo Nova, BehaviorSpace
Книги, на которых основывается учебный курс 20 things to do, Agent-Based and Individual-Based Modeling: A Practical Introduction, Computer Science with Snap! by Examples, Growing Artificial Societies: Social Science From the Bottom Up (Complex Adaptive Systems), Modeling Social Behavior: Mathematical and Agent-Based Models of Social Dynamics and Cultural Evolution, R for Data Science, Thinking Like a Tree


Последовательность


Понятия

{{#ask: [[]] OR [[]] | ?Description }}

 Description
FlockingСтая, образование стаи - процесс формирования коллективного поведения без каких-либо руководящих указаний в результате наблюдения за поведением товарищей по стае.
Team AssemblyTeam Assembly - формирование команд. Ключевое понятие в области Team Science - как образуются команды

Простые модели

 Description
Flocking (model)Модель самопроизвольного формирования стаи в результате действий множества участников (птиц, рыб, людей). Модель формирования стаи - это классическая агентно-ориентированная модель, основанная на оригинальных моделях Рейнольдса (1987). Модель демонстрирует, что стаи птиц могут возникать даже в отсутствии специальных птиц-вожаков, которые ведут всех за собой. Скорее, каждая птица следует общему же набору правил, и из выполнения всеми простых правил появляются стаи. Каждая птица следует трем правилам: «выравнивание», «разделение» и «сплоченность».
  1. «Выравнивание» означает, что птица поворачивается так, что движется в том же направлении, что и ближайшие птицы.
  2. «Разделение» означает, что птица поворачивается, чтобы не столкнуться с другой птицей.
  3. «Сплоченность» означает, что птица движется к другим ближайшим птицам.

Правило «разделения» имеет приоритет над двумя другими, что означает, что если две птицы приближаются друг к другу, они всегда будут разделяться. В этом случае два других правила отменяются до тех пор, пока не будет достигнуто минимальное разделение. Эти три правила влияют только на направление птицы. Каждая птица всегда движется вперед с одинаковой постоянной скоростью.

Правила удивительно надежны и могут быть адаптированы к скоплению насекомых, стаям рыб и паттернам «V» стаи гусей (Stonedahl & Wilensky, 2010a).
Segregation (model)Модель сегрегации
Модель сегрегации Шеллинга
– это агент-ориентированная модель, которая иллюстрирует, как индивидуальные тенденции в отношении соседей могут привести к сегрегации. Модель особенно полезна для изучения жилищной сегрегации этнических групп, где агенты представляют домовладельцев, которые переселяются в город. В модели каждый агент принадлежит к одной из двух групп и стремится жить в районе, где доля "друзей" достаточно высока: выше определенного порогового значения F. В зависимости от F, для групп равного размера, модель проживания по Шеллингу сходится либо к полной интеграции (случайное распределение), либо к сегрегации.

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

- Переезд при превышении порога: Если доля соседей другой группы превышает установленный порог, человек решает переехать. Этот переезд приводит к тому, что районы становятся всё более сегрегированными.
Sugarscape modelSugarscape model (сахарная модель) - один из методов(моделей) разработки искусственного общества. Модель стала популярна благодаря известной работе «Growing Artificial Societies». Является одной из простых моделей и прекрасным инструментом для обсуждения и экспериментального исследования ряда научных вопросов. Имеется некоторая окружающая среда — сахарный ландшафт, где в двумерном пространстве разбросан сахар — где-то больше, где-то меньше; и туда же помещены агенты-жуки, которые ползают по сахарному ландшафту по простым правилам: агенту надо есть сахар, и он перемещается туда, где сахара больше. Так они двигаются, поедают сахар, который появляется в той или иной точке тоже по каким-то законам. Наблюдая за поведением агентов на экране мы видим то, что Джошуа Эпштейн и Роберт Акстелл определили как прото-историю или Proto-Narrative
  • 120px-Lorenz_ginni.png
Team Assembly (model)Эта модель коллаборативных сетей показывает, как поведение отдельных людей при формировании небольших команд для краткосрочных проектов может со временем привести к появлению множества крупномасштабных сетевых структур.
  • 120px-Team_assembl.png
  • ТермитыМодель термитника (муравейника), когда тупые, слабые и слабовидящие агенты перемещаются по полю и собирают на нём палочки. Есть версия "Термиты с журналом", когда все действия термитов над палочками записываются в лог-файл и потом можно построить графы команд, где в команду объединены термиты, носившие одни и те же палочки.

    Языки

     Description
    NetLogoЯзык программирования и среда для построения многоагентных моделей. В качестве агентов в системе действуют пятна, черепашки и связи. Ко всем агентам можно обратится. При этом пятна нельзя уничтожить, а связи исчезают, если погибают черепашки, которых они связывают. NetLogo чаще других используется при создании многоагентных моделей, поскольку программы не этом языке понятны специалистам различных предметных областей. Библиотека NetLogo содержит множество готовых моделей по биологии, математике, химии, социология. С этими моделями могут ознакомиться и поиграть ученики.
    ScratchСреда программирования, которая позволяет детям создавать собственные анимированные и интерактивные истории, игры и другие произведения. Этими произведениями можно обмениваться внутри международной среды, которая постепенно формируется в сети Интернет. Scratch — это учебный блочный язык программирования, позволяющий ученикам создавать игры, цифровые истории. Среда разработки дает возможность детям редактировать аудиофайлы и монтировать небольшие, но полноценные видеоролики. В новые версии языка создатели обещают добавить функционал для создания собственных мобильных приложений.
    Snap!Блочный язык программирования для преподавания алгоритмов и структур данных. Snap! - потомок языка Scratch. В отличие от Scratch Snap! поддерживает лямбда-исчисление, объекты первого класса, процедуры, рекурсия и множество других возможностей. С версии 4.0 Snap! получил современное название и был переписан на JavaScript. Moscow_city_univ.png
    StarLogo Nova120px-Slnova.png
    • StarLogo Nova – среда совместного агентного моделирования в трехмерной среде. Во многом это среда продолжает и развивает традиции языка Scratch. При этом здесь можно ставить серьезные эксперименты и получать воспроизводимые результаты. Центральной метафорой среды является мир (World), в котором можно создавать агенты различных пород.


    Средства

     Description
    BehaviorSpaceСпециальная отдельная программа, встроенная в среду агентного моделирования NetLogo и предназначенная для постановки экспериментов. BehaviorSpace - это программный инструмент, интегрированный с NetLogo, который позволяет проводить эксперименты с моделями.
    • 120px-Behavior_space_flocking.png
    CODAPИнструмент визуализации данных проведения статистических исследований на основе данных. Данные - есть готовые наборы данных, либо можно получить данные из игр и моделей.
  • Готовые данные встраиваются в Snap!
  • Источником данных могут быть модели NetLogo
  • RR — язык программирования для статистической обработки данных и работы с графикой, а также свободная программная среда вычислений с открытым исходным кодом в рамках проекта GNU. Используется для обработки, анализа и визуализации данных
    RAWGraphsRAWGraphs - это веб-приложение с открытым исходным кодом для визуализаций статических данных. При этом формы представления данных можно изменять.

    Не требует регистрации.

    По состоянию на 2 августа 2021 г - бета-версия. Язык интерфейса - английский


    Модели для модификации

     Description
    School Choice ABMМодель "School Enrollment" представляет собой модель, которая иллюстрирует систему школьного образования в Чили, основанную на рыночных принципах. В этой модели студенты могут выбирать между различными типами школ: государственными, частными с ваучерами и частными платными. Модель изображает город, в котором расположены школы и студенты.
    schools-own - enrollment achievement traffic-lights-color is-private?
    students-own - target enrolled? income years-in-school school-achievement

    Есть версии, когда имеют дополнительные атрибуты, такие как географическое положение, сектор (государственная или частная), стоимость обучения, уровень достижений студентов, максимальная вместимость, год открытия и закрытия, а также вероятность того, что о ней узнают ученики.

    • School_achivements.jpg
    Team AssemblyTeam Assembly - формирование команд. Ключевое понятие в области Team Science - как образуются команды