KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Прочая околокомпьтерная литература » Коллектив Авторов - Цифровой журнал «Компьютерра» № 166

Коллектив Авторов - Цифровой журнал «Компьютерра» № 166

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Коллектив Авторов, "Цифровой журнал «Компьютерра» № 166" бесплатно, без регистрации.
Перейти на страницу:

Создание невидимой феромонной программы начинается с муравья, который сбился с готовой дорожки. Без неё он вынужден хаотично рыскать в окрестностях муравейника, разыскивая еду для колонии. Найдя что-то, заслуживающее внимания, муравей возвращается в гнездо, оставляя за собой пахучий след.

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

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

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

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

Что произошло? Муравьи нашли оптимальное решение довольно сложной задачи. Даже их ошибки и случайные блуждания в итоге принесли пользу: с их помощью колония изучила все возможные варианты, а затем сделала выбор в пользу лучшего.

Если найденную дорогу перегородит препятствие, процесс повторится: муравьи ринутся в обход, найдут несколько альтернативных вариантов, кратчайший путь быстрее накопит феромонные следы, победит более длинные и всё вернётся на круги своя. Нарушенная программа скорректируется.

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

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

Для человека поиск решения не составляет труда (достаточно одного взгляда на карту), а вот для компьютера задача коммивояжёра — это грандиозная проблема. Дело в том, что её нельзя решить «в лоб». Маршрутов оказывается невероятно много даже при относительно скромном количестве городов. Так много, что их невозможно перебрать и проанализировать по очереди. Приходится искать лазейки и хитрить.

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

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

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


Один из пионеров в этой области — швейцарская компания AntOptima, в 2001 году отпочковавшаяся от располагающегося в Лугано Института Далле Молле по изучению искусственного интеллекта. За прошедшее с тех пор время она успела внедрить продукты, основанные на алгоритме муравьиной колонии, в несколько европейских компаний.

Один из крупнейших клиентов AntOptima — главная швейцарская сеть супермаркетов Migros. Муравьиный алгоритм используется для организации движения 1200 грузовиков, которые развозят товары по 600 магазинам, разбросанным по всей Швейцарии. Задача усложняется тем, что, во-первых, автопарк Migros неоднороден и состоит из трёх видов грузовиков разной вместительности и, во-вторых, часть магазинов не приспособлена для разгрузки некоторых типов грузовиков.

В AntOptima разработали замысловатую модификацию алгоритма муравьиной колонии, учитывающую все эти тонкости. Используется не один «муравейник», а два: один оптимизирует расстояние, а другой — сроки доставки. Чтобы учесть разнотипность транспорта, муравьям случайным образом присваивается один из типов грузовиков. Алгоритм запускают каждое утро, чтобы получить маршруты для каждого грузовика на весь день.

Схожая проблема стояла перед корпорацией Air Liquide, занимающейся производством сжиженных газов, используемых в промышленности и медицине. У корпорации около сотни заводов в Соединённых Штатах, ежедневно отправляющих продукцию в шесть тысяч пунктов, находящихся в разных частях континента. Для доставки применяются четыре сотни грузовиков, железная дорога и трубопроводы. Кроме того, для полноты картины нужно учитывать стоимость электроэнергии. Она не только везде своя, но ещё и постоянно меняется.

Систему, ежедневно планирующую эффективную доставку с учётом всех этих факторов, для Air Liquide написали в компании BiosGroup. Любопытный побочный эффект: идеальные маршруты оказались настолько противоестественными, что поначалу вызвали ропот у водителей. Алгоритм запросто мог отправить машину к дальнему заводу, пропустив завод, который находится рядом с клиентом. При ближайшем рассмотрении неизменно оказывалось, что прав он, а не люди: если учесть не только расстояние, но и все прочие факторы, сделать крюк бывает выгоднее.

Во France Telecom муравьиный алгоритм попытались применить для маршрутизации информации в сети. Проектом руководил эксперт в области сложных систем Эрик Бонобо. «Компьютерра» рассказывала об этом в 2004 году:

Бонобо разработал специальные программные агенты, которые могут пересылаться по сети от маршрутизатора к маршрутизатору как сообщения. Когда агент достигает маршрутизатора, он оставляет на нём особую пометку. Если там побывал не один агент, а несколько, их пометки скапливаются. Одним словом, всё как у муравьёв.

Как ни странно, этот подход сработал. И даже ошибки, которые неизбежно возникают поначалу, постепенно сами собой исчезли. «У общественных насекомых ошибки и случайное поведение не приводят к сбоям, — объясняет Бонобо. — Наоборот, делая ошибки, они добиваются успеха и отыскивают новые способы решения проблем в дополнение к старым».

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

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

Если верны прогнозы, согласно которым вот-вот наступит время интернета вещей и повсеместного компьютинга, вскоре инженерам придётся думать, как наладить автоматическое взаимодействие десятков, а то и сотен независимых устройств. Возможно, ответ дадут как раз наблюдения за общественными насекомыми вроде муравьёв.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*