Читать «Рассвет Сингулярности» онлайн - страница 55

Автор неизвестен

Дон - Круто.

Майкл - Хорошо, я заметил, когда написал парочку таких правил, что они приобретают вид описания компьютерной архитектуры и работы машины. После того как я это выяснил, стало легче. Каждое зависание будет давать мне информацию о том, как писать некоторое новое правило, которое будет предотвращать все аварии этой категории или оно сообщит мне как изменить существующее правило, чтобы сделать его более расширенным или специфичным. Тогда однажды она прекратила зависать.

Дон – Ба, тебе должны были достаться лавры создателя независающей программы. Ты мог бы это продать фирме Microsoft. Эй, подожди минутку. Что если она изменяла какое-то из правил, которые удерживали её от зависания?

Майкл – Одним из правил было правило 'Не изменяй правил'. Хотя я это и не доделал. Далее, я просто позволил ей выполняться до тех пор, пока она не заполняла оперативную память, RAM. Затем я обычно просматривал её, чтобы убедиться, что не случилось чего-нибудь интересного.

Дон - Это не генетическое программирование?

Майкл - Нет, ничего такого. Во-первых, там не было генерации поколений. А во вторых, у меня была только одна работающая программа, а не куча соревнующихся между собой программ. Кроме того, эта программа не запускалась в каком-то искусственном цифровом окружении. Она работала в реальной среде компьютерной архитектуры. Ты должен помнить, что это было ещё до дней защиты памяти и кода или распределения данных по разделам. Что касается компьютера, так вся его память представляла собой одну не дифференцируемую область.

Дон – О, да.

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

Дон - Понял.

Майкл: - Тогда она изменила мета правила и...

Дон - Подожди, ты же сказал, что она не могла изменять правила?

Майкл - Верно, она не могла изменять правила, но она могла изменять мета правила. Тогда на меня нашло прозрение.

Дон - Что, что?

Майкл - Ясное понимание того, что правила, которые удерживали её от зависания, были чем-то типа понимания среды её обитания, но она сама не понимала этого. Поэтому я начал писать мета-мета правило описания этого, но я не смог.

Дон - Почему?

Майкл – Потому, что оно изменялось всякий раз. Я написал несколько базовых мета-мета правил для правил, мета правила и как это должно работать, но оставшаяся часть программы постоянно видоизменялась. Необходимо было писать сами правила на лету.

Дон – Как же предполагалось это сделать, если она не понимала себя?

Майкл - Я вынужден был написать мета-мета-мета правила для того, чтобы написать мета-мета правила на лету.

Дон - Это второй уровень правил или третий?

Майкл - Это четвертый уровень. Первый уровень состоял из правил, удерживавших её от зависания или понимания своей среды обитания. Второй уровень представлял собой правила модификации её кода необходимым способом, а не чисто случайным изменением. Третий уровень мета-мета правил давал правила описания собственно программы, а четвертый уровень мета-мета-мета правил включал правила того, как писать мета-мета правила на лету. Затем я добавил ряд правил поверх остальных, чтобы они могли модифицировать мета-мета-мета правила на лету.