— Рики, что это такое? — спросил я.
— Я надеюсь, ты сам мне объяснишь.
— Это похоже на рой агентов. Это рой ваших микрокамер?
— Нет. Это что-то другое.
— Откуда ты знаешь?
— Мы не можем его контролировать. Он не реагирует на наши радиосигналы.
— А вы пытались?
— Да. Мы пытаемся войти с ним в контакт уже почти две недели, — сказал Рики. — Он генерирует электрическое поле, которое мы можем измерить, но по какой-то причине мы не можем с ним взаимодействовать.
— Значит, у вас — сбежавший рой.
— Да.
— Который действует автономно.
— Да.
— И он существует уже…
— Несколько дней. Примерно полторы недели.
— Десять дней? — я нахмурился. — Но как такое возможно, Рики? Рой — это же просто совокупность микророботов. Почему они не ломаются, почему у них не заканчивается энергия? И почему именно вы не можете их контролировать? Ведь если они обладают способностью собираться в рой, значит, есть какая-то электрическая активность, которая осуществляет взаимосвязь между агентами. И, следовательно, вы должны суметь если не управлять роем, то хотя бы уничтожить его.
— Конечно, все это верно, — сказал Рики. — Но только мы ничего не можем с ним сделать. Мы перепробовали уже все, до чего могли додуматься, — он пристально смотрел на экран. — Это облако существует независимо от нас. И уже долго.
— Поэтому вы притащили меня сюда…
— Чтобы ты помог нам загнать эту чертову штуковину обратно, — сказал Рики.
День шестой. 09:32
Я подумал, что такую проблему раньше никто не мог даже вообразить. Все те годы, которые я занимался программированием агентов, нашей задачей было заставить их взаимодействовать между собой так, чтобы получались определенные полезные результаты. Нам даже в голову не приходило, что может возникнуть потребность в более полном контроле над агентами или проблема их независимого поведения. Потому что ничего такого просто не могло случиться. Индивидуальные агенты слишком малы, чтобы иметь встроенный источник энергии. Им приходится получать энергию из какого-нибудь внешнего источника — такого, например, как электромагнитное или микроволновое поле. Все, что нужно сделать, — это отключить энергетическое поле, и все агенты погибнут. Контролировать рой агентов не сложнее, чем использовать какой-нибудь бытовой электроприбор, вроде кухонного комбайна. Отключи его от электрической сети — и он перестанет работать.
Но Рики утверждает, что этот рой существует самостоятельно уже полторы недели. Это не имело смысла.
— Откуда они берут энергию?
Он вздохнул.
— Мы встроили в микрокамеры маленькие пьезоэлементы, чтобы они могли генерировать электроэнергию из фотонов. Это должно было стать только дополнительным источником энергии, мы добавили его не сразу, но оказалось, что даже этой энергии им вполне хватает.
— Значит, они работают на энергии солнца? — спросил я.
— Да.
— И кто до такого додумался?
— Пентагон сделал такой заказ.
— И вы встроили в них аккумуляторы?
— Да. Запаса энергии хватает на три часа работы.
— Хорошо, я понял, — сказал я. Это было уже кое-что. — Значит, им хватает энергии на три часа. А что случается ночью?
— Ночью у них, вероятно, заканчивается энергия — через три часа после наступления темноты.
— И тогда облако рассеивается?
— Да.
— И отдельные агенты падают на землю?
— Предположительно да.
— Разве вы не можете взять их под контроль тогда?
— Мы могли бы, — сказал Рики. — Если бы смогли их найти. Мы выходим наружу каждую ночь и ищем. Но никак не можем их отыскать.
— Вы встроили в них маркеры?
— Да, конечно. В наружной оболочке каждой микрокамеры есть флуоресцентный модуль. В ультрафиолетовых лучах они светятся сине-зеленым.
— Значит, вы каждую ночь разыскиваете участок пустыни, который светится сине-зеленым светом?
— Да. И мы до сих пор его не нашли.
Я не очень удивился. Если облако сожмется достаточно плотно, оно поместится на участке пустыни диаметром не больше шести дюймов. А пустыня вокруг очень большая. Даже если осматривать ее каждую ночь, очень легко пропустить такое маленькое светящееся пятнышко.
Немного поразмыслив, я обнаружил еще один аспект проблемы, который не поддавался объяснению. Как только облако падает на землю — когда отдельные микрокамеры исчерпывают свой запас энергии, — оно теряет внутреннюю организацию. Его может развеять ветром, как обычную пыль, и оно уже не соберется снова в единое образование. Но, очевидно, это не происходит. Микрокамеры не рассеиваются по пустыне. Наоборот, облако день за днем возвращается снова и снова. Почему бы это?
— Мы думаем, что они могут прятаться на ночь, — сказал Рики.
— Прятаться?
— Ну да. Мы думаем, оно укрывается в каком-нибудь защищенном месте. Под нависающим выступом или в какой-то дыре в земле — что-то вроде того.
Я указал на облако, которое, кружась, летело в нашу сторону.
— Ты думаешь, этот рой способен прятаться?
— Я думаю, что он способен адаптироваться. Собственно, даже не думаю, а знаю наверняка. — Рики вздохнул. — Кроме того, этот рой — не единственный, Джек.
— Не единственный?
— Здесь их по меньшей мере три. А теперь, может и больше.
Когда до меня дошел смысл его слов, на меня вдруг накатило странное серое отупение, я словно внезапно утратил способность думать. Это не укладывалось у меня в голове.
— Что ты сказал?
— Я сказал, что они размножаются, Джек, — сказал Рики. — Этот чертов рой размножается.
Теперь камера показывала вид участка пустыни почти на уровне земли. Облако черной пыли приближалось к нам, кружась, как вихрь. Но, понаблюдав за ним подольше, я заметил, что оно кружится не совсем так, как пустынный дьявол. Отдельные частицы крутились то в одну сторону, то в другую, как бы волнообразно.
Они определенно роились.
«Роение» — это термин, которым обозначается поведение некоторых общественных насекомых, вроде муравьев или пчел, которые «роятся», когда рой перемещается с места на место. Облако пчел летает то в одном направлении, то в другом, темной лентой растягиваясь в воздухе. Рой может прицепиться к дереву и задержаться там на несколько часов или даже на ночь, а потом полетит дальше. Со временем пчелы устроятся на новом месте, где будет располагаться их рой, — и перестанут роиться.
В последние годы программисты создали программы, моделирующие такое поведение насекомых. Алгоритмы роения стали важным инструментом в компьютерном программировании. В программировании «роем» называют популяцию компьютерных агентов, которые работают над решением проблемы совместно, распределенно обрабатывая данные. Роение стало популярным способом организации совместной работы агентов. Появились профессиональные организации и конференции, которые занимались исключительно программами роения. Можно даже сказать, что роение стало оптимальным решением проблемы — если невозможно написать более продвинутую программу, достаточно просто заставить свои агенты роиться.
(adsbygoogle = window.adsbygoogle || []).push({});