Simulation models on the field of computational didactics

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


Описание события Воздействие имитационных моделей на поле вычислительной дидактики Патаракин Е.Д. - immod-2023
Тип события Доклад
Начало 2023-10-19T09:15:58.000Z
Окончание 2023-10-19T09:40:58.000Z
color red
Адрес события http://simulation.su/static/ru-immod-2023.html
Видео запись события
Среды и средства, которые использовались в рамках события StarLogo Nova, NetLogo, Snap!
Формируемые в рамках события компетенции
Область знаний
Местоположение 55° 47' 47.01" N, 49° 6' 32.01" E
Формат реализации
Карта
Идёт загрузка карты…


Введение

В настоящее время наблюдается очередной всплеск вычислительного мышления, взаимодействия человека и компьютера. Вычислительное мышление рассматривается многими исследователями как важнейший навык современного человека. Для формирования вычислительного мышления постоянно создаются новые учебные языки программирования, обучающие среды, видео-игры и сетевые сообщества, проектируются средства и сценарии деятельности, направленные на освоение учащимися умений вычислительного мышления. Впервые предложили использовать прилагательное «вычислительный» по отношению к области знаний в своей книге о персептронах и вычислительной геометрии Пейперт и Минский в 1969 году [1]. В эти же годы появляется язык Logo – ставший одновременно и символом нового философского подхода в образовании, и важной точкой в развитии языков программирования, и родоначальником целой группы специализированных языков многоагентного имитационного моделирования. Усиление возможностей MediaWiki за счёт расширений Semantic Mediawiki, EmbedScratch, ScratchBlocks4, Snap! Project Embed, graphviz, Widgets:iframe, Widgets:YouTube позволяет собирать на одном поле проекты, созданные в различных сетевых образовательных сообществах. Это позволяет учащимся продвигаться от более простых к более сложным примерам реализации решения сходных проблем в различных средах многоагентного программирования.

Материалы и методы

Данная работа продолжает тему внедрения в образование сред многоагентного программирования, внутри которых агенты могут взаимодействовать друг с другом и с окружающим миром. Одним из результатов предыдущих работ стало создание поля вычислительной дидактики digida.mgpu.ru.

Исходно мы рассматривали вики-площадку как сообщество практики, в котором представители естественно-научных дисциплин могли бы использовать статьи, данные, программы и диаграммы в качестве граничных объектов. На поле образовательной дидактики у нас могут быть представлены:

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

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

Объединение и наращивание многообразия сущностей на поле вычислительной дидактики множеством участников предполагает создание разделяемой онтологии, которая была реализована в среде Semantic MediaWiki через создание категорий - классов объектов. В качестве инструмента коллективного сбора и объединения знаний о поле вычислительной дидактики была использована вики-платформа MediaWiki.

В течение нескольких лет мы используем вики как среду для совместной работы со знаниями в образовании. Для изучения области вычислительной дидактики, в которой для обучаемого создаются возможности выступить в роли обучающего для обучаемого программного агента или робота, мы предложили использовать площадку MediaWiki с расширением Semantic MediaWiki. Расширение Semantic MediaWiki позволяет добавлять семантические аннотации к вики-страницам, тем самым превращая вики в семантическую вики и существенно расширяя возможности совместной работы не только над текстами статей, но и над совместной онтологией знаний. Экспериментальная площадка использует технологию Semantic MediaWiki и главная особенность заключается в том, что мы думаем сразу о классах статей объектов, которые относятся к определенной категории и обладают определёнными свойствами.

Мы рассмотрели огромное количество доступных для MediaWiki расширений и установили те, которые существенно расширяют возможности участников по совместной работе со знаниями. В первую очередь это расширения, дополняющие возможности MediaWiki по работе с семантическими свойствами объектов. Кроме того, мы добавили расширение Interwiki, для упрощения работы со статьями с других образовательных вики-площадок.

Следующее важное расширение External Data – позволяет использовать на экспериментальной площадки внешние данные из различных источников. Например, различные датасеты, собранные в ходе библиометрических исследований или выращенные в ходе экспериментов с имитационными моделями, открыты для использования и используются на поле совместной деятельности. К работе с данными могут быть отнесены и такие расширения как Scribunto, предназначенного для включения скриптовых языков на страницах MediaWiki. Потенциально это открывает возможность расширить пространство экспериментального поля модулям на языке Lua.

Выбирая средства программирования, которые получили особую поддержку на поле вычислительной дидактики, мы остановили свой выбор на взаимосвязанной группе Scratch, Snap!, StarLogo Nova, NetLogo Web

Языки визуального программирования, такие как Scratch, Snap! и многие другие, являются практической альтернативой сложным языкам программирования с текстовым синтаксисом. Они существенно упрощают синтаксис и заменяют слова картинками или блоками. Например, в Scratch блоки, похожие на кирпичики Lego, представляют несколько управляющих конструкций. «Программирование» осуществляется путем перетаскивания и составления этих блоков друг с другом.

StarLogo Nova – среда совместного агентного моделирования в трехмерной среде. Во многом это среда продолжает и развивает традиции языка Scratch. При этом здесь можно ставить серьезные эксперименты и получать воспроизводимые результаты. Центральной метафорой среды является мир (World), в котором можно создавать агенты различных пород.

StarLogo Nova работает в браузере и дает возможность учащимся делиться своими проектами и играть в игры, созданные другими. Учителя также могут использовать модели, разработанные сообществом StarLogo, для объяснения сложных понятий. Пользователи могут создавать простые или масштабные модели, используя существующую библиотеку агентов или импортируя свои звуки и 3D-модели в формате Collada. Среда активно используется в естественно-научном образовании. В качестве примера следует привести проект GUTS, в котором взаимосвязаны образовательные стандарты вычислительного мышления и исследовательской деятельности.


NetLogo — это бесплатная мультиагентная программируемая среда моделирования c открытым исходным кодом. По данным сайта NetLogo используют тысячи учеников, преподавателей и исследователей во всем мире. NetLogo написан на Java и Scala. Язык NetLogo достаточно прост, и ученики, и учителя могут создавать в этой среде свои собственные учебные модели. В то же время NetLogo – это достаточно мощный язык для построения исследовательских моделей и проведения исследований в области сложных адаптивных систем. NetLogo удобно использовать для моделирования сложных, развивающихся во времени систем. Создатель модели может давать указания сотням и тысячам независимых «агентов», действующим параллельно. Это открывает возможность для объяснения и понимания связей между поведением отдельных индивидуумов и явлениями, которые происходят на макроуровне.

Для использования внутри экспериментальной площадки по работе со знаниями в области цифрового образования материалов по современным языкам блочного программирования были добавлены два специализированных расширения, позволяющих встраивать визуальные блоки и проекты: ScratchBlocks4 – расширение, которое позволяет встраивать блоки визуального программирования Scratch на страницы вики; Snap! Project Embed – расширение обеспечивает возможность встраивания Snap! проектов на страницы вики.

Результаты

На поле вычислительной дидактики расширение Semantic MediaWiki позволяет добавлять семантические аннотации к вики-страницам, позволяя совместно работать не только над текстами статей, но и над совместной онтологией знаний. Участники не просто создают и редактируют отдельные статьи, например, про понятие «рекурсия» или «большие данные» или про языки обучения «Scratch» или «Snap!», но и классифицируют статьи, относя их к исходно созданным классам.

Пример ленты времени

Категория языков программирования и сред конструирования была первой и достаточно простой категорией объектов, которые мы начали собирать на поле вычислительной дидактики. Как правило, у языков есть год создания, авторы, языки – предшественники и языки потомки. Даже такой ограниченный перечень параметров позволяет получить историю языков программирования оформленную как ленту времени в ответ на запрос: {{#ask: [[Category:Язык программирования]] [[Ancestors::Logo]] OR [[Logo]] |format=moderntimeline |?launch year |? Ancestors |?Descendants | background = grey }}

(Logo OR Ancestors
Logo)

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

Мы можем обращаться к объектам из любого класса и просить их вывести на экран ту или иную информацию. Например, если для категории паттернов мы хотим получить только список с описанием поведения, которое должен имитировать программный агент, то мы обращаемся к системе с запросом: {{#ask: [[Категория:HowTo]] [[Description_of_problem::+]] | ?Description_of_problem }}

 Description of problem
Генерировать новых агентов120px-Create_netlogo.png
Агент порождает поток других агентов - например, в экологических моделях рождение используется для создания потомков, в играх из пистолета вылетают пули, которые он порождает, в историях Scratch капли дождя клонируются и падают из тучи на землю.
Накапливать энергиюАгент живёт в среде, перемещается, выполняет задания и накапливает энергию или собирает очки
Перевозить другого агента на себеТранспортировка представляет собой ситуацию, когда один агент перевозит на себе другого агента. Например, черепаха в Frogger несёт лягушку, пересекая реку. В экологических симуляциях процесс транспортировки можно использовать, например, для перевозки пыльцы пчёлами.
Перемещаться случайным образомАгент или агенты перемещаются по экрану случайным образом - стандартная для многих игр и симуляций ситуация, которую надо уметь воспроизводить - термиты, птицы и рыбы при формировании стай изначально перемещаются случайным образом.
Поглощать агентов120px-Delete_starlogo.png
  • Поглощение: обратный генерации процесс, когда агент не порождает, а поглощает других агентов. Например, земля поглощает падающие с неба капли воды, хищник съедает жертву, с которой он встречается.
Подчиняться клавишам клавиатурыРеагировать на клавиши клавиатуры Движение клавиатуры: нажатия кнопок клавиатуры управляют движением агента. И здесь могут быть паттерны типа Прыгать - как писал Пейперт в этой статье писал про Марио и как воспроизвести поведение Марио
Поиск восхождением к вершинеПоиск восхождением к вершине - алгоритм поиска в компьютерных науках, когда агент просматривает значения переменных на ближайших полях и на поле с максимальным значением переменной. Использование алгоритма поиск восхождением к вершине можно наблюдать в таких играх как Sims или Pac-Man, когда призраки преследуют Pacman, следуя наивысшему значению запаха Pac-man, который распространяется по всему полю см. http://ccl.northwestern.edu/netlogo/models/Pac-Man
Превращаться в другого агентаПревращение - один агент превращается в другого агента. Возможный вариант - агент одной породы превращается в агента другой породы.
Преследовать другого агентаОдин агент преследует другого агента - поворачивается в его сторону или поворачивается в том же направлении, куда движется другой агент
РаспространятьсяДиффузия: паттерн распространения, когда вы можете распространять определённое количество агента на других агентов, расположенных по близости за счёт процесса диффузии. Например, в модели муравьёв в NetLogo муравьи выделяют вещества феромоны, которые диффундируют на ближайшие поля игрового поля.
Сталкиваться120px-Collision_starlogo.png
  • Паттерн определяет поведение агентов в случае их физического столкновения с другими агентами. Например, столкновение пули с мишенью. В игре Frogger, если грузовик сталкивается с лягушкой, лягушку нужно «раздавить»
  • ТащитьТащить - паттерн "тащить" противоположен по значению паттерну толкать - агент может тащить за собой другого агента или агентов. Например, поезд тащит за собой вагоны, лошадь тащит за собой сани, буксир тащит за собой баржи или плот.
    ТолкатьПаттерн "толкать" — это паттерн, который мы видим во многих играх. Агент должен толкать ящики или мешки с золотом. Когда игрок толкает коробку или мешок, эти объекты движутся в том направлении (вверх, вниз, вправо или влево), в котором их толкнули.

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


    У объектов из класса паттернов есть так же свойства, связывающие их с образовательными видеоиграми, языками программирования и рецептами - алгоритмами решения той или иной проблемы. Мы можем использовать категорию «Видеоигры» и узнать в какой видеоигре можно посмотреть на реализацию того или иного паттерна или получить информацию из категории «Рецепты» о том, как реализуется то или иное поведение в конкретной среде программирования.

    Пример блоков Snap! / Scratch

    Страницы и свойства Semantic MediaWiki служат строительными блоками-кирпичиками, из которых можно собирать разнообразное содержание. В строительные блоки, которые можно использовать на страницах, добавлены блоки визуального программирования на языках как Scratch и Snap! Например, следующая последовательность текстовых блоков, превращается на странице в визуальные блоки.

    когда спрайт нажат
    идти (выдать случайное от (20) до (40)) шагов
    если <касается [край v]>, то
    повернуться к [указатель мышки v]
    конец
    

    Пример проекта в странице

    Кроме возможности показывать на странице блоки визуального программирования мы добавили расширения EmbedScratch, Snap! Project Embed, и Widgets:iframe. Использование этих расширений позволяет встраивать в текст любой страницы проекты выполненные и опубликованные на внешних площадка - scratch.mit.edu, https://snap.berkeley.edu, https://netlogoweb.org/ и https://www.slnova.org/

    Это позволяет учащимся продвигаться от более простых к более сложным примерам реализации решения сходных проблем в различных средах многоагентного программирования.

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

    Связь понятий, представленных на поле цифровой дидактики, может раскрываться за счёт использования программных средств, которые используют концептуальные особенности понятий, и имитационных моделей, которые позволяют раскрыть содержание понятия. Например, для понятия «Зона ближайшего развития» в сети его отношений значение будут иметь и исходящие, и приходящие к этому понятию ссылки. Кроме того, смысл этого понятия раскрывается на площадке через многоагентую модель, в которой имитируются различные стратегии обучения.

    Фрагмент листинга «обучения по Выготскому» представлен ниже:

     to v-adjust
     let fellow nobody
     while [ fellow = nobody or fellow = self ] [
       set fellow turtle (who + (- (#-vygotskiian-neighbors / 2)) + random (1 + #-vygotskiian-neighbors))
     ]
     ifelse (best-score > [ best-score ] of fellow) and (best-score - ZPD <= [ best-score ] of fellow) [
       set best-score [ best-score ] of fellow
       set best-max-moves [ best-max-moves ] of fellow ]
     [    set best-score score
       set best-max-moves max-moves
     ]
    
     end
    

    Еще одно направление расширения выразительных возможностей вики площадки связано с совместным использованием блоков визуального программирования. Расширение поддерживает прежде всего представление блоков языка Scatch, однако может быть использовано и для языков Snap! и GP – и в связке с возможностью встраивать в вики-статьи визуальный код программ и выполняемые проекты с сайта Snap! это даёт участникам возможность обмениваться материалами и выполняемыми публикациями.

    Выводы

    Среда Semantic MediaWiki открывает возможности не только для размещения разнообразного материалы, но и для изучения его дальнейшего использования.

    Перечень моделей с описанием можно получить по запросу

     Description
    Air Pollution - Buses and CarsКогда модель работает, автобусы непрерывно следуют по дороге. В домах есть люди, которым нужно добираться на работу. Если автобус проезжает мимо дома, человек из этого дома «садится в автобус». Однако, если автобус не прибудет достаточно скоро, вместо этого человек использует личную машину, в результате чего на дороге появится машина, которой необходимо проехать определенное расстояние, прежде чем ее уберут с дороги. Автомобили выбрасывают 1 загрязнение каждые 7 «тиков». Автобусы выбрасывают одно загрязнение каждые 1 тик. Автомобили и автобусы следуют основным правилам дорожного движения: снижайте скорость, если многолюдно, и останавливайтесь, если впереди нет места для движения.
    • 117px-Pollution_Bus_Car.png
    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).
    Basketball analyticsDrafting agent-based modeling into basketball analytics
    • An agent-based simulation of a game of basketball. The model implements most components of a standard game of basketball. Additionally, the model allows the user to test for the effect of two separate cognitive biases – the hot-hand effect and a belief in the team’s franchise playe
    BearsBears walk and eat the growing grass
    Big money killsДанная модель в шутливой форме показывает, как люди, которые мечтают плавать в деньгах (из-за этого их положение не вертикальное), пропадают, как только натыкаются на огромную золотую монету. Они не сразу находят путь к монете, как и в реальной жизни, не сразу выходит получать большую прибыль.
    Butterfly modelЭксперименты с моделью приведены в книге Agent-Based and Individual-Based Modeling: A Practical Introduction
    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:
    Elephants giraffes dragonsA model with giraffes, elephants, and dragons that move across the screen, where upon collision between dragons, they reproduce. When elephants and giraffes collide with dragons, their energy decreases, while energy increases when they collide with grass, and the grass disappears. If the energy of the elephants and giraffes drops below 0, they die
    Fire (model)
  • Forest_fire_model.gif
  • Запустите модель Fire несколько раз. Если мы запустим его с низкой плотностью деревьев, мы увидим, как и ожидалось, очень небольшое распространение огня. Если мы запустим его с очень высокой плотностью деревьев, мы, как и ожидалось, увидим, как лес уничтожается неумолимым маршем огня. Чего ожидать при средней плотности? Многие предполагают, что если плотность установлена на 50 процентов, то вероятность того, что огонь достигнет правого края леса, будет 50 процентов. Однако если мы попробуем это сделать, то увидим, что при 50-процентной плотности огонь не распространяется сильно. Если мы увеличим его до 57 процентов, огонь горит больше, но обычно все равно не достигает другой стороны леса. Однако если мы увеличим плотность до 61 процента, то есть всего на 2 процента больше, огонь неизбежно достигнет другой стороны. Это неожиданно. Мы ожидаем, что небольшое изменение плотности окажет относительно небольшое влияние на распространение огня. Но, как выясняется, модель Fire имеет «критический параметр» 59% плотности.

    Fireflies (model)Модель синхронизации мигания светлячков
    120px-Firefly.png

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

    Buck, John. (1988). Synchronous Rhythmic Flashing of Fireflies. The Quarterly Review of Biology, September 1988, 265 - 286.
    Flocking (model)Модель самопроизвольного формирования стаи в результате действий множества участников (птиц, рыб, людей). Модель формирования стаи - это классическая агентно-ориентированная модель, основанная на оригинальных моделях Рейнольдса (1987). Модель демонстрирует, что стаи птиц могут возникать даже в отсутствии специальных птиц-вожаков, которые ведут всех за собой. Скорее, каждая птица следует общему же набору правил, и из выполнения всеми простых правил появляются стаи. Каждая птица следует трем правилам: «выравнивание», «разделение» и «сплоченность».
    1. «Выравнивание» означает, что птица поворачивается так, что движется в том же направлении, что и ближайшие птицы.
    2. «Разделение» означает, что птица поворачивается, чтобы не столкнуться с другой птицей.
    3. «Сплоченность» означает, что птица движется к другим ближайшим птицам.

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

    Правила удивительно надежны и могут быть адаптированы к скоплению насекомых, стаям рыб и паттернам «V» стаи гусей (Stonedahl & Wilensky, 2010a).
    Giraffe collecting coinsКто-то рассыпал много монет на улице. Жираф это увидел, и пошёл их собирать.
    Great white sharkЧетыре большие белые акулы проголодались и вышли на охоту. Обнаружив косяк рыб, они мигом расправляются с ним, съев всех рыб до последней. За происходящим наблюдает ихтиолог и ведет подсчет съеденных рыб акулами за время охоты, для наглядности он составил график.
    • 120px-Sharks.png
    Hungry raccoonМама Енот выходит на лужайку в поисках морковки, чтобы накормить 100 детей. В ходе своей вылазки мама Енот ведет счет морковок, чтобы дети точно наелись.
  • 120px-Hungry_raccoon.png
  • Leaders & Followers (model)Модель лидеров (харизматиков) и их последователей - тех, кто за ними следует и устанавливает с ними связи.
  • 120px-Leaders_follow.png
  • Let' flyMost programs are going on the ground, but dragons and birds want fly, too! Seagull small, they climb on the tree and... flies high, where hungry dragons can't eat them. But them shoud be careful, clouds will stop there beautiful flight and the back to the ground. Dragons are very heavy, so only powerful wind coul let them fly, but this power will back all birds to the ground and could destroy cloud and, maybe make more ones. Seagulls are smart birds, they lay eggs, so if you see, that our brave birds are little count, make more of them...
    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 предоставляется возможность адаптироваться к меняющимся условиям среды. Это достигается путем модификации своих стратегий выживания и размножения на основе предыдущего опыта и наблюдений. Адаптации могут происходить как на уровне индивидуального агента, так и на популяционном уровне, что приводит к изменению генетической структуры популяции.

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

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

    Ощущение: агенты обладают способностью воспринимать окружающую среду через сенсоры, которые предоставляют им информацию о температуре, влажности, наличии пищи и других факторов. Эта информация используется для принятия решений и адаптации к текущим условиям.
    Line's dinnerThere are elephants, a lion and trees in this project. The user is a lion. You can use the sliders to select the initial number of elephants and trees. Elephants can devour trees. And the lion chases elephants and, when confronted with them, absorbs them. The graph shows the change in the number of elephants and trees. The model stops moving after the lion eats 10 elephants because it has eaten too much.
    Multi-mediator modelМодель позволяет проводить вычислительные эксперименты по изучению математических идей учениками средней школы. Модель посвящена проблема низкой успеваемости по математике у студентов с низким социально-экономическим статусом (SES). В Австралии 15-летние студенты с низким SES отстают на три года по уровню математической подготовки. Подобная же ситуация наблюдается и в США. Цель исследования - исследовать, может ли компьютерное моделирование помочь улучшить математическую успеваемость студентов с низким SES, чтобы преодолеть трехлетнее отставание.
    Penguienes VS DragonsThe epic battle between penguins and dragons is a magical story of courage and bravery. A prophecy threatens the peaceful coexistence of these creatures, foretelling a great battle. As the epic battle begins, both sides show incredible determination and strength. But as the battle rages on, it becomes clear that neither side can emerge victorious without sacrificing something precious.
    Piaget-Vygotsky (model)Модель «обучения через игру» была создана для следующих целей:
    1. продемонстрировать жизнеспособность агент-ориентированного моделирования для изучения социально-психологических феноменов развития;
    2. проиллюстрировать потенциал ABM как платформы, позволяющей общаться и сотрудничать между психологами с различными теоретическими взглядами; и, в частности,
    3. визуализировать взаимодополняемость объяснений Пиаже и Выготского о том, как люди учатся.
    • 120px-Piage_Vyg.png
    Preferential AttachmentМодель предпочтительного присоединения - Preferential Attachment - Процесс предпочтительного присоединения - это любой из классов процессов, в которых некоторое количество, обычно некоторое форма богатства или кредита распределяется между несколькими людьми или объектами в зависимости от того, сколько они уже имеют, так что те, кто уже богат, получают больше, чем те, кто не богат. «Предпочтительная привязанность» - это лишь последнее из многих названий, которые были даны таким процессам. Они также упоминаются как «богатые становятся богаче». Процесс предпочтительного присоединения генерирует распределение «с длинным хвостом » после распределения Парето или степенной закон в его хвосте. Это основная причина исторического интереса к предпочтительной привязанности: распределение видов и многие другие явления наблюдаются эмпирически, следуя степенным законам, и процесс предпочтительной привязанности является ведущим механизмом для объяснения этого поведения. Предпочтительное прикрепление считается возможным основанием для распределения размеров городов, богатства чрезвычайно богатых людей, количества цитирований, полученных научными публикациями, и количества ссылок на страницы во всемирной паутине.
  • 120px-Pref_attachm.png
  • Prisoner's dilemmaДилемма заключенного - это классическая задача в теории игр, которую можно использовать для преподавания вычислительной истории, иллюстрируя динамику сотрудничества и конкуренции в исторических контекстах. Дилемма заключенного может быть включена в вычислительную историю несколькими способами: 1) Моделирование исторических взаимодействий: Дилемма заключенного может быть использована в качестве основы для моделирования взаимодействия между историческими акторами, такими как отдельные люди, группы или государства. Моделируя решения и выплаты этих субъектов в различных сценариях, учащиеся могут получить представление о факторах, повлиявших на сотрудничество или конкуренцию в исторических событиях. 2) Изучение возникновения норм и институтов: Дилемма заключенного может быть использована для изучения возникновения социальных норм и институтов в исторических обществах. Например, учащиеся могут создать агентные модели, которые имитируют взаимодействие людей, следующих правилам дилеммы заключенного, а затем проанализировать, как различные стратегии, такие как tit-for-tat (око за око) или "всегда сотрудничать", приводят к развитию норм сотрудничества или к его разрушению.
    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
    Segregation (model)Модель сегрегации
    Модель сегрегации Шеллинга
    – это агент-ориентированная модель, которая иллюстрирует, как индивидуальные тенденции в отношении соседей могут привести к сегрегации. Модель особенно полезна для изучения жилищной сегрегации этнических групп, где агенты представляют домовладельцев, которые переселяются в город. В модели каждый агент принадлежит к одной из двух групп и стремится жить в районе, где доля "друзей" достаточно высока: выше определенного порогового значения F. В зависимости от F, для групп равного размера, модель проживания по Шеллингу сходится либо к полной интеграции (случайное распределение), либо к сегрегации.

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

    - Переезд при превышении порога: Если доля соседей другой группы превышает установленный порог, человек решает переехать. Этот переезд приводит к тому, что районы становятся всё более сегрегированными.
    Slime (агрегация слизевиков)Эта модель показывает, как существа могут объединяться в кластеры без контроля со стороны клетки-лидера или пейсмейкера. Это открытие было впервые описано Эвелин Фокс Келлер и Ли Сигел в статье в 1970 году. До того, как Келлер начала свои исследования, общепринятым считалось, что рои слизевиков образуются по команде клеток-лидеров, которые приказывают другим клеткам начать агрегацию.
    • 120px-Slime_model.png
    Soccer SimulationМодель симуляции футбола
    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.
    Spread of the virusЭта модель предназначена для того, чтобы смоделировать различные сценарии развития эпидемии в определённом городе. С её помощью вы сможете выбрать наилучшие меры для борьбы с эпидемиологической обстановкой.
    Sugarscape modelSugarscape model (сахарная модель) - один из методов(моделей) разработки искусственного общества. Модель стала популярна благодаря известной работе «Growing Artificial Societies». Является одной из простых моделей и прекрасным инструментом для обсуждения и экспериментального исследования ряда научных вопросов. Имеется некоторая окружающая среда — сахарный ландшафт, где в двумерном пространстве разбросан сахар — где-то больше, где-то меньше; и туда же помещены агенты-жуки, которые ползают по сахарному ландшафту по простым правилам: агенту надо есть сахар, и он перемещается туда, где сахара больше. Так они двигаются, поедают сахар, который появляется в той или иной точке тоже по каким-то законам. Наблюдая за поведением агентов на экране мы видим то, что Джошуа Эпштейн и Роберт Акстелл определили как прото-историю или Proto-Narrative
  • 120px-Lorenz_ginni.png
  • Team Assembly (model)Эта модель коллаборативных сетей показывает, как поведение отдельных людей при формировании небольших команд для краткосрочных проектов может со временем привести к появлению множества крупномасштабных сетевых структур.
  • 120px-Team_assembl.png
  • Terrible weather in a small townIn this project two factions named Cats and Dogs are created on their bases and then send out to destroy opponents and opponents' base. Cats and Dogs are mechanically same entities, however they can have different parameters. Each base has Health parameter and each unit has Age, Power and Energy parameters. You can set their starting numbers(for Power and Energy) through sliders, as well as amount at which they increase(Age), decrease(Energy) or change(Power). Power change with aging but doesn't have any other ties with it. You can change sliders while model is active, changing parameters for the yet-to-be-created units. Each tick there is a chance to create unit. You also can manipulate that. Unit with most power will take energy of the weaker one on collision. In case of equality in power both units will destroyed. Units are also destroyed when they damage the bases, are too old or have no energy.
    The princess is collecting coins and planting flowers near her castle.Принцесса около своего замка находит и собирает монетки, которые оставили туристы, чтобы вернуться, и на эти деньги украшает территорию, сажая разные цветочки.
  • 120px-Princess.jpg
  • The report from the AntarcticaWhat is the project about?
    In Antarctica, there are several species of seagulls that are capable of dispersing entire colonies of penguins, after which they feast on their eggs. However, sometimes there are too many penguins and the seagulls fail. I decided to make a model showing this process.
    This is my fish!Посмотрим, кто из нас действительно голоден! Пингвины пытаются забрать и съесть всю возможную рыбу.
    Traffic jamsМодель формирования и рассасывания дорожной пробки, реализованная в нескольких средах многоагентного моделирования

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

    Адаптация: Агенты-автомобили могут адаптироваться к изменяющимся условиям движения, например, меняя свою скорость или маршрут.
    Urban Suite - AwarenessМодель определяет теоретический уровень «осведомленности» человека в городской среде на основе случайного контакта человека с информационными центрами. В модели информационными центрами являются любые источники обмена позитивной информацией. В этой модели каждый человек обладает некоторой степенью «осведомленности», которая измеряется в «очках осведомленности». Существует дискретный набор «уровней» осознания, которых могут достичь люди. Человек может быть «неосведомленным» (0–5 баллов), «осведомленным» (5–10 баллов), «хорошо информированным» (10–15 баллов) или «активистом» (более 15 баллов). Чтобы обрести осознанность, человек либо бежит в центр, где получает пять очков осознанности; или находится под влиянием хорошо информированного человека. Если одно из этих событий не произойдет в течение заданного временного шага (tick), человек потеряет одно очко осведомлённости (вплоть до нуля). Когда человек становится активистом (15 точек осознания), формируется новый центр. Новые информационные центры окрашены в синий цвет, а первоначальные информационные центры - в зеленый. Если никто не вступает в контакт с центром в течение заданного времени (см. ползунок НЕИСПОЛЬЗОВАНИЕ-ОГРАНИЧЕНИЕ), центр исчезает из мира. Если какой-либо информационный/рекламный метод или место не приносит результатов, в конечном итоге он будет закрыт.
    Urban Suite - Economic DisparityКогда в мире появляется новое место работы, оно случайным образом выбирает некоторое количество местоположений (управляемое ползунком КОЛИЧЕСТВО ИСПЫТАНИЙ) и выбирает то, которое имеет самую высокую цену (то есть стоимость земли). Поначалу это может показаться иррациональным, но в этой модели предполагается, что рабочие места перемещаются туда, где находится богатство. Если в определенной области денег больше, то есть более состоятельные люди, которые могут потратить эти деньги на товары и услуги. В этой модели есть два принципиально разных типа людей — «бедные» люди (показаны синим цветом) и «богатые» люди (показаны розовым цветом), и у них разные приоритеты. Оба типа людей желают располагаться недалеко от места работы. Однако богатые люди ищут место с хорошим качеством, не обращая внимания на цену, в то время как бедные люди ищут места с низкой ценой, не обращая внимания на качество.
    V mire morscom
    Virus on a NetworkСетевая модель "Virus on a Network" может иметь несколько интерпретаций.

    Первая из интерпретаций находится в плоскости информационной безопасности - распространение вируса по компьютерной сети.

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

    Каждый элемент модели находится в трех состояниях: вовлеченный (infected), восприимчивый (susceptible) или резистентный (resistant).

    Модифицированную модель Netlogo, а также результаты проведенных в BehaviorSpace экспериментов и скрипт в R для анализа результатов можно скачать по ссылке:

    https://github.com/mmyshkina/netlogo_innovation_idea_on_a_netwok
    Вампирская эпидемияOrdinary people have a probability of becoming infected upon collision with vampires. There's also an exorcist capable of curing people bitten by vampires. A cured person can't be turned into a vampire again. The world consists of 5 original vampires who is impossible to be cured by the exorcist. In the end only one exorcist manages to save all people.
    Влияние параметра доброты на поведениеСуществуют коты, собаки, камни и цветы. Коты охотятся на собак и иногда едят их. Показатель доброты определяет вероятность того, что кот съест собаку. Коты могут погибнуть при столкновении с камнями. Количество возможных столкновений до летального исхода для каждого кота определяется случайным образом. При столкновении с цветами коты повышают уровень своей доброты, а собаки - свою энергию. У котов также есть энергия, при поедании собак они присваивают энергию жертвы себе. У всех животных есть возрастной параметр. Если энергия иссякает или возраст достигает ста лет, животные умирают.
    Коты и собаки на улицеВзаимодействие кошек и собак (на улицах). У агентов (кошек, собак) есть несколько характеристик, таких как возраст, энергия и возраст смерти. Кошки могут убивать собак, если возраст собачек превышает 40 лет, и забирать их энергию. Есть птицы, которых могут съесть кошки, а затем и собаки, если все кошки уже мертвы.

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

    Модель перестает работать, когда мертвы все собаки или птицы.
    Коты и собачкиCats and dogs move around the field. Cats reproduce, dogs and cats die due to natural processes (colliding with a stone)
    Модель Лотки — ВольтеррыМоде́ль Ло́тки — Вольте́рры (модель Ло́тки — Вольтерра́) — модель взаимодействия двух видов типа «хищник — жертва», названная в честь своих авторов (Лотка, 1925; Вольтерра 1926), которые предложили модельные уравнения независимо друг от друга.
    Модель посещаемости студентов в учебное заведение в зависимости от негативных факторовМодель посещаемости учащихся школы
    Модель-симулятор распространения вируса в телеДанная модель была создана, чтобы показать, как может распространяться вирус по телу человека в течение заболевания и как лейкоциты могут бороться с этим вредителем.

    Вирусы и лейкоциты обладают "мощностью", которая проверяет, грубо говоря, кто "выиграет" дуель и уничтожит другого. Лейкоциты преследуют вирусные клетки, если они обнаружены в 10 шагах, а вирусные клетки - обычные.

    Клетки медленно двигаются по полю, являются целью вирусов.
    Насосы и испарениеМодель физических процессов, в которой происходит испарение воды
    Обучение педагогов и учеников
    Охота морских коньковМодель, которая показывает, каким образом увеличивается морской конек относительно того, сколько рыбы ему удастся съесть.
    … следующие результаты

    .

    Число моделей получается по запросу {{#ask: [[Category:Model]] | format=count }} 60

    В контексте обсуждения воздействия имитационных моделей на поле вычислительной дидактики значение имеет повторное использование моделей внутри других статей. Эти ссылки и включения из других страниц мы можем получить для каждой модели через запрос "Служебная:Ссылки_сюда"

    Например, для модели http://digida.mgpu.ru/index.php/Flocking_(model) обратные ссылки можно получить по запросу

    При этом нас интересуют прежде всего ссылки на имитационные модели из страниц, которые принадлежат к категории "События", в которой собирается информация о мастер-классах, лекция и семинарах, которые проходят на основе материалов, представленных в среде Semanic MediaWiki.

    Запрос к категории События с просьбой выделить события, в рамках которых использовались имитационные модели, позволил получить перечень из, которого следует, что более половины всех событий, которые происходили на площадке digida.mgpu.ru , были поддержаны использованием имитационных моделей. Среди таких событий:

    Список литературы

    1. Minsky M., Papert S.A. Perceptrons: An Introduction to Computational Geometry. MIT Press, 2017. 317 p.
    2. Патаракин Е.Д. Игровое поле вычислительной дидактики // Современная “цифровая” дидактика. Москва: Общество с ограниченной ответственностью “ГринПринт,” 2022. P. 35–70.
    3. Wilensky U., Rand W. An Introduction to Agent-Based Modeling: Modeling Natural, Social, and Engineered Complex Systems with NetLogo. MIT Press, 2015.
    4. Railsback S.F., Grimm V. Agent-Based and Individual-Based Modeling: A Practical Introduction, Second Edition. Princeton University Press, 2019. 359 p.
    5. Abrahamson D., Wilensky U. Piaget? Vygotsky? I’m Game!–Agent-Based Modeling for Psychology Research. 2005.