«Если», 2011 № 11 — страница 54 из 57

гнал от кремниевой пленки не высветит на коже клавиатуру и обзорный экран (звук, похоже, исходит непосредственно от имплантата).

Большинство из нас вряд ли захотят быть столь тесно связанными со своим телефоном, но благодаря таким разработкам не кажется такой уж фантастикой то, каким образом Кип подзаряжал свой рой.

Коллективный разум роя

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

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

Кипу требуется что-то подобное, но поскольку мы не желаем, чтобы наши нервные пути отключались от их обычного использования, нам надо будет каким-то образом подключаться к ним, устраивать «врезку» без того, чтобы блокировать идущие по ним сигналы.

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

Более простое решение — использовать мелкие мышцы грудной клетки. Такую технологию уже применяют для управления протезами рук. Когда пользователь протеза думает: «открыть ладонь», «согнуть указательный палец», то эти мысли в действительности активируют грудные мускулы. А электроды, отслеживающие их состояние, получают сигналы и передают их на искусственную руку.

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

Управлять одним насекомым несложно. Группа из Беркли, которая первой получила насекомого-киборга, для управления использовала, кажется, всего лишь шесть команд: взлететь, приземлиться, повернуть направо, повернуть налево, подниматься, опускаться. Умножьте это на 300 насекомых и получится, что Кипу нужно было отдавать до 1800 различных команд… причем в идеале — все сразу.

Или не нужно?

Если каждым насекомым требуется управлять по одиночке, то, конечно, перед Кипом встает серьезная проблема. И временами ему действительно необходимо отслеживать каждого своего жучка в отдельности и отдавать ему команды. Но при выполнении менее конкретных задач большую помощь ему может оказать программная идеология, известная под названием «интеллект роя» («разум роя», «коллективный разум»).

Приведем для начал один очень простой пример: поведение пешеходов на тротуаре. На конференции Американской ассоциации продвинутой науки (The American Association for the Advancement of Science), состоявшейся 19–22 февраля 2010 года в Сан-Диего, Калифорния, Мехди Муссаид, математик из Швейцарского федерального технологического института, описал эксперименты, в которых он снимал на пленку передвижения пешеходов на тротуаре и составлял каталог вариантов их поведения.

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

Кто-нибудь говорит им, что они должны двигаться вот так, а не иначе? Нет. Это результат работы двух простых мотивов, которым подчиняется каждый действующий самостоятельно человек: они хотят совершить свой переход из пункта А в пункт Б; по пути они желают общаться друг с другом.

Форма их построения возникает как простая реакция каждого на непосредственное окружение. Шеренга предоставляет наилучшую возможность для общения, но она наименее эффективна для передвижения в толпе.

Форма построения \/ все еще дает возможность нормально общаться, но когда идущих по краям начинают слишком часто толкать, они отступают назад и строй спонтанно преобразуется в форму /\. Ну, а когда плотность толпы начинает переходить в давку и никакое общение уже невозможно, люди выстраиваются гуськом.

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

Не только люди делают это; потоки муравьев, двигающихся в противоположных направлениях, тоже формируют полосы движения (точно так же, как и жуки-навозники, катящие свои шары в разных направлениях), хотя в данном случае приходится исключить соображения, что выбор полосы диктуется понятиями о «правильной стороне дороги». Интересно, что все происходит безо всякого понуждения со стороны. Просто каждый индивидуум следует линии наименьшего сопротивления с добавлением не слишком сильного мотива: уступая дорогу, делать шаг в ту сторону, которая диктуется культурными традициями страны.

Рой Кипа не состоит из пешеходов на тротуаре, но и к нему приложимы изложенные выше принципы.

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

Это вообще-то называется «эмерджентное поведение».

В аквариуме залива Монтерей, Калифорния, в большой емкости можно наблюдать, как плавает косяк сардин. Вот они плывут в одном направлении, как нечто целое, объединенные, по нашему представлению, общей целью. А затем внезапно весь косяк меняет направление движения. Но попробуйте определить рыбу, которая инициировала перемену курса! Выглядит так, будто это коллективное решение: нам надоело двигаться в этом направлении, попытаемся испытать что-то новенькое.

Рыбы не действуют согласованно, по всеобщему уговору, но и за лидером они не следуют. Скорее, каждая из них реагирует на перемены в ближайшем окружении, подчиняясь очень простым правилам, но делает это так быстро, что «решение» переменить курс, выглядит коллективным. Поведение птичьей стаи аналогично. И его очень легко смоделировать. В лекциях по вводному курсу роботехники Маджа Дж. Матарик, директор Центра роботизации и встроенных систем из Университета Южной Калифорнии, описывает простую процедуру создания роботов, которые будут вести себя как стая птиц (или косяк рыбы). Все, что нужно, это чтобы каждый робот подчинялся следующим трем простым правилам:

1. Избегай столкновения с другим роботом.

2. Не слишком отдаляйся от остальных роботов (понятие «не слишком» уточняется при конкретном программировании).

3. Продолжай движение.

Вот и все. Этот алгоритм не позволяет контролировать направление движения группы, но его выполнение приводит к тому, что группа движется как единое целое.

Еще один тип эмерджентного поведения Матарик называет «держаться стены». Здесь задействован одиночный робот, взаимодействующий с окружением, о котором у него имеется очень мало информации. Здесь правила таковы:

1. Двигайся в случайном направлении, пока не повстречаешь твердый объект.

2. Не слишком приближайся к нему.

3. Но и не удаляйся от него слишком далеко.

4. Продолжай движение, не допуская простой осцилляции (шаг вперед — шаг назад).

Результат — робот, который крадется вдоль стен в двух измерениях (если это робот на колесиках, катящийся по полу) или в трех (если это насекомое-киборг).

Разумеется, Кипу не нужно, чтобы его рой вел себя как косяк рыбы. И просто ползать вдоль стен тоже слегка скучновато. Но этот базисный подход способен дать нам более сложное поведение.

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

Другими словами, подчиняясь нескольким простым правилам, члены стаи смогут реагировать на свое окружение и друг на друга, формируя сложное и, на посторонний взгляд, кем-то координируемое поведение. И Кипу не надо будет контролировать каждое насекомое в отдельности.

Все это делает задачу Кипа гораздо более легкой. Вместо того, чтобы одновременно управлять каждым из 300 насекомых по отдельности, он просто разбивает их на группы, у каждой из которых есть своя боевая задача. Такая группа снабжается простыми инструкциями вроде: «рассыпаться веером», «образовать выдвинутый периметр», «укрыться», «наблюдать за объектом X», «найти путь в это здание» и т. п. Эти указания активируют различные алгоритмы, которые позволят рою или части роя с определенной задачей выполнять свою работу самостоятельно, тогда как Кип ведет общее наблюдение, лишь временами в случае нужды беря под контроль какое-то отдельное насекомое для выполнения чего-то специфического.