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