Основы компьютерного моделирования (Syllabus): различия между версиями
Patarakin (обсуждение | вклад) |
Patarakin (обсуждение | вклад) (→SLNOVA) |
||
(не показано 11 промежуточных версий этого же участника) | |||
Строка 3: | Строка 3: | ||
* Проектировать модели | * Проектировать модели | ||
* Программировать модели | * Программировать модели | ||
|Clarifying_video=https://www.youtube.com/watch?v=4NS4EYQFKy0&t=6s | |||
|Environment=R, Snap!, NetLogo, StarLogo Nova | |Environment=R, Snap!, NetLogo, StarLogo Nova | ||
|Book=Agent-Based and Individual-Based Modeling: A Practical Introduction, Growing Artificial Societies: Social Science From the Bottom Up (Complex Adaptive Systems) | |||
}} | }} | ||
=== Дополнительные вводные материалы === | |||
== Видео == | |||
* https://www.youtube.com/watch?v=PGwaRCW1-fo | |||
{{#widget:YouTube|id=PGwaRCW1-fo|start=5}} | |||
* https://vk.com/video-21242193_456239664?list=ln-bG0pEeZQ1cQCDZAnYQ - ВКонтакте | |||
== Последовательность == | |||
{{#ask: [[Многоагентное моделирование в изучении группового поведения (Syllabus)/Diagram]] | format=embedded | embedonly=yes}} | |||
=== Карта курса === | === Карта курса === | ||
Строка 12: | Строка 28: | ||
:Competences ; | :Competences ; | ||
note right | note right | ||
C1 | C1 - Modelling | ||
C2 | C2 | ||
end note | end note | ||
Строка 95: | Строка 111: | ||
=== Понятие модели и моделирования === | === Понятие модели и моделирования === | ||
{{#ask: [[Модель]] OR [[Агент]] OR [[Агентное моделирование]] | ?Description | ?Environment }} | |||
==== Тексты ==== | |||
* [[Thinking Like a Tree]] | |||
* [[Искусственная жизнь и русские биологи начала двадцатого века]] | |||
* [[Экологический подход к зрительному восприятию]] | |||
==== Моделируемые паттерны поведения ==== | |||
<scratch project="702005" /> | |||
{{#ask: [[Категория:HowTo]] [[Description_of_problem::+]] | ?Description_of_problem | ?Solution | ?Environment }} | |||
=== [[Snap!]] === | |||
; На примере [[Segregation (model)]] | |||
[[Файл:Segregation Model Snap.png|400px]] | |||
<snap project="Segregation_Model" user="patarakin" /> | |||
=== SLNOVA === | |||
; На примере [[Segregation (model)]] | |||
{{#widget:iframe | |||
|url=https://www.slnova.org/patarakin/projects/926685/ | |||
|width=1000 | |||
|height=1000 | |||
}} | |||
=== Дизайн компьютерной модели === | === Дизайн компьютерной модели === | ||
{{#ask: [[ODD принципы]] | format = embedded | embedformat=h4 }} | |||
=== Статистическое компьютерное моделирование === | === Статистическое компьютерное моделирование === |
Текущая версия на 08:51, 19 октября 2024
Планируемые результаты обучения (Знать, Уметь, Владеть) |
|
---|---|
Содержание разделов курса | |
Видео запись | 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) |
Дополнительные вводные материалы
Видео
Последовательность
Карта курса
Вводная лекция
Подбор компетенций, которые уже есть на площадке
- Practice defining problems to solve by computing for data analysis, modeling or algorithmic thinking
- Simulation (the ability to interpret and construct dynamic models of real world processes)
- Владение методами моделирования
- Способность быстро разбираться, комбинировать и организовывать информацию в значимые модели
Понятия учебного курса
Description | Environment | |
---|---|---|
Агентное моделирование | Агентное моделирование (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 |
Книги и авторы для курса
Inventor | Description | Environment | |
---|---|---|---|
Agent-Based and Individual-Based Modeling: A Practical Introduction | Railsback Grimm | Подробное руководство по дизайну экспериментов в среде Netlogo с использованием BehaviorSpace и использованием ODD принципов
| NetLogo BehaviorSpace Mesa |
An Introduction to Agent-Based Modeling: Modeling Natural, Social, and Engineered Complex Systems with NetLogo | Wilensky Rand | Введение в моделирование систем при помощи языка NetLogo (от создателя языка) - использование NetLogo в естественно-научном, инженерном и общественном образовании | NetLogo |
Individual-Based Models of Cultural Evolution: A Step-by-Step Guide Using R | Acerbi | Книга показывает как создавать агентно-ориентированные модели или ABM культурной эволюции. В тексте книги используется код на языке программирования R. От очень простых моделей основных процессов культурной эволюции, таких как предвзятая передача и культурная мутация, к более сложным темам, таким как эволюция социального обучения, демографические эффекты и анализ социальных сетей. | R Ggplot |
Modeling Social Behavior: Mathematical and Agent-Based Models of Social Dynamics and Cultural Evolution | Smaldino | Социальные, поведенческие и когнитивные науки исторически полагались на силу слова. Слова имеют силу. Богатые аналогии могут найти отклик в умах читателей и пролить свет на тайны природы. Я говорю о вербальных теориях, описательных объяснениях сложных явлений. Большинство теорий, вероятно, более точны, чем поэтичны, но они, как правило, опираются на свойство большинства языков, согласно которому фраз могут нести в себе несколько возможных импликатур — рассмотрим, например, такие слова, как «восприятие», «категория», «идентичность», «тождественность» обучение» и даже «реакция» достаточно двусмысленны, чтобы допускать множество интерпретаций. То есть язык по своей сути (и адаптивно) расплывчат и двусмыслен. В конечном счете, это проблема для ученых, потому что нам нужно предельно четко понимать, о чем мы говорим, чтобы выдвинуть полезные теории Вселенной. | NetLogo BehaviorSpace R ODD принципы Центральная предельная теорема |
Tidy Modeling with R | Sigle | Руководство по созданию и использованию моделей при помощи пакетов из пространства tidyverse: recipes, parsnip, workflows, yardstick, and others. | R RStudio R for Data Science |
Turtles, termites, and traffic jams: explorations in massively parallel microworld | Resnick | Книга "Черепахи, термиты и дорожные пробки: исследования в микромире массово-параллельных вычислений" Децентрализованный подход к феноменам окружающего мира - на основе использования микромира с тысячами черепашек | NetLogo StarLogo Nova Scratch StarLogo |
Кларин М. В. Инновационные модели обучения | Кларин М.В. | Кларин М.В. Инновационные модели обучения: Исследование мирового опыта. Монография. М.: Луч, 2016. 640 с. |
Игры
Description | |
---|---|
Foldit | Фолдит — многопользовательская игра онлайн-головоломка о фолдинге белка. Игра является частью исследовательского проекта и разработана в Вашингтонском университете. Предмет игры — наилучшим образом свернуть структуру выбранных протеинов; лучшие пользовательские решения анализируются учёными, которые могут с их помощью найти решение реальных научных проблем, связанных с поиском вакцин и биологическими инновациями. |
SimAnt | SimAnt: 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. |
Sims | The Sims — однопользовательская видеоигра в жанре симулятора жизни, первая по счёту из серии The Sims, разработанная командой разработчиков Maxis под руководством геймдизайнера Уилла Райта и изданная компанией Electronic Arts. Игра создавалась при сотрудничестве Эдварда Уилсона — известного биолога, изучавшего социальное поведение муравьёв в колониях. Игра была выпущена для IBM PC, Commodore Amiga, Apple Macintosh и Super Nintendo Entertainment System. Когда игрок впервые играет в The Sims в рамках обучающей программы, он должен управлять семьёй молодожёнов — Ньюби (англ. Newbie), которая только переехала в город и должна освоиться в нём. Действие игры происходит в городке, где проживают пять семей. |
Модели
Description | Environment | |
---|---|---|
Air Pollution - Buses and Cars | Когда модель работает, автобусы непрерывно следуют по дороге. В домах есть люди, которым нужно добираться на работу. Если автобус проезжает мимо дома, человек из этого дома «садится в автобус». Однако, если автобус не прибудет достаточно скоро, вместо этого человек использует личную машину, в результате чего на дороге появится машина, которой необходимо проехать определенное расстояние, прежде чем ее уберут с дороги. Автомобили выбрасывают 1 загрязнение каждые 7 «тиков». Автобусы выбрасывают одно загрязнение каждые 1 тик. Автомобили и автобусы следуют основным правилам дорожного движения: снижайте скорость, если многолюдно, и останавливайтесь, если впереди нет места для движения.
| 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 | Drafting agent-based modeling into basketball analytics
| NetLogo |
Butterfly model | Эксперименты с моделью приведены в книге Agent-Based and Individual-Based Modeling: A Practical Introduction | NetLogo |
Dawkins Weasel | Dawkins 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) |
Запустите модель Fire несколько раз. Если мы запустим его с низкой плотностью деревьев, мы увидим, как и ожидалось, очень небольшое распространение огня. Если мы запустим его с очень высокой плотностью деревьев, мы, как и ожидалось, увидим, как лес уничтожается неумолимым маршем огня. Чего ожидать при средней плотности? Многие предполагают, что если плотность установлена на 50 процентов, то вероятность того, что огонь достигнет правого края леса, будет 50 процентов. Однако если мы попробуем это сделать, то увидим, что при 50-процентной плотности огонь не распространяется сильно. Если мы увеличим его до 57 процентов, огонь горит больше, но обычно все равно не достигает другой стороны леса. Однако если мы увеличим плотность до 61 процента, то есть всего на 2 процента больше, огонь неизбежно достигнет другой стороны. Это неожиданно. Мы ожидаем, что небольшое изменение плотности окажет относительно небольшое влияние на распространение огня. Но, как выясняется, модель Fire имеет «критический параметр» 59% плотности. | NetLogo |
Flocking (model) | Модель самопроизвольного формирования стаи в результате действий множества участников (птиц, рыб, людей). Модель формирования стаи - это классическая агентно-ориентированная модель, основанная на оригинальных моделях Рейнольдса (1987). Модель демонстрирует, что стаи птиц могут возникать даже в отсутствии специальных птиц-вожаков, которые ведут всех за собой. Скорее, каждая птица следует общему же набору правил, и из выполнения всеми простых правил появляются стаи. Каждая птица следует трем правилам: «выравнивание», «разделение» и «сплоченность».
Правило «разделения» имеет приоритет над двумя другими, что означает, что если две птицы приближаются друг к другу, они всегда будут разделяться. В этом случае два других правила отменяются до тех пор, пока не будет достигнуто минимальное разделение. Эти три правила влияют только на направление птицы. Каждая птица всегда движется вперед с одинаковой постоянной скоростью. Правила удивительно надежны и могут быть адаптированы к скоплению насекомых, стаям рыб и паттернам «V» стаи гусей (Stonedahl & Wilensky, 2010a). | NetLogo StarLogo Nova Scratch Snap! |
Leaders & Followers (model) | Модель лидеров (харизматиков) и их последователей - тех, кто за ними следует и устанавливает с ними связи.
| 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) | Модель «обучения через игру» была создана для следующих целей:
| NetLogo |
Preferential Attachment | Модель предпочтительного присоединения - Preferential Attachment - Процесс предпочтительного присоединения - это любой из классов процессов, в которых некоторое количество, обычно некоторое форма богатства или кредита распределяется между несколькими людьми или объектами в зависимости от того, сколько они уже имеют, так что те, кто уже богат, получают больше, чем те, кто не богат. «Предпочтительная привязанность» - это лишь последнее из многих названий, которые были даны таким процессам. Они также упоминаются как «богатые становятся богаче». Процесс предпочтительного присоединения генерирует распределение «с длинным хвостом » после распределения Парето или степенной закон в его хвосте. Это основная причина исторического интереса к предпочтительной привязанности: распределение видов и многие другие явления наблюдаются эмпирически, следуя степенным законам, и процесс предпочтительной привязанности является ведущим механизмом для объяснения этого поведения. Предпочтительное прикрепление считается возможным основанием для распределения размеров городов, богатства чрезвычайно богатых людей, количества цитирований, полученных научными публикациями, и количества ссылок на страницы во всемирной паутине. | NetLogo |
Prisoner's dilemma | Дилемма заключенного - это классическая задача в теории игр, которую можно использовать для преподавания вычислительной истории, иллюстрируя динамику сотрудничества и конкуренции в исторических контекстах. Дилемма заключенного может быть включена в вычислительную историю несколькими способами: 1) Моделирование исторических взаимодействий: Дилемма заключенного может быть использована в качестве основы для моделирования взаимодействия между историческими акторами, такими как отдельные люди, группы или государства. Моделируя решения и выплаты этих субъектов в различных сценариях, учащиеся могут получить представление о факторах, повлиявших на сотрудничество или конкуренцию в исторических событиях. 2) Изучение возникновения норм и институтов: Дилемма заключенного может быть использована для изучения возникновения социальных норм и институтов в исторических обществах. Например, учащиеся могут создать агентные модели, которые имитируют взаимодействие людей, следующих правилам дилеммы заключенного, а затем проанализировать, как различные стратегии, такие как tit-for-tat (око за око) или "всегда сотрудничать", приводят к развитию норм сотрудничества или к его разрушению. | NetLogo |
School Choice ABM | Модель "School Enrollment" представляет собой пространственно-эксплицитную вычислительную модель, которая иллюстрирует систему школьного образования в Чили, основанную на рыночных принципах. В этой модели студенты могут выбирать между различными типами школ: государственными, частными с ваучерами и частными платными. Модель изображает город, в котором расположены школы и студенты.
Есть версии, когда имеют дополнительные атрибуты, такие как географическое положение, сектор (государственная или частная), стоимость обучения, уровень достижений студентов, максимальная вместимость, год открытия и закрытия, а также вероятность того, что о ней узнают ученики. | NetLogo |
Segregation (model) | Модель сегрегации
Принципы: - Минимальная толерантность к различиям: Люди склонны предпочитать окружение, где большинство соседей принадлежат к той же группе, что и они сами. Однако они могут терпеть некоторую долю соседей другой группы. - Пороговая толерантность: Существует пороговый уровень доли соседей другой группы, выше которого человек начинает чувствовать себя некомфортно и стремится переехать в район с большей однородностью. - Переезд при превышении порога: Если доля соседей другой группы превышает установленный порог, человек решает переехать. Этот переезд приводит к тому, что районы становятся всё более сегрегированными. | NetLogo StarLogo Nova |
Slime (агрегация слизевиков) | Эта модель показывает, как существа могут объединяться в кластеры без контроля со стороны клетки-лидера или пейсмейкера. Это открытие было впервые описано Эвелин Фокс Келлер и Ли Сигел в статье в 1970 году. До того, как Келлер начала свои исследования, общепринятым считалось, что рои слизевиков образуются по команде клеток-лидеров, которые приказывают другим клеткам начать агрегацию.
| 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 model | Sugarscape model (сахарная модель) - один из методов(моделей) разработки искусственного общества. Модель стала популярна благодаря известной работе «Growing Artificial Societies». Является одной из простых моделей и прекрасным инструментом для обсуждения и экспериментального исследования ряда научных вопросов. Имеется некоторая окружающая среда — сахарный ландшафт, где в двумерном пространстве разбросан сахар — где-то больше, где-то меньше; и туда же помещены агенты-жуки, которые ползают по сахарному ландшафту по простым правилам: агенту надо есть сахар, и он перемещается туда, где сахара больше. Так они двигаются, поедают сахар, который появляется в той или иной точке тоже по каким-то законам. Наблюдая за поведением агентов на экране мы видим то, что Джошуа Эпштейн и Роберт Акстелл определили как прото-историю или Proto-Narrative | NetLogo |
Team Assembly (model) | Эта модель коллаборативных сетей показывает, как поведение отдельных людей при формировании небольших команд для краткосрочных проектов может со временем привести к появлению множества крупномасштабных сетевых структур. | 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 |
Разделы учебного курса
Понятие модели и моделирования
Description | Environment | |
---|---|---|
Агент | Агенты - это автономные объекты, которые могут самостоятельно реагировать на внешние события и выбирать соответствующие действия. Это - некто или нечто, выполняющий инструкции. В информатике - сущность, которая расположена в некоторой среде и способна в этой среде к автономным целенаправленным действиям. | NetLogo Scratch |
Агентное моделирование | Агентное моделирование (agent-based model) (ABM)— метод имитационного моделирования, исследующий поведение децентрализованных агентов и то, как такое поведение определяет поведение всей системы в целом. В отличие от системной динамики аналитик определяет поведение агентов на индивидуальном уровне, а глобальное поведение возникает как результат деятельности множества агентов (моделирование «снизу вверх»). ABM представляют собой модели, в которых отдельные лица или агенты описываются как уникальные и автономные объекты, которые обычно взаимодействуют друг с другом и с окружающей их средой на местном уровне. Агентами могут быть организмы, люди, предприятия, учреждения и любые другие объекты, преследующие определенную цель. Когда мы даем агентам правила адаптации к изменениям в их среде и к тому, что делают другие агенты, тогда поведение каждого отдельного агента и, следовательно, поведение всей системы вытекает из этих правил, характеристик агентов и окружающей среды. Эмерджентность - это основная объясняющая концепция агентного моделирования. Эпштейн и Акстелл (1996) удачно описали этот вид объяснения своим знаменитым вопросом:
| NetLogo StarLogo Nova Scratch Snap! BehaviorSpace |
Модель | Моде́ль (фр. modèle от лат. modulus «мера, аналог, образец») — система, исследование которой служит средством для получения информации о другой системе; представление некоторого реального процесса, устройства или концепции. Модель есть абстрактное представление реальности в какой-либо форме (например, в математической, физической, символической, графической или дескриптивной), предназначенное для рассмотрения определённых аспектов этой реальности и позволяющее получить ответы на изучаемые. Система В является моделью системы А для активной системы Q (человека-индивида, коллектива, животного, робота и т. п.), если основанием для ее использования этой активной системой служит ее структурное сходство с моделируемой системой А. | Foldit NetLogo StarLogo Nova |
Тексты
- Thinking Like a Tree
- Искусственная жизнь и русские биологи начала двадцатого века
- Экологический подход к зрительному восприятию
Моделируемые паттерны поведения
Description of problem | Solution | Environment | |
---|---|---|---|
Генерировать новых агентов | Агент порождает поток других агентов - например, в экологических моделях рождение используется для создания потомков, в играх из пистолета вылетают пули, которые он порождает, в историях Scratch капли дождя клонируются и падают из тучи на землю. | Можно использовать породы или клоны. Например, в NetLogo:
| NetLogo StarLogo Nova Scratch Agentsheets |
Накапливать энергию | Агент живёт в среде, перемещается, выполняет задания и накапливает энергию или собирает очки |
| StarLogo Nova Scratch Snap! |
Перевозить другого агента на себе | Транспортировка представляет собой ситуацию, когда один агент перевозит на себе другого агента. Например, черепаха в Frogger несёт лягушку, пересекая реку. В экологических симуляциях процесс транспортировки можно использовать, например, для перевозки пыльцы пчёлами. |
| Scratch Frogger |
Перемещаться случайным образом | Агент или агенты перемещаются по экрану случайным образом - стандартная для многих игр и симуляций ситуация, которую надо уметь воспроизводить - термиты, птицы и рыбы при формировании стай изначально перемещаются случайным образом. | Агент поворачивается в направление, которое выбирается случайным образом и делает ход в этом направлении. | NetLogo StarLogo Nova Scratch AgentCubes |
Поглощать агентов |
| Прятать агентов или просто их убивать или умирать самому | NetLogo Scratch Snap! Agentsheets |
Подчиняться клавишам клавиатуры | Реагировать на клавиши клавиатуры Движение клавиатуры: нажатия кнопок клавиатуры управляют движением агента. И здесь могут быть паттерны типа Прыгать - как писал Пейперт в этой статье писал про Марио и как воспроизвести поведение Марио | Использовать блоки управления в сочетании с блоками движения | Mario Bros Scratch |
Поиск восхождением к вершине | Поиск восхождением к вершине - алгоритм поиска в компьютерных науках, когда агент просматривает значения переменных на ближайших полях и на поле с максимальным значением переменной. Использование алгоритма поиск восхождением к вершине можно наблюдать в таких играх как Sims или Pac-Man, когда призраки преследуют Pacman, следуя наивысшему значению запаха Pac-man, который распространяется по всему полю см. http://ccl.northwestern.edu/netlogo/models/Pac-Man | Использовать встроенные команды NetLogo
| Pac-Man NetLogo |
Превращаться в другого агента | Превращение - один агент превращается в другого агента. Возможный вариант - агент одной породы превращается в агента другой породы. | В примере на Scratch - cпрайт клонируется и содержит в себе разные породы - демонов и драконов. При столкновении с агентом другой породы агент может изменять собственную породу и становиться другим. Например, из породы демонов переходить в породу драконов. В NetLogo можно просто поменять принадлежность к породе и соответственно свойства агента. | Scratch Snap! |
Преследовать другого агента | Один агент преследует другого агента - поворачивается в его сторону или поворачивается в том же направлении, куда движется другой агент | Используются команды повернуться к другому агенту | Scratch AgentCubes |
Распространяться | Диффузия: паттерн распространения, когда вы можете распространять определённое количество агента на других агентов, расположенных по близости за счёт процесса диффузии. Например, в модели муравьёв в NetLogo муравьи выделяют вещества феромоны, которые диффундируют на ближайшие поля игрового поля. | В некоторых средах конструирования возможность диффузии заложена изначально. Например, в NetLogo стандартная команда к точкам - пятнам на экране diffuse | NetLogo |
Сталкиваться |
| В ряде среде есть специальный блок Collision - что делать агенту в случае столкновения с другим агентом. Для Scratch решение собирается из блоков сенсоров - если я касаюсь другого агента (указать какого именно), то ... | Pac-Man StarLogo Nova Snap! Frogger |
Тащить | Тащить - паттерн "тащить" противоположен по значению паттерну толкать - агент может тащить за собой другого агента или агентов. Например, поезд тащит за собой вагоны, лошадь тащит за собой сани, буксир тащит за собой баржи или плот. | Scratch AgentCubes | |
Толкать | Паттерн "толкать" — это паттерн, который мы видим во многих играх. Агент должен толкать ящики или мешки с золотом. Когда игрок толкает коробку или мешок, эти объекты движутся в том направлении (вверх, вниз, вправо или влево), в котором их толкнули. | Объект или Агент, над которым совершается действие, получает сигнал от агента субъекта деятельности, поворачивается в ту же сторону, куда смотрит толкающий агент и двигается в эту сторону. | Scratch AgentCubes |
Snap!
- На примере Segregation (model)
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. Какие переменные своего окружения и самих себя агенты, как предполагается, чувствуют и, следовательно, могут учитывать в своем поведении? На чем основаны эти предположения?
- Например, агент чувствует хищника на определённом расстоянии от себя и может отпрыгнуть от этой опасности
- Какие механизмы восприятия моделируются в явном виде и какие воспринимаемые переменные являются агентами, а не просто «знают»?
13. С какой точностью или неопределенностью предполагается, что агенты «знают» или ощущают, какие переменные? На какие расстояния (в географическом, сетевом или другом пространстве)?
- Взаимодействие
14. Как взаимодействуют агенты модели? Взаимодействуют ли они напрямую друг с другом (например, напрямую ли один агент меняет состояние других)? Или взаимодействие опосредовано, например, через конкуренцию за ресурс?
- Например, агент одной породы при прямом столкновении может убивать агента другой породы
15. С какими другими агентами взаимодействует агент?
16. Какие реальные механизмы взаимодействия были основаны на представлении взаимодействия в модели? В каких пространственных и временных масштабах они происходят?
- Стохастичность
17. Как случайные процессы (основанные на псевдослучайных числах) используются в модели и почему? Используются ли случайные процессы: для инициализации модели? Потому что считается важным, чтобы некоторые процессы были изменчивыми, но неважно представлять причины изменчивости? Воспроизвести наблюдаемое поведение с использованием эмпирически определенных вероятностей?
- Коллективы (породы) агентов
18. Представлены ли в модели коллективы - совокупности агентов, которые влияют на состояние или поведение агентов-членов и на которые влияют их члены?
19. Если да, то как представлены коллективы? Возникают ли они из поведения агентов, или агентам даны подмодели поведения, которые навязывают формирование коллективов? Или коллективы моделируются как агент другого типа со своим собственным поведением и переменными состояния?
- Наблюдение
20. Какие выходные данные модели необходимы для наблюдения за ее внутренней динамикой, а также за ее поведением на системном уровне? Какие инструменты (графика, вывод в файл, данные о людях и т. Д.) Необходимы для получения этих результатов?
21. Какие результаты и анализ необходимы для проверки модели на соответствие критериям полезности - обычно это набор шаблонов, - определенных в элементе «Цель и паттерны»? Какие результаты необходимы для решения проблемы, для которой была разработана модель?
References
- 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.
- Grimm V. и др. The ODD protocol: A review and first update // Ecological Modelling. 2010. Т. 221. № 23. С. 2760–2768.
- Smaldino P. E. How to Translate a Verbal Theory Into a Formal Model // Social Psychology. 2020. Т. 51. № 4. С. 207–218.
- 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)
Статья обсуждает процесс перевода устных теорий, которые часто неясны и неформальны, в формальные модели, которые могут быть строго протестированы и анализированы. Автор утверждает, что этот процесс необходим для прогресса в социальных и поведенческих науках, поскольку он позволяет исследователям четко и проверяемо делать предсказания о том, как работает мир.
Статья описывает несколько шагов, вовлеченных в процесс перевода, включая:
- Определение ключевых концепций и переменных в устной теории
- Определение этих концепций и переменных в точных и операционных терминах
- Указание отношений между этими концепциями и переменными
- Перевод устной теории в математическую или вычислительную модель
- Тестирование модели на эмпирических данных для проверки ее точности предсказания явлений, которые происходят в реальном мире.
В статье фиксируется разница между тем, что из себя представляет математическая модель и вычислительная модель
Статистическое компьютерное моделирование
Инструменты статистического моделирования
Имитационное компьютерное моделирование в визуальной среде программирования
- Среды многоагентного моделирования