Flocking (model): различия между версиями
Patarakin (обсуждение | вклад) |
Patarakin (обсуждение | вклад) |
||
Строка 2: | Строка 2: | ||
|Description=Модель самопроизвольного формирования стаи в результате действий множества участников (птиц, рыб, людей) | |Description=Модель самопроизвольного формирования стаи в результате действий множества участников (птиц, рыб, людей) | ||
|Field_of_knowledge=NetSci, Биология, Информатика, Управление | |Field_of_knowledge=NetSci, Биология, Информатика, Управление | ||
|Website=https://ccl.northwestern.edu/netlogo/models/Flocking | |||
|Environment=Snap!, StarLogo Nova, NetLogo | |Environment=Snap!, StarLogo Nova, NetLogo | ||
}} | }} |
Версия 11:04, 11 марта 2023
Описание модели | Модель самопроизвольного формирования стаи в результате действий множества участников (птиц, рыб, людей) |
---|---|
Область знаний | NetSci, Биология, Информатика, Управление |
Веб-страница - ссылка на модель | https://ccl.northwestern.edu/netlogo/models/Flocking |
Видео запись | |
Разработчики | |
Среды и средства, в которых реализована модель | Snap!, StarLogo Nova, NetLogo |
Диаграмма модели | |
Описание полей данных, которые модель порождает | |
Модель создана студентами? | {{{Student-created}}}«{{{Student-created}}}» — не булево значение (да/нет). |
ODD protocol | DREAM О чём эта модель? Как устроена модель (правила внутри) Как пользоваться моделью На что следует обратить внимание Что стоит попробовать Расширение возможностей модели Функции среды программирования, которые использованы в этой модели Похожие модели |
см. понятие Flocking
ЧТО ЭТО ТАКОЕ?
Эта модель - попытка имитировать стаю птиц. (Результирующее движение также напоминает косяки рыб.) Стаи, которые появляются в этой модели, никоим образом не создаются и не ведутся специальными птицами-лидерами. Скорее, каждая птица следует точно такому же набору правил, из которых появляются стаи.
КАК ЭТО РАБОТАЕТ
Птицы следуют трем правилам: «выравнивание», «разделение» и «сплоченность».
- «Выравнивание» означает, что птица поворачивается так, чтобы двигаться в том же направлении, что и ближайшие птицы.
- «Сплоченность» означает, что птица будет двигаться к другим ближайшим птицам.
- «Разделение» означает, что птица поворачивается, чтобы избежать столкновения с другой птицей, которая летит слишком близко.
Когда две птицы находятся слишком близко, правило «разделения» отменяет действие двух других, которые деактивируются до тех пор, пока не будет достигнуто минимальное разделение.
Эти три правила влияют только на направление птицы. Каждая птица всегда движется вперед с одинаковой постоянной скоростью.
КАК ЭТО ИСПОЛЬЗОВАТЬ
Сначала определите количество птиц, которое вы хотите использовать в симуляции, и установите ползунок POPULATION на это значение. Нажмите SETUP, чтобы создать птиц, и нажмите GO, чтобы они начали летать.
Настройки по умолчанию для ползунков обеспечат достаточно хорошее поведение стаеобразования. Однако вы можете поиграть с ними, чтобы получить вариации:
Три ползунка TURN-ANGLE регулируют максимальный угол, на который птица может повернуть в соответствии с каждым правилом.
ВИДЕНИЕ - это расстояние, на котором каждая птица может видеть вокруг себя на 360 градусов.
НА ЧТО НУЖНО ОБРАТИТЬ ВНИМАНИЕ
Центральное место в модели занимает наблюдение, что стаи формируются без лидера.
В этой модели не используются случайные числа, за исключением исходного положения птиц. Плавное, реалистичное поведение птиц полностью определяется детерминированными правилами.
Также обратите внимание, что каждая стая динамична. Не гарантируется, что стая, однажды собравшееся, удержит всех своих членов. Как вы думаете, почему это так?
Через некоторое время после запуска модели все птицы будут иметь примерно одинаковый курс. Почему?
Иногда птица отрывается от своей стаи. Как это произошло? Вам может потребоваться замедлить модель или запустить ее шаг за шагом, чтобы наблюдать это явление.
ЧТО ПОПРОБОВАТЬ
Поиграйте с ползунками, чтобы увидеть, сможете ли вы получить более плотные стаи, более рыхлые стаи, меньшее количество стай, большее количество стай, большее или меньшее разделение и объединение стай, более или менее перестановку птиц внутри стай и т. Д.
Вы можете полностью отключить правило, установив ползунок угла этого правила на ноль. Достаточно ли одного правила, чтобы произвести хоть какое-то стайство? А как насчет двух правил? Чего не хватает в результирующем поведении, когда вы опускаете каждое правило?
Будет ли работа модели в течение длительного времени производить статичную стаю? Или птицы никогда не сойдутся в неизменном строю? Помните, что в этой модели не используются случайные числа.
РАСШИРЕНИЕ МОДЕЛИ
В настоящее время птицы могут «видеть» все вокруг себя. Что произойдет, если птицы могут видеть только перед собой? Для этого можно использовать примитив in-cone.
Есть ли способ получить V-образные стаи, как перелетные гуси?
Что произойдет, если вы поставите стены по краям мира, через которые птицы не могут перелететь и от которых они будут ?
Сможете ли вы заставить птиц облетать препятствия посреди мира?
Что бы произошло, если бы вы дали птицам разные скорости? Например, вы можете заставить птиц, которых нет рядом с другими птицами, летать быстрее, чтобы догнать стаю. Или вы можете имитировать уменьшение сопротивления воздуха, которое птицы испытывают при совместном полете, заставляя их летать быстрее, когда они находятся в группе.
Есть ли другие интересные способы сделать птиц отличными друг от друга? Популяции могут быть случайными, или у вас могут быть разные «виды» птиц.
ФУНКЦИИ NETLOGO
Обратите внимание на необходимость примитивной и специальной процедуры `subtract-headings` для усреднения направления групп. Простое вычитание чисел или их усреднение не дает ожидаемых результатов из-за разрыва, когда направленя (heading) возвращаются к 0, когда они достигают 360.
ПОХОЖИЕ МОДЕЛИ
- Мотыльки
- Форимирование V-образных стай