Существуют, однако, всевозможные лазейки и контраргументы, на которые необходимо обратить самое пристальное внимание. Для начала, в оставшейся части этой главы, я тщательно разберу все важные контраргументы против вывода G, которые когда-либо попадались мне на глаза — см. возражения Q1- Q20и комментарии к ним в §§2.6и 2.10; там, кроме того, можно найти и несколько дополнительных возражений моего собственного изобретения. Каждое из возражений будет разобрано со всей обстоятельностью, на какую я только способен. Пройдя через это испытание, вывод G, как мы убедимся, существенно не пострадает. Далее, в главе 3, я рассмотрю следствия уже из утверждения G. Мы обнаружим, что оно и в самом деле способно послужить прочным фундаментом для построения весьма убедительного доказательства абсолютнойневозможности точного моделирования сознательного математического понимания посредством вычислительных процедур, будь то восходящие, нисходящие или любые их сочетания. Многие сочтут такой вывод весьма неприятным, поскольку если он справедлив, то нам, получается, просто некуда двигаться дальше. Во второй части книги я выберу более позитивный курс. Я приведу правдоподобные, на мой взгляд, научные доводы в пользу справедливости результатов моих размышлений о физических процессах, которые могут, предположительно, лежать в основе деятельности мозга — вроде той, что осуществляется при нашем восприятии приведенных выше рассуждений, — и о причинах недоступности этой деятельности для какого бы то ни было вычислительного описания.
2.6. Возможные формальные возражения против G
Утверждение Gвполне способно потрясти воображение и не слишком впечатлительного читателя, особенно если учесть достаточно простой характер составных элементов рассуждения, из которого мы это утверждение вывели. Прежде чем перейти к рассмотрению (в главе 3) его следствий применительно к возможности создания разумного робота-математика с компьютерным разумом, необходимо очень тщательно исследовать некоторое количество формальных моментов, связанных с получением вывода G. Если подобные возможные формальные «лазейки» вас не смущают и вы готовы принять на веру утверждение G(согласно которому, напомним, математики при установлении математической истины не применяют заведомо обоснованные алгоритмы), то вы, вероятно, предпочтете пропустить (или хотя бы на некоторое время отложить) нижеследующие рассуждения и перейти непосредственно к главе 3. Более того, если вы готовы принять на веру и несколько более серьезный вывод, в соответствии с которым принципиальноневозможно алгоритмически объяснить ни математическое, ни какое-либо иное понимание, то вам, возможно, стоит перейти сразу ко второй части книги — задержавшись разве что на воображаемом диалоге в §3.23(обобщающем наиболее важные аргументы главы 3) и выводах в §3.28.
Существует несколько математических моментов, связанных с приведенным в §2.5гёделевским доказательством, которые не дают людям покоя. Попытаемся с этими моментами разобраться.
Q1. Я понимаю так, что процедура А является единичной, тогда как во всевозможных математических обоснованиях мы. несомненно, применяем много разных способов рассуждения. Не следует ли нам принять во внимание возможность существования целого ряда возможных «процедур A»?
В действительности, использование мною такой формулировки вовсе не влечет за собой потери общего характера рассуждений в целом. Любой конечный ряд A 1, A 2, A 3, …, A r алгоритмических процедур всегда можно выразить в виде единичного алгоритма A, причем таким образом, что Aокажется незавершаемым только в том случае, если не завершаются всеотдельные алгоритмы A 1, …, A r . (Процедура Aможет протекать, например, следующим образом: «Выполнить первые 10 шагов алгоритма A 1запомнить результат; выполнить первые 10 шагов алгоритма A 2; запомнить результат; выполнить первые 10 шагов алгоритма A 3; запомнить результат; и так далее вплоть до A r; затем вернуться к A 1и выполнить следующие 10 шагов; запомнить результат и т.д.; затем перейти к третьей группе из 10 шагов и т.п. Завершить процедуру, как только завершится любой из алгоритмов A r».) Если же ряд алгоритмов А бесконечен, то для того, чтобы его можно было считать алгоритмической процедурой, необходимо найти способ порождения всей совокупности алгоритмов A 1, A 2, A 3, … алгоритмическим путем. Тогда мы сможем получить единичный алгоритм А, который заменяет весь ряд алгоритмов и выглядит приблизительно следующим образом:
«первые 10 этапов A 1;
вторые 10 этапов A 1, первые 10 этапов A 2;
третьи 10 этапов A 1вторые 10 этапов A 2, первые 10 этапов A 3;
… и т.д.»…
Завершается такой алгоритм лишь после успешного завершения любого алгоритма из ряда, и никак не раньше.
С другой стороны, можно представить себе ситуацию, когда ряд A 1, A 2, A 3, …, предположительно бесконечный, заранее не задан даже в принципе. Время от времени к такому ряду добавляется следующая алгоритмическая процедура, однако изначально весь ряд в целом не определен. В этом случае, ввиду отсутствия какой-либо предварительно заданной алгоритмической процедуры для порождения такого ряда, единичный замкнутый алгоритм нам получить никак не удастся.
Q2. Мы, безусловно, должны допустить, что алгоритм Aможет оказаться и не фиксированным. Люди, в конце концов, обладают способностью к обучению, а значит, применяемый ими при этом алгоритм вполне может претерпевать непрерывные изменения.
Для описания изменяющегося алгоритма необходимо каким-то образом задать правила, согласно которым он, собственно, изменяется. Если сами по себе эти правила являются полностью алгоритмическими, то мы уже включили их в описание нашей гипотетической процедуры « A», иначе говоря, такой «изменяющийся алгоритм» на деле представляет собой всего-навсего еще один пример единичного алгоритма, и на наши рассуждения подобное допущение никак не влияет. С другой стороны, можно вообразить средства для изменения алгоритма, предположительно не являющиеся алгоритмическими: такие, например, как введение в алгоритм каких-то случайных составляющих или неких процедур взаимодействия его с окружением. «Неалгоритмический» статус подобных средств изменения алгоритма мы еще будем рассматривать несколько позднее (см. §§3.9, 3.10); можно также вернуться к §1.9, где было показано, что ни одно из этих средств не позволяет сколько-нибудь убедительно избавиться от алгоритмизма [11](как того требует точка зрения C) В данном случае, т.е. в рамках чисто математических рассуждений, нас занимает лишь возможность того, что такое изменение действительно будет носить алгоритмический характер. Если же предположить, что алгоритмическим оно быть никак не может, то мы, безусловно, придем к полному согласию с выводом G.