Тени разума. В поисках науки о сознании - страница 56
. Допустим, что алгоритм A зависит не только от q и n, но и еще от одного параметра t, который можно рассматривать как «время», а можно как просто количество предшествующих настоящему моменту случаев активации нашего алгоритма. Как бы то ни было, мы можем также предположить, что параметр t является натуральным числом, и записать следующий ряд алгоритмов A>t(q, n):
A>0(q, n), A>1(q, n), A>2(q, n), A>3(q, n), …,
каждый элемент которого предположительно является обоснованной процедурой для установления незавершаемости вычисления C>q(n); при этом мы будем считать, что мощность этих процедур возрастает по мере увеличения t. Предполагается также, что способ, посредством которого увеличивается мощность этих процедур, является алгоритмическим. Возможно, этот «алгоритмический способ» зависит некоторым образом от «опыта» выполнения предыдущих алгоритмов A>t(q, n), однако в данном случае мы предполагаем, что этот «опыт» порождается также алгоритмически (в противном случае мы снова приходим к согласию с G), т.е. мы имеем полное право включить «опыт» (или способы его порождения) в перечень операций, составляющих следующий алгоритм (т.е., собственно, в A>t(q, n)). Действуя таким образом, мы опять-таки получаем единичный алгоритм (A>t(q, n)), который зависит алгоритмически от всех трех параметров: t, q, n. На его основе можно построить алгоритм A*, столь же мощный, что и весь ряд A>t(q, n), однако зависящий только от двух натуральных чисел: q и n. Для получения такого A*(q, n) нам, как и прежде, необходимо лишь выполнить первые десять шагов алгоритма A>0(q, n) и запомнить результат; затем первые десять шагов алгоритма A>1(q, n) и вторые десять шагов алгоритма A>0(q, n), запоминая получаемые результаты; затем первые десять шагов алгоритма A>2(q, n). вторые десять шагов алгоритма A>1(q, n), третьи десять шагов алгоритма A>0(q, n) и т.д., запоминая получаемые на каждом шаге вычисления результаты. В конечном итоге, сразу после завершения любого из составляющих алгоритм вычислений завершается выполнение и всей процедуры в целом. Замена процедуры A процедурой A* никак не влияет на ход рассуждений, посредством которых мы пришли к выводу G.
Q3. Не был ли я излишне категоричен, утверждая, что в тех случаях, когда уже можно определенно утверждать, что данное вычисление C>q(n) и вправду завершается, алгоритм A все равно должен выполняться бесконечно? Допусти мы, что A в таких случаях также завершается, все наше рассуждение оказалось бы ложным. В конце концов, общеизвестно, что присущая людям способность к интуитивному пониманию позволяет им порой делать заключение о возможности завершения того или иного вычисления, однако я, судя по всему, здесь этой способностью пренебрег. Не слишком ли много искусственных ограничений?
Вовсе нет. Предполагается, что наше рассуждение применимо лишь к тому пониманию, которое позволяет заключить, что вычисление не завершается, но никак не к тому пониманию, благодаря которому мы приходим к противоположному выводу. Гипотетический алгоритм A вовсе не обязан достигать «успешного завершения», обнаружив что то или иное вычисление завершается. Не в этом заключается его смысл.
Если вас такое положение дел не устраивает, попробуйте представить алгоритм A следующим образом: пусть A объединяет в себе оба вида понимания, но в том случае, когда выясняется, что вычисление C>q(n) действительно завершается, алгоритм A искусственно зацикливается (т.е. выполняет какую-то операцию снова и снова, бесконечное количество раз). Разумеется, на самом деле математики работают иначе, однако дело не в этом. Наше рассуждение построено как reductio ad absurdum[12], т.е. начав с допущения, что для установления математической истины используются заведомо обоснованные алгоритмы, мы в итоге приходим к противоположному выводу. Такое доказательство не требует, чтобы гипотетическим алгоритмом непременно оказался какой-то конкретный алгоритм A, мы вполне можем заменить его на другой алгоритм, построенный на основе A, — как, например, в только что упомянутом случае.
Этот комментарий применим и к любому другому возражению вида: «А что если алгоритм