Файл: Пеноуз Роджер. Тени разума. В поисках науки о сознании.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 29.06.2024
Просмотров: 717
Скачиваний: 0
СОДЕРЖАНИЕ
1.2. Спасут ли роботы этот безумный мир?
1.3. Вычисление и сознательное мышление
1.5. Вычисление: нисходящие и восходящие процедуры
1.6. Противоречит ли точка зрения в тезису Черча—Тьюринга?
1.9. Невычислительные процессы
1.11. Обладают ли компьютеры правами и несут ли ответственность?
1.12. «Осознание», «понимание», «сознание», «интеллект»
1.13. Доказательство Джона Серла
1.14. Некоторые проблемы вычислительной модели
1.15. Свидетельствуют ли ограниченные возможности сегодняшнего ии в пользу ?
1.16. Доказательство на основании теоремы Гёделя
1.17. Платонизм или мистицизм?
1.18. Почему именно математическое понимание?
1.19. Какое отношение имеет теорема Гёделя к «бытовым» действиям?
1.20. Мысленная визуализация и виртуальная реальность
1.21. Является ли невычислимым математическое воображение?
2.1. Теорема Гёделя и машины Тьюринга
2.3. Незавершающиеся вычисления
2.4. Как убедиться в невозможности завершить вычисление?
2.5. Семейства вычислений; следствие Гёделя — Тьюринга
2.6. Возможные формальные возражения против
2.7. Некоторые более глубокие математические соображения
2.8. Условие -непротиворечивости
2.9. Формальные системы и алгоритмическое доказательство
2.10. Возможные формальные возражения против (продолжение)
Приложение а: геделизирующая машина тьюринга в явном виде
3 О невычислимости в математическом мышлении
Представленное выше рассуждение о суммировании последовательных шестиугольных чисел можно при желании заменить более формальным математическим доказательством. В основу такого формального доказательства можно положить принцип математической индукции, т.е. процедуру установления истинности утверждения в отношении всех натуральных чисел на основании одного-единственного вычисления. По существу, этот принцип позволяет заключить, что некое положение Р (n), зависящее от конкретного натурального числа n (например, такое: «сумма первых n шестиугольных чисел равна n3»), справедливо для всех n, если мы можем показать, во-первых, что оно справедливо для n = 0 (или, в нашем случае, для n = 1), и, во-вторых, что из истинности Р (n) следует истинность и Р(n + 1). Думаю, нет необходимости описывать здесь в деталях, как можно с помощью математической индукции доказать невозможность завершить вычисление (Е); тем же, кого данная тема заинтересовала, рекомендую попытаться в качестве упражнения выполнить такое доказательство самостоятельно.
Всегда ли для установления факта действительной незавершаемости вычисления достаточно применить некие четко определенные правила — такие, например, как принцип математической индукции? Как ни странно, нет. Это утверждение, как мы вскоре увидим, является одним из следствий теоремы Гёделя, и для нас крайне важно попытаться его правильно понять. Причем недостаточной оказывается не только математическая индукция. Недостаточным будет какой угодно набор правил, если под «набором правил» подразумевать некую систему формализованных процедур, в рамках которой возможно исключительно вычислительным путем проверить корректность применения этих правил в каждом конкретном случае. Такой вывод может показаться чересчур пессимистичным, ибо он, по-видимому, означает, что, несмотря на то, что вычисления, которые нельзя завершить, существуют, сам факт их незавершаемости строго математически установить невозможно. Однако смысл упомянутого следствия из теоремы Гёделя заключается вовсе не в этом. На самом деле, все не так уж и плохо: способность понимать и делать выводы, присущая математикам — как, впрочем, и всем остальным людям, наделенным логическим мышлением и воображением, — просто-непросто не поддается формализации в виде того или иного набора правил. Иногда правила могут стать частичной заменой пониманию, однако в полной мере такая замена не представляется возможной.
2.5. Семейства вычислений; следствие Гёделя — Тьюринга
Для того, чтобы понять, каким образом из теоремы Гёделя (в моей упрощенной формулировке, навеянной отчасти идеями Тьюринга) следует все вышесказанное, нам необходимо будет сделать небольшое обобщение для типов утверждений, относящихся к рассмотренным в предыдущем разделе вычислениям. Вместо того чтобы решать проблему завершаемое™ для каждого отдельного вычисления ((А), (В), (С), (D) или (Е)), нам следует рассмотреть некоторое общее вычисление, которое зависит от натурального числа n (либо как-то воздействует на него). Таким образом, обозначив такое вычисление через C(n), мы можем рассматривать его как целое семейство вычислений, где для каждого натурального числа (0, 1, 2, 3, 4,...) выполняется отдельное вычисление (соответственно, (C(0), С(1), С(2), С(3), С(4), ...), а сам принцип, в соответствии с которым вычисление зависит от n, является целиком и полностью вычислительным.
В терминах машин Тьюринга это всего лишь означает, что C(n) есть действие, производимое некоей машиной Тьюринга над числом п. Иными словами, число n наносится на ленту и подается на вход машины, после чего машина самостоятельно выполняет вычисления. Если вас почему-либо не устраивает концепция «машины Тьюринга», вообразите себе самый обыкновенный универсальный компьютер и считайте n «данными», необходимыми для работы какой-нибудь программы. Нас в данном случае интересует лишь одно: при любом ли значении n может завершиться работа такого компьютера.
Для того чтобы пояснить, что именно понимается под вычислением, зависящим от натурального числа п, рассмотрим два примера.
(F) Найти число, не являющееся суммой квадратов n чисел,
и
(G) Найти нечетное число, являющееся суммой n четных чисел.
Припомнив, о чем говорилось выше, мы без особого труда убедимся, что вычисление (F) завершается только при n = 0, 1, 2 и 3 (давая в результате, соответственно, 1, 2, 3 и 7), тогда как вычисление (G) вообще не завершается ни при каком значении n. Вздумай мы действительно доказать, что вычисление (F) не завершается при n, равном или большем 4, нам понадобилась бы более или менее серьезная математическая подготовка (по крайней мере, знакомство с доказательством Лагранжа); с другой стороны, тот факт, что ни при каком n не завершается вычисление (G), вполне очевиден. Какими же процедурами располагают математики для установления незавершаемой природы таких вычислений в общем случае? Можно ли сами эти процедуры представить в вычислительной форме?
Предположим, что у нас имеется некая вычислительная процедура А, которая по своем завершении дает нам исчерпывающее доказательство того, что вычисление С(n) действительно никогда не заканчивается. Ниже мы попробуем вообразить, что А включает в себя все известные математикам процедуры, посредством которых можно убедительно доказать, что то или иное вычисление никогда не завершается. Соответственно, если в каком-то конкретном случае завершается процедура А, то мы получаем, в рамках доступного человеку знания, доказательство того, что рассматриваемое конкретное вычисление никогда не заканчивается. Большая часть последующих рассуждений не потребует участия процедуры А именно в такой роли, так как они посвящены, в основном, математическим умопостроениям. Однако для получения окончательного заключения У нам придется таки придать процедуре А соответствующий статус.
Я, разумеется, не требую, чтобы посредством процедуры А всегда можно было однозначно установить, что вычисление С(n) нельзя завершить (в случае, если это действительно так); однако я настаиваю на том, что неверных ответов А не дает, т. е. если мы с ее помощью пришли к выводу, что вычисление С(n) не завершается, значит, так оно и есть. Процедуру А, которая и в самом деле всегда дает верный ответ, мы будем называть обоснованной. Следует отметить, что если процедура А оказывается в действительности необоснованной, то этот факт, в принципе, можно установить с помощью прямого вычисления — иными словами, необоснованную процедуру А можно опровергнуть вычислительными методами. Так, если А ошибочно утверждает, что вычисление С(n) нельзя завершить, тогда как в действительности это не так, то выполнение самого вычисления С(n) в конечном счете приведет к опровержению А. (Возможность практического выполнения такого вычисления представляет собой отдельный вопрос, его мы рассмотрим в ответе на возражение Q8.)
Для того чтобы процедуру А можно было применять к вычислениям в общем случае, нам потребуется какой-нибудь способ маркировки различных вычислений С(n), допускаемый А. Все возможные вычисления С можно, вообще говоря, представить в виде простой последовательности
, ,,,,,…,
т. е. q-е вычисление при этом получит обозначение Сq. В случае применения такого вычисления к конкретному числу п будем записывать
С0 (n), Ci (п), С2 (п), С3 (п), С4 (п), С5 (п), .... ,
Можно представить, что эта последовательность задается, скажем, как некий пронумерованный ряд компьютерных программ. (Для большей ясности мы могли бы, при желании, рассматривать такую последовательность как ряд пронумерованных машин Тьюринга, описанных в НРК; в этом случае вычисление Cq(n) представляет собой процедуру, выполняемую q-й машиной Тьюринга Тq над числом n.) Здесь важно учитывать следующий технический момент: рассматриваемая последовательность является вычислимой — иными словами, существует одно-единственное вычисление С., которое, будучи выполнено над числом q, дает в результате Сq, или, если точнее, выполнение вычисления С, над парой чисел q, n (именно в таком порядке) дает в результате Cq (n).
Можно полагать, что процедура А представляет собой некое особое вычисление, выполняя которое над парой чисел q, n, можно однозначно установить, что вычисление Cq (n), в конечном итоге, никогда не завершится. Таким образом, когда завершается вычисление А, мы имеем достаточное доказательство того, что вычисление Cq (n) завершить невозможно. Хотя, как уже говорилось, мы и попытаемся вскоре представить себе такую процедуру А, которая формализует все известные современной математике процедуры, способные достоверно установить невозможность завершения вычисления, нет никакой необходимости придавать А такой смысл прямо сейчас. Пока же процедурой А мы будем называть любой обоснованный набор вычислительных правил, с помощью которого можно установить, что то или иное вычисление Cq (n) никогда не завершается. Поскольку выполняемое процедурой А вычисление зависит от двух чисел q и п, его можно обозначить как A (q, n) и записать следующее утверждение:
(Н) Если завершается A (q, n), то Cq (n) не завершается.
Рассмотрим частный случай утверждения (Н), положив q равным п. Такой шаг может показаться странным, однако он вполне допустим. (Он представляет собой первый этап мощного «диагонального доказательства» — процедуры, открытой в высшей степени оригинальным и влиятельным датско-русско-немецким математиком девятнадцатого века Георгом Кантором; эта процедура лежит в основе рассуждений и Гёделя, и Тьюринга.) При q, равном п, наше утверждение принимает следующий вид: