– Спасибо, что поделился умными мыслями, – заявил Чарли.
Так же как Мае, Чарли тоже заметил, что Рики всеми силами пытается нам помешать. Рики как будто хотел, чтобы рои уцелели. В этом не было никакого смысла. Однако он вел себя именно так.
Я хотел бы сказать Чарли кое-что относительно Рики, но через переговорные устройства меня бы услышали все. Такова неприятная сторона современных средств связи – твои слова может подслушать кто угодно.
– Эй, ребята! – окликнул нас Бобби Лембек. – Как там у вас дела?
– Разбираемся тут, что к чему. А что?
– Ветер ослабевает.
– Какая сейчас скорость ветра? – спросил я.
– Пятнадцать узлов. А было восемнадцать.
– Пятнадцать – не так уж мало, – сказал я. – Все в порядке.
– Я знаю. Просто предупреждаю вас.
В соседней комнате Рози спросила:
– Что такое термит? – она держала в руках пластиковую коробку, наполненную металлическими цилиндриками размером с большой палец.
– Поосторожнее с ними, – сказал Дэвид. – Наверное, это осталось после строителей. Видимо, они делали термитную сварку.
– Но что это такое?
– Термит – это смесь алюминия и оксида железа, – пояснил Дэвид. – Он дает очень высокую температуру горения – три тысячи градусов – и горит так ярко, что смотреть невозможно. Термитом плавят сталь для сварки.
– Много там таких штук? – спросил я у Рози. – Возможно, они нам пригодятся сегодня ночью.
– Там их четыре ящика. – Она достала один цилиндрик из коробки. – А как их поджигают?
– Осторожнее, Рози. Они в магниевой оболочке. Могут вспыхнуть от любого случайного источника тепла.
– Даже спичкой можно поджечь?
– Если хочешь остаться без руки. Лучше использовать сигнальные ракеты или осветительные патроны. Что-нибудь с фитилем.
– Понятно, – сказала Рози и скрылась за углом.
Счетчик радиации все еще щелкал. Я повернулся к умывальнику. Мае уже закрыла контейнер с изотопом и теперь переливала золотистую жидкость в бутылку из-под «Виндекса».
– Эй, ребята, слышите меня? – это снова был Бобби Лембек. – Я наблюдаю некоторую нестабильность. Ветер затихает. Скорость уже упала до двенадцати узлов.
– Хорошо, – сказал я. – Не нужно сообщать нам о малейшем изменении, Бобби.
– Просто я заметил нестабильность, вот и все.
– Я думаю, пока нам ничего не угрожает, Бобби.
Как бы то ни было, Мае должна справиться за несколько минут. Я подошел к компьютерному терминалу и включил его. Экран засветился, появилось меню. Я спросил:
– Рики, могу я вывести код роя на этот монитор?
– Код? – переспросил Рики. В его голосе мне послышались тревожные нотки. – Зачем тебе понадобился код?
– Я хочу посмотреть, что вы, ребята, туда наворотили.
– Зачем?
– Рики, бога ради, могу я его увидеть или нет?
– Можешь, конечно, можешь. Все версии кода в директориях через слэш после кода. Они запаролированы.
Я нашел нужную директорию. Но войти в нее не смог.
– Какой пароль, Рики?
– Пароль – л-а-н-г-т-о-н, все буквы строчные.
– Хорошо.
Я ввел пароль. И вошел в директорию, в которой были собраны все модификации программы, с указанием размера файла и даты изменений. Все документы были больших размеров. Это означало, что в них – все программы для разных аспектов системы роя. Потому что коды самих частиц обычно бывают маленькими – всего несколько строчек, на восемь-десять килобайт, не больше.
– Рики.
– Да, Джек.
– Где коды частиц?
– Их там нет?
– Черт тебя дери, Рики, перестань увиливать!
– Слушай, Джек, это не я занимался архивами…
– Рики, это рабочие файлы, а не архивы, – сказал я. – Скажи мне, где они?
Он помолчал немного, потом сказал:
– Там должна быть субдиректория Си-Ди-Эн. Коды в ней.
Я прокрутил страничку вниз.
– Вижу.
В этой директории я нашел список файлов, все – очень маленькие. Судя по датам модификаций, они начали создаваться около шести недель назад. А за последние две недели ничего нового не появилось.
– Рики, вы не меняли коды последние две недели?
– Да, примерно столько.
Я открыл самый последний документ.
– Вы делали краткие сводки?
Когда эти ребята работали в моей группе, я всегда требовал, чтобы они составляли краткое описание структуры программы на обычном языке. Такую сводку просмотреть гораздо проще, чем документацию внутри самого программного кода. К тому же, когда требуется сжато описать структуру программы, нередко удается решить логические проблемы.
– Они должны быть там же, – сказал Рики.
Я увидел на экране следующее:
/*Инициализировать*/
Для j=1 до LxV выполнить
Sj=0 /*установить начальный запрос до 0/
Закончить для
Для i=L до z выполнить
Для j=1 до LxV выполнить
Sij = (состояние (x,y,z))/*пороговые параметры агента*/
0ij = (требуемые (Сj,Нj))/*требуемые параметры агента*/
Реакция = 0/*начало реакции агента*/
Зона = z(i)/*начальная зона, не изученная агентом*/
Охват = 1/*активация перемещения агента*/
Закончить для
Закончить для
/* Главное*/
Для k1=1 до RVd выполнить
Для tm=1 до nv выполнить
Для S=L до j выполнить/*выслеживание окружающего*/
0ij = (требуемые (Сj,Нj))/*требуемые параметры агента*/
Sij (состояние (x,y,z))/*агент находится в движении*/
SikL = (действительное(x,y,z))/*отслеживать ближайшие агенты*/
Я какое-то время изучал записи, пытаясь понять, что они в них изменяли. Потом я пролистал вниз, до описания окончательного кода, чтобы посмотреть, как в конце концов они это выполнили. Но самого главного кода в папке не было. Вся совокупность поведения частиц была обозначена как объект со ссылкой на нечто под названием «комп. стат.».
– Рики, – сказал я. – Что такое «комп. стат.»? Где это?
– Должно быть там…
– Его здесь нет.
– Ну, я не знаю… Может, его скомпилировали.
– Но мне-то от этого не легче, правда? – Скомпилированный код прочитать невозможно. – Рики, я хочу увидеть этот чертов модуль. В чем проблема?
– Да нет никакой проблемы… Мне придется его поискать, вот и все.
– Хорошо…
– Я сделаю это, когда вы вернетесь.
Я посмотрел на Мае.
– Ты можешь найти код?
Она покачала головой. По выражению ее лица я понял, что кода мне не видать как своих ушей, что Рики будет придумывать все новые и новые отговорки, чтобы не допустить меня к нужной информации. Я только не понимал почему. В конце концов, я ведь затем сюда и приехал, чтобы помочь им разобраться с кодом. Я эксперт в этой области.
В соседней комнате Рози и Дэвид копались на полках с запасным оборудованием в поисках радиопередатчиков. Пока ничего подходящего не нашлось. Чарли Давенпорт в противоположном углу комнаты громко пукнул и крикнул:
– Бинго!
– Господи, Чарли! – пробормотала Рози.
– Нельзя долго удерживать газы внутри, – заявил Чарли. – Это вредно для здоровья.
– У меня здоровье портится от твоего присутствия, – сказала Рози.
– Ну, извини, – Чарли поднял руку и показал какой-то блестящий металлический предмет. – Тогда, наверное, тебе не нужен вот этот выпускной клапан с дистанционным управлением?
– Что? – переспросила Рози и повернулась к Чарли.
– Ты что, издеваешься? – возмутился Дэвид и пошел к Чарли, чтобы рассмотреть его находку.
– Причем, заметьте, он рассчитан на давление до двадцати атмосфер.
– Как раз то, что нам нужно, – сказал Дэвид.
– Если только ты его не испортишь, – подковырнул Чарли.
Дэвид взял клапан, и они все вместе пошли к умывальнику. Там все еще возилась Мае, в толстых резиновых перчатках.
– Дайте мне закончить, – попросила она.
– Я буду светиться в темноте? – спросил Чарли улыбаясь.
– Только твои неудержимые газы, – ответила Рози.
– Они и без того светятся. Особенно если ты их подожжешь.
– Господи, Чарли…
– Ты же знаешь, в газах полно метана. А метан при горении дает интенсивное синее пламя, – Чарли захохотал.
– Я рада, что ты полностью собой доволен, – сказала Рози. – Потому что всем остальным ты давно опротивел.
– Ой-ой-ой! – горестно воскликнул Чарли и прижал руку к сердцу. – Я умираю, умираю…
– Не подавай нам несбыточных надежд.
У меня в наушнике затрещало.
– Эй, ребята! – это снова был Бобби Лембек. – Скорость ветра упала до шести узлов.
Я сказал:
– Хорошо, – и, повернувшись к остальным, добавил: – Давайте заканчивать, ребята.
Дэвид проронил:
– Мае нас всех задерживает. Когда она справится, мы установим этот клапан.
– Давайте разберемся с клапаном уже в лаборатории, – предложил я. – Собирайте вещи, ребята.
Я подошел к окну и выглянул наружу. Кусты можжевельника по-прежнему клонились под порывами ветра, но песчаной поземки больше не было.
В наушнике раздался голос Рики:
– Джек, уводи оттуда свою чертову группу!
– Мы уже собираемся уходить, – ответил я.
Дэвид Брукс деловито сказал:
– Не имеет смысла уходить, пока мы не нашли клапан, который точно подойдет к бутыли…
– По-моему, нам все-таки лучше уйти – закончили мы или де закончили, – сказала Мае.
– И какой в этом смысл? – возразил Дэвид.
– Собирайтесь! – скомандовал я. – Перестаньте препираться и собирайте вещи – прямо сейчас.
Бобби передал по рации:
– Скорость ветра – четыре узла и продолжает снижаться. Быстро.
– Все, уходим, ребята, – сказал я и повел всех к двери.
Но тут вмешался Рики:
– Нет.
– Что?
– Вы не можете уйти прямо сейчас.
– Но почему?
– Слишком поздно. Они уже здесь.