Скачиваний:
0
Добавлен:
12.02.2026
Размер:
1.23 Mб
Скачать

Глава 3: Результаты

Результатом работы программы со стандартными настройками:

 numBoids = 20 – количество боидов

 cohesionWeight = 1.0 – вес сцепления

 cohesionDist = 2.0 – расстояние сцепления

 separationWeight = 1.5 – вес разделения

 separationDist = 1.0 – расстояние разделения

 alignmentWeight = 1.0 – вес выравнивания

 alignmentDist = 1.5 – расстояние выравнивания

 minSpeed = 0.5 – минимальная скорость

 maxSpeed = 1 – максимальная скорость

 numIterations = 200 – количество итераций

 fieldSize = 10 – размер поля

 dt = 0.1 – шаг времени

является график, изображённый на рисунке 1:

Рисунок 1 – График движения боидов

Как видно из рисунка, боиды разделились на группы и начали движение в разные стороны, изменение движения одного боида влечёт изменение движения других боидов. В данном случае боиды разделились на 5 обособленных групп разного размера. Попробуем изменить количество боидов, оставив только 5 особей (рис.2):

Рисунок 2 – Модель с другими параметрами

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

Уменьшим количество боидов до 3, увеличим максимальную скорость до 20, размер поля до 50 и количество итераций до 500 (рис. 3):

Рисунок 3 – Изменённая модель

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

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

Рисунок 4 – Увеличенное число боидов

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

Глава 4: Заключение

В ходе выполнения курсовой работы был проведён комплексный анализ алгоритма моделирования стайного поведения Boids, разработана и исследована его программная реализация на языке MATLAB.

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

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

Проведённые вычислительные эксперименты подтвердили, что характер коллективного поведения существенно зависит от заданных параметров. Установлено, что:

 Баланс между весами правил и размерами их зон влияния критически важен для формирования устойчивых и согласованных групп.

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

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

Таким образом, цель работы достигнута: алгоритм Boids изучен, его модель успешно реализована, а влияние ключевых параметров на коллективное поведение исследовано. Разработанная программа наглядно демонстрирует основные принципы роевого интеллекта.

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

Соседние файлы в папке Движение стай (Boids)