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