Большинство внешних сенсоров сгорело, навигационная система вышла из
строя, многие программы стерлись или изменились, а сам "Искатель" повернул
и снова исчез в глубинах межзвездного пространства.
Теперь он направился к небольшой желто-белой звезде в тысяче световых
лет. Эта звезда тоже обладала семейством планет, и на третьей из этих
планет потомки рода полуразумных обезьян овладели огнем и начали
экспериментировать с каменными орудиями.
Сверхновые - исключительно редкое явление, в средней галактике они
загораются два-три раза в год. Но как и из большинства обобщений, из этого
тоже бывают исключения. Сверхновая, заставившая повернуть "Искатель",
оказалась первой в небольшой цепи, разорвавшей местное скопление крупных
звезд, образовавшихся примерно в одно время. В самой середине этого
скопления располагалась нормальная долгоживущая звезда - родная звезда
цивилизации чужаков. Чужаки так и не успели основать колонии за пределами
своей системы, и поэтому вся их цивилизация погибла.
У всех случаются неудачи.
МИЛЛИОН ЛЕТ ДО Р.Х.
Через сто тысяч лет после того, как его обожгла вспышка сверхновой,
"Искатель" вошел во внешние пределы планетной системы. Приборы дальней
разведки функционировали у него лишь частично, исследовательские аппараты
вообще бездействовали, и потому корабль сразу начал высадку на первом же
встреченном им теле достаточного размера. Это оказался замерзший шар в три
тысячи миль в диаметре, покрытая льдом скала, с морями жидкого метана и
атмосферой из азота, водорода и метановых паров. Этот шар никак не отвечал
критериям выгодной эксплуатации, но это не имело значения, так как
программы, ответственные за разведку и оценку поверхности, не работали.
Однако программы, ведавшие деятельностью на поверхности, более или
менее сохранились, и вскоре на скалистом выступе ледяного полуострова
мелкого метанового моря начала функционировать Фабрика N_1 со всеми своими
основными функциями. Компьютеры вновь созданной фабрики скопировали
основную программу и стали выполнять первую задачу - создание Фабрики N_2.
Соответственно контрольная программа Фабрики N_1 запросила у корабельной
базы данных копию программы "Как построить Фабрику"; в этом файле
заключался целый набор субфайлов "Как сделать машины, необходимые для
строительства Фабрики", то есть роботов. И вот тут начались серьезные
сбои.
У роботов имелись небольшие внутренние процессоры, которые можно было
по радио перепрограммировать с фабрики, чтобы робот мог выполнить
очередное задание. Это позволяло роботам действовать автономно под местным
контролем и освобождало центральные компьютеры, которые ожидали сигнала:
"Выполнено. Следующее задание?" Поэтому в роботах имелись специальные
программы, которые обеспечивали обмен информацией между компьютерами
фабрики и процессорами роботов.
При копировании программы "Как сделать Фабрику" были задействованы
искаженные цепи: программа пошла не в центральную систему Фабрики, а в
процессоры многочисленных роботов, которых она касалась, причем каждый
робот воспринимал свою часть программы. В базе данных самой Фабрики
никаких копий этой программы не было сделано. И что еще хуже, в этом
процессе стерся оригинал программы, находившийся в корабле. И теперь
программа "Как сделать робот типа Фред [ФРЕД, FRED, Friendly Robot
Educational Device - самообучающийся робот]" содержалась только в роботах
типа Фред на поверхности. И то же самое оказалось справедливо для всех
остальных типов.
И вот когда контрольная программа фабрики передала приказ
исполнительной программе начать создание производственных роботов, а
исполнительная программа передала этот приказ системе управления базой
данных, система управления обнаружила, что не может найти эту информацию.
И получить копию с корабля тоже невозможно. Система управления базой
данных сообщила об этом затруднении исполнительной программе; та передала
контрольной программе; контрольная программа обвинила систему связи;
система связи затребовала объяснений у передаточных инстанций. После
длительных электронных разборок и обвинений было наконец установлено, что
исчезнувшие субфайлы находятся в роботах на поверхности. По строжайшему
приказу контрольной программы программа связи выбрала одного из Фредов
первой категории из списка исполнительной программы и передала ему команду
возвратить субфайл.
Но у Фреда не было полного субфайла этой программы: его память
недостаточно обширна для нее. По той же самой причине ни один из Фредов не
обладал всей программой. Программа разлилась по ним, как заполняются ведра
из пожарного шланга: у каждого была своя часть; но в целом они как будто
сохранили весь субфайл. И поэтому контрольной программе пришлось извлекать
части из разных Фредов и совмещать их таким образом, чтобы это имело
смысл. Контрольная программа создала таким образом свою версию и передала
ее исполнительной программе для производства.
К несчастью, команда на запись информации на будущее каким-то образом
затерялась, и каждый субфайл "Как сделать" для очередной группы Фредов
после использования стирался, как только производство заканчивалось. И
поэтому когда Фабрика N_1 закончила отправку роботов для строительства
Фабрики N_2 и должна была выслать группу для выбора места под Фабрику N_3,
контрольной программе пришлось начинать все с начала. И то же самое
приходилось делать при замене вышедших из строя роботов.
Все это заняло большое количество процессорного времени, перегрузило
каналы связи и вообще было неэффективно, отчего встревожились электронные
бухгалтеры. В результате возникла самосовершенствующаяся гибкая
обучающаяся программа, которая отыскивала экономически неэффективные
способы и старалась их усовершенствовать. После нескольких попыток
контрольная программа обнаружила, что среди Фредов разных типов есть
такие, которые содержат половину соответствующего субфайла, а это
означало, что полный субфайл можно получить у двух индивидуумов, а не у
всех сразу, как раньше. Соответственно программа начала отыскивать такие
"совпадающие" пары как источник ответа на запросы исполнительной программы
и перестала обращать внимание на остальных Фредов.
Вместе с первоначальными субфайлами "Как сделать Фред" были утрачены
субсубфайлы программы "Что делать, после того как все сделано".
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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102