Архивы: по дате | по разделам | по авторам

Интеллект искусственного роя

АрхивТехнологии
автор : К. Т.   06.07.2004

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

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

Именно так считает доктор Эрик Бонобо из France Telecom. По его мнению, когда речь идёт о сверхсложных системах, склонность людей строить иерархические властные структуры только вредит. Человеческие методы организации тут не срабатывают.

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

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

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

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

Поскольку кратчайший путь одновременно и самый быстрый, по нему успеют пробежать больше муравьёв, и феромонный след станет самым сильным. Вот и всё.

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

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

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

Другую самоорганизующуюся систему для оптимизации сети построили коллега Бонобо из компании Icosystem и немецкие учёные Юрген Бранке и Фредерик Тайль из Университета Карлсруэ (земля Баден-Вюртемберг).

Их целью была разработка более эффективных схем кэширования данных в интернете. Они не стали населять интернет виртуальными муравьями, а снабдили минимальным интеллектом саму сеть, а точнее, каждый её узел.

На каждом узле использовался свой алгоритм настройки с собственным уникальным набором параметров. Отбор лучшего алгоритма поручили эволюции. Если алгоритм сработал плохо, и настройки оказались никуда не годными, его отсеивали. Успешные алгоритмы использовались в качестве основы для автоматического построения новых алгоритмов. Их перемешивали, комбинировали и добавляли в них случайные ошибки.

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

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

Но какой системный администратор доверит управление сетью рою неразумных программ, который не поддаётся контролю? А ведь оптимизация сетей - лишь самое простое из применений, к которому примеривают самоорганизующиеся алгоритмы. 

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

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

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.