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