Выбрать главу

Описанный выше процесс создания антител в иммунной системе нетрудно адаптировать для решения других реальных задач. Единственный важный момент заключается в том, как правильно представить возможные решения проблемы, чтобы их можно было копировать и видоизменять. В этом случае рекомендуется следовать той же методологии, что и при использовании эволюционных алгоритмов, то есть кодировать решения с помощью хромосом, состоящих из генов. Хотя мы смешиваем терминологию из двух, на первый взгляд совершенно разных методов, описанный выше процесс применяется на практике. Искусственные иммунные системы все чаще используются для решения реальных инженерных задач, поскольку они позволяют эффективно оптимизировать решения, а также прекрасно адаптируются к архитектуре современных суперкомпьютеров и распределенных вычислений (в частности, грид-вычислений и облачных вычислений). При грид-вычислениях и облачных вычислениях ресурсы распределены в абстрактном и нечетком «облаке» компьютеров, очень мощных по отдельности, при этом обмен данными между ними необязательно должен быть эффективным. При централизованном контроле над иммунной системой оценка антител может производиться в облаке, а по завершении оценки следующее поколение антител будет создаваться центральной системой контроля. В этом сценарии наибольшие вычислительные затраты связаны с индивидуальной оценкой антител, именно поэтому она проводится в облаке. Создание новых поколений может выполняться последовательно с небольшими затратами в центральной системе.

Роевой интеллект

Создатели роевого интеллекта (англ, swarm intelligence) также черпали вдохновение в природе. Этот термин был введен Херардо Бени и Ван Цзином в конце 1980-х. Роевой интеллект основан на моделировании поведения множества отдельных простых сущностей таким образом, что их совокупное поведение может считаться интеллектуальным. Основная задача при реализации роевого интеллекта — определить, как именно отдельные сущности взаимодействуют со своими соседями и средой. Если эта политика взаимодействий определена корректно, то при агрегировании всех сущностей колонии, или роя, будет наблюдаться совокупное интеллектуальное поведение.

Рассмотрим практический пример, в котором имитируется поведение стаи птиц, кружащей в небе. Допустим, что мы хотим найти оптимум сложной математической функции, насчитывающей сотни измерений, со множеством локальных максимумов и минимумов. Вначале (то есть в момент времени = 0) расположим сто «птиц» случайным образом, но вблизи друг от друга, на некоторой части области определения функции. Всякий раз, когда мы движемся вперед вдоль оси времени (t't1), каждая «птица» должна учитывать всего два параметра: направление (А), в котором располагается «центр масс» стаи, то есть среднее направление, указывающее, где находятся остальные члены стаи, чтобы не слишком отдаляться от них, и направление (В) максимального градиента функции, которую необходимо оптимизировать — так как мы хотим найти максимум функции, нужно определить, в каком направлении функция возрастает быстрее всего. На основе двух вычисленных направлений А и В рассчитывается третье, С = А В. Каждая «птица» должна немного сместиться в этом направлении С. Так как все «птицы» подчиняются этим правилам поведения, стая будет двигаться вдоль графика функции, не слишком отдаляясь от него, в поисках глобального максимума. Преимущество использования группы «птиц» позволяет увеличить выборочное пространство и снизить вероятность попадания в локальные максимумы, далекие от глобального.

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

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

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