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