Большое, малое и человеческий разум
Шрифт:
С(n), С1(n), С2(n), С3(n), ..., Сp(n), ... .
Предположим, что этот набор содержит все возможные вычисления Сp(n) и что мы можем найти какой-то эффективный метод упорядочения этих компьютерных программ, так что индекс р означает р– ю по порядку программу вычислений в соответствии с некоторым правилом, вследствие чего Сp(n) будет означать р– ю программу, примененную к числу п.
Предположим далее,
Если операция А(р, п) завершена, то вычисление Сp(n) не закончено. (1)
Собственно говоря, в этом и заключается роль процедуры А — она должна давать неопровержимые доказательства того, что определенные вычисления не окончены.
Предположим далее, что р = п, в результате чего возникает хорошо известная и довольно забавная ситуация, известная под названием диагонализации Кантора (кстати, ее использование математически совершенно обоснованно), после которой мы вдруг приходим к следующему выводу:
Если операция А(п, п) завершена, то вычисление Сn(n) не закончено.
Но в данном случае A(п, п) зависит лишь от одного параметра п и, следовательно, принадлежит к набору вычислительных программ Сp(n) (поскольку этот список по определению включал в себя все вычисления, связанные с единственной переменной п). Предположим, что вычислительная программа, идентичная A(п, п), имела индекс k, т.е.
А(n, n) = Сk(n).
Положив n = k, мы тут же получаем
А(k, k) = Сk(k),
что в сочетании с условием (1) сразу приводит к заключению:
Если операция А(k, k) завершена, то вычисление Сk(k) не закончено.
Вспомнив, что А(k, k) совпадает с Сk(k), мы попадаем в логическую ловушку. Раз вычисление Сk(k) заканчивается, то оно не заканчивается (следовательно, оно заканчивается и т. д.). Ловушка заключается в том, что если мы доверяемся проверочной процедуре А, то должны верить и в то, что вычисление Сk(k) не закончено. Однако при этом процедура А тоже никак не может закончиться, т. е. «понять» наконец, что вычисление Сk(k) не кончается. Поэтому вычислительная процедура никак не может замкнуть цепочку математических рассуждений и решить, что заданное вычисление не заканчивается, т. е. установить истину П1-утверждения. В этом суть доводов Гёделя-Тьюринга в той форме, которая нужна мне для дальнейших рассуждений.
Вы можете подумать об общем смысле этого доказательства. Оно ясно демонстрирует, что математическое понимание и/или интуиция не могут быть закодированы в виде какого-то вычислительного процесса, в справедливости которого мы можем быть абсолютно уверены. Мне кажется, что приведенная формулировка наиболее ясным образом определяет сущность подхода Гёделя-Тьюринга, хотя некоторые придерживаются другой точки зрения. В этой связи интересно вспомнить, что писали сами эти авторы о полученном ими результате. Предлагаю вам одну из оценок Тьюринга:
«Другими словами, абсолютно безупречно работающая машина не может обладать интеллектом. Об этом свидетельствует ряд теорем, которые, однако, ничего не говорят о том, каким уровнем интеллекта может обладать машина, не претендующая на безошибочность и безупречность работы».
Таким образом, согласно Тьюрингу утверждения теоремы Гёделя-Тьюринга совместимы с идеей о том, что математиков можно действительно рассматривать в качестве компьютеров, если алгоритмические операции, выполняемые ими при выводе математических истин, не являются принципиально здравыми, обоснованными и разумными. Мы можем ограничиться рассмотрением лишь арифметических утверждений, например, лишь П1-высказываниями, которые представляют собой интересный, но весьма ограниченный тип утверждений. Мне кажется, что на самом деле Тьюринг верил в то, что человеческий мозг использует алгоритмы, но эти алгоритмы являются совершенно нерегулярными (именно в этом смысле они неразумны). Такая ситуация представляется неправдоподобной, поскольку она не только обескураживает, но и просто не позволяет понять, каким образом можно обсуждать что-то и приходить к каким-то выводам вообще. В любом случае точка зрения Тьюринга не внушает мне доверия, а в предложенной выше схеме (см. табл. 3.1) его рассуждения следует отнести к A– подходу.
Рассмотрим далее точку зрения Гёделя, которая в моей схеме относится к D– подходу. Обращаю ваше внимание на то, что при рассмотрении одних и тех же проблем Тьюринг и Гёдель приходят к совершенно противоположным выводам. И хотя Гёдель не верит, что математическое вдохновение можно свести к каким-то вычислительным операциям, он не отказывается от этой возможности достаточно четко и определенно. Он говорит:
«С другой стороны, на основе всего доказанного сохраняется возможность существования (и, может быть, даже эмпирического создания) машины, способной доказывать теоремы. В реальной жизни такая машина стала бы эквивалентом математической интуиции, однако это невозможно доказать аналогично тому, как в теории конечных чисел нельзя выводить только правильные теоремы».
Это высказывание явно намекает на существование «лазейки», позволяющей непосредственно использовать теорему Гёделя-Тьюринга для опровержения идей вычислимости (или функционализма). Лазейка заключается в том, что математик может пользоваться некоторым здравым и логичным алгоритмом, не будучи полностью уверен в его разумности. Таким образом, Гёдель видел лазейку в познавательной части алгоритмов, в то время как Тьюринг выделяет в алгоритмах именно их разумность.
Ни один из этих подходов не кажется мне убедительным. Теорема Гёделя-Тьюринга всего лишь утверждает, что если доказана разумность какой-то алгоритмической процедуры (для доказательства П1-утверждений), то можно немедленно получить некий результат, выходящий за рамки данной процедуры. Мы можем сделать это и сами, используя какую-либо другую алгоритмическую процедуру (о разумности которой мы ничего не знаем). Кроме этого возможно существование некой обучающейся машины, которая поможет нам в этом поиске. Эта проблема (и целая куча связанных с нею задач) довольно подробно рассматривается в моей книге «Тени разума», и поэтому я не буду повторять все доводы и рассуждения, а отмечу только два из них.