HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-21
1 <p><a>#статьи</a></p>
1 <p><a>#статьи</a></p>
2 <ul><li>28 окт 2021</li>
2 <ul><li>28 окт 2021</li>
3 <li>0</li>
3 <li>0</li>
4 </ul><h2>Ползай, как муравей, летай, как пчела: алгоритмы, которые придумала сама природа 🐜🐝</h2>
4 </ul><h2>Ползай, как муравей, летай, как пчела: алгоритмы, которые придумала сама природа 🐜🐝</h2>
5 <p>Рассказываем, как муравьи с пчёлами помогли программистам и математикам создать новые алгоритмы.</p>
5 <p>Рассказываем, как муравьи с пчёлами помогли программистам и математикам создать новые алгоритмы.</p>
6 <p>Автор статей про IT-технологии. Преподаватель, доцент. Инженер по первому образованию, по второму - журналист. Кандидат технических наук.</p>
6 <p>Автор статей про IT-технологии. Преподаватель, доцент. Инженер по первому образованию, по второму - журналист. Кандидат технических наук.</p>
7 <p>Многие интересные технические решения люди подсмотрели у животных и растений. Например, крылья птиц вдохновили первых авиастроителей на создание самолётов, а колючки репейника способствовали появлению<a>застёжек-липучек</a>.</p>
7 <p>Многие интересные технические решения люди подсмотрели у животных и растений. Например, крылья птиц вдохновили первых авиастроителей на создание самолётов, а колючки репейника способствовали появлению<a>застёжек-липучек</a>.</p>
8 <p>Учёные-информатики тоже подглядывают за окружающим миром в поисках лучших решений. Они называют алгоритмы и модели, позаимствованные у природы,<a>биоинспирированными</a> - то есть навеянными живой природой.</p>
8 <p>Учёные-информатики тоже подглядывают за окружающим миром в поисках лучших решений. Они называют алгоритмы и модели, позаимствованные у природы,<a>биоинспирированными</a> - то есть навеянными живой природой.</p>
9 <p>Пожалуй, самая популярная биоинспирированная модель -<a>искусственные нейронные сети</a>, которые имитируют работу клеток человеческого мозга. Однако в этой статье мы расскажем о менее известных моделях: муравьином алгоритме и алгоритме пчелиной колонии. Учёные разработали их, наблюдая за работой тысяч насекомых, которые совместно решали невообразимо сложные задачи.</p>
9 <p>Пожалуй, самая популярная биоинспирированная модель -<a>искусственные нейронные сети</a>, которые имитируют работу клеток человеческого мозга. Однако в этой статье мы расскажем о менее известных моделях: муравьином алгоритме и алгоритме пчелиной колонии. Учёные разработали их, наблюдая за работой тысяч насекомых, которые совместно решали невообразимо сложные задачи.</p>
10 <p>Мы привыкли думать о муравьях как о мудрых существах: они строят огромные гнёзда, занимаются "скотоводством" и даже захватывают сородичей в рабство. Но парадокс в том, что отдельно взятый муравей очень глуп. Только действуя сообща, эти насекомые способны добиваться впечатляющих результатов. Особи с примитивными рефлексами взаимодействуют между собой и демонстрируют удивительно эффективное поведение.</p>
10 <p>Мы привыкли думать о муравьях как о мудрых существах: они строят огромные гнёзда, занимаются "скотоводством" и даже захватывают сородичей в рабство. Но парадокс в том, что отдельно взятый муравей очень глуп. Только действуя сообща, эти насекомые способны добиваться впечатляющих результатов. Особи с примитивными рефлексами взаимодействуют между собой и демонстрируют удивительно эффективное поведение.</p>
11 <p>Долгие годы учёные пытались понять механизмы функционирования муравьиного общества. Особенно их занимал один факт: передвигаясь от муравейника к источнику пищи, насекомые всегда выбирали самый короткий путь. Сначала явление пытались объяснить таинственными психополями, с помощью которых муравьи якобы взаимодействуют между собой.</p>
11 <p>Долгие годы учёные пытались понять механизмы функционирования муравьиного общества. Особенно их занимал один факт: передвигаясь от муравейника к источнику пищи, насекомые всегда выбирали самый короткий путь. Сначала явление пытались объяснить таинственными психополями, с помощью которых муравьи якобы взаимодействуют между собой.</p>
12 <p>К счастью, бельгийский исследователь<a>Марко Дориго</a>создал математическую модель, научно описывающую этот процесс. Он опубликовал её в докторской диссертации в 1992 году и реализовал в виде компьютерного алгоритма. Модель муравьиного алгоритма (Ant Colony Optimization, ACO) Дориго привлекла других учёных к изучению роевого интеллекта (<a>Swarm intelligence</a>).</p>
12 <p>К счастью, бельгийский исследователь<a>Марко Дориго</a>создал математическую модель, научно описывающую этот процесс. Он опубликовал её в докторской диссертации в 1992 году и реализовал в виде компьютерного алгоритма. Модель муравьиного алгоритма (Ant Colony Optimization, ACO) Дориго привлекла других учёных к изучению роевого интеллекта (<a>Swarm intelligence</a>).</p>
13 <p>Роевой интеллект описывает системы, состоящие из множества особей - их называют агентами. Агенты могут быть как реальными роботами, так и виртуальными объектами в компьютерной симуляции. Они взаимодействуют между собой по определённым правилам и вместе находят решение общей задачи.</p>
13 <p>Роевой интеллект описывает системы, состоящие из множества особей - их называют агентами. Агенты могут быть как реальными роботами, так и виртуальными объектами в компьютерной симуляции. Они взаимодействуют между собой по определённым правилам и вместе находят решение общей задачи.</p>
14 <p>За 30 лет с момента открытия муравьиного алгоритма учёные создали несколько десятков биоинспирированных моделей. А на основе роевого интеллекта реализовали модели, имитирующие колонии пчёл, светлячков (Firefly Algorithm) и косяка рыб (Fish School Search).</p>
14 <p>За 30 лет с момента открытия муравьиного алгоритма учёные создали несколько десятков биоинспирированных моделей. А на основе роевого интеллекта реализовали модели, имитирующие колонии пчёл, светлячков (Firefly Algorithm) и косяка рыб (Fish School Search).</p>
15 <p>Выбор кратчайшего маршрута при движении муравьёв к пище учёные объяснили способностью использовать<a>феромоны</a> - пахучие выделения, которыми насекомые отмечают свой путь. Особенность феромонов в том, что они быстро испаряются и теряют свою пахучесть.</p>
15 <p>Выбор кратчайшего маршрута при движении муравьёв к пище учёные объяснили способностью использовать<a>феромоны</a> - пахучие выделения, которыми насекомые отмечают свой путь. Особенность феромонов в том, что они быстро испаряются и теряют свою пахучесть.</p>
16 <p>В общем виде процесс выглядит так. Вначале муравей-разведчик исследует прилегающую территорию и постепенно отдаляется от муравейника. Когда он обнаруживает что-то вкусное (например, упавшее на землю яблоко), то возвращается в гнездо и помечает феромонами путь до места с едой.</p>
16 <p>В общем виде процесс выглядит так. Вначале муравей-разведчик исследует прилегающую территорию и постепенно отдаляется от муравейника. Когда он обнаруживает что-то вкусное (например, упавшее на землю яблоко), то возвращается в гнездо и помечает феромонами путь до места с едой.</p>
17 <p>Оставленный им запах привлекает других муравьёв. Но путь, который выбрал разведчик, скорее всего, не самый короткий. Они пойдут по нему к пище, но некоторые будут случайно отклоняться от первоначальной траектории.</p>
17 <p>Оставленный им запах привлекает других муравьёв. Но путь, который выбрал разведчик, скорее всего, не самый короткий. Они пойдут по нему к пище, но некоторые будут случайно отклоняться от первоначальной траектории.</p>
18 <p>Все альтернативные пути, обнаруженные муравьями, тоже помечаются феромонами. Таким образом, каждый муравей, идущий от гнезда к яблоку, будет постоянно попадать на развилки из дорожек феромонов. Муравей выбирает путь по простому правилу: идти по дорожке с наиболее сильным запахом.</p>
18 <p>Все альтернативные пути, обнаруженные муравьями, тоже помечаются феромонами. Таким образом, каждый муравей, идущий от гнезда к яблоку, будет постоянно попадать на развилки из дорожек феромонов. Муравей выбирает путь по простому правилу: идти по дорожке с наиболее сильным запахом.</p>
19 <p>Феромоны быстро улетучиваются. Очевидно, что по короткому маршруту за единицу времени пройдёт больше муравьёв, чем по длинному. С каждым новым проходом муравья короткая дорожка будет становиться более пахучей и привлекательной, а неэффективные длинные маршруты - исчезнут из-за испарения феромонов.</p>
19 <p>Феромоны быстро улетучиваются. Очевидно, что по короткому маршруту за единицу времени пройдёт больше муравьёв, чем по длинному. С каждым новым проходом муравья короткая дорожка будет становиться более пахучей и привлекательной, а неэффективные длинные маршруты - исчезнут из-за испарения феромонов.</p>
20 Пример с муравьями, которые следуют между точками А и Е. Они могут обойти препятствие справа (вдоль стороны С) или слева (вдоль Н). На более коротком пути © откладывается больше феромонов, и муравьи выбирают его всё чаще и чаще. Изображение: M. Dorigo, V. Maniezzo, A. Colorni / "<a>Ant System: Optimization by a colony of cooperating agents. IEEE Trans Syst Man Cybernetics - Part B"</a>/ PubMed, 1996<p>Через некоторое время практически все насекомые будут идти по самой короткой дорожке. Отдельные сбившиеся с пути особи уже ничего не изменят: перемещаясь по феромонной тропе, рой будет поддерживать её сильный запах.</p>
20 Пример с муравьями, которые следуют между точками А и Е. Они могут обойти препятствие справа (вдоль стороны С) или слева (вдоль Н). На более коротком пути © откладывается больше феромонов, и муравьи выбирают его всё чаще и чаще. Изображение: M. Dorigo, V. Maniezzo, A. Colorni / "<a>Ant System: Optimization by a colony of cooperating agents. IEEE Trans Syst Man Cybernetics - Part B"</a>/ PubMed, 1996<p>Через некоторое время практически все насекомые будут идти по самой короткой дорожке. Отдельные сбившиеся с пути особи уже ничего не изменят: перемещаясь по феромонной тропе, рой будет поддерживать её сильный запах.</p>
21 <p>Проблема, которую решают муравьи, похожа на задачу странствующего торговца (<a>коммивояжёра</a>): нужно по одному разу посетить несколько городов, пройдя между ними по самому короткому маршруту, и вернуться в исходную точку.</p>
21 <p>Проблема, которую решают муравьи, похожа на задачу странствующего торговца (<a>коммивояжёра</a>): нужно по одному разу посетить несколько городов, пройдя между ними по самому короткому маршруту, и вернуться в исходную точку.</p>
22 <p>Особенность задачи в том, что даже при небольшом количестве городов компьютеру потребуется несколько миллиардов лет на перебор всех вариантов. А вот с муравьиным алгоритмом решить задачу можно гораздо быстрее.</p>
22 <p>Особенность задачи в том, что даже при небольшом количестве городов компьютеру потребуется несколько миллиардов лет на перебор всех вариантов. А вот с муравьиным алгоритмом решить задачу можно гораздо быстрее.</p>
23 <p>Для удобства дорожную сеть, по которой движется коммивояжёр (в нашем случае - муравей), обычно изображают в виде<a>графа</a>, где точки соответствуют городам, а рёбра - дорогам между городами. При компьютерной реализации муравьиного алгоритма в программу вводят количество точек и длины всех путей.</p>
23 <p>Для удобства дорожную сеть, по которой движется коммивояжёр (в нашем случае - муравей), обычно изображают в виде<a>графа</a>, где точки соответствуют городам, а рёбра - дорогам между городами. При компьютерной реализации муравьиного алгоритма в программу вводят количество точек и длины всех путей.</p>
24 Граф, в котором точки соответствуют городам, а соединяющие их рёбра - дорогам между городами. Инфографика: Майя Мальгина / Skillbox Media. Источник: Александр Цуриков<p>До начала работы алгоритма определим константы: коэффициент испарения феромона и коэффициент его влияния на выбор нового маршрута.</p>
24 Граф, в котором точки соответствуют городам, а соединяющие их рёбра - дорогам между городами. Инфографика: Майя Мальгина / Skillbox Media. Источник: Александр Цуриков<p>До начала работы алгоритма определим константы: коэффициент испарения феромона и коэффициент его влияния на выбор нового маршрута.</p>
25 <p>Затем создадим переменные для хранения вещественных чисел, которые соответствуют количеству феромона на каждом ребре графа. Возможному пути между точками будут соответствовать два числа - его длина и количество феромонов. Длина - величина постоянная, а вот количество феромонов будет изменяться с каждой итерацией цикла.</p>
25 <p>Затем создадим переменные для хранения вещественных чисел, которые соответствуют количеству феромона на каждом ребре графа. Возможному пути между точками будут соответствовать два числа - его длина и количество феромонов. Длина - величина постоянная, а вот количество феромонов будет изменяться с каждой итерацией цикла.</p>
26 <p>Одна итерация цикла равна одному проходу муравья по замкнутому маршруту. Чем больше итераций, тем больше условных муравьёв пройдёт по дорожной сети и тем выше вероятность нахождения кратчайшего маршрута. Когда сработает условие выхода (это может быть, например, заранее заданное число итераций), цикл завершится, а программа сохранит оптимальный маршрут.</p>
26 <p>Одна итерация цикла равна одному проходу муравья по замкнутому маршруту. Чем больше итераций, тем больше условных муравьёв пройдёт по дорожной сети и тем выше вероятность нахождения кратчайшего маршрута. Когда сработает условие выхода (это может быть, например, заранее заданное число итераций), цикл завершится, а программа сохранит оптимальный маршрут.</p>
27 <p><strong>Псевдокод алгоритма:</strong></p>
27 <p><strong>Псевдокод алгоритма:</strong></p>
28 Загрузка графа (дорожной сети) Инициализация переменных и определение констант ЦИКЛ (до достижения условия выхода) Инициализация муравьёв Поиск решений Обновление феромона КОНЕЦ ЦИКЛА Сохранение результата Инфографика: Майя Мальгина / Skillbox Media. Источник: Александр Цуриков<p>Заметьте: в каждой итерации муравьи инициализируются заново. Так мы моделируем поиск пути из новой точки (это возможно, поскольку мы ищем замкнутый маршрут).</p>
28 Загрузка графа (дорожной сети) Инициализация переменных и определение констант ЦИКЛ (до достижения условия выхода) Инициализация муравьёв Поиск решений Обновление феромона КОНЕЦ ЦИКЛА Сохранение результата Инфографика: Майя Мальгина / Skillbox Media. Источник: Александр Цуриков<p>Заметьте: в каждой итерации муравьи инициализируются заново. Так мы моделируем поиск пути из новой точки (это возможно, поскольку мы ищем замкнутый маршрут).</p>
29 <p>В каждом узле графа муравей, следуя простому правилу, принимает решение, по какому из возможных маршрутов ему продолжить своё движение. Муравей выбирает следующую точку для посещения с вероятностью, прямо пропорциональной количеству феромона на пути и обратно пропорциональной длине пути.</p>
29 <p>В каждом узле графа муравей, следуя простому правилу, принимает решение, по какому из возможных маршрутов ему продолжить своё движение. Муравей выбирает следующую точку для посещения с вероятностью, прямо пропорциональной количеству феромона на пути и обратно пропорциональной длине пути.</p>
30 Муравей выбирает путь, оценивая длину и запах феромонов. Изображение: M. Dorigo, M. Birattari, T. Stützle / <a>Ant Colony Optimization</a>/ IEEE Computational Intelligence Magazine, 2006<p>После того как муравей прошёл весь маршрут и оказался в исходной точке значения переменных с количеством феромонов на каждом ребре графа обновляются.</p>
30 Муравей выбирает путь, оценивая длину и запах феромонов. Изображение: M. Dorigo, M. Birattari, T. Stützle / <a>Ant Colony Optimization</a>/ IEEE Computational Intelligence Magazine, 2006<p>После того как муравей прошёл весь маршрут и оказался в исходной точке значения переменных с количеством феромонов на каждом ребре графа обновляются.</p>
31 <p>Сначала они умножаются на дробный коэффициент испарения (константа) и таким образом уменьшаются. А на путях, по которым прошёл муравей, количество феромона увеличивается обратно пропорционально длине пути: чем короче путь, тем больше феромона прибавляем.</p>
31 <p>Сначала они умножаются на дробный коэффициент испарения (константа) и таким образом уменьшаются. А на путях, по которым прошёл муравей, количество феромона увеличивается обратно пропорционально длине пути: чем короче путь, тем больше феромона прибавляем.</p>
32 <p>Процесс многократно повторяется: муравьи начинают движение из новых узлов графа. Уровни феромонов, привязанные к каждому ребру, несут информацию о предыдущих проходах виртуальных насекомых. После выхода из цикла маршрут, на котором осталось наибольшее количество феромонов, сохраняется как оптимальный.</p>
32 <p>Процесс многократно повторяется: муравьи начинают движение из новых узлов графа. Уровни феромонов, привязанные к каждому ребру, несут информацию о предыдущих проходах виртуальных насекомых. После выхода из цикла маршрут, на котором осталось наибольшее количество феромонов, сохраняется как оптимальный.</p>
33 <p>Есть несколько вариаций муравьиного алгоритма. Например, в модели могут быть элитные особи, которые перемещаются по лучшим маршрутам и оставляют больше феромонов, чем их обычные братья.</p>
33 <p>Есть несколько вариаций муравьиного алгоритма. Например, в модели могут быть элитные особи, которые перемещаются по лучшим маршрутам и оставляют больше феромонов, чем их обычные братья.</p>
34 <p>Учёные доказали сходимость некоторых версий алгоритма. Иными словами, чем дольше муравьи будут ходить между точками графа, тем лучшие решения будет выдавать алгоритм.</p>
34 <p>Учёные доказали сходимость некоторых версий алгоритма. Иными словами, чем дольше муравьи будут ходить между точками графа, тем лучшие решения будет выдавать алгоритм.</p>
35 <p>Пчёлы тоже демонстрируют удивительные способности к поиску оптимальных решений. Полосатые труженицы находят скопления цветов для сбора нектара и пыльцы в нескольких километрах от улья, а затем "рассказывают" о них товарищам с помощью…<a>танца</a>.</p>
35 <p>Пчёлы тоже демонстрируют удивительные способности к поиску оптимальных решений. Полосатые труженицы находят скопления цветов для сбора нектара и пыльцы в нескольких километрах от улья, а затем "рассказывают" о них товарищам с помощью…<a>танца</a>.</p>
36 <p>Да, пчёлы способны передавать друг другу информацию с "географическими координатами" посредством ритмических движений. При этом по интенсивности танца сородичей пчёлы делают выводы о количестве цветов в указанной точке пространства (чем больше цветов - тем активнее движения). Это необычное явление обнаружил в середине XX века исследователь насекомых<a>Карл Фриш</a>. За свои работы он был удостоен Нобелевской премии.</p>
36 <p>Да, пчёлы способны передавать друг другу информацию с "географическими координатами" посредством ритмических движений. При этом по интенсивности танца сородичей пчёлы делают выводы о количестве цветов в указанной точке пространства (чем больше цветов - тем активнее движения). Это необычное явление обнаружил в середине XX века исследователь насекомых<a>Карл Фриш</a>. За свои работы он был удостоен Нобелевской премии.</p>
37 <p>В течение многих лет только учёные-биологи исследовали пчелиные методы поиска. А в 2005 году их результатами заинтересовался профессор<a>Дервис Карабога</a>, работавший на кафедре вычислительной техники в турецком университете Эрджиес (<a>Erciyes University</a>). Он опубликовал научную<a>статью</a>и описал в ней модель роевого интеллекта, на создание которой его вдохновили пчелиные танцы. Модель получила название "алгоритм пчелиной колонии" (Artificial Bee Colony).</p>
37 <p>В течение многих лет только учёные-биологи исследовали пчелиные методы поиска. А в 2005 году их результатами заинтересовался профессор<a>Дервис Карабога</a>, работавший на кафедре вычислительной техники в турецком университете Эрджиес (<a>Erciyes University</a>). Он опубликовал научную<a>статью</a>и описал в ней модель роевого интеллекта, на создание которой его вдохновили пчелиные танцы. Модель получила название "алгоритм пчелиной колонии" (Artificial Bee Colony).</p>
38 <p>Все пчёлы разделяются на 3 вида: разведчики, рабочие и наблюдатели. Вначале несколько разведчиков вылетают из улья в разных случайно выбранных направлениях. Обнаружив нектар, они возвращаются в улей и рассказывают на "танцполе" пчёлам-наблюдателям о местах своих находок.</p>
38 <p>Все пчёлы разделяются на 3 вида: разведчики, рабочие и наблюдатели. Вначале несколько разведчиков вылетают из улья в разных случайно выбранных направлениях. Обнаружив нектар, они возвращаются в улей и рассказывают на "танцполе" пчёлам-наблюдателям о местах своих находок.</p>
39 <p>По интенсивности танца наблюдатели выбирают разведчиков, которые обнаружили наиболее богатые нектаром площадки, и вылетают в нужном направлении. На месте сбора нектара наблюдатели превращаются в рабочих пчёл. Они облетают это место и оценивают число цветов. Дальше возможны два варианта.</p>
39 <p>По интенсивности танца наблюдатели выбирают разведчиков, которые обнаружили наиболее богатые нектаром площадки, и вылетают в нужном направлении. На месте сбора нектара наблюдатели превращаются в рабочих пчёл. Они облетают это место и оценивают число цветов. Дальше возможны два варианта.</p>
40 <p><strong>Первый:</strong>пчела находит поблизости другую площадку с большим количеством цветов и собирает нектар оттуда, а про старое место забывает. Затем она возвращается в улей, где в танце сообщает пчёлам-наблюдателям координаты нового источника нектара.</p>
40 <p><strong>Первый:</strong>пчела находит поблизости другую площадку с большим количеством цветов и собирает нектар оттуда, а про старое место забывает. Затем она возвращается в улей, где в танце сообщает пчёлам-наблюдателям координаты нового источника нектара.</p>
41 <p><strong>Второй:</strong>пчела не находит лучшего места и собирает нектар там, куда изначально летела. Дома она рассказывает пчёлам о той же точке.</p>
41 <p><strong>Второй:</strong>пчела не находит лучшего места и собирает нектар там, куда изначально летела. Дома она рассказывает пчёлам о той же точке.</p>
42 Алгоритм пчелиной колонии: толстые линии - траектории полёта разведчиков, тонкие - уточнение решений рабочими пчёлами. Изображение:<a>Wikimedia Commons</a><p>Процесс повторяется многократно. Прилетев в улей, пчёлы-рабочие сообщают в танце параметры места, с которого собрали нектар, и превращаются в наблюдателей. В следующей итерации они выбирают по танцам своих сородичей новую привлекательную точку, вылетают туда и снова становятся рабочими.</p>
42 Алгоритм пчелиной колонии: толстые линии - траектории полёта разведчиков, тонкие - уточнение решений рабочими пчёлами. Изображение:<a>Wikimedia Commons</a><p>Процесс повторяется многократно. Прилетев в улей, пчёлы-рабочие сообщают в танце параметры места, с которого собрали нектар, и превращаются в наблюдателей. В следующей итерации они выбирают по танцам своих сородичей новую привлекательную точку, вылетают туда и снова становятся рабочими.</p>
43 <p>Через некоторое время все пчёлы сосредоточатся на сборе пыльцы и нектара из лучших источников, а координаты менее богатых цветами точек просто забудут.</p>
43 <p>Через некоторое время все пчёлы сосредоточатся на сборе пыльцы и нектара из лучших источников, а координаты менее богатых цветами точек просто забудут.</p>
44 <p><strong>Псевдокод алгоритма:</strong></p>
44 <p><strong>Псевдокод алгоритма:</strong></p>
45 Инициируются несколько случайно выбранных разведчиками точек - их параметры доступны на "танцполе" ЦИКЛ (до достижения условия выхода) Выбрать на "танцполе" точку с наиболее привлекательными параметрами, сохранить её координаты и вылететь к ней Кружить некоторое время неподалёку от выбранной точки, постоянно сравнивая количество цветов ЕСЛИ (количество цветов под пчелой &gt; количества цветов в точке, выбранной на "танцполе"), ТО (сохранить координаты новой точки) Собрать нектар Вернуться в улей Сообщить на "танцполе" параметры точки, с которой собрали нектар Удалить с "танцпола" точку (или точки) с наихудшими параметрами КОНЕЦ ЦИКЛА Сохранение результата<p>Хранить лучшие решения можно в массиве фиксированной длины - он будет выполнять роль "танцпола". Цикл выполняется, пока не выполнятся условия его завершения.</p>
45 Инициируются несколько случайно выбранных разведчиками точек - их параметры доступны на "танцполе" ЦИКЛ (до достижения условия выхода) Выбрать на "танцполе" точку с наиболее привлекательными параметрами, сохранить её координаты и вылететь к ней Кружить некоторое время неподалёку от выбранной точки, постоянно сравнивая количество цветов ЕСЛИ (количество цветов под пчелой &gt; количества цветов в точке, выбранной на "танцполе"), ТО (сохранить координаты новой точки) Собрать нектар Вернуться в улей Сообщить на "танцполе" параметры точки, с которой собрали нектар Удалить с "танцпола" точку (или точки) с наихудшими параметрами КОНЕЦ ЦИКЛА Сохранение результата<p>Хранить лучшие решения можно в массиве фиксированной длины - он будет выполнять роль "танцпола". Цикл выполняется, пока не выполнятся условия его завершения.</p>
46 <p>Есть целое сообщество специалистов, которые обеспечивают развитие алгоритма пчелиной колонии. Их версию псевдокода можно найти по <a>ссылке</a>. На <a>официальной страничке сообщества</a>также можно скачать реализации модели на Java, C#, Python и других языках программирования.</p>
46 <p>Есть целое сообщество специалистов, которые обеспечивают развитие алгоритма пчелиной колонии. Их версию псевдокода можно найти по <a>ссылке</a>. На <a>официальной страничке сообщества</a>также можно скачать реализации модели на Java, C#, Python и других языках программирования.</p>
47 <p>Модели роевого интеллекта уже применяют там, где из множества решений нужно выбрать самое оптимальное.</p>
47 <p>Модели роевого интеллекта уже применяют там, где из множества решений нужно выбрать самое оптимальное.</p>
48 <ul><li><strong>Поисково-спасательные операции.</strong>Учёные из Курчатовского института<a>запрограммировали группу роботов</a>с помощью роевого интеллекта. Роботы находят предметы, разбросанные по локации, и перетаскивают их в точку сбора по кратчайшему маршруту. При этом муравьиный алгоритм хорошо подходит для устройств, движущихся по поверхности земли, а пчелиный - для летающих (дронов, квадрокоптеров).</li>
48 <ul><li><strong>Поисково-спасательные операции.</strong>Учёные из Курчатовского института<a>запрограммировали группу роботов</a>с помощью роевого интеллекта. Роботы находят предметы, разбросанные по локации, и перетаскивают их в точку сбора по кратчайшему маршруту. При этом муравьиный алгоритм хорошо подходит для устройств, движущихся по поверхности земли, а пчелиный - для летающих (дронов, квадрокоптеров).</li>
49 <li><strong>Автомобильные грузоперевозки.</strong>Европейская компания<a>Ant Optima</a>разрабатывает системы, оптимизирующие перевозку грузов на автомобилях. Её программисты написали на основе муравьиного алгоритма ряд<a>компьютерных программ</a>для доставки продуктов питания, медикаментов и нефтепродуктов по городам и торговым точкам. Софт Ant Optima отслеживает количество товара на складах, мониторит обстановку на европейских дорогах и помогает выбрать оптимальный маршрут для доставки грузов.</li>
49 <li><strong>Автомобильные грузоперевозки.</strong>Европейская компания<a>Ant Optima</a>разрабатывает системы, оптимизирующие перевозку грузов на автомобилях. Её программисты написали на основе муравьиного алгоритма ряд<a>компьютерных программ</a>для доставки продуктов питания, медикаментов и нефтепродуктов по городам и торговым точкам. Софт Ant Optima отслеживает количество товара на складах, мониторит обстановку на европейских дорогах и помогает выбрать оптимальный маршрут для доставки грузов.</li>
50 <li><strong>Гражданская авиация.</strong>Роевой интеллект<a>помогает авиакомпании Southwest Airlines</a>выбирать места для стоянки самолётов и оптимизировать поток пассажиров, которые покупают билеты и проходят регистрацию. Так авиаперевозчик борется с очередями возле касс и стоек регистрации.</li>
50 <li><strong>Гражданская авиация.</strong>Роевой интеллект<a>помогает авиакомпании Southwest Airlines</a>выбирать места для стоянки самолётов и оптимизировать поток пассажиров, которые покупают билеты и проходят регистрацию. Так авиаперевозчик борется с очередями возле касс и стоек регистрации.</li>
51 <li><strong>Градостроение и наука.</strong>С помощью муравьиного алгоритма учёные<a>определяют</a>оптимальное расположение электростанций, трансформаторов и линий электропередач, а также разрабатывают дизайн формы<a>портативных антенн</a>.</li>
51 <li><strong>Градостроение и наука.</strong>С помощью муравьиного алгоритма учёные<a>определяют</a>оптимальное расположение электростанций, трансформаторов и линий электропередач, а также разрабатывают дизайн формы<a>портативных антенн</a>.</li>
52 </ul><p>А вот британские учёные<a>предложили</a>создавать объёмные рисунки с помощью муравьиного и птичьего алгоритмов. Они даже придумали термин "роевое искусство" (Swarm Art).</p>
52 </ul><p>А вот британские учёные<a>предложили</a>создавать объёмные рисунки с помощью муравьиного и птичьего алгоритмов. Они даже придумали термин "роевое искусство" (Swarm Art).</p>
53 <p>Исследователи нарисовали простейшие контуры объектов, а затем пустили по ним виртуальную стаю. Перемещаясь вдоль нарисованных линий, виртуальные животные за несколько итераций алгоритма придали рисункам объём.</p>
53 <p>Исследователи нарисовали простейшие контуры объектов, а затем пустили по ним виртуальную стаю. Перемещаясь вдоль нарисованных линий, виртуальные животные за несколько итераций алгоритма придали рисункам объём.</p>
54 "Роевое искусство" (Swarm Art): слева - исходный рисунок, справа - результат работы роевого алгоритма. Изображение: M. M. Al-Rifaie, J. M. Bishop, A. Aber /<a>Creative or Not? Birds and Ants Draw with Muscles</a>/ AISB 2011: Computing and Philosophy, 2011<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
54 "Роевое искусство" (Swarm Art): слева - исходный рисунок, справа - результат работы роевого алгоритма. Изображение: M. M. Al-Rifaie, J. M. Bishop, A. Aber /<a>Creative or Not? Birds and Ants Draw with Muscles</a>/ AISB 2011: Computing and Philosophy, 2011<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>