подтверждена. Таким образом, если они принимают систему Q*0, то они должны принять и систему Q*1 (при условии, что степень сложности высказывания G(Q*0) не превышает c — а так оно и будет, если значение c выбрано таким, каким мы выбрали его выше).
Необходимо отметить, что наличие либо отсутствие Π1- высказывания P в формальной системе Q* никоим образом не влияет на представленные в §§3.19 и 3.20 рассуждения. Само Π1-высказывание G(Q*) принимается за истинное в любом случае, независимо от того, входит высказывание P в систему Q* или нет.
Могут найтись и другие способы, с помощью которых роботам удастся «перескочить» через ограничения, налагаемые некоторыми ранее принятыми критериями присвоения ☆-статуса Π1-высказываниям. В этом нет ничего «парадоксального» — до тех пор, пока роботы не попытаются применить подобное рассуждение к тем самым механизмам M, которые обусловливают их поведение, т.е. к собственно системе Q*. Возникающее в этом случае противоречие не является, строго говоря, «парадоксом», однако дает возможность посредством reductio ad absurdum показать, что такие механизмы существовать не могут или, по крайней мере, не могут быть познаваемыми для роботов, а следовательно, и для нас.
Отсюда мы и делаем вывод о том, что такие «роботообучающие» механизмы — восходящие, нисходящие, смешанного типа, причем в каких угодно пропорциях, и даже с добавлением случайных элементов — не могут составить познаваемую основу для построения математического робота человеческого уровня.
3.26. Разрыв вычислительных петель
Попробую осветить полученный вывод под несколько иным углом зрения. Предположим, что, пытаясь обойти налагаемые теоремой Гёделя ограничения, некто решил построить такого робота, который будет способен каким-либо образом «выскакивать из системы» всякий раз, когда управляющий им алгоритм попадет в вычислительную петлю. В конце концов именно постоянное приложение теоремы Гёделя не позволяет нам спокойно принять предположение о том, что математическое понимание можно объяснить посредством вычислительных процедур, поэтому, как мне кажется, стоит рассмотреть с этой точки зрения трудности, с которыми сталкивается любая вычислительная модель математического понимания при встрече с теоремой Гёделя.
Мне рассказывали, что где-то живут ящерицы, тупость которых настолько велика, что они, подобно «обычным компьютерам и некоторым насекомым», способны «зацикливаться». Если несколько таких ящериц поместить на край круглого блюда, то они в вечной «гонке за лидером» будут бегать по кругу до тех пор, пока не умрут от истощения. Смысл этой истории в том, что подлинно интеллектуальная система должна располагать какими-то средствами для разрыва таких петель, тогда как ни один из существующих компьютеров подобными качествами, вообще говоря, не обладает. (Проблему «разрыва петель» рассматривал Хофштадтер в [201].)
Вычислительная петля простейшего типа возникает, когда система на некотором этапе своей работы возвращается назад, в точности в то же состояние, в каком она пребывала на некотором предыдущем этапе. В отсутствие ввода каких-то дополнительных данных она будет просто повторять одно и то же вычисление бесконечно. Не составляет большой трудности построить систему, которая, в принципе, будет гарантированно (пусть и не слишком эффективно) выбираться из петель подобного рода по мере их возникновения (скажем, посредством ведения списка всех состояний, в которых оказывается система, и проверки на каждом этапе на предмет выяснения, не встречалось ли такое состояние когда-либо раньше). Существует, однако, множество других возможных типов петель, причем гораздо более сложных. Проблеме образования петель посвящена большая часть рассуждений главы 2 (в особенности, §§2.1-2.6), так как вычисление, застрявшее в петле, есть не что иное, как вычисление, которое не завершается. Собственно говоря, под Π1-высказыванием мы как раз и понимаем утверждение о том, что некоторое вычисление образует петлю (см. §2.10, комментарий к возражению Q10). А еще в §2.5 мы имели возможность убедиться в том, что факт незавершаемости вычисления (т.е. образования петли) однозначно установить с помощью одних лишь алгоритмических методов невозможно. Более того, как можно заключить из вышеприведенных рассуждений, процедуры, посредством которых математики-люди устанавливают, что данное конкретное вычисление действительно образует петлю (т.е. устанавливают истинность соответствующего Π1-высказывания), вообще не являются алгоритмическими.
Таким образом, получается, что, если мы хотим встроить в систему все доступные человеку методы, позволяющие однозначно установить, что те или иные вычисления действительно образуют петли, необходимо снабдить ее «невычислительным интеллектом». Можно, конечно, предположить, что петель можно избежать с помощью некоего механизма, который будет оценивать, как долго уже выполняется текущее вычисление, и «выскакивать из системы», если ему покажется, что оно выполняется слишком долго. Однако такой способ не сработает, если механизм, принимающий подобные решения, является по своей природе вычислительным, поскольку в этом случае неизбежны ситуации, когда упомянутый механизм со своей задачей не справляется, либо приходя к ошибочному заключению, что вычисление зациклилось, либо вообще не приходя ни к какому заключению (по той причине, что теперь зациклился уже сам механизм). Целиком и полностью вычислительной системе нечего противопоставить проблеме образования петель, и нет никаких гарантий, что вся система в целом, пусть даже избежав ошибочных выводов, в конце концов не зациклится.
А что если ввести в процесс принятия решения о необходимости «выскакивать из системы» (в случае предположительно зациклившегося вычисления) и о том, когда именно это нужно делать, некоторые случайные элементы? Как мы отмечали выше (в частности, в §3.18), от чисто случайных элементов — в противоположность вычислительным псевдослучайным — нам в этой ситуации никакой реальной пользы не будет. Кроме того, если мы действительно хотим знать точно, образует ли петлю то или иное вычисление (т.е. истинно ли соответствующее Π1-высказывание), то следует учесть еще один момент. Сами по себе случайные процедуры не годятся для решения таких задач, поскольку, исходя из самой природы феномена, называемого нами случайностью, о выводах, действительно обусловленных случайными элементами, определенно можно сказать лишь одно — какая бы то ни было определенность в них напрочь отсутствует. Известны, однако, вычислительные процедуры со случайными (или псевдослучайными) элементами, позволяющие получить математический результат с очень высокой степенью достоверности. Существуют, например, весьма эффективные методы со случайным входящим потоком, позволяющие определить, является ли данное большое число простым, причем практически в любом конкретном случае результат оказывается правильным. Математически строгие методы проверки гораздо менее эффективны — поневоле задумаешься, что же предпочтительнее: сложное, но математически точное построение, которое, не исключено, содержит не одну ошибку, или относительно простое, но вероятностное рассуждение, вероятность ошибки в котором на практике может оказаться значительно меньше, нежели в первом случае. Подобные размышления порождают множество неловких вопросов, ломать копья из-за которых я не испытываю ни малейшего желания. Достаточно будет сказать, что для «принципиальных» рассуждений, которым посвящена большая часть этой главы, вероятностное доказательство, с помощью которого можно устанавливать истинность Π1-высказываний, неизбежно оказывается, скажем так, не совсем адекватным.
Если мы намерены научиться однозначно устанавливать истинность любого Π1- высказывания в принципе, то, вместо того, чтобы бездумно полагаться на случайные или непознаваемые