Шрифт:
Интервал:
Закладка:
— Извини, Джек, — сказал он. — Пришлось повозиться, чтобы его найти. Несколько дней назад Рози закрыла сетевой доступ к целой поддиректории, чтобы ее переработать. Наверное, она просто забыла снова открыть доступ. Поэтому кода и не было в основной директории.
— Хм-м… — я просмотрел запись. — И что она перерабатывала?
Рики пожал плечами.
— Понятия не имею. Один из этих файлов. Я открыл файл с кодом.
/* Модуль комп. стат.*/
Выполнить (движение{0ij (Cx1, Cy1, Сz1)})/*начало*/
{Sij (x1, y1, z)}/*движение*/
{Sik1 (x1, y1, z1)(x2, y2, z2)}/*отслеживание*/
Усилие {z (i)}/*сохранение*/
Реакция усложн./*состояние бегства*/
S1{(dx(i,j,k)}{(место(Cj,Hj)}
S2 {(fx, (a, q)}
Место {z (q)}/*сохранение*/
Намерение усложн./*намерение бегства*/
S1{(dx(i,j,k)}{(место(Cj,Hj)}
S2 {(fx, (a, q)}
Загрузка {z (i)]/*сохранение*/
Выполнить (движение {0ij (Cx1, Cy1, Cz1)})
Выполнить (пре-{0ij (Hx1, Hн1, Hz1)})
Выполнить (пост-{0ij (Hx1, Hy1, Hz1)})
Усилие {Sij (x1, y1, z1)}
{Sik1 (x1, y1, z1) движение(x2, y2, z2)}/*отслеживание*/
(0, 1, 0, 01)
— Рики, — сказал я, — этот код почти не отличается от предыдущих.
— Ну да, наверное. Изменения всегда очень незначительные. Не понимаю, почему ты придаешь этому такое значение, — он пожал плечами. — Я имею в виду вот что — как только мы потеряли контроль над роями, первоначальный код утратил всякий смысл. Мы ведь все равно уже не могли его изменить.
— А как случилось, что вы потеряли контроль? В этом алгоритме нет эволюционного кода.
Рики развел руками и сказал:
— Джек, если бы мы это знали, мы бы знали и все остальное, и никаких неприятностей не было бы.
— Рики, меня пригласили сюда для того, чтобы разобраться с проблемами кода, который написала моя прежняя группа. Мне сказали, что агенты теряют цель…
— Можно сказать, что неподчинение управляющим радиосигналам и есть потеря цели.
— Но код не менялся.
— Ну, знаешь, Джек, сам код никого особо не волнует. Только то, что код собой подразумевает. Обусловленное поведение, которое возникает из этого кода. Нам нужно, чтобы ты помог именно в этом, Джек. Потому что это ведь твой код, верно?
— Да, но это ваши рои.
— Совершенно верно, Джек.
Рики пожал плечами и вышел из комнаты. Я какое-то время смотрел на листок с кодом, а потом задумался — почему Рики распечатал его для меня? Это означало, что он не хотел показывать мне электронную версию документа. Вероятно, Рики пытается скрыть от меня еще какую-то проблему. Возможно, на самом деле код изменили, но Рики мне его не показывает. Или, может быть…
«Ну и черт с ним!» — подумал я. Смял листок с распечаткой и бросил его в мусорную корзину. Решать эту проблему все равно нужно не через компьютерный код. Это было мне совершенно ясно.
Мае сидела в биологической лаборатории и смотрела на монитор, подперев подбородок рукой. Я спросил:
— Ты как, нормально себя чувствуешь?
— Да, — она улыбнулась — А ты?
— Просто устал. И голова опять разболелась.
— У меня тоже. Но у меня — из-за этого фага, — Мае показала на экран. На экране было черно-белое изображение вируса под сканирующим электронным микроскопом. По форме вирус напоминал минометный снаряд — толстая вытянутая головка, прикрепленная к более узкому хвосту.
— Это тот новый мутировавший фаг, о котором ты говорила? — спросил я.
— Да. Я уже отключила от линии один ферментационный чан. Производство работает на шестьдесят процентов от полной мощности. Все равно, вряд ли это имеет какое-то значение.
— А что ты сделала с отключенным чаном?
— Исследую чувствительность фага к разным антивирусным реагентам, — сказала Мае. — Вообще-то их здесь немного. Мы не должны анализировать фаги. По инструкции любой зараженный чан следует отключить от производственной линии, уничтожить все его содержимое, а чан простерилизовать.
— А почему ты этого не сделала?
— Наверное, я так и сделаю, со временем. Но, поскольку этот вирус новый, лучше сразу попробовать найти эффективный реагент против него. Это может пригодиться впоследствии. Потому что вирус появится снова.
— Ты имеешь в виду, он образуется опять? Заново?
— Да. Может быть, не настолько агрессивный, но, по сути, тот же самый.
Я кивнул. Я знал о такой тенденции, потому что изучал генетические алгоритмы — программы, специально разработанные для того, чтобы воспроизводить процесс эволюции. Большинство людей считают, что эволюция — одноразовый процесс, результат случайных совпадений. Если бы растения не начали производить кислород, животные никогда бы не появились. Если бы астероид не уничтожил динозавров, им на смену не пришли бы млекопитающие. Если бы какая-нибудь рыба не выбралась на сушу, все животные по-прежнему жили бы в воде. Ну и так далее.
Все это было в достаточной мере справедливо, однако в эволюции существовали и другие закономерности. Определенные формы, определенные способы существования продолжали возникать снова и снова. Например, паразитирование — когда одно животное живет за счет другого — появлялось в ходе эволюции множество раз, независимо друг от друга. Паразитирование — эффективный способ взаимного существования жизненных форм, поэтому он появлялся и будет появляться снова и снова.
Подобные феномены наблюдаются и в генетических программах. Программы имеют тенденцию возвращаться к испытанным и надежным решениям. Программисты рассматривают эту тенденцию на трехмерной модели горного ландшафта, с пиками и долинами. Но факт остается фактом — эволюция имеет и стабильную составляющую.
И вполне можно ожидать, что любое большое, интенсивно воспроизводящееся скопление бактерий рано или поздно будет заражено вирусом. И если окажется, что бактерии нечувствительны к этому вирусу, вирус мутирует так, что сможет, поражать их. На это можно рассчитывать примерно с той же долей вероятности, как и на то, что в открытой банке с сахаром, оставленной на столе, рано или поздно появятся муравьи.
Учитывая, что процесс эволюции изучается уже почти полторы сотни лет, поразительно, насколько мало мы о нем на самом деле знаем. Старая концепция о выживании наиболее приспособленных давным-давно себя изжила. Она оказалась слишком примитивной. Ученые, изучавшие эволюцию в девятнадцатом веке, рассматривали ее как постоянную «борьбу когтей и клыков», в мире, где более сильные животные убивают более слабых. Они не принимали в расчет, что слабые животные неизбежно станут сильнее или выиграют в борьбе за существование каким-нибудь другим способом. Что, собственно, всегда и происходит.