3. На основе антител первого поколения по следующей схеме создается второе поколение.
1) Генерируется множество копий антител. Число копий каждого антитела пропорционально его пригодности. Иными словами, новое поколение будет содержать много копий очень эффективных антител, а неэффективные антитела будут присутствовать лишь в нескольких копиях или вовсе не попадут в следующее поколение.
2) В копии антител вносятся изменения (мутации, если использовать терминологию эволюционных алгоритмов) обратно пропорционально их эффективности. Иными словами, копии эффективных антител в новом поколении почти не изменятся, а копии неэффективных антител претерпят серьезные изменения.
4. Для новых антител, полученных на предыдущих этапах, вновь оценивается способность распознавать искомый антиген, после чего весь процесс повторяется, и создается новое поколение антител.
5. Когда биологическая система считает, что эффективное антитело для борьбы с антигеном найдено, процесс останавливается.
Описанный выше процесс создания антител в иммунной системе нетрудно адаптировать для решения других реальных задач. Единственный важный момент заключается в том, как правильно представить возможные решения проблемы, чтобы их можно было копировать и видоизменять. В этом случае рекомендуется следовать той же методологии, что и при использовании эволюционных алгоритмов, то есть кодировать решения с помощью хромосом, состоящих из генов. Хотя мы смешиваем терминологию из двух, на первый взгляд совершенно разных методов, описанный выше процесс применяется на практике. Искусственные иммунные системы все чаще используются для решения реальных инженерных задач, поскольку они позволяют эффективно оптимизировать решения, а также прекрасно адаптируются к архитектуре современных суперкомпьютеров и распределенных вычислений (в частности, грид-вычислений и облачных вычислений). При грид-вычислениях и облачных вычислениях ресурсы распределены в абстрактном и нечетком «облаке» компьютеров, очень мощных по отдельности, при этом обмен данными между ними необязательно должен быть эффективным. При централизованном контроле над иммунной системой оценка антител может производиться в облаке, а по завершении оценки следующее поколение антител будет создаваться центральной системой контроля. В этом сценарии наибольшие вычислительные затраты связаны с индивидуальной оценкой антител, именно поэтому она проводится в облаке. Создание новых поколений может выполняться последовательно с небольшими затратами в центральной системе.
Создатели роевого интеллекта (англ, swarm intelligence) также черпали вдохновение в природе. Этот термин был введен Херардо Бени и Ван Цзином в конце 1980-х. Роевой интеллект основан на моделировании поведения множества отдельных простых сущностей таким образом, что их совокупное поведение может считаться интеллектуальным. Основная задача при реализации роевого интеллекта — определить, как именно отдельные сущности взаимодействуют со своими соседями и средой. Если эта политика взаимодействий определена корректно, то при агрегировании всех сущностей колонии, или роя, будет наблюдаться совокупное интеллектуальное поведение.
Рассмотрим практический пример, в котором имитируется поведение стаи птиц, кружащей в небе. Допустим, что мы хотим найти оптимум сложной математической функции, насчитывающей сотни измерений, со множеством локальных максимумов и минимумов. Вначале (то есть в момент времени t = 0) расположим сто «птиц» случайным образом, но вблизи друг от друга, на некоторой части области определения функции. Всякий раз, когда мы движемся вперед вдоль оси времени (t' = t + 1), каждая «птица» должна учитывать всего два параметра: направление (А), в котором располагается «центр масс» стаи, то есть среднее направление, указывающее, где находятся остальные члены стаи, чтобы не слишком отдаляться от них, и направление (В) максимального градиента функции, которую необходимо оптимизировать — так как мы хотим найти максимум функции, нужно определить, в каком направлении функция возрастает быстрее всего. На основе двух вычисленных направлений А и В рассчитывается третье, С = А + В. Каждая «птица» должна немного сместиться в этом направлении С. Так как все «птицы» подчиняются этим правилам поведения, стая будет двигаться вдоль графика функции, не слишком отдаляясь от него, в поисках глобального максимума. Преимущество использования группы «птиц» позволяет увеличить выборочное пространство и снизить вероятность попадания в локальные максимумы, далекие от глобального.
На рисунке черными точками обозначены различные «птицы» стаи, белой точкой — центр масс стаи. Стрелкой указано направление, в котором следует стая в поисках глобального максимума.
Роевой интеллект имитирует движение некоторых птиц, к примеру скворцов, которые собираются в огромные стаи, вычерчивающие в небе весьма любопытные фигуры.
Несмотря на инновационный характер роевого интеллекта, его полноценное использование для решения реальных задач только начинается. Сегодня активно рассматривается возможность применения роевого интеллекта в автоматически управляемых транспортных средствах. Наиболее интенсивные исследования в этой области ведутся в двух тесно связанных отраслях — авиакосмической и военной промышленности.
Искусственная жизнь — относительно новый раздел искусственного интеллекта, и многие области его применения только зарождаются. В будущем сложные задачи контроля, управления и планирования будут выполняться именно «живыми» системами, как это уже происходит на рынках ценных бумаг.
Теория игр
Теория игр — раздел математики, изучающий стратегии взаимодействия субъектов и процессы принятия решений. Конечная цель теории игр — определить оптимальные стратегии и спрогнозировать поведение субъектов в конкретных ситуациях.
Основы этой дисциплины заложили математики Джон фон Нейман и Оскар Моргенштерн во время холодной войны. Их целью был поиск оптимальных военных стратегий, однако теория игр быстро нашла применение в экономике, политике, этике, философии, биологии и, разумеется, вычислительной технике.
Теория игр крайне полезна при изучении сложных адаптивных систем, так как агенты, составляющие эти системы, часто должны соперничать или сотрудничать между собой для общего блага. При сотрудничестве часто происходит так, что отдельные усилия конкретного агента оказываются выше, чем общая выгода, пропорционально разделенная между всеми агентами, составляющими систему. Тем не менее эти отдельные усилия способны сыграть определяющую роль при достижении общего результата, который может на несколько порядков превышать индивидуальные усилия агентов. Таким образом, чтобы стимулировать адекватное поведение агентов, составляющих систему, и определить ее жизнеспособность на основе их поведения, необходимо использовать методы теории игр.
Знаменитый робот ASIMO, созданный в компании Honda, способен, подобно человеку, спускаться по лестнице и играть в футбол.
И вновь интеллектуальный анализ данных
Искусственная жизнь привлекательна и окутана тайной для непосвященных. Однако описанные нами понятия, которые скрываются за определением искусственной жизни, например клеточные автоматы, используются для решения достаточно прозаических инженерных задач, в частности для интеллектуального анализа данных, о котором мы уже рассказали. В задачах анализа данных для получения выводов требуется обрабатывать огромные объемы данных, что не под силу экспертам-людям. По этой причине для анализа обычно используются интеллектуальные информационные инструменты.