Файл: Пеноуз Роджер. Тени разума. В поисках науки о сознании.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 29.06.2024

Просмотров: 746

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Роджер пенроуз

1.2. Спасут ли роботы этот безумный мир?

1.3. Вычисление и сознательное мышление

1.4. Физикализм и ментализм

1.5. Вычисление: нисходящие и восходящие процедуры

1.6. Противоречит ли точка зрения в тезису Черча—Тьюринга?

1.7. Хаос

1.8. Аналоговые вычисления

1.9. Невычислительные процессы

1.10. Завтрашний день

1.11. Обладают ли компьютеры правами и несут ли ответственность?

1.12. «Осознание», «понимание», «сознание», «интеллект»

1.13. Доказательство Джона Серла

1.14. Некоторые проблемы вычислительной модели

1.15. Свидетельствуют ли ограниченные возможности сегодняшнего ии в пользу ?

1.16. Доказательство на основании теоремы Гёделя

1.17. Платонизм или мистицизм?

1.18. Почему именно математическое понимание?

1.19. Какое отношение имеет теорема Гёделя к «бытовым» действиям?

1.20. Мысленная визуализация и виртуальная реальность

1.21. Является ли невычислимым математическое воображение?

Примечания

2 Геделевское доказательство

2.1. Теорема Гёделя и машины Тьюринга

2.2. Вычисления

2.3. Незавершающиеся вычисления

2.4. Как убедиться в невозможности завершить вычисление?

2.5. Семейства вычислений; следствие Гёделя — Тьюринга

2.6. Возможные формальные возражения против

2.7. Некоторые более глубокие математические соображения

2.8. Условие -непротиворечивости

2.9. Формальные системы и алгоритмическое доказательство

2.10. Возможные формальные возражения против (продолжение)

Примечания

Приложение а: геделизирующая машина тьюринга в явном виде

3 О невычислимости в математическом мышлении

3.1. Гёдель и Тьюринг

О психофизи(ологи)ческой проблеме

Р.Пенроуз. Тени ума: в поисках потерянной науки о сознании. Penrose r. Shadows of the mind: a search for the missing science of consciousness. - Oxford, 1994. - XVI, 457 p.

A0(q,n), Ai(q,n), A2(q,n), A3(q, n), ..., каждый элемент которого предположительно является обосно­ванной процедурой для установления незавершаемости вычисле­ния Cq (n), при этом мы будем считать, что мощность этих проце­дур возрастает по мере увеличения t. Предполагается также, что способ, посредством которого увеличивается мощность этих про­цедур, является алгоритмическим. Возможно, этот «алгоритми­ческий способ» зависит некоторым образом от «опыта» выпол­нения предыдущих алгоритмов At (q, n), однако в данном случае мы предполагаем, что этот «опыт» порождается также алгорит­мически (в противном случае мы снова приходим к согласию с ), т.е. мы имеем полное право включить «опыт» (или способы его порождения) в перечень операций, составляющих следующий ал­горитм (т.е., собственно, в At (q. n)). Действуя таким образом, мы опять-таки получаем единичный алгоритм (At (q, n)), кото­рый зависит алгоритмически от всех трех параметров: t, q, п. На его основе можно построить алгоритм Л*, столь же мощный, что и весь ряд At (q, п), однако зависящий только от двух натуральных чисел: q и п. Для получения такого A* (q, n) нам, как и преж­де, необходимо лишь выполнить первые десять шагов алгорит­ма ао (q, n) и запомнить результат; затем первые десять шагов алгоритма А1 (q, n) и вторые десять шагов алгоритма ао (q, n), запоминая получаемые результаты; затем первые десять шагов алгоритма A2 (q, n), вторые десять шагов алгоритма А1(q, n), третьи десять шагов алгоритма A0 (q, n) и т. д., "запоминая по­лучаемые на каждом шаге вычисления результаты. В конечном итоге, сразу после завершения любого из составляющих алго­ритм вычислений завершается выполнение и всей процедуры в целом. Замена процедуры А процедурой А* никак не влияет на ход рассуждений, посредством которых мы пришли к выводу .

Q3. Не был ли я излишне категоричен, утверждая, что в тех случаях, когда уже можно определенно утверждать, что данное вычисление Сq(п) и вправду завершается, алгоритм А все равно должен вы­полняться бесконечно? Допусти мы, что А в таких случаях также завершается, все наше рассужде­ние оказалось бы ложным. В конце концов, обще­известно, что присущая людям способность к ин­туитивному пониманию позволяет им порой делать заключение о возможности завершения того или иного вычисления, однако я, судя по всему, здесь этой способностью пренебрег. Не слишком ли мно­го искусственных ограничений?


Вовсе нет. Предполагается, что наше рассуждение применимо лишь к тому пониманию, которое позволяет заключить, что вычисление не завершается, но никак не к тому пониманию, бла­годаря которому мы приходим к противоположному выводу. Ги­потетический алгоритм А вовсе не обязан достигать «успешного завершения», обнаружив что то или иное вычисление заверша­ется. Не в этом заключается его смысл.

Если вас такое положение дел не устраивает, попробуйте представить алгоритм А следующим образом: пусть А объединя­ет в себе оба вида понимания, но в том случае, когда выясняется, что вычисление Cq(n) действительно завершается, алгоритм А искусственно зацикливается (т. е. выполняет какую-то операцию снова и снова, бесконечное количество раз). Разумеется, на са­мом деле математики работают иначе, однако дело не в этом. Наше рассуждение построено как redactio ad absurdum, т.е. начав с допущения, что для установления математической исти­ны используются заведомо обоснованные алгоритмы, мы в итоге приходим к противоположному выводу. Такое доказательство не требует, чтобы гипотетическим алгоритмом непременно оказался какой-то конкретный алгоритм А, мы вполне можем заменить его на другой алгоритм, построенный на основе А, — как, например, в только что упомянутом случае.

Этот комментарий применим и к любому другому возраже­нию вида: «А что если алгоритм А завершится по какой-либо совершенно посторонней причине и не даст нам доказательства того, что вычисление Cq (n) не завершается?». Если нам вдруг придется иметь дело с алгоритмом «Л», который ведет себя по­добным образом, то мы просто применим представленное в §2.5 обоснование к немного другому А — а именно, к такому, который зацикливается всякий раз, когда исходный «Л» завершается по любой из упомянутых посторонних причин.

Q4. Судя по всему, каждое вычисление Cq в пред­ложенной мною последовательности С0, С1, С2,… является вполне определенным, тогда как при лю­бом прямом переборе (численном или алфавит­ном) компьютерных программ ситуация, конечно же, была бы иной?

В самом деле, было бы весьма затруднительно однознач­но гарантировать, что каждому натуральному числу q в нашей последовательности действительно соответствует некое рабочее вычисление Cq. Например, описанная в НРК последователь­ность машин Тьюринга Тд этому условию, конечно же, не удовле­творяет; см. НРК, с. 54. При определенных значениях q маши­ну Тьюринга Tq можно назвать «фиктивной» по одной из четырех причин: ее работа никогда не завершается; она оказывается «некорректно определенной», поскольку представление числа n в виде двоичной последовательности содержит слишком много (пять или более) единиц подряд и, как следствие, не имеет интер­претации в данной схеме; она получает команду, которая вводит ее в нигде не описанное внутреннее состояние; или же по за­вершении работы она оставляет ленту пустой, т. е. не дает ника­кого численно интерпретируемого результата. (См. также При­ложение А.) Для приведенного в §2.5 доказательства Гёделя-Тьюринга вполне достаточно объединить все эти причины в одну категорию под названием «вычисление не завершается». В част­ности, когда я говорю, что вычислительная процедура А «завер­шается» (см. также примечание на с. 122), я подразумеваю, что она «завершается» как раз в вышеупомянутом смысле (а пото­му не содержит неинтерпретируемых последовательностей и не оставляет ленту пустой), — иными словами, «завершиться» мо­жет только действительно корректно определенное рабочее вы­числение. Аналогично, фраза «вычисление Cq (n) завершается» означает, что данное вычисление корректно завершается именно в этом смысле. При такой интерпретации соображение Q4 не имеет совершенно никакого отношения к представленному мною доказательству.


Q5. Не является ли мое рассуждение лишь демонстрацией неприменимости некоей частной алго­ритмической процедуры (А) к выполнению вычис­ления Cq (n)? И каким образом оно показывает, что я справлюсь с задачей лучше, чем какая бы то ни было процедура A?

Оно и в самом деле вполне однозначно показывает, что мы справляемся с такого рода задачами гораздо лучше любого ал­горитма. Поэтому, собственно, я и воспользовался в своем рас­суждении приемом reductio ad absurdum. Пожалуй, в данном случае уместно будет привести аналогию. Читателям, вероятно, известно о евклидовом доказательстве невозможности отыскать наибольшее простое число, также основанном на reductio ad absurdum. Доказательство Евклида выглядит следующим обра­зом. Допустим, напротив, что такое наибольшее простое число нам известно; назовем его р. Теперь рассмотрим число N, кото­рое представляет собой сумму произведения всех простых чисел вплоть до р и единицы:

N = 2*3*5* ... * р + 1.

Число N, безусловно, больше р, однако оно не делится ни на одно из простых чисел 2, 3, 5, ..., р (поскольку при делении получаем единицу в остатке), откуда следует, что N либо и есть искомое наибольшее простое число, либо оно является составным, и тогда его можно разделить на простое число, большее р. И в том, и в другом случае мы находим простое число, большее р, что проти­воречит исходному допущению, заключавшемуся в том, что р есть наибольшее простое число. Следовательно, наибольшее простое число отыскать нельзя.

Такое рассуждение, основываясь на reductio ad absurdum, не просто показывает, что требуемому условию не соответству­ет некое частное простое число р, поскольку можно отыскать число больше него; оно показывает, что наибольшего простого числа просто не может существовать в природе. Аналогично, представленное выше доказательство Гёделя—Тьюринга не про­сто показывает, что нам не подходит тот или иной частный алго­ритм А, оно демонстрирует, что в природе не существует алго­ритма (познаваемо обоснованного), который был бы эквивален­тен способности человека к интуитивному пониманию, которую мы применяем для установления факта незавершаемости тех или иных вычислений.

Q6. Можно составить программу, выполняя кото­рую компьютер в точности повторит все этапы пред­ставленного мною доказательства. Не означает ли это, что компьютер оказывается в состоянии само­стоятельно прийти к любому заключению, к какому бы ни пришел я сам?


Отыскание конкретного вычисления Ck (k) при заданном алгоритме А, безусловно, представляет собой вычислительный процесс. Более того, это можно достаточно явно показать. Означает ли это, что предположительно неалгоритмическая математи­ческая интуиция — интуиция, благодаря которой мы определяем, что вычисление Ck (k) никогда не завершается — на деле явля­ется все же алгоритмической?

Думаю, данное суждение следует рассмотреть более подроб­но, поскольку оно представляет собой одно из наиболее рас­пространенных недоразумений, связанных с гёделевским доказа­тельством. Следует особо уяснить, что оно не сводит на нет ничего из сказанного ранее. Хотя процедуру отыскания вычис­ления Ck (k) с помощью алгоритма А можно представить в виде вычисления, это вычисление не входит в перечень процедур, со­держащихся в Л. И не может входить, поскольку самостоятель­но алгоритм А не способен установить истинность Ck (k), тогда как новое вычисление (вкупе с А], судя по всему, вполне на это способно. Таким образом, несмотря на то, что с помощью нового вычисления действительно можно отыскать вычисление Ck (k), членом клуба «официальных установителей истины» оно не яв­ляется.

Изложим все это несколько иначе. Вообразите себе управ­ляемого компьютером робота, способного устанавливать мате­матические истины с помощью алгоритмических процедур, со­держащихся в А. Для большей наглядности я буду пользоваться антропоморфной терминологией и говорить, что робот «знает» те математические истины (в данном случае — связанные с установ­лением факта незавершаемости вычислений), которые он может вывести, применяя алгоритм А. Однако если наш робот «знает» лишь А, то он никак не сможет «узнать», что вычисление Ck (k) не завершается, даже если процедура отыскания Ck (k) с по­мощью А является целиком и полностью алгоритмической. Мы, разумеется, могли бы сообщить роботу о том, что вычисле­ние Ck (k} и в самом деле не завершается (воспользовавшись для установления этого факта собственными пониманием и ин­туицией), однако, если робот примет это утверждение на «веру», ему придется изменить свои собственные правила, присоединив полученную новую истину к тем, что он уже «знает». Мы можем пойти еще дальше и каким-либо способом сообщить нашему ро­боту о том, что для получения новых истин на основании старых ему, помимо прочего, необходимо «знать» и общую вычислитель­ную процедуру отыскания Ck (k) посредством алгоритма А. К запасу «знаний» робота можно добавить все, что является вполне определенным и вычислительным по своей природе. Однако в ре­зультате у нас появляется новый алгоритм «Л», и доказательство Гёделя следует применять уже к нему, а не к старому А. Иначе говоря, везде вместо старого А нам следовало бы использовать новый «Л», поскольку менять алгоритм «Л» посреди доказатель­ства есть не что иное, как жульничество. Таким образом, как мы видим, изъян возражения Q6 очень похож на рассмотренный выше изъян Q5. В нашем reductio ad absurdum мы полагаем, что алгоритм А (под которым понимается некая познаваемая и обоснованная процедура для установления факта незавершаемости вычислений) в действительности представляет собой всю совокупность известных математикам подобных процедур, из чего и следует противоречие. Попытку введения еще одной вы­числительной процедуры для установления истины — процеду­ры, не содержащейся в А, после того как мы договорились, что А представляет собой всю их совокупность, я расцениваю как жульничество.


Беда нашего злосчастного робота в том, что, не обладая ка­ким бы то ни было пониманием гёделевской процедуры, он не располагает ни одним надежным и независимым способом уста­новления истины — истину ему сообщаем мы. (Эта проблема, вообще говоря, не имеет никакого отношения к вычислитель­ным аспектам доказательства Гёделя.) Для того чтобы достичь чего-то большего, ему, как и всем нам, необходимо понимание смысла операций, которые ему велено выполнять. Если тако­го понимания нет, то он вполне может «знать» (ошибочно), что вычисление Ck (k} завершается, а вовсе не наоборот. Заклю­чение (ошибочное) «вычисление Ck (&) завершается» выводится точно так же алгоритмически, как и заключение (правильное) «вычисление Ck (k) не завершается». Таким образом, дело во­все не в алгоритмическом характере этих операций, а в том, что для различения между алгоритмами, приводящими к истинным заключениям, и теми, что приводят к заключениям ложным, наш робот нуждается в способности выносить достоверные сужде­ния об истинности. Далее, на данной стадии рассуждения, мы все еще допускаем возможность того, что процесс «понимания» представляет собой некую разновидность алгоритмической дея­тельности, которая не содержится ни в одной из точно заданных и «заведомо» обоснованных процедур типа А. Например, пони­мание может осуществляться посредством выполнения какого-то необоснованного или непознаваемого алгоритма. В дальнейшем (см. главу 3) я попробую убедить читателя в том, что в действи­тельности понимание вообще не является алгоритмической дея­тельностью. На настоящий же момент нас интересуют всего лишь строгие следствия из доказательства Гёделя—Тьюринга, а на них возможность получения вычисления С^ (k) из процедуры А вы­числительным путем никоим образом не влияет.

Q7. Общая совокупность результатов, полученных всеми когда-либо жившими математиками,  плюс совокупность результатов, которые будут получены всеми математиками за последующую, скажем, тысячу лет, — имеет конечную величину и может уместиться в банках памяти соответствующего ком­пьютера. Такой компьютер, естественно, способен без особого труда воспроизвести все эти результа­ты, и, тем самым, повести себя (внешне) как мате­матик-человек — что бы ни утверждало по этому поводу гёделевское доказательство.

Несмотря на кажущуюся логичность этого утверждения, здесь упущен из виду один очень существенный момент, а именно: способ, посредством которого мы (или компьютеры) определяем, какие математические утверждения истинны, а какие — ложны. (Во всяком случае, на простое хранение математических утвер­ждений способны и системы, гораздо менее сложные, нежели универсальный компьютер — например, фотоаппараты.) Прин­цип использования компьютера в Q7 совершенно не учитывает критического вопроса о наличии у этого самого компьютера спо­собности суждения об истинности. С равным успехом мож­но вообразить и компьютеры, в памяти которых не содержится ничего, кроме перечня абсолютно ложных математических «тео­рем», либо случайным образом перемешанных истинных и лож­ных утверждений. Откуда мы узнаем, какому компьютеру можно доверять? Я отнюдь не утверждаю, что эффективное моделиро­вание результатов сознательной интеллектуальной деятельности человека (в данном случае, в области математики) абсолютно невозможно, поскольку по одной лишь чистой случайности ком­пьютер может «умудриться» сделать все правильно, пусть и не обладая каким бы то ни было пониманием. Однако шансы на это до абсурдного малы, в то время как те вопросы, на которые мы здесь пытаемся найти ответ (например, каким таким образом мы определяем, что вот это математическое утверждение истинно, а вот это — ложно?), в возражении Q7 и вовсе не затрагиваются. С другой стороны, Q7 все же напоминает об одном более существенном соображении. Имеет ли непосредственное отно­шение к нашему исследованию обсуждение бесконечных струк­тур (всех натуральных чисел или всех вычислений), если учесть, что совокупность всех результатов, полученных на тот или иной момент времени всеми людьми и компьютерами, имеет конечную величину? В следующем комментарии мы рассмотрим этот без­условно важный вопрос отдельно.