Основы компьютерного моделирования (Syllabus)

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



Планируемые результаты обучения (Знать, Уметь, Владеть)
  • Использовать готовые модели для обучения, исследования и обсуждения
  • Проектировать модели
  • Программировать модели
Содержание разделов курса
Видео запись https://www.youtube.com/watch?v=4NS4EYQFKy0&t=6s
Среды и средства, которые поддерживают учебный курс R, Snap!, NetLogo, StarLogo Nova
Книги, на которых основывается учебный курс Agent-Based and Individual-Based Modeling: A Practical Introduction, Growing Artificial Societies: Social Science From the Bottom Up (Complex Adaptive Systems)


Дополнительные вводные материалы

Видео

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


Карта курса

Вводная лекция

Подбор компетенций, которые уже есть на площадке

  1. Practice defining problems to solve by computing for data analysis, modeling or algorithmic thinking
  2. Simulation (the ability to interpret and construct dynamic models of real world processes)
  3. Владение методами моделирования
  4. Способность быстро разбираться, комбинировать и организовывать информацию в значимые модели

Понятия учебного курса

 DescriptionEnvironment
Агентное моделированиеАгентное моделирование (agent-based model) (ABM)— метод имитационного моделирования, исследующий поведение децентрализованных агентов и то, как такое поведение определяет поведение всей системы в целом. В отличие от системной динамики аналитик определяет поведение агентов на индивидуальном уровне, а глобальное поведение возникает как результат деятельности множества агентов (моделирование «снизу вверх»). ABM представляют собой модели, в которых отдельные лица или агенты описываются как уникальные и автономные объекты, которые обычно взаимодействуют друг с другом и с окружающей их средой на местном уровне. Агентами могут быть организмы, люди, предприятия, учреждения и любые другие объекты, преследующие определенную цель. Когда мы даем агентам правила адаптации к изменениям в их среде и к тому, что делают другие агенты, тогда поведение каждого отдельного агента и, следовательно, поведение всей системы вытекает из этих правил, характеристик агентов и окружающей среды. Эмерджентность - это основная объясняющая концепция агентного моделирования. Эпштейн и Акстелл (1996) удачно описали этот вид объяснения своим знаменитым вопросом:
  • «Сможете ли вы его вырастить?»:
    • Можете ли вы заставить вашу модельную систему выглядеть и вести себя как настоящая, снабдив своих агентов правильным адаптивным поведением?
NetLogo
StarLogo Nova
Scratch
Snap!
BehaviorSpace
Большая языковая модельLLM — нейросетевые модели, которые позволяют обобщать, понимать и писать тексты на разных языках. Нейросеть выучивает язык во время обучения, при котором ей «показывают» огромное количество художественной литературы, интернет-форумов, энциклопедий и других источников, хорошо представляющих человеческий язык во всем его многообразии.
Имитационное моделированиеИмитационное моделирование (англ. simulation modeling) — метод исследования, при котором изучаемая система заменяется моделью, с достаточной точностью описывающей реальную систему (построенная модель описывает процессы так, как они проходили бы в действительности), с которой проводятся эксперименты с целью получения информации об этой системе. Такую модель можно «проиграть» во времени, как для одного испытания, так и заданного их множества. При этом результаты будут определяться случайным характером процессов. По этим данным можно получить достаточно устойчивую статистику. Экспериментирование с моделью называют имитацией (имитация — это постижение сути явления, не прибегая к экспериментам на реальном объекте).
Многоагентное моделированиеМногоагентное моделирование (ABM) — это метод компьютерного моделирования, в котором отдельные "агенты" (объекты или сущности) взаимодействуют друг с другом и с окружающей средой согласно заданным правилам. Каждый агент может принимать собственные решения и действовать независимо, что позволяет моделировать сложные системы и процессы, такие как социальное взаимодействие, экономические рынки или экосистемы.NetLogo
StarLogo Nova
МоделированиеМоделирование — это процесс создания упрощенной репрезентации реального объекта, системы или процесса с целью анализа, понимания или предсказания их поведения. Модели могут быть физическими, математическими или компьютерными и служат инструментом для изучения сложных явлений и принятия решений.NetLogo
StarLogo Nova
МодельМоде́ль (фр. modèle от лат. modulus «мера, аналог, образец») — система, исследование которой служит средством для получения информации о другой системе; представление некоторого реального процесса, устройства или концепции. Модель есть абстрактное представление реальности в какой-либо форме (например, в математической, физической, символической, графической или дескриптивной), предназначенное для рассмотрения определённых аспектов этой реальности и позволяющее получить ответы на изучаемые. Система В является моделью системы А для активной системы Q (человека-индивида, коллектива, животного, робота и т. п.), если основанием для ее использования этой активной системой служит ее структурное сходство с моделируемой системой А.Foldit
NetLogo
StarLogo Nova
Модель NetLogoМодель - многоагентная симуляция какого-либо процесса, написанная на языке NetLogo. Используется в качестве социального объекта в целом ряде сетевых сообществ для взаимодействия студентов, преподавателей и исследователей.NetLogo
Модель акторовМодель а́кторов — математическая модель параллельных вычислений, строящаяся вокруг понятия актора (англ. actor «актёр; действующий субъект»), считающегося универсальным примитивом параллельного исполнения. Актор в данной модели взаимодействует путём обмена сообщениями с другими акторами, и каждый в ответ на получаемые сообщения может принимать локальные решения, создавать новые акторы, посылать свои сообщения, устанавливать, как следует реагировать на последующие сообщения.NetLogo
StarLogo Nova
Scheme
Модель белкаТретичная структура белка, спрогнозированная на основе аминокислотной последовательности. Цель игры головоломки FoldIt состоит в поиске трёхмерной структуры определённого белка с самым низким уровнем свободной энергииFoldit
FoldIt сообщество
Модель компетенцийМодель компетенций (профиль компетенций) структурированный набор необходимых, идентифицируемых и измеряемых компетенций с индикаторами поведения
Модель обеспечения качестваСистема объединенных определенной точкой зрения параметров, связанных между собой и позволяющих достичь прогнозируемого результата
Онтология модели пользователяОнтология модели пользователя - ученика. В онтологии представлены его цели, действия, фиксируемые в электронной среде переменные.VUE
Protege
Сценарное моделированиеТехнология сценарного моделирования взаимодействия объектов различного типа была разработана Жилем Паккетом. Изначально в этой технологии разные типы знания представлены при помощи фигур разного типа. Например. Абстрактные знания, концепции, информационные источники представлены в форме прямоугольников. Процедуры и задачи представлены форме овалов. Принципы представлены в форме 6-угольников. Агенты и команды участников часто изображаются на схемах в той же форме, что и принципы, чтобы подчеркнуть то значение, которое они играют в контроле процессов. Исходные блоки этой моделирующей среды Паккет использовал и для представления связей между агентами и объектами совместной деятельности.
Языковая модельЯзыковая модель — это распределение вероятностей по последовательностям слов. Языковые модели генерируют вероятности путём обучения на корпусе текстов на одном или нескольких языках. Учитывая, что языки могут использоваться для выражения огромного множества верных предложений (так называемая цифровая бесконечность), языковое моделирование сталкивается с проблемой задания ненулевых вероятностей лингвистически верным последовательностям, которые могут никогда не встретиться в обучающих данных.Java
JavaScript
Python
Julia
R

Книги и авторы для курса

 InventorDescriptionEnvironment
Agent-Based and Individual-Based Modeling: A Practical IntroductionRailsback
Grimm
Подробное руководство по дизайну экспериментов в среде Netlogo с использованием BehaviorSpace и использованием ODD принципов
  • 120px-Behavior_space_flocking.png
NetLogo
BehaviorSpace
Mesa
An Introduction to Agent-Based Modeling: Modeling Natural, Social, and Engineered Complex Systems with NetLogoWilensky
Rand
Введение в моделирование систем при помощи языка NetLogo (от создателя языка) - использование NetLogo в естественно-научном, инженерном и общественном образованииNetLogo
Individual-Based Models of Cultural Evolution: A Step-by-Step Guide Using RAcerbiКнига показывает как создавать агентно-ориентированные модели или ABM культурной эволюции. В тексте книги используется код на языке программирования R. От очень простых моделей основных процессов культурной эволюции, таких как предвзятая передача и культурная мутация, к более сложным темам, таким как эволюция социального обучения, демографические эффекты и анализ социальных сетей.R
Ggplot
Modeling Social Behavior: Mathematical and Agent-Based Models of Social Dynamics and Cultural EvolutionSmaldinoСоциальные, поведенческие и когнитивные науки исторически полагались на силу слова. Слова имеют силу. Богатые аналогии могут найти отклик в умах читателей и пролить свет на тайны природы. Я говорю о вербальных теориях, описательных объяснениях сложных явлений. Большинство теорий, вероятно, более точны, чем поэтичны, но они, как правило, опираются на свойство большинства языков, согласно которому фраз могут нести в себе несколько возможных импликатур — рассмотрим, например, такие слова, как «восприятие», «категория», «идентичность», «тождественность» обучение» и даже «реакция» достаточно двусмысленны, чтобы допускать множество интерпретаций. То есть язык по своей сути (и адаптивно) расплывчат и двусмыслен. В конечном счете, это проблема для ученых, потому что нам нужно предельно четко понимать, о чем мы говорим, чтобы выдвинуть полезные теории Вселенной.NetLogo
BehaviorSpace
R
ODD принципы
Центральная предельная теорема
Tidy Modeling with RSigleРуководство по созданию и использованию моделей при помощи пакетов из пространства tidyverse: recipes, parsnip, workflows, yardstick, and others.R
RStudio
R for Data Science
Turtles, termites, and traffic jams: explorations in massively parallel microworldResnickКнига "Черепахи, термиты и дорожные пробки: исследования в микромире массово-параллельных вычислений" Децентрализованный подход к феноменам окружающего мира - на основе использования микромира с тысячами черепашекNetLogo
StarLogo Nova
Scratch
StarLogo
Кларин М. В. Инновационные модели обученияКларин М.В.Кларин М.В. Инновационные модели обучения: Исследование мирового опыта. Монография. М.: Луч, 2016. 640 с.

Игры

 Description
FolditФолдит — многопользовательская игра онлайн-головоломка о фолдинге белка. Игра является частью исследовательского проекта и разработана в Вашингтонском университете. Предмет игры — наилучшим образом свернуть структуру выбранных протеинов; лучшие пользовательские решения анализируются учёными, которые могут с их помощью найти решение реальных научных проблем, связанных с поиском вакцин и биологическими инновациями.
SimAntSimAnt: The Electronic Ant Colony — компьютерная игра-симулятор, созданная студией Maxis и выпущенная в 1991 году. Является третьей игрой серии Sim после SimCity и SimEarth. Игра получила премию от ассоциации программного обеспечения Codie award как лучший симулятор года. Игра создавалась при сотрудничестве Эдварда Уилсона — известного биолога, изучавшего социальное поведение муравьёв в колониях. Игра была выпущена для IBM PC, Commodore Amiga, Apple Macintosh и Super Nintendo Entertainment System.
SimCityВ SimCity у игрока обычно нет определённой цели, по достижении которой игра заканчивается. Играющий управляет городом, выступая в роли мэра. Ему предоставляется возможность собирать налоги, строить городские здания и прокладывать дороги. Конечно, в руках мэра далеко не все аспекты жизни города — он не может, например, приказывать, где строить частные здания, а может только планировать территорию, разделяя её на коммерческие, жилые и промышленные зоны. Эти зоны впоследствии застраиваются жителями города. В случае, если привлекательность данной зоны в глазах городских жителей низка (причиной чего могут быть высокие налоги в данной сфере или недостаточное развитие других городских зон), она не будет застраиваться. В январе 2008 года код оригинальной SimCity был открыт и теперь распространяется под лицензией GPLv3. Права на имя «SimCity» принадлежат Electronic Arts, поэтому открытый проект был переименован в Micropolis.
SimsThe Sims — однопользовательская видеоигра в жанре симулятора жизни, первая по счёту из серии The Sims, разработанная командой разработчиков Maxis под руководством геймдизайнера Уилла Райта и изданная компанией Electronic Arts. Игра создавалась при сотрудничестве Эдварда Уилсона — известного биолога, изучавшего социальное поведение муравьёв в колониях. Игра была выпущена для IBM PC, Commodore Amiga, Apple Macintosh и Super Nintendo Entertainment System. Когда игрок впервые играет в The Sims в рамках обучающей программы, он должен управлять семьёй молодожёнов — Ньюби (англ. Newbie), которая только переехала в город и должна освоиться в нём. Действие игры происходит в городке, где проживают пять семей.

Модели

 DescriptionEnvironment
Air Pollution - Buses and CarsКогда модель работает, автобусы непрерывно следуют по дороге. В домах есть люди, которым нужно добираться на работу. Если автобус проезжает мимо дома, человек из этого дома «садится в автобус». Однако, если автобус не прибудет достаточно скоро, вместо этого человек использует личную машину, в результате чего на дороге появится машина, которой необходимо проехать определенное расстояние, прежде чем ее уберут с дороги. Автомобили выбрасывают 1 загрязнение каждые 7 «тиков». Автобусы выбрасывают одно загрязнение каждые 1 тик. Автомобили и автобусы следуют основным правилам дорожного движения: снижайте скорость, если многолюдно, и останавливайтесь, если впереди нет места для движения.
  • 117px-Pollution_Bus_Car.png
StarLogo Nova
Artificial AnasaziПроект был посвящен воспроизведению древнеиндейской культуры анасази в виде цифрового искусственного общества. Была смоделирована динамика города Кайента (Аризона, США) в период с 900 по 1350 год нашей эры, после которого упомянутая цивилизация исчезла. Главный вопрос для археологов был следующий: почему так произошло? С использованием расширенной версии модели Sugarscape была создана окружающая агентов среда с учетом гидрологических особенностей территории, плодородности почвы, засушливости и других параметров. В свою очередь, расселение анасази по территории в рамках цифровой модели осуществлялось на основе данных, собранных лабораторией годичных колец Аризонского университета (Tree Ring Laboratory at the University of Arizona). Each agent represents a household of five persons. Each household makes annual decisions on where to farm and where to settle. A household has an age, and a stock of food surplus previous years. Each cell represents a 100 meter by 100 meter space. Each cell is within one of the different zones of land: General Valley Floor, North Valley Floor, Midvalley Floor, Arable Uplands, Uplands Non-Arable, Kinbiko Canyon or Dunes. These zones have agricultural productivity that is determined by the Palmer Drought Severity Index (PDSI).NetLogo
Basketball analyticsМодель агентного моделирования (ABM) в баскетболе, разработанная согласно протоколу ODD, исследует динамику игры как сложной адаптивной системы. В ней игроки принимают решения о бросках, передачах и дриблинге, основываясь на производительности своих товарищей по команде и различных игровых условиях, таких как оставшееся время и вероятность успешного броска. Модель учитывает влияние факторов, таких как "горячая рука" (hot-hand) и вера в главного игрока команды. Игроки взаимодействуют друг с другом и с окружающей средой, что позволяет моделировать реалистичные игровые ситуации. Результаты симуляции используются для анализа статистики и проверки гипотез о когнитивных искажениях в спортивной аналитике.
  • 120px-BasketABM.jpg
NetLogo
Butterfly modelЭксперименты с моделью приведены в книге Agent-Based and Individual-Based Modeling: A Practical IntroductionNetLogo
Community of Practice (model)Эта модель имитирует поведение Сообщества Практики (CoP) — группы людей, которые увлечены определенной темой и углубляют свои знания и опыт в этой области через постоянное взаимодействие. Для этого пользователи задают вопросы, а другие отвечают. Цель этой модели — понять, как пользователи взаимодействуют друг с другом.NetLogo
Dawkins WeaselDawkins Weasel is a NetLogo model that illustrates the principle of evolution by natural selection. It is inspired by a thought experiment presented by Richard Dawkins in his book The Blind Watchmaker (1986). He presents the idea as follows:NetLogo
Fire (model)
  • Forest_fire_model.gif
  • Запустите модель Fire несколько раз. Если мы запустим его с низкой плотностью деревьев, мы увидим, как и ожидалось, очень небольшое распространение огня. Если мы запустим его с очень высокой плотностью деревьев, мы, как и ожидалось, увидим, как лес уничтожается неумолимым маршем огня. Чего ожидать при средней плотности? Многие предполагают, что если плотность установлена на 50 процентов, то вероятность того, что огонь достигнет правого края леса, будет 50 процентов. Однако если мы попробуем это сделать, то увидим, что при 50-процентной плотности огонь не распространяется сильно. Если мы увеличим его до 57 процентов, огонь горит больше, но обычно все равно не достигает другой стороны леса. Однако если мы увеличим плотность до 61 процента, то есть всего на 2 процента больше, огонь неизбежно достигнет другой стороны. Это неожиданно. Мы ожидаем, что небольшое изменение плотности окажет относительно небольшое влияние на распространение огня. Но, как выясняется, модель Fire имеет «критический параметр» 59% плотности.

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

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

    Правила удивительно надежны и могут быть адаптированы к скоплению насекомых, стаям рыб и паттернам «V» стаи гусей (Stonedahl & Wilensky, 2010a).
    NetLogo
    StarLogo Nova
    Scratch
    Snap!
    Leaders & Followers (model)Модель лидеров (харизматиков) и их последователей - тех, кто за ними следует и устанавливает с ними связи.
    • 120px-Leaders_follow.png
    NetLogo
    StarLogo Nova
    Life (model)Модель игры в жизнь. This particular cellular automaton is called The Game of Life. A cellular automaton is a computational machine that performs actions based on certain rules. It can be thought of as a board which is divided into cells (such as square cells of a checkerboard). Each cell can be either "alive" or "dead." This is called the "state" of the cell. According to specified rules, each cell will be alive or dead at the next time step.

    Эмерджентность: в модели Life (model) эмерджентные явления играют ключевую роль. Они проявляются в виде неожиданных и сложно предсказуемых паттернов поведения, возникающих из простых правил взаимодействия между агентами. Эти паттерны могут включать сложные формы социального поведения, образование колоний или даже возникновение новых видов.

    Адаптация: агентам в модели Life предоставляется возможность адаптироваться к меняющимся условиям среды. Это достигается путем модификации своих стратегий выживания и размножения на основе предыдущего опыта и наблюдений. Адаптации могут происходить как на уровне индивидуального агента, так и на популяционном уровне, что приводит к изменению генетической структуры популяции.

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

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

    Ощущение: агенты обладают способностью воспринимать окружающую среду через сенсоры, которые предоставляют им информацию о температуре, влажности, наличии пищи и других факторов. Эта информация используется для принятия решений и адаптации к текущим условиям.
    NetLogo
    Multi-mediator modelМодель позволяет проводить вычислительные эксперименты по изучению математических идей учениками средней школы. Модель посвящена проблема низкой успеваемости по математике у студентов с низким социально-экономическим статусом (SES). В Австралии 15-летние студенты с низким SES отстают на три года по уровню математической подготовки. Подобная же ситуация наблюдается и в США. Цель исследования - исследовать, может ли компьютерное моделирование помочь улучшить математическую успеваемость студентов с низким SES, чтобы преодолеть трехлетнее отставание.NetLogo
    Piaget-Vygotsky (model)Модель «обучения через игру» была создана для следующих целей:
    1. продемонстрировать жизнеспособность агент-ориентированного моделирования для изучения социально-психологических феноменов развития;
    2. проиллюстрировать потенциал ABM как платформы, позволяющей общаться и сотрудничать между психологами с различными теоретическими взглядами; и, в частности,
    3. визуализировать взаимодополняемость объяснений Пиаже и Выготского о том, как люди учатся.
    • 120px-Piage_Vyg.png
    NetLogo
    Preferential AttachmentМодель предпочтительного присоединения - Preferential Attachment - Процесс предпочтительного присоединения - это любой из классов процессов, в которых некоторое количество, обычно некоторое форма богатства или кредита распределяется между несколькими людьми или объектами в зависимости от того, сколько они уже имеют, так что те, кто уже богат, получают больше, чем те, кто не богат. «Предпочтительная привязанность» - это лишь последнее из многих названий, которые были даны таким процессам. Они также упоминаются как «богатые становятся богаче». Процесс предпочтительного присоединения генерирует распределение «с длинным хвостом » после распределения Парето или степенной закон в его хвосте. Это основная причина исторического интереса к предпочтительной привязанности: распределение видов и многие другие явления наблюдаются эмпирически, следуя степенным законам, и процесс предпочтительной привязанности является ведущим механизмом для объяснения этого поведения. Предпочтительное прикрепление считается возможным основанием для распределения размеров городов, богатства чрезвычайно богатых людей, количества цитирований, полученных научными публикациями, и количества ссылок на страницы во всемирной паутине.
  • 120px-Pref_attachm.png
  • NetLogo
    Prisoner's dilemmaДилемма заключенного - это классическая задача в теории игр, которую можно использовать для преподавания вычислительной истории, иллюстрируя динамику сотрудничества и конкуренции в исторических контекстах. Дилемма заключенного может быть включена в вычислительную историю несколькими способами: 1) Моделирование исторических взаимодействий: Дилемма заключенного может быть использована в качестве основы для моделирования взаимодействия между историческими акторами, такими как отдельные люди, группы или государства. Моделируя решения и выплаты этих субъектов в различных сценариях, учащиеся могут получить представление о факторах, повлиявших на сотрудничество или конкуренцию в исторических событиях. 2) Изучение возникновения норм и институтов: Дилемма заключенного может быть использована для изучения возникновения социальных норм и институтов в исторических обществах. Например, учащиеся могут создать агентные модели, которые имитируют взаимодействие людей, следующих правилам дилеммы заключенного, а затем проанализировать, как различные стратегии, такие как tit-for-tat (око за око) или "всегда сотрудничать", приводят к развитию норм сотрудничества или к его разрушению.NetLogo
    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
    NetLogo
    Segregation (model)Модель сегрегации
    Модель сегрегации Шеллинга
    – это агент-ориентированная модель, которая иллюстрирует, как индивидуальные тенденции в отношении соседей могут привести к сегрегации. Модель особенно полезна для изучения жилищной сегрегации этнических групп, где агенты представляют домовладельцев, которые переселяются в город. В модели каждый агент принадлежит к одной из двух групп и стремится жить в районе, где доля "друзей" достаточно высока: выше определенного порогового значения F. В зависимости от F, для групп равного размера, модель проживания по Шеллингу сходится либо к полной интеграции (случайное распределение), либо к сегрегации.

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

    - Переезд при превышении порога: Если доля соседей другой группы превышает установленный порог, человек решает переехать. Этот переезд приводит к тому, что районы становятся всё более сегрегированными.
    NetLogo
    StarLogo Nova
    Slime (агрегация слизевиков)Эта модель показывает, как существа могут объединяться в кластеры без контроля со стороны клетки-лидера или пейсмейкера. Это открытие было впервые описано Эвелин Фокс Келлер и Ли Сигел в статье в 1970 году. До того, как Келлер начала свои исследования, общепринятым считалось, что рои слизевиков образуются по команде клеток-лидеров, которые приказывают другим клеткам начать агрегацию.
    • 120px-Slime_model.png
    NetLogo
    Soccer SimulationМодель симуляции футболаNetLogo
    Solid Diffusion (model)This model demonstrates a solid diffusion couple, such as copper and nickel. In a real laboratory, such experiment would take place at very high temperatures, for the process to take place in a reasonable amount of time (note that the diffusion coefficient varies exponentially with the inverse of the temperature). There are many mechanisms for diffusion in solids. In this model we demonstrate one of them, which is caused by missing atoms in the metal crystal. The locations, of the missing atoms are often called vacancies. Therefore, this type of diffusion mechanism is referred to as "vacancy diffusion". The extent to which the diffusion can happen depends on the temperature and the number of vacancies in the crystal.NetLogo
    Sugarscape modelSugarscape model (сахарная модель) - один из методов(моделей) разработки искусственного общества. Модель стала популярна благодаря известной работе «Growing Artificial Societies». Является одной из простых моделей и прекрасным инструментом для обсуждения и экспериментального исследования ряда научных вопросов. Имеется некоторая окружающая среда — сахарный ландшафт, где в двумерном пространстве разбросан сахар — где-то больше, где-то меньше; и туда же помещены агенты-жуки, которые ползают по сахарному ландшафту по простым правилам: агенту надо есть сахар, и он перемещается туда, где сахара больше. Так они двигаются, поедают сахар, который появляется в той или иной точке тоже по каким-то законам. Наблюдая за поведением агентов на экране мы видим то, что Джошуа Эпштейн и Роберт Акстелл определили как прото-историю или Proto-Narrative
  • 120px-Lorenz_ginni.png
  • NetLogo
    Team Assembly (model)Эта модель коллаборативных сетей показывает, как поведение отдельных людей при формировании небольших команд для краткосрочных проектов может со временем привести к появлению множества крупномасштабных сетевых структур.
  • 120px-Team_assembl.png
  • NetLogo
    Traffic jamsМодель формирования и рассасывания дорожной пробки, реализованная в нескольких средах многоагентного моделирования

    Принципы: Эмерджентное поведение: Формирование пробки является результатом коллективного поведения агентов-автомобилей, а не предписанным поведением отдельного агента. Непредсказуемость: Модель может быть стохастической, то есть случайные факторы, такие как непредсказуемое поведение водителей, могут влиять на формирование и рассасывание пробки.

    Адаптация: Агенты-автомобили могут адаптироваться к изменяющимся условиям движения, например, меняя свою скорость или маршрут.
    NetLogo
    StarLogo Nova
    Snap!
    Urban Suite - AwarenessМодель определяет теоретический уровень «осведомленности» человека в городской среде на основе случайного контакта человека с информационными центрами. В модели информационными центрами являются любые источники обмена позитивной информацией. В этой модели каждый человек обладает некоторой степенью «осведомленности», которая измеряется в «очках осведомленности». Существует дискретный набор «уровней» осознания, которых могут достичь люди. Человек может быть «неосведомленным» (0–5 баллов), «осведомленным» (5–10 баллов), «хорошо информированным» (10–15 баллов) или «активистом» (более 15 баллов). Чтобы обрести осознанность, человек либо бежит в центр, где получает пять очков осознанности; или находится под влиянием хорошо информированного человека. Если одно из этих событий не произойдет в течение заданного временного шага (tick), человек потеряет одно очко осведомлённости (вплоть до нуля). Когда человек становится активистом (15 точек осознания), формируется новый центр. Новые информационные центры окрашены в синий цвет, а первоначальные информационные центры - в зеленый. Если никто не вступает в контакт с центром в течение заданного времени (см. ползунок НЕИСПОЛЬЗОВАНИЕ-ОГРАНИЧЕНИЕ), центр исчезает из мира. Если какой-либо информационный/рекламный метод или место не приносит результатов, в конечном итоге он будет закрыт.NetLogo
    Urban Suite - Economic DisparityКогда в мире появляется новое место работы, оно случайным образом выбирает некоторое количество местоположений (управляемое ползунком КОЛИЧЕСТВО ИСПЫТАНИЙ) и выбирает то, которое имеет самую высокую цену (то есть стоимость земли). Поначалу это может показаться иррациональным, но в этой модели предполагается, что рабочие места перемещаются туда, где находится богатство. Если в определенной области денег больше, то есть более состоятельные люди, которые могут потратить эти деньги на товары и услуги. В этой модели есть два принципиально разных типа людей — «бедные» люди (показаны синим цветом) и «богатые» люди (показаны розовым цветом), и у них разные приоритеты. Оба типа людей желают располагаться недалеко от места работы. Однако богатые люди ищут место с хорошим качеством, не обращая внимания на цену, в то время как бедные люди ищут места с низкой ценой, не обращая внимания на качество.NetLogo
    Модель Лотки — ВольтеррыМоде́ль Ло́тки — Вольте́рры (модель Ло́тки — Вольтерра́) — модель взаимодействия двух видов типа «хищник — жертва», названная в честь своих авторов (Лотка, 1925; Вольтерра 1926), которые предложили модельные уравнения независимо друг от друга.StarLogo Nova
    R
    Netlogo
    Насосы и испарениеМодель физических процессов, в которой происходит испарение водыStarLogo Nova
    Собирание учеников в классы3 Учителя - черный, красный и желтый собирают учеников в свои классыStarLogo Nova
    ТермитыМодель термитника (муравейника), когда тупые, слабые и слабовидящие агенты перемещаются по полю и собирают на нём палочки. Есть версия "Термиты с журналом", когда все действия термитов над палочками записываются в лог-файл и потом можно построить графы команд, где в команду объединены термиты, носившие одни и те же палочки.NetLogo
    StarLogo Nova
    Футбольное поле с множеством мячиковМодель сбора данных с поля, на котором множество игроков взаимодействуют со множеством мячиков. Модель используется для
    • обсуждения и пояснения понятия Социальный Объект
    • сбора данных с цифрового поля
    StarLogo Nova

    Разделы учебного курса

    Понятие модели и моделирования

     DescriptionEnvironment
    АгентАгенты - это автономные объекты, которые могут самостоятельно реагировать на внешние события и выбирать соответствующие действия. Это - некто или нечто, выполняющий инструкции. В информатике - сущность, которая расположена в некоторой среде и способна в этой среде к автономным целенаправленным действиям.NetLogo
    Scratch
    Агентное моделированиеАгентное моделирование (agent-based model) (ABM)— метод имитационного моделирования, исследующий поведение децентрализованных агентов и то, как такое поведение определяет поведение всей системы в целом. В отличие от системной динамики аналитик определяет поведение агентов на индивидуальном уровне, а глобальное поведение возникает как результат деятельности множества агентов (моделирование «снизу вверх»). ABM представляют собой модели, в которых отдельные лица или агенты описываются как уникальные и автономные объекты, которые обычно взаимодействуют друг с другом и с окружающей их средой на местном уровне. Агентами могут быть организмы, люди, предприятия, учреждения и любые другие объекты, преследующие определенную цель. Когда мы даем агентам правила адаптации к изменениям в их среде и к тому, что делают другие агенты, тогда поведение каждого отдельного агента и, следовательно, поведение всей системы вытекает из этих правил, характеристик агентов и окружающей среды. Эмерджентность - это основная объясняющая концепция агентного моделирования. Эпштейн и Акстелл (1996) удачно описали этот вид объяснения своим знаменитым вопросом:
    • «Сможете ли вы его вырастить?»:
      • Можете ли вы заставить вашу модельную систему выглядеть и вести себя как настоящая, снабдив своих агентов правильным адаптивным поведением?
    NetLogo
    StarLogo Nova
    Scratch
    Snap!
    BehaviorSpace
    МодельМоде́ль (фр. modèle от лат. modulus «мера, аналог, образец») — система, исследование которой служит средством для получения информации о другой системе; представление некоторого реального процесса, устройства или концепции. Модель есть абстрактное представление реальности в какой-либо форме (например, в математической, физической, символической, графической или дескриптивной), предназначенное для рассмотрения определённых аспектов этой реальности и позволяющее получить ответы на изучаемые. Система В является моделью системы А для активной системы Q (человека-индивида, коллектива, животного, робота и т. п.), если основанием для ее использования этой активной системой служит ее структурное сходство с моделируемой системой А.Foldit
    NetLogo
    StarLogo Nova

    Тексты

    Моделируемые паттерны поведения

     Description of problemSolutionEnvironment
    Генерировать новых агентов120px-Create_netlogo.png
    Агент порождает поток других агентов - например, в экологических моделях рождение используется для создания потомков, в играх из пистолета вылетают пули, которые он порождает, в историях Scratch капли дождя клонируются и падают из тучи на землю.
    Можно использовать породы или клоны. Например, в NetLogo:
    • observer - наблюдатель может породить новых агентов в центре поля и сказать и что делать crt 10
    • каждая черепаха может порождать новую черепаху командой hatch - hatch-sheep 1
    • каждое пятно может на себе породить черепаху или несколько командой sprout - sprout 10
    В Scratch новые агенты создаются через клонирование уже существуюших агентов.
    NetLogo
    StarLogo Nova
    Scratch
    Agentsheets
    Накапливать энергиюАгент живёт в среде, перемещается, выполняет задания и накапливает энергию или собирает очки
    • заносим эти данные в переменную
    • меняем свойства, которыми обладает агент
    • передаем эти данные
    StarLogo Nova
    Scratch
    Snap!
    Перевозить другого агента на себеТранспортировка представляет собой ситуацию, когда один агент перевозит на себе другого агента. Например, черепаха в Frogger несёт лягушку, пересекая реку. В экологических симуляциях процесс транспортировки можно использовать, например, для перевозки пыльцы пчёлами.
    • Привязать перевозимого агента к себе, чтобы он следовал за положением агента, которым мы управляем
    Scratch
    Frogger
    Перемещаться случайным образомАгент или агенты перемещаются по экрану случайным образом - стандартная для многих игр и симуляций ситуация, которую надо уметь воспроизводить - термиты, птицы и рыбы при формировании стай изначально перемещаются случайным образом.Агент поворачивается в направление, которое выбирается случайным образом и делает ход в этом направлении.NetLogo
    StarLogo Nova
    Scratch
    AgentCubes
    Поглощать агентов120px-Delete_starlogo.png
    • Поглощение: обратный генерации процесс, когда агент не порождает, а поглощает других агентов. Например, земля поглощает падающие с неба капли воды, хищник съедает жертву, с которой он встречается.
    Прятать агентов или просто их убивать или умирать самомуNetLogo
    Scratch
    Snap!
    Agentsheets
    Подчиняться клавишам клавиатурыРеагировать на клавиши клавиатуры Движение клавиатуры: нажатия кнопок клавиатуры управляют движением агента. И здесь могут быть паттерны типа Прыгать - как писал Пейперт в этой статье писал про Марио и как воспроизвести поведение МариоИспользовать блоки управления в сочетании с блоками движенияMario Bros
    Scratch
    Поиск восхождением к вершинеПоиск восхождением к вершине - алгоритм поиска в компьютерных науках, когда агент просматривает значения переменных на ближайших полях и на поле с максимальным значением переменной. Использование алгоритма поиск восхождением к вершине можно наблюдать в таких играх как Sims или Pac-Man, когда призраки преследуют Pacman, следуя наивысшему значению запаха Pac-man, который распространяется по всему полю см. http://ccl.northwestern.edu/netlogo/models/Pac-ManИспользовать встроенные команды NetLogo
  • uphill patch-variable
  • uphill4 patch-variable
  • Pac-Man
    NetLogo
    Превращаться в другого агентаПревращение - один агент превращается в другого агента. Возможный вариант - агент одной породы превращается в агента другой породы.В примере на Scratch - cпрайт клонируется и содержит в себе разные породы - демонов и драконов. При столкновении с агентом другой породы агент может изменять собственную породу и становиться другим. Например, из породы демонов переходить в породу драконов. В NetLogo можно просто поменять принадлежность к породе и соответственно свойства агента.Scratch
    Snap!
    Преследовать другого агентаОдин агент преследует другого агента - поворачивается в его сторону или поворачивается в том же направлении, куда движется другой агентИспользуются команды повернуться к другому агентуScratch
    AgentCubes
    РаспространятьсяДиффузия: паттерн распространения, когда вы можете распространять определённое количество агента на других агентов, расположенных по близости за счёт процесса диффузии. Например, в модели муравьёв в NetLogo муравьи выделяют вещества феромоны, которые диффундируют на ближайшие поля игрового поля.В некоторых средах конструирования возможность диффузии заложена изначально. Например, в NetLogo стандартная команда к точкам - пятнам на экране diffuseNetLogo
    Сталкиваться120px-Collision_starlogo.png
  • Паттерн определяет поведение агентов в случае их физического столкновения с другими агентами. Например, столкновение пули с мишенью. В игре Frogger, если грузовик сталкивается с лягушкой, лягушку нужно «раздавить»
  • В ряде среде есть специальный блок Collision - что делать агенту в случае столкновения с другим агентом. Для Scratch решение собирается из блоков сенсоров - если я касаюсь другого агента (указать какого именно), то ...Pac-Man
    StarLogo Nova
    Snap!
    Frogger
    ТащитьТащить - паттерн "тащить" противоположен по значению паттерну толкать - агент может тащить за собой другого агента или агентов. Например, поезд тащит за собой вагоны, лошадь тащит за собой сани, буксир тащит за собой баржи или плот.Scratch
    AgentCubes
    ТолкатьПаттерн "толкать" — это паттерн, который мы видим во многих играх. Агент должен толкать ящики или мешки с золотом. Когда игрок толкает коробку или мешок, эти объекты движутся в том направлении (вверх, вниз, вправо или влево), в котором их толкнули.Объект или Агент, над которым совершается действие, получает сигнал от агента субъекта деятельности, поворачивается в ту же сторону, куда смотрит толкающий агент и двигается в эту сторону.Scratch
    AgentCubes


    Snap!

    На примере Segregation (model)

    Segregation Model Snap.png

    SLNOVA

    На примере Segregation (model)

    Дизайн компьютерной модели

    ODD принципы


    Описание Протокол описания модели при её публикации: The Overview, Design concepts and Details (ODD) protocol for describing Individual- and Agent-Based Models (ABMs) is now widely accepted and used to document such models in journal articles.

    Протокол ODD состоит из 21 элемента, которые разделены на три категории: «Обзор» (Overview), «Концепции проектирования» (Design concepts) и «Детали» (Details); отсюда и аббревиатура ODD. Каждая из этих категорий служит своей цели: дать обзор, объяснить, как использовались концепции дизайна, важные для модели, и объяснить все детали концепции модели. Принципы дизайна исследовательской многоагентной модели. 21 принцип разбит по группам. Например:

    Адаптация
    Какое адаптивное поведение демонстрируют агенты и почему? Как они могут реагировать на изменения в своей среде и в самих себе? Какие решения они принимают?
    Обучение
    Меняются ли агенты со временем, как они принимают адаптивные решения, в результате своего нового опыта? Если да, то как?
    Область знаний NetSci, Математика, Биология, Информатика
    Авторы Railsback, Grimm
    Поясняющее видео
    Близкие понятия Дизайн, Агентное моделирование, Воспроизводимость, DREAM, VOMAS
    Среды и средства для освоения понятия NetLogo, StarLogo Nova, Agentsheets, GAMA



    ODD protocol - один первых подробных протоколов описания модели, который широко используется исследователями при подготовки публикаций и представления моделей в печатных изданиях. Недостатки ODD как формата представления модели связаны с тем, что он текстовый

    На поле вычислительной дидактики при представлении объектов в категории Category:Model мы пытаемся использовать ODD, DREAM, VOMAS

    Описание ODD
    • Основные принципы

    1. Какие общие концепции, теории, гипотезы или подходы к моделированию лежат в основе построения модели? Как модель связана с предыдущими представлениями об изучаемой проблеме? 2. Какие принципы были включены в дизайн модели?

    Эмерджентность

    3. Что представляют важные результаты? Какие из них возникают из механистического представления адаптивного поведения отдельных агентов, а какие диктуются правилами, которые заставляют модель давать определенные результаты?

    Адаптация

    4. Какое адаптивное поведение демонстрируют агенты и почему? Как они могут реагировать на изменения в своей среде и в самих себе? Какие решения они принимают?

    5. Как моделируется такое поведение? Предполагают ли субмодели адаптивного поведения, что агенты выбирают среди альтернатив, явно рассматривая, что с наибольшей вероятностью увеличит какую-то конкретную цель (прямое стремление к цели), или они просто заставляют агентов воспроизводить модели поведения, наблюдаемые в реальных системах (косвенное стремление к цели)?

    Цели

    6. Для адаптивного поведения, моделируемого как прямое стремление к цели, какая мера целей агента (например, «приспособленность» в экологии, «полезность» в экономике) используется для оценки альтернативных решений? Этот объективный показатель представляет собой внутреннюю модель агента, показывающую, какую выгоду он получит от каждого сделанного им выбора. Какие элементы будущего успеха входят в объективный показатель (например, возможность дожить до будущего репродуктивного периода; вероятность остаться в бизнесе в течение некоторого периода; прибыль в следующем отчетном периоде)? Как объективная мера представляет процессы, которые связывают адаптивное поведение с важными переменными агентов и их среды?

    7. Как были выбраны переменные и механизмы объективного измерения (например, риски смертности или выхода из бизнеса, условия, необходимые для воспроизводства или прибыльности) с учетом цели модели и реальной системы, которую она представляет? Как текущее внутреннее состояние агента учитывается при моделировании решений? Меняется ли объективная мера по мере смены агента?

    Обучение

    8. Меняются ли агенты со временем, как они принимают адаптивные решения, в результате своего нового опыта? Если да, то как?

    Прогнозирование

    9. Как агенты предсказывают будущие условия (внешние и внутренние) в своих подмоделях адаптивного поведения? Какие предположения или механизмы реальных моделируемых людей были основой для моделирования прогнозов?

    10. Как моделируемые предсказания используют такие механизмы, как память, обучение или сигналы окружающей среды? Или предсказание является «неявным», то есть подразумевается только в простых правилах адаптивного поведения?

    Ощущение


    11. Какие переменные своего окружения и самих себя агенты, как предполагается, чувствуют и, следовательно, могут учитывать в своем поведении? На чем основаны эти предположения?

    Например, агент чувствует хищника на определённом расстоянии от себя и может отпрыгнуть от этой опасности

    Slnova run away.png

    Какие механизмы восприятия моделируются в явном виде и какие воспринимаемые переменные являются агентами, а не просто «знают»?

    13. С какой точностью или неопределенностью предполагается, что агенты «знают» или ощущают, какие переменные? На какие расстояния (в географическом, сетевом или другом пространстве)?

    Взаимодействие

    14. Как взаимодействуют агенты модели? Взаимодействуют ли они напрямую друг с другом (например, напрямую ли один агент меняет состояние других)? Или взаимодействие опосредовано, например, через конкуренцию за ресурс?

    Например, агент одной породы при прямом столкновении может убивать агента другой породы


    15. С какими другими агентами взаимодействует агент?

    16. Какие реальные механизмы взаимодействия были основаны на представлении взаимодействия в модели? В каких пространственных и временных масштабах они происходят?

    Стохастичность

    17. Как случайные процессы (основанные на псевдослучайных числах) используются в модели и почему? Используются ли случайные процессы: для инициализации модели? Потому что считается важным, чтобы некоторые процессы были изменчивыми, но неважно представлять причины изменчивости? Воспроизвести наблюдаемое поведение с использованием эмпирически определенных вероятностей?

    Коллективы (породы) агентов

    18. Представлены ли в модели коллективы - совокупности агентов, которые влияют на состояние или поведение агентов-членов и на которые влияют их члены?

    19. Если да, то как представлены коллективы? Возникают ли они из поведения агентов, или агентам даны подмодели поведения, которые навязывают формирование коллективов? Или коллективы моделируются как агент другого типа со своим собственным поведением и переменными состояния?

    Наблюдение

    20. Какие выходные данные модели необходимы для наблюдения за ее внутренней динамикой, а также за ее поведением на системном уровне? Какие инструменты (графика, вывод в файл, данные о людях и т. Д.) Необходимы для получения этих результатов?

    21. Какие результаты и анализ необходимы для проверки модели на соответствие критериям полезности - обычно это набор шаблонов, - определенных в элементе «Цель и паттерны»? Какие результаты необходимы для решения проблемы, для которой была разработана модель?


    References

    1. Grimm V., Polhill G., Touza J. Documenting Social Simulation Models: The ODD Protocol as a Standard // Simulating Social Complexity: A Handbook Understanding Complex Systems. / под ред. B. Edmonds, R. Meyer. Cham: Springer International Publishing, 2017. С. 349–365.
    2. Grimm V. и др. The ODD protocol: A review and first update // Ecological Modelling. 2010. Т. 221. № 23. С. 2760–2768.
    3. Smaldino P. E. How to Translate a Verbal Theory Into a Formal Model // Social Psychology. 2020. Т. 51. № 4. С. 207–218.
    4. Laatabi, A., Marilleau, N., Nguyen-Huu, T., Hbid, H., & Ait Babram, M. (2018). ODD 2D: An ODD Based Protocol for Mapping Data to Empirical ABMs. Journal of Artificial Societies and Social Simulation, 21(2), 9.
      • В статье к протоколу ODD добавляются 2D - Decison + Data - Данные на входе модели

    Перевод устных теорий в формальные модели (How to Translate a Verbal Theory Into a Formal Model)

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

    Статья описывает несколько шагов, вовлеченных в процесс перевода, включая:

    1. Определение ключевых концепций и переменных в устной теории
    2. Определение этих концепций и переменных в точных и операционных терминах
    3. Указание отношений между этими концепциями и переменными
    4. Перевод устной теории в математическую или вычислительную модель
    5. Тестирование модели на эмпирических данных для проверки ее точности предсказания явлений, которые происходят в реальном мире.

    В статье фиксируется разница между тем, что из себя представляет математическая модель и вычислительная модель

    Статистическое компьютерное моделирование

    Инструменты статистического моделирования

    Имитационное компьютерное моделирование в визуальной среде программирования

    Среды многоагентного моделирования

    Перенос практик моделирования в педагогическую деятельность