Рой | страница 94



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

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

Более того, птицы генетически не запрограммированы на стайное поведение. Не существует специальных генов, которые обусловливают такое поведение. Нет гена, который говорит: «Если произойдет то-то и то-то, начинайте собираться в стаю». Напротив, стайное поведение проистекает из других, более простых правил поведения, свойственных птицам и рыбам. Таких правил, как, например, это: «Держись поблизости от других птиц, но не сталкивайся с ними». Соблюдая эти правила, вся группа птиц собирается в стаю организованно и упорядочение.

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

Я спросил у Рики:

— У вас возникли проблемы с обусловленным поведением роя?

— Именно.

— Оно непредсказуемо?

— Это еще мягко сказано.

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

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