— И?..
— Мы начали разрабатывать камеру. Конечно, сразу же стало очевидно, что мы столкнемся с проблемой распределенного разума.
Эта проблема была мне знакома. Каждая наночастица в облаке должна была обладать рудиментарным разумом, чтобы они могли взаимодействовать друг с другом и формировать упорядоченную группу, перемещаясь по воздуху. Такая скоординированная деятельность может показаться очень разумной, однако она возможна, даже если индивидуальности, составляющие группу, вовсе не так уж и умны. В конце концов, птицы и рыбы, которым свойственно подобное поведение, далеко не самые умные существа на планете.
У большинства людей, наблюдавших когда-либо за стаей птиц или рыб, создавалось впечатление, что в стае есть лидер и все остальные животные следуют за лидером. Но это только кажется — потому что сами люди, как и большинство млекопитающих, — стадные животные и в их группах всегда есть лидеры.
Однако у птиц и рыб лидеров нет. Их группы организованы по другому принципу. Внимательное изучение поведения птичьих стай и косяков рыб — с подробным, покадровым видеоанализом — убедительно доказало, что постоянного лидера в таких группах нет. Птицы и рыбы реагируют на несколько простых сигналов, которыми обмениваются между собой, — и в результате их поведение становится скоординированным. Но стаями и косяками никто не управляет. И не руководит. И не направляет их.
Более того, птицы генетически не запрограммированы на стайное поведение. Не существует специальных генов, которые обусловливают такое поведение. Нет гена, который говорит: «Если произойдет то-то и то-то, начинайте собираться в стаю». Напротив, стайное поведение проистекает из других, более простых правил поведения, свойственных птицам и рыбам. Таких правил, как, например, это: «Держись поблизости от других птиц, но не сталкивайся с ними». Соблюдая эти правила, вся группа птиц собирается в стаю организованно и упорядочение.
Поскольку стайное поведение обусловлено другими, более простыми правилами низкого уровня, оно называется «обусловленным поведением». Техническое определение обусловленного поведения таково: это поведение, которое свойственно группе индивидуумов, но не запрограммировано ни в одном из индивидуумов в группе. Обусловленное поведение возможно в любой популяции, в том числе и в популяции компьютерных агентов. Или в популяции роботов: Или в рое наночастиц.
Я спросил у Рики:
— У вас возникли проблемы с обусловленным поведением роя?
— Именно.
— Оно непредсказуемо?
— Это еще мягко сказано.
В последние десятилетия наблюдения за обусловленным поведением стали причиной небольшой революции в компьютерной науке. Для программистов это означало, что они могли запрограммировать правила поведения отдельных агентов, но не агентов, действующих единой группой.
Отдельные агенты — будь то программные модули, или процессоры, или, как в данном случае, микророботы — могут быть запрограммированы на совместные действия в обоих случаях и на самостоятельное поведение в других случаях. Им могут быть заданы цели. Их можно запрограммировать так, чтобы они все усилия приложили к достижению поставленной цели или же чтобы всегда были готовы отвлечься и прийти на помощь другим агентам. Однако результаты всех этих взаимодействий запрограммировать невозможно. Они просто проявляются зачастую совершенно неожиданным образом.
В некотором смысле это очень увлекательно. Впервые в истории науки программа выдает результаты, непредсказуемые для программиста. По поведению такие программы больше похожи на живые существа, чем на созданные человеком автоматы. Это восхищало программистов, но и доставляло им массу неприятностей.
Потому что обусловленное поведение программ проявляется беспорядочно и странно. Иногда самостоятельные агенты начинали конкурировать друг с другом, и программа вообще не могла выполнить никакую задачу. Иногда агенты настолько сильно влияли друг на друга, что конечная цель совершенно забывалась и вместо этого система делала что-то совсем другое. В этом смысле такие программы были очень похожи на детей — непредсказуемостью поведения и повышенной отвлекаемостью. Один программист сказал про это так: «Программировать распределенный разум — это все равно что сказать пятилетнему ребенку, чтобы тот пошел в свою комнату и переоделся. Он может это сделать, а может сделать что-то совсем другое и не вернуться обратно».
Читать дальше