Выбрать главу

Помимо действий описанных в предыдущем разделе, каждый компьютер непрерывно выполняет следующий алгоритм:

1. Сравнить файлы Аi и Вi.. Если они не совпадают, то работу закончить. Иначе

2. Записать дату последней проверки в ячейку. Пi

3. После окончания работы всех компьютеров, сравнить Пi со значениями других компьютеров и определить разность, вычислив δi,.j= Пi — Пj для i-го и j-го компьютеров. Если для j-го компьютера, δi,.j>0, это значит, что проверка с помощью j-го процессора не обеспечивает выполнение условия (AjBj) и поэтому i-ый компьютер переписывает Аi и Вi на место Aj и Bj.

Таким образом, после каждого раунда все компьютеры будут иметь одинаковые базы данных.

Из этого следует, что база данных Аi,Вi (i:=1, n) будет сохраняться до тех пор, пока будут ресурсы, позволяющие запускать новый процессор взамен неисправного.

ПРИМЕЧАНИЕ 7

Можно предположить, что на борту находится оборудование, способное перерабатывать детали неисправного j-го компьютера под управлениемi-го. В этом случае база данных будет сохраняться до тех пор, пока не иссякнет бортовой источник энергии.

Мы обсудили возможность надежной доставки вычислительной техники вместе с программным обеспечением. Однако, возникает вопрос, достаточно ли этого?

Для того, чтобы ответить на этот вопрос следует обсудить, каким должно быть программное обеспечение?

Учитывая, что «путешествующие» роботы предназначены для освоения планеты, до которой добрался космический корабль, то они должны быть способны выполнять следующие функции:

A. Самовоспроизводиться. Это вытекает из того, что размеры космического корабля ограничены и поэтому, по прибытии, роботы должны уметь воспроизводить себе подобные устройства.

B. Самоприспосабливаться. Это связано с тем, что создатели космической экспедиции ни в малой степени не могли предвидеть условия, в которых начнут функционировать роботы. Они будут в состоянии сформулировать требования к тем условиям, которые эти устройства должны будут обеспечить. Отсюда можно сделать вывод, что для этих роботов не будут определены способы достижения предполагаемых целей.

Начнём с самовоспроизводящихся устройств.

Вот как это описано в одной из работ:

«В последние годы жизни, в конце 40-х, Джон фон Нейман отдал много сил конструированию самовоспроизводящегося клеточного автомата. Этот труд завершил после смерти фон Неймана его сотрудник Артур Бэркс (Arthur Burks). Описание и строгое доказательство правильной работы этого монстра (каждая из двухсот тысяч клеток находится в одном из 29 состояний, в зависимости от состояния пяти ее соседей, все это реализует машину Тьюринга с лентой и читающей головкой, универсальный конструктор считывает данные с ленты и специальной рукой строит то, что предписано…) занимает целую книгу. Принцип действия напоминает принцип копирования ДНК (в то время еще не открытый биологами!)»

Обиняк alife

(Обратите внимание на упоминание ДНК, оно нам далее пригодится!)

К этому остается добавить, что для решения задачи воспроизводства предложенным методом потребуется, в действительности «пространство» не в двести тысяч, а в шестьсот. Это обстоятельство — одна из причин, по которой Дж. Фон Нейман остановился на теоретическом обосновании принципов построения самовоспроизводящихся систем.

Тем не менее, проблема создания самовоспроизводящихся систем получила продолжение, о котором ни Дж. Фон Нейман, ни его соратники не могли даже помыслить. В восьмидесятые годы прошлого столетия появились самовоспроизводящиеся программы, предназначенные для несанкционированного проникновения в другие компьютеры через сеть. Цель таких программ была — нарушить нормальную работу компьютера, собрать закрытую информацию для последующей пересылки на компьютер-«хозяин». Эти программы получили название «вирусов».