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