
Полная версия
Уральский узел
— Получается, так.
Круглов перевёл взгляд на Виктора.
— Дайте ему доступ к журналам КОР. Ограниченный, но настоящий. Не держите стажёром, если он уже полезен.
Виктор кивнул.
Разговор мог закончиться, но Круглов не отпустил их. Он развернул первый планшет.
— Посмотрите.
Федеральное распоряжение подтверждало финансирование центра ещё на полгода и требовало соблюдать прежний режим секретности. Документ был подписан электронной подписью ведомства, которое два дня назад объявили расформированным и в тот же вечер опровергли собственное расформирование.
Второй приказ исходил от Уральского регионального штаба чрезвычайного управления. Центру предписывалось в течение сорока восьми часов пройти перерегистрацию, передать список персонала и предоставить часть вычислительных мощностей для нужд транспортной сети.
К письму прилагался перечень аварий: на двух магистралях не работало централизованное управление, диспетчеры вручную разводили составы, в одном городе система водоснабжения отключила насосы после потери лицензии на программное обеспечение. Просьба региона не была абстрактной попыткой захватить ресурс. За ней стояли люди, которым вычислительная мощность центра действительно могла помочь.
Третье письмо сообщало, что государственные контракты по снабжению стратегических объектов переходят под управление временного промышленного консорциума. Для продолжения поставок требовалось подтвердить имущественный состав и дать удалённый доступ к складским реестрам.
Там же содержалось обещание: топливо, медикаменты, комплектующие, эвакуация семей сотрудников. Всё то, чего прежнее ведомство уже не могло гарантировать. Цена выглядела умеренной — доступ к данным, которые позволили бы новому оператору понять, что именно он берётся снабжать.
— Они предлагают решение, — сказал Павел.
— Предлагают, — согласился Круглов. — И если я дам доступ, решение станет зависимостью. Кто контролирует обновления, топливо и запасные части, тот однажды сможет объяснить государству, на каких условиях государству разрешено пользоваться собственной системой.
— Все три документа подлинные, — сказал Круглов. — По крайней мере, проходят проверку на тех ключах, которыми располагаем мы.
— Они противоречат друг другу, — заметил Павел.
— Поэтому я и показываю.
Виктор медленно пролистал бумаги.
— Снабжение?
— Последний состав стоит на сортировочной станции. Железная дорога требует новый маршрутный код. Региональный штаб требует сопровождение. Промышленный оператор заявляет, что топливо принадлежит ему до подписания акта передачи. Никто не спорит, что груз наш. Все спорят, кто имеет право разрешить ему приехать.
Круглов подошёл к карте. На ней красным карандашом были перечёркнуты два железнодорожных узла, чёрным обведены участки, где связь работала нестабильно.
— Государство не исчезает в один день, — сказал он. — Оно сначала продолжает существовать в документах. Потом каждый документ начинает утверждать, что только он настоящий.
— Что вы будете делать? — спросил Павел.
— Пока — не отдавать удалённый доступ никому.
— А если один из приказов законный?
— Тогда я нарушаю его. Если незаконный — спасаю объект. Проблема в том, что законность теперь надо устанавливать теми же каналами, которые спорят между собой.
Он вернулся за стол и открыл окно связи. На экране появилось уведомление: «Абонент недоступен. Повторить через 30 минут».
Круглов закрыл его слишком быстро, но Виктор успел увидеть имя.
— Дочь? — тихо спросил он.
Круглов ничего не ответил. Взял кружку, обнаружил, что чай давно остыл, и поставил обратно.
— Две недели назад говорила, что у них спокойно. Потом местную сеть передали новому оператору. Старый номер перестал существовать, новый реестр не отвечает. Я знаю, сколько воздушных целей пересекло область за последние сутки. Знаю, где стоят колонны и какие мосты перегружены. А жива ли моя семья — не знаю.
Никто не нашёл подходящих слов.
Круглов снова посмотрел на три планшета.
— До появления подтверждённого командования работаем по прежнему назначению. Не потому, что прежний приказ вечен. Потому что другого основания у нас пока нет.
— А если подтверждённого командования не будет? — спросил Павел.
Круглов задержал на нём взгляд.
— Тогда вопрос станет не техническим.
Он отпустил их.
В коридоре Виктор некоторое время шёл молча. Павел думал о матери и о том, что её телефон тоже мог однажды превратиться в номер из несуществующего реестра.
Центр видел небо на сотни километров. Но расстояние до одного знакомого голоса измерялось уже не километрами, а количеством систем, которые перестали отвечать друг другу.
Глава 5. Сквозь землю
Полигон в горах. День 3.
Виктор разбудил Павла до подъёма.
— Одевайся теплее. Через пятнадцать минут у служебного шлюза.
— На поверхность?
— Пока она ещё существует.
В коридоре их ждали Корнеев и коренастый мужчина с рыжей щетиной, державший под мышкой катушку кабеля.
— Олег Минин, энергетик, — представил его Виктор. — Если что-нибудь не включается, виноват он. Если включается и горит — обычно тоже.
— Не слушай, — сказал Минин. — Главный инженер считает электричество природным явлением, которое появляется по его просьбе.
У шлюза к ним присоединилась Елена Савина, инженер жизнеобеспечения. Невысокая, собранная, с короткими светлыми волосами. Она проверила герметизацию, давление и датчики влажности, прежде чем разрешить открыть внешнюю дверь.
— На полигоне два часа, — сказала она. — Потом меняем фильтры на третьей вентиляционной линии. Если Виктор решит, что его испытание важнее воздуха, которым дышит объект, возвращайтесь без него.
— Вот видишь, Павел, — вздохнул Виктор. — У каждого здесь своя форма власти.
Служебный тоннель петлял в толще горы. Павел снова пытался запоминать повороты, но быстро бросил. Здесь не было указателей; кабельные муфты, пятна сырости и номера аварийных отсеков повторялись слишком часто.
— Почему столько развилок? — спросил он.
— Часть — старые выработки, часть — ложные ходы, — ответил Корнеев. — Если кто-то войдёт без схемы, у него будет много времени подумать о неправильном выборе.
— А если проводник предаст?
Корнеев посмотрел на Виктора.
— Тогда никакая геометрия не поможет.
После получаса ходьбы впереди появился дневной свет. Замаскированная створка открылась в лесной склон. Влажный воздух пах хвоей, мхом и водой. Павел вдохнул глубоко, почти жадно.
Поляна находилась в нескольких сотнях метров. На ней стояли два мачтовых модуля, беспилотник с короткими крыльями, грузовик и несколько ящиков. У края леса Корнеев уже расставил людей: один изображал пешую группу, второй должен был вести небольшой вездеход по скрытому маршруту.
— Сегодня испытываем не прибор, — сказал Виктор. — Связку.
Он показал на схему. Бортовой радар работал в диапазоне, который частично проходил сквозь листву и позволял замечать крупный металл и движение. Две наземные станции принимали отражённый сигнал с разных углов. «Узел» должен был объединить их данные и построить траектории объектов, которых не было видно обычной оптикой.
— Лес не становится прозрачным, — предупредил Виктор. — Он становится менее непрозрачным. Влажные ветки дают шум, склон отражает волну, вода в ручье выглядит убедительнее некоторых машин. Если кто-то скажет, что радар видит сквозь всё, покажи ему гору. Она быстро объяснит пределы технологии.
Испытание началось с задержкой. Минин ругался на нестабильный преобразователь, Савина по внутренней связи требовала не превышать лимит нагрузки, а Корнеев сообщал, что один из условных нарушителей потерял перчатку и отказывается быть невидимым без неё.
Пока устраняли неисправность, Павел помогал Минину закреплять силовой кабель. Земля под мхом была промёрзшей, металлические разъёмы обжигали пальцы холодом. Минин работал без спешки, каждый контакт проверял дважды.
— В бункере все думают, что главное — вычисления, — сказал он. — Но самый умный алгоритм превращается в дорогой камень, если на шине нет напряжения.
— А если есть слишком много?
— Тогда превращается быстрее.
У края поляны Корнеев распределял людей по маршрутам. Один должен был пройти между соснами, другой — спрятать вездеход в ложбине, третий тянул санки с металлическим грузом. Это была не театральная постановка: каждый маршрут заранее измерили, а цели имитировали разные типы движения.
Павел помогал подключать КОР-модуль — блок оперативного резервирования размером с небольшой чемодан. Внутри находились вычислительные платы, защищённая память и независимый тактовый генератор.
— Если бортовой блок потеряет связь, он продолжит писать данные, — объяснил Виктор. — Когда канал восстановится, КОР должен встроить пропущенный участок в общую картину.
— По каким часам?
— По своим и по опорной станции.
— А если они расходятся?
Виктор посмотрел на него.
— Именно это ты сегодня и проверишь.
Беспилотник поднялся над лесом. На экране появились серые облака отражений. Сквозь них проступили два движущихся объекта: вездеход и пешая группа.
Через минуту рядом с людьми возникла третья траектория. Потом четвёртая.
— У Корнеева там только двое, — сказал Минин.
— Я умею размножаться, — отозвался Корнеев по рации. — Но не настолько быстро.
Виктор увеличил сектор. Две лишние отметки повторяли движение людей с небольшим запозданием.
— Многолучевое отражение от склона, — предположил он.
Павел просмотрел временные метки.
— Не похоже. Отражение меняло бы задержку при движении. Здесь она постоянная.
— Опять часы?
— Бортовой блок пишет по собственной шкале. Наземная станция — по внешнему эталону. После потери связи КОР добавляет пакет в конец текущего окна, а не туда, где он был получен. Получается один человек сейчас и его копия сорок миллисекунд назад.
— Сорок миллисекунд не создадут отдельную траекторию.
— Если фильтр считает скорость по нескольким пакетам, создадут. Особенно на повороте.
Виктор молча подвинул ему клавиатуру.
Павел изменил правило сшивки: пакет должен был привязываться не к времени поступления, а к внутренней последовательности и инерциальной метке аппарата. После перезапуска лишние траектории исчезли.
— Хорошо, — сказал Виктор. — Теперь второй маршрут.
Корнеев повёл людей глубже в лес. На этот раз система уверенно показала три объекта.
— У меня двое, — сообщил он.
— Третий стоит, — сказала Савина, наблюдавшая с пульта. — В трёх метрах от них.
Они остановили испытание и пошли проверять. Третьим «человеком» оказались две канистры с водой, подвешенные на поперечине. При ходьбе они раскачивались, создавая периодический сигнал, похожий на перенос массы с ноги на ногу.
На экране уверенность классификации составляла девяносто четыре процента.
Павел долго смотрел на цифру.
— После исправления она стала выше, — сказал он.
— Мы убрали ошибку времени, — ответил Виктор. — Система перестала сомневаться между настоящей целью и её копией. И увереннее назвала канистры человеком.
— Значит, мы сделали её точнее и одновременно не правее.
— Привыкай. Это две разные величины.
До обеда они меняли фильтры, повторяли проходы, сравнивали показания. Павел носил ящики, держал антенну на ветру, записывал числа и впервые чувствовал усталость, которая не казалась пустой.
Во втором цикле Виктор намеренно отключил одну наземную станцию. КОР перераспределил вычисления, сохранил сопровождение целей, но точность координат заметно упала. На третьем цикле станцию вернули, и система несколько секунд считала старую и новую траектории разными объектами. Павел добавил правило постепенного слияния, чтобы восстановившийся узел не считался безусловно правым только потому, что снова появился в сети.
— Ты учишь систему сомневаться в вернувшемся свидетеле, — заметил Виктор.
— Свидетель мог проспать часть события.
— Или вернуться с неправильными часами. Хорошо. Оставляем в тестовом контуре.
На коротком перерыве он достал термос. Виктор попробовал чай.
— Смородиновый лист?
— Мать добавляет.
— Береги термос. Здесь некоторые вещи сложнее заменить, чем вычислительный модуль.
Павел посмотрел на лес. Где-то за хребтом проходили дороги, закрывались заводы, менялись владельцы сетей и полномочия штабов. Здесь люди спорили о сорока миллисекундах и канистрах, похожих на человека.
Но именно эти сорок миллисекунд могли однажды решить, увидит система реальную угрозу или созданную ею самой.
На обратном пути Виктор сказал:
— Завтра включим твою сшивку на одном секторе основной сети.
— После одного испытания?
— После одного удачного и одного поучительного. У нас нет роскоши ждать идеального мира.
Павел хотел спросить, что именно заставляет их спешить. Но впереди шёл Корнеев, за спиной закрывалась замаскированная дверь, а в голове всё ещё стояла цифра девяносто четыре процента над двумя канистрами воды.
Глава 6. Эхо в тишине
Центр «Уральский». Операторская. Вечер. День 3.
Алина сидела за пультом шестой час. Спина затекла, кофе остыл, а свет экранов придал рукам болезненно-серый оттенок.
После истории с пожарным она перестала воспринимать высокий процент как разрешение перестать думать. Теперь каждый неопознанный сигнал сначала проходил через её недоверие, и только потом — через журнал тревог.
Она уже проверила метеосводку, миграционные маршруты птиц, расписание своих беспилотников и журналы обслуживания станции. Ничто не объясняло сигнал полностью. Атмосферный фронт мог создать ложную отметку, но не короткий радиопакет. Птицы могли лететь низко, но не исчезали бы каждый раз в одной и той же складке рельефа. Сбой синхронизации объяснял бы раздвоение, но не появление в разных секторах.
Каждая проверка убирала одно безопасное объяснение и оставляла несколько опасных.
На границе западного сектора уже третий раз появлялась слабая отметка.
Она не была похожа на обычный самолёт. Слишком малая отражающая поверхность, слишком низкая высота, слишком короткое время контакта. Объект возникал там, где лепесток станции «Камень» пересекался с пассивным контуром, и почти сразу уходил за хребет.
Система присвоила ему жёлтую метку:
«КЛАССИФИКАЦИЯ НЕДОСТАТОЧНА».
Алина открыла исходный сигнал. В нём было слишком много шума: влажный фронт, ветер, отражения от склона. При желании можно было увидеть беспилотник. При другом желании — стаю птиц или ошибку новой синхронизации Павла.
Дверь открылась. Павел поставил на стол термос и два бутерброда.
— Ты с обеда не выходила.
— Выходила.
— В соседний ряд стоек не считается.
Она не ответила.
Павел подошёл ближе.
— Что там?
— Пока ничего.
— Ничего обычно не получает отдельную метку.
Алина показала три коротких фрагмента.
— Малый объект. Идёт ниже линии хребта. Появляется только на стыке зон. Может быть помеха после сегодняшнего обновления.
— Моя сшивка?
— Не всё в мире связано с тобой, но я проверила. Временные метки чистые.
Она запросила пассивные приёмники. Один из них зафиксировал короткий радиопакет в тот же момент, когда появилась отметка. Сигнал был слишком слаб, чтобы определить содержание или точное направление, но совпадение по времени не выглядело случайным.
— Уже два разных канала, — сказал Павел.
— Два неполных канала. Это не то же самое, что подтверждение.
Алина запустила поиск по архиву. За последние сутки система нашла ещё четыре похожих всплеска, разбросанных по соседним секторам. Каждый по отдельности выглядел незначительно. Вместе они начинали напоминать чьё-то осторожное присутствие.
— Почему тревогу не поднимаешь? — спросил Павел.
— Потому что тревога — это не способ избавиться от сомнений. Если я подниму объект по каждому совпадению, через неделю мне перестанут верить. А если промолчу сейчас и это окажется угрозой, цена будет другой.
Она налила чай. Обожглась и поставила кружку обратно.
На экране появилась новая отметка. На этот раз — севернее, в зоне другой станции. Через две секунды пассивный приёмник снова зафиксировал короткий пакет.
Алина выпрямилась.
— Вот теперь у нас есть повторение в независимом секторе.
Она открыла служебный канал и отправила запрос на полную выгрузку исходных данных за ночь. Запрос требовал повышенного приоритета и автоматически попадал в журнал. Алина несколько секунд держала палец над подтверждением. После отправки её сомнение переставало быть личным: оно становилось фактом системы, который утром увидит Виктор, а при определённой оценке — и Круглов.
Павел заметил паузу.
— Боишься ошибиться?
— Боюсь, что однажды мы настроим всё так, чтобы система никогда не пропускала угрозу. Тогда она будет находить угрозу в каждом, кто ведёт себя не по шаблону.
— А сейчас?
— Сейчас боюсь обратного. Что я слишком хорошо научилась объяснять себе, почему тревогу можно не поднимать.
Она нажала подтверждение.
— Виктору позвонишь?
— Когда построю то, что можно показать. Не хочу приносить ему слово «кажется» без формы.
Павел остался рядом. Они молча собирали временные метки, уровни сигнала, границы радиотеней. За стенами операторской гудела вентиляция. Где-то далеко в горах небольшой объект появлялся на несколько секунд и снова исчезал.
Перед полуночью система выдала очередной пакет.
На карте стало пять точек.
Алина соединила их в хронологическом порядке. Линия получилась неровной и пока ничего не доказывала.
Она увеличила масштаб и заметила, что два пропуска приходятся на глубокие радиотени. Если предположить, что объект продолжал движение с прежней скоростью, недостающие участки ложились почти идеально. Но это было уже вмешательство человека: она сама дорисовывала то, чего система не видела.
Алина сохранила две версии — с продолжением траектории и без него. В первой объект методично приближался к центру. Во второй оставался набором несвязанных всплесков. Обе строились на одних данных. Разница заключалась в допущении, которое сделала она.
Но случайным шумом она уже не выглядела.
Глава 7. Холодный расчёт
Центр «Уральский». Операторская. Ночь. День 3–4.
Алина пыталась уснуть в кресле, но каждый раз, когда закрывала глаза, перед ней всплывали пять отметок. Они не складывались в маршрут — пока.
В два часа ночи пришли ещё три.
Она наложила на карту сетку, разделила сектор на квадраты и запустила анализ покрытия территории. Алгоритм перебрал варианты, отбросил прямолинейный маршрут, случайное патрулирование и погодный перенос.
На экране появилась ломаная линия.
Объект проходил один квадрат зигзагом, возвращался к границе, смещался севернее и повторял цикл. Иногда исчезал надолго, используя радиотень. Потом появлялся там, где должен был оказаться, если продолжал тот же рисунок.
— Газонокосилка, — сказала Алина вслух.
Так называли поиск с последовательным перекрытием полос. Не самый быстрый способ. Зато надёжный, если не знаешь точных координат цели.
Она позвонила Виктору.
Он ответил после третьего гудка:
Конец ознакомительного фрагмента.
Текст предоставлен ООО «Литрес».
Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.











