Новыми наночастицами. И постепенно их наберется достаточно, чтобы сформировать новый рой…
Мае кивнула:
– Да. Я тоже так думаю.
– И поэтому вокруг фабрики исчезла вся живность? – спросил Дэвид Брукс.
– Да, – Мае откинула со лба прядь волос. – Это происходит уже не один день.
Какое-то время все молчали. Мы стояли вокруг тушки кролика, повернувшись спинами к ветру. Плоть кролика таяла с такой быстротой, что мне показалось, будто тушка уменьшается буквально у нас на глазах.
– Нам лучше поскорее избавиться от этих чертовых роев, – сказал Чарли.
Мы все разом повернулись и пошли к складу.
Все молчали.
Говорить было не о чем.
Пока мы шли, некоторые из тех мелких птичек, которые сновали по пустыне в тени кактусов чолла, внезапно вспорхнули в воздух и, чирикая, полетели впереди нас.
Я сказал, повернувшись к Мае:
– Получается, вся живность исчезла, а птицы остались?
– Выходит, что так
Стайка птиц покружилась и вернулась обратно, а потом расселась на песке в сотне ярдов от нас.
– Может быть, они слишком маленькие, и рои не обращают на них внимания, – предположила Мае. – Потому что у птиц слишком мало плоти.
– Возможно, – я подумал, что может отыскаться и другое объяснение. Но для того, чтобы узнать это наверняка, я должен был проверить программный код.
Я вошел из-под солнца в тень под гофрированным навесом и двинулся вдоль ряда машин к двери складского помещения. На двери виднелись таблички, предупреждающие о разных опасностях – о радиоактивных нуклидах, микроволнах, биологической опасности, взрывчатых веществах, лазерном излучении. Чарли сказал:
– Видишь теперь, почему мы держим все это дерьмо снаружи?
Когда я подошел к двери, Винс передал по рации:
– Джек, тебе звонят. Переключаю на твой сотовый.
Телефон у меня в кармане запищал. Наверное, это Джулия. Я достал трубку и откинул флип.
– Да?
– Пап… – это был Эрик. Судя по голосу, парень был чем-то недоволен. Я вздохнул.
– Да, Эрик.
– Когда ты вернешься?
– Не знаю, сынок.
– Ты приедешь к ужину?
– Боюсь, нет. А что? Какие-то проблемы?
– Она такая противная!
– Эрик, просто скажи мне, в чем проблема
– Тетя Эллен все время возится с ней. Так нечестно.
– Эрик, я сейчас очень занят, поэтому объясни мне внятно, что не так?
– Почему? Что ты делаешь?
– Скажи мне, что не так, сын.
– Ничего, – Эрик явно надулся. – Если ты не приедешь домой – тогда это все равно не имеет значения Кстати, а ты сейчас где? В пустыне?
– Да. Откуда ты узнал?
– Я разговаривал с мамой. Тетя Эллен заставила нас поехать к ней в больницу. Так нечестно. Я не хотел ехать. А она все равно меня заставила.
Я вздохнул.
– Ну, как там мама?
– Она выписывается из больницы.
– Она уже прошла все обследования?
– Доктора хотят, чтобы она еще осталась, – ответил Эрик. – Но она хочет выписаться. У нее только скобки на руке, и все. Она говорит, с остальным все в порядке. Пап! Почему я все время должен делать, как говорит тетя Эллен? Так нечестно.
– Дай мне поговорить с Эллен.
– Ее сейчас нет. Она повела Николь покупать ей новое платье для спектакля.
– А кто остался с тобой дома?
– Мария.
– Хорошо. Ты уже сделал уроки?
– Нет еще.
– Вот этим и займись, сын. Я хочу, чтобы ты сделал уроки до ужина. – Потрясающе, как эти слова вырываются у родителей – будто сами собой.
Я уже дошел до двери склада и теперь рассматривал предупреждающие таблички. Некоторых обозначений я не знал – например, ромбика с четырьмя разноцветными квадратиками внутри, и на каждом квадрате – разные цифры. Мае открыла дверь и вошла внутрь.
– Папа… – Эрик заплакал. – Когда ты приедешь домой?
– Я не знаю. Надеюсь, уже завтра, – сказал я.
– Хорошо. Ты обещаешь?
– Обещаю.
Я слышал, как он шмыгает носом, потом послышался другой звук, погромче
– Эрик высморкался в рукав рубашки. Я сказал, что он может позвонить мне снова, попозже, если захочет. Настроение у парня вроде бы улучшилось. Мы распрощались.
Я спрятал телефон в карман и вошел внутрь склада.
Внутри складское помещение было разделено на две большие комнаты перегородкой из стеллажей. Вдоль всех четырех стен тоже тянулись ряды полок. Бетонные стены, бетонный пол. В одной из комнат были еще одна дверь и убирающиеся в рулон гофрированные роль-ворота для грузовых машин. Сквозь узкие окна с деревянными рамами в помещение проникал горячий солнечный свет. Натужно гудели кондиционеры, но, как Мае и говорила, на складе было довольно жарко. Я закрыл за собой дверь и осмотрел уплотнители. Это была обычная обивка от непогоды. Да, склад действительно негерметичен.
Я прошел вдоль стеллажей, заставленных контейнерами с запасными частями для фабричного и лабораторного оборудования. Во второй комнате находились более обычные вещи – чистящие средства, туалетная бумага, запасы мыла, коробки с овсяными хлопьями и пара холодильников, набитых едой.
Я повернулся к Мае.
– Где изотопы?
– Вон там, – она провела меня вокруг срединного стеллажа, к круглой стальной крышке, вмурованной в пол. Крышка была около трех футов в диаметре и очень напоминала утопленный в пол контейнер для мусора, если не считать светящегося значка «радиационная опасность» и цифрового замка по центру. Мае присела и быстро набрала код.
Крышка с шипением поднялась над полом.
Я увидел лестницу, которая спускалась в круглую камеру со стальными стенками. Изотопы хранились в металлических контейнерах разных размеров. Наверное, Мае могла определить, что где, по одному внешнему виду, потому что она сказала:
– Есть селен-172. Возьмем его?
– Конечно.
Мае спустилась по лестнице вниз.
– Да прекратишь ты наконец? – в углу склада Дэвид Брукс отпрыгнул от Чарли Давенпорта. Чарли держал в руках большой флакон «Виндекса» – моющего средства для окон. Он опробовал разбрызгивающий механизм и в процессе слегка обрызгал Дэвида. И, судя по всему, не случайно.
– Дай сюда эту чертову штуку! – сказал Дэвид, отбирая у Чарли флакон.
– Я думаю, это может нам пригодиться, – невинным тоном произнес Чарли. – Только надо приделать устройство для дистанционного управления.
Из дальней комнаты вышла Рози, держа в руках блестящий цилиндр, с которого свисали провода.
– Это не подойдет? Кажется, это соленоидный переключатель.
– Да, – сказал Дэвид. – Но вряд ли он сможет развить достаточное давление, чтобы сжать этот флакон. Они там разные? Нужно что-нибудь побольше.
– Не забывайте – нужен еще механизм дистанционного управления, – напомнил Чарли. – Если только вы не хотите выйти туда и обрызгать эту дрянь собственноручно.
Мае выбралась из подвальчика, держа в руках тяжелый металлический цилиндр. Она подошла к умывальнику, прихватив по пути бутыль с жидкостью соломенного цвета. Потом надела толстые прорезиненные перчатки и начала смешивать изотопы с жидкостью. Счетчик радиации над мойкой затрещал.
В наушнике раздался голос Рики:
– Ребята, вы ничего не забыли? Если даже у вас будет дистанционное управление, как вы собираетесь заставить облако приблизиться к опрыскивателю? Я почему-то сомневаюсь, что рой просто прилетит и зависнет где надо, пока вы будете его опрыскивать.
– Мы придумаем, чем его подманить, – сказал я.
– Чем это, например?
– Их можно приманить кроликом.
– Но у нас нет кролика.
Чарли сказал:
– Знаешь, Рики, у тебя очень негативное мышление.
– Я всего лишь сообщаю вам факты.
– Спасибо, что поделился умными мыслями, – заявил Чарли.
Так же как Мае, Чарли тоже заметил, что Рики всеми силами пытается нам помешать. Рики как будто хотел, чтобы рои уцелели. В этом не было никакого смысла. Однако он вел себя именно так.
Я хотел бы сказать Чарли кое-что относительно Рики, но через переговорные устройства меня бы услышали все. Такова неприятная сторона современных средств связи – твои слова может подслушать кто угодно.
– Эй, ребята! – окликнул нас Бобби Лембек. – Как там у вас дела?
– Разбираемся тут, что к чему. А что?
– Ветер ослабевает.
– Какая сейчас скорость ветра? – спросил я.
– Пятнадцать узлов. А было восемнадцать.
– Пятнадцать – не так уж мало, – сказал я. – Все в порядке.
– Я знаю. Просто предупреждаю вас.
В соседней комнате Рози спросила:
– Что такое термит? – она держала в руках пластиковую коробку, наполненную металлическими цилиндриками размером с большой палец.
– Поосторожнее с ними, – сказал Дэвид. – Наверное, это осталось после строителей. Видимо, они делали термитную сварку.
– Но что это такое?
– Термит – это смесь алюминия и оксида железа, – пояснил Дэвид. – Он дает очень высокую температуру горения – три тысячи градусов – и горит так ярко, что смотреть невозможно. Термитом плавят сталь для сварки.
– Много там таких штук? – спросил я у Рози. – Возможно, они нам пригодятся сегодня ночью.
– Там их четыре ящика. – Она достала один цилиндрик из коробки. – А как их поджигают?
– Осторожнее, Рози. Они в магниевой оболочке. Могут вспыхнуть от любого случайного источника тепла.
– Даже спичкой можно поджечь?
– Если хочешь остаться без руки. Лучше использовать сигнальные ракеты или осветительные патроны. Что-нибудь с фитилем.
– Понятно, – сказала Рози и скрылась за углом.
Счетчик радиации все еще щелкал. Я повернулся к умывальнику. Мае уже закрыла контейнер с изотопом и теперь переливала золотистую жидкость в бутылку из-под «Виндекса».
– Эй, ребята, слышите меня? – это снова был Бобби Лембек. – Я наблюдаю некоторую нестабильность. Ветер затихает. Скорость уже упала до двенадцати узлов.
– Хорошо, – сказал я. – Не нужно сообщать нам о малейшем изменении, Бобби.
– Просто я заметил нестабильность, вот и все.
– Я думаю, пока нам ничего не угрожает, Бобби.
Как бы то ни было, Мае должна справиться за несколько минут. Я подошел к компьютерному терминалу и включил его. Экран засветился, появилось меню. Я спросил:
– Рики, могу я вывести код роя на этот монитор?
– Код? – переспросил Рики. В его голосе мне послышались тревожные нотки. – Зачем тебе понадобился код?
– Я хочу посмотреть, что вы, ребята, туда наворотили.
– Зачем?
– Рики, бога ради, могу я его увидеть или нет?
– Можешь, конечно, можешь. Все версии кода в директориях через слэш после кода. Они запаролированы.
Я нашел нужную директорию. Но войти в нее не смог.
– Какой пароль, Рики?
– Пароль – л-а-н-г-т-о-н, все буквы строчные.
– Хорошо.
Я ввел пароль. И вошел в директорию, в которой были собраны все модификации программы, с указанием размера файла и даты изменений. Все документы были больших размеров. Это означало, что в них – все программы для разных аспектов системы роя. Потому что коды самих частиц обычно бывают маленькими – всего несколько строчек, на восемь-десять килобайт, не больше.
– Рики.
– Да, Джек.
– Где коды частиц?
– Их там нет?
– Черт тебя дери, Рики, перестань увиливать!
– Слушай, Джек, это не я занимался архивами…
– Рики, это рабочие файлы, а не архивы, – сказал я. – Скажи мне, где они?
Он помолчал немного, потом сказал:
– Там должна быть субдиректория Си-Ди-Эн. Коды в ней.
Я прокрутил страничку вниз.
– Вижу.
В этой директории я нашел список файлов, все – очень маленькие. Судя по датам модификаций, они начали создаваться около шести недель назад. А за последние две недели ничего нового не появилось.
– Рики, вы не меняли коды последние две недели?
– Да, примерно столько.
Я открыл самый последний документ.
– Вы делали краткие сводки?
Когда эти ребята работали в моей группе, я всегда требовал, чтобы они составляли краткое описание структуры программы на обычном языке. Такую сводку просмотреть гораздо проще, чем документацию внутри самого программного кода. К тому же, когда требуется сжато описать структуру программы, нередко удается решить логические проблемы.
– Они должны быть там же, – сказал Рики.
Я увидел на экране следующее:
/*Инициализировать*/
Для 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))/*отслеживать ближайшие агенты*/
Я какое-то время изучал записи, пытаясь понять, что они в них изменяли. Потом я пролистал вниз, до описания окончательного кода, чтобы посмотреть, как в конце концов они это выполнили. Но самого главного кода в папке не было. Вся совокупность поведения частиц была обозначена как объект со ссылкой на нечто под названием «комп.стат.».
– Рики, – сказал я. – Что такое «комп.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
Мае кивнула:
– Да. Я тоже так думаю.
– И поэтому вокруг фабрики исчезла вся живность? – спросил Дэвид Брукс.
– Да, – Мае откинула со лба прядь волос. – Это происходит уже не один день.
Какое-то время все молчали. Мы стояли вокруг тушки кролика, повернувшись спинами к ветру. Плоть кролика таяла с такой быстротой, что мне показалось, будто тушка уменьшается буквально у нас на глазах.
– Нам лучше поскорее избавиться от этих чертовых роев, – сказал Чарли.
Мы все разом повернулись и пошли к складу.
Все молчали.
Говорить было не о чем.
Пока мы шли, некоторые из тех мелких птичек, которые сновали по пустыне в тени кактусов чолла, внезапно вспорхнули в воздух и, чирикая, полетели впереди нас.
Я сказал, повернувшись к Мае:
– Получается, вся живность исчезла, а птицы остались?
– Выходит, что так
Стайка птиц покружилась и вернулась обратно, а потом расселась на песке в сотне ярдов от нас.
– Может быть, они слишком маленькие, и рои не обращают на них внимания, – предположила Мае. – Потому что у птиц слишком мало плоти.
– Возможно, – я подумал, что может отыскаться и другое объяснение. Но для того, чтобы узнать это наверняка, я должен был проверить программный код.
Я вошел из-под солнца в тень под гофрированным навесом и двинулся вдоль ряда машин к двери складского помещения. На двери виднелись таблички, предупреждающие о разных опасностях – о радиоактивных нуклидах, микроволнах, биологической опасности, взрывчатых веществах, лазерном излучении. Чарли сказал:
– Видишь теперь, почему мы держим все это дерьмо снаружи?
Когда я подошел к двери, Винс передал по рации:
– Джек, тебе звонят. Переключаю на твой сотовый.
Телефон у меня в кармане запищал. Наверное, это Джулия. Я достал трубку и откинул флип.
– Да?
– Пап… – это был Эрик. Судя по голосу, парень был чем-то недоволен. Я вздохнул.
– Да, Эрик.
– Когда ты вернешься?
– Не знаю, сынок.
– Ты приедешь к ужину?
– Боюсь, нет. А что? Какие-то проблемы?
– Она такая противная!
– Эрик, просто скажи мне, в чем проблема
– Тетя Эллен все время возится с ней. Так нечестно.
– Эрик, я сейчас очень занят, поэтому объясни мне внятно, что не так?
– Почему? Что ты делаешь?
– Скажи мне, что не так, сын.
– Ничего, – Эрик явно надулся. – Если ты не приедешь домой – тогда это все равно не имеет значения Кстати, а ты сейчас где? В пустыне?
– Да. Откуда ты узнал?
– Я разговаривал с мамой. Тетя Эллен заставила нас поехать к ней в больницу. Так нечестно. Я не хотел ехать. А она все равно меня заставила.
Я вздохнул.
– Ну, как там мама?
– Она выписывается из больницы.
– Она уже прошла все обследования?
– Доктора хотят, чтобы она еще осталась, – ответил Эрик. – Но она хочет выписаться. У нее только скобки на руке, и все. Она говорит, с остальным все в порядке. Пап! Почему я все время должен делать, как говорит тетя Эллен? Так нечестно.
– Дай мне поговорить с Эллен.
– Ее сейчас нет. Она повела Николь покупать ей новое платье для спектакля.
– А кто остался с тобой дома?
– Мария.
– Хорошо. Ты уже сделал уроки?
– Нет еще.
– Вот этим и займись, сын. Я хочу, чтобы ты сделал уроки до ужина. – Потрясающе, как эти слова вырываются у родителей – будто сами собой.
Я уже дошел до двери склада и теперь рассматривал предупреждающие таблички. Некоторых обозначений я не знал – например, ромбика с четырьмя разноцветными квадратиками внутри, и на каждом квадрате – разные цифры. Мае открыла дверь и вошла внутрь.
– Папа… – Эрик заплакал. – Когда ты приедешь домой?
– Я не знаю. Надеюсь, уже завтра, – сказал я.
– Хорошо. Ты обещаешь?
– Обещаю.
Я слышал, как он шмыгает носом, потом послышался другой звук, погромче
– Эрик высморкался в рукав рубашки. Я сказал, что он может позвонить мне снова, попозже, если захочет. Настроение у парня вроде бы улучшилось. Мы распрощались.
Я спрятал телефон в карман и вошел внутрь склада.
Внутри складское помещение было разделено на две большие комнаты перегородкой из стеллажей. Вдоль всех четырех стен тоже тянулись ряды полок. Бетонные стены, бетонный пол. В одной из комнат были еще одна дверь и убирающиеся в рулон гофрированные роль-ворота для грузовых машин. Сквозь узкие окна с деревянными рамами в помещение проникал горячий солнечный свет. Натужно гудели кондиционеры, но, как Мае и говорила, на складе было довольно жарко. Я закрыл за собой дверь и осмотрел уплотнители. Это была обычная обивка от непогоды. Да, склад действительно негерметичен.
Я прошел вдоль стеллажей, заставленных контейнерами с запасными частями для фабричного и лабораторного оборудования. Во второй комнате находились более обычные вещи – чистящие средства, туалетная бумага, запасы мыла, коробки с овсяными хлопьями и пара холодильников, набитых едой.
Я повернулся к Мае.
– Где изотопы?
– Вон там, – она провела меня вокруг срединного стеллажа, к круглой стальной крышке, вмурованной в пол. Крышка была около трех футов в диаметре и очень напоминала утопленный в пол контейнер для мусора, если не считать светящегося значка «радиационная опасность» и цифрового замка по центру. Мае присела и быстро набрала код.
Крышка с шипением поднялась над полом.
Я увидел лестницу, которая спускалась в круглую камеру со стальными стенками. Изотопы хранились в металлических контейнерах разных размеров. Наверное, Мае могла определить, что где, по одному внешнему виду, потому что она сказала:
– Есть селен-172. Возьмем его?
– Конечно.
Мае спустилась по лестнице вниз.
– Да прекратишь ты наконец? – в углу склада Дэвид Брукс отпрыгнул от Чарли Давенпорта. Чарли держал в руках большой флакон «Виндекса» – моющего средства для окон. Он опробовал разбрызгивающий механизм и в процессе слегка обрызгал Дэвида. И, судя по всему, не случайно.
– Дай сюда эту чертову штуку! – сказал Дэвид, отбирая у Чарли флакон.
– Я думаю, это может нам пригодиться, – невинным тоном произнес Чарли. – Только надо приделать устройство для дистанционного управления.
Из дальней комнаты вышла Рози, держа в руках блестящий цилиндр, с которого свисали провода.
– Это не подойдет? Кажется, это соленоидный переключатель.
– Да, – сказал Дэвид. – Но вряд ли он сможет развить достаточное давление, чтобы сжать этот флакон. Они там разные? Нужно что-нибудь побольше.
– Не забывайте – нужен еще механизм дистанционного управления, – напомнил Чарли. – Если только вы не хотите выйти туда и обрызгать эту дрянь собственноручно.
Мае выбралась из подвальчика, держа в руках тяжелый металлический цилиндр. Она подошла к умывальнику, прихватив по пути бутыль с жидкостью соломенного цвета. Потом надела толстые прорезиненные перчатки и начала смешивать изотопы с жидкостью. Счетчик радиации над мойкой затрещал.
В наушнике раздался голос Рики:
– Ребята, вы ничего не забыли? Если даже у вас будет дистанционное управление, как вы собираетесь заставить облако приблизиться к опрыскивателю? Я почему-то сомневаюсь, что рой просто прилетит и зависнет где надо, пока вы будете его опрыскивать.
– Мы придумаем, чем его подманить, – сказал я.
– Чем это, например?
– Их можно приманить кроликом.
– Но у нас нет кролика.
Чарли сказал:
– Знаешь, Рики, у тебя очень негативное мышление.
– Я всего лишь сообщаю вам факты.
– Спасибо, что поделился умными мыслями, – заявил Чарли.
Так же как Мае, Чарли тоже заметил, что Рики всеми силами пытается нам помешать. Рики как будто хотел, чтобы рои уцелели. В этом не было никакого смысла. Однако он вел себя именно так.
Я хотел бы сказать Чарли кое-что относительно Рики, но через переговорные устройства меня бы услышали все. Такова неприятная сторона современных средств связи – твои слова может подслушать кто угодно.
– Эй, ребята! – окликнул нас Бобби Лембек. – Как там у вас дела?
– Разбираемся тут, что к чему. А что?
– Ветер ослабевает.
– Какая сейчас скорость ветра? – спросил я.
– Пятнадцать узлов. А было восемнадцать.
– Пятнадцать – не так уж мало, – сказал я. – Все в порядке.
– Я знаю. Просто предупреждаю вас.
В соседней комнате Рози спросила:
– Что такое термит? – она держала в руках пластиковую коробку, наполненную металлическими цилиндриками размером с большой палец.
– Поосторожнее с ними, – сказал Дэвид. – Наверное, это осталось после строителей. Видимо, они делали термитную сварку.
– Но что это такое?
– Термит – это смесь алюминия и оксида железа, – пояснил Дэвид. – Он дает очень высокую температуру горения – три тысячи градусов – и горит так ярко, что смотреть невозможно. Термитом плавят сталь для сварки.
– Много там таких штук? – спросил я у Рози. – Возможно, они нам пригодятся сегодня ночью.
– Там их четыре ящика. – Она достала один цилиндрик из коробки. – А как их поджигают?
– Осторожнее, Рози. Они в магниевой оболочке. Могут вспыхнуть от любого случайного источника тепла.
– Даже спичкой можно поджечь?
– Если хочешь остаться без руки. Лучше использовать сигнальные ракеты или осветительные патроны. Что-нибудь с фитилем.
– Понятно, – сказала Рози и скрылась за углом.
Счетчик радиации все еще щелкал. Я повернулся к умывальнику. Мае уже закрыла контейнер с изотопом и теперь переливала золотистую жидкость в бутылку из-под «Виндекса».
– Эй, ребята, слышите меня? – это снова был Бобби Лембек. – Я наблюдаю некоторую нестабильность. Ветер затихает. Скорость уже упала до двенадцати узлов.
– Хорошо, – сказал я. – Не нужно сообщать нам о малейшем изменении, Бобби.
– Просто я заметил нестабильность, вот и все.
– Я думаю, пока нам ничего не угрожает, Бобби.
Как бы то ни было, Мае должна справиться за несколько минут. Я подошел к компьютерному терминалу и включил его. Экран засветился, появилось меню. Я спросил:
– Рики, могу я вывести код роя на этот монитор?
– Код? – переспросил Рики. В его голосе мне послышались тревожные нотки. – Зачем тебе понадобился код?
– Я хочу посмотреть, что вы, ребята, туда наворотили.
– Зачем?
– Рики, бога ради, могу я его увидеть или нет?
– Можешь, конечно, можешь. Все версии кода в директориях через слэш после кода. Они запаролированы.
Я нашел нужную директорию. Но войти в нее не смог.
– Какой пароль, Рики?
– Пароль – л-а-н-г-т-о-н, все буквы строчные.
– Хорошо.
Я ввел пароль. И вошел в директорию, в которой были собраны все модификации программы, с указанием размера файла и даты изменений. Все документы были больших размеров. Это означало, что в них – все программы для разных аспектов системы роя. Потому что коды самих частиц обычно бывают маленькими – всего несколько строчек, на восемь-десять килобайт, не больше.
– Рики.
– Да, Джек.
– Где коды частиц?
– Их там нет?
– Черт тебя дери, Рики, перестань увиливать!
– Слушай, Джек, это не я занимался архивами…
– Рики, это рабочие файлы, а не архивы, – сказал я. – Скажи мне, где они?
Он помолчал немного, потом сказал:
– Там должна быть субдиректория Си-Ди-Эн. Коды в ней.
Я прокрутил страничку вниз.
– Вижу.
В этой директории я нашел список файлов, все – очень маленькие. Судя по датам модификаций, они начали создаваться около шести недель назад. А за последние две недели ничего нового не появилось.
– Рики, вы не меняли коды последние две недели?
– Да, примерно столько.
Я открыл самый последний документ.
– Вы делали краткие сводки?
Когда эти ребята работали в моей группе, я всегда требовал, чтобы они составляли краткое описание структуры программы на обычном языке. Такую сводку просмотреть гораздо проще, чем документацию внутри самого программного кода. К тому же, когда требуется сжато описать структуру программы, нередко удается решить логические проблемы.
– Они должны быть там же, – сказал Рики.
Я увидел на экране следующее:
/*Инициализировать*/
Для 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))/*отслеживать ближайшие агенты*/
Я какое-то время изучал записи, пытаясь понять, что они в них изменяли. Потом я пролистал вниз, до описания окончательного кода, чтобы посмотреть, как в конце концов они это выполнили. Но самого главного кода в папке не было. Вся совокупность поведения частиц была обозначена как объект со ссылкой на нечто под названием «комп.стат.».
– Рики, – сказал я. – Что такое «комп.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55