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