Е.М. Иванов

К проблеме "вычислимости" функции сознания

 

Оглавление:

1. Геделевский аргумент.

2. Критика геделевского аргумента.

3. "Метафизические" аспекты проблемы вычислимости функции сознания.

 

1. Геделевский аргумент.

Речь в данной работе пойдет о так называемом "геделевском аргументе", который используется как аргумент против возможности создания искусственного интеллекта. Суть аргумента заключается в следующем: полагают, что из теоремы К. Геделя о неполноте формальных систем вытекает принципиальное различие между искусственным ("машинным") интеллектом и человеческим умом, а именно, полагают, что теорема Геделя указывает на некоторое принципиальное преимущество человеческого ума перед "умом" машинным - т.е. человек обладает способностью решать проблемы, принципиально неразрешимые для любых искусственных "интеллектуальных" систем (так называемые "алгоритмически неразрешимые" проблемы), причем ограниченность "искусственного ума" проистекает из его "формального" характера.

Заметим, что "геделевский аргумент"в настоящее время поддерживается рядом известных авторов (Дж. Лукас (1), Р. Пенроуз (2,3 ) и др.) и вызвал обширную научную дискуссию (см. (4 - 11)). Все это заставляет отнестись к данному аргументу серьезно и внимательно.

Прежде чем приступить к анализу собственно "геделевского аргумента", предварительно рассмотрим формулировку, способ доказательства и смысл самой теоремы К. Геделя о неполноте формальных систем. Формулировка теоремы такова: для достаточно выразительно "богатых" формальных систем (языков) - достаточно "богатых" для того, чтобы с их помощью можно было сформулировать любые утверждения формализованной арифметики Пеано - невозможно задать дедуктику (формализованную систему доказательств), которая одновременно обладала бы свойствами полноты (т.е. доказывала бы все содержательно истинные утверждения, которые можно сформулировать с помощью данного языка) и непротиворечивости (т.е. не доказывала бы некоторое суждение вместе с его отрицанием). Иными словами, теорема Геделя утверждает, что в такого рода "выразительных" формальных языках непременно найдутся истинные, но недоказуемые утверждения - причем этот результат не зависит от конкретного выбора дедуктики. Это означает, что множество "содержательных" истин всегда превосходит по объему множество истин, доказуемых с помощью любой сколь угодно сложной формализованной системы доказательств.

Для того, чтобы понять смысл данной теоремы, необходимо прежде всего уточнить смысл понятий, входящих в ее формулировку. Прежде всего необходимо уточнить понятие "формальной системы" - поскольку только к таким системам и имеет отношение рассматриваемая теорема. В самом общем плане формальная система - это система подчиненная неким жестким, однозначно заданным правилам. Соответственно, "формализацию" можно определить как процедуру, цель которой - дать предельно четкое, однозначное и исчерпывающее описание объекта, подлежащего формализации.

Для достижения этой цели, прежде всего, используется символическая форма записи тех правил, которым подчинена данная система. Таким образом, полностью формализованная научная теория должна представлять собой некоторую совокупность формул, записанных без всяких пояснительных слов или предложений, написанных на "естественном", неформализованном языке. Если при описании формальной системы и используются какие-то слова естественного языка, то лишь с дидактической целью, для пояснения - но не как элементы самой формальной теории.

Использование символической записи предполагает фиксацию конечного набора символов, которые только и могут быть использованы для формулирования утверждений данной формальной системы (алфавит языка). Помимо набора символов задается также совокупность правил, указывающих как следует оперировать с данными символами (причем правила эти также записываются в символической форме).

Главное требование к формализму - символы, используемые в данной формальной системе, должны принимать лишь те значения, которые им приписываются в явном виде в рамках заданного формализма. Эти фиксированные значения задаются через посредство правил, указывающих способ действия с тем или иным символам, а также через описание взаимных отношений между заданными символами.

Иногда говорят, что формализация полностью изгоняет всякий смысл. Говорят, что формальная система - это система оперирующая символами, лишенными какой-либо семантической нагрузки. Т.е. семантика полностью заменяется синтаксисом. Это не совсем так.

Здесь нужно уточнить, что такое "смысл". Смысл (слова, предмета и т.п.) возникает в том случае, когда осмысляемое ставится в соответствие с чем-то внешним, находящимся за пределами осмысляемого предмета (т.е. с "контекстом"). Отсюда вытекает определение смысла как "трансцендирования". Смысл всегда есть выход за пределы "актуально данного", "наличного". Когда говорят, что в полностью формализованной системы смысл полностью отсутствует, то имеют в виду, по существу, что в рамках заданного формализма запрещается всякое трансцендирование т.е. выход за пределы данного формализма. То есть для определения и использования символов формальной системы можно использовать только ту информацию, которая в явной форме содержится "внутри" данной формальной системы - и никакую другую. Иными словами, формальная система должна быть "герметична", замкнута в себе. Все, что необходимо для работы с ней, для понимания ее выражений, - содержится в ней самой.

Запрещая трансцендирование, мы лишаем формальную систему смысла как целое. Однако отдельные ее элементы и конструкции сохраняют смысл, который в этом случае определяется через соотнесение с другими элементами или конструкциями - внутри заданной формальной системы. Таким образом, смысл не изгоняется полностью, но ограничивается рамками самой формальной системы и внутри данной формальной системы полностью эксплицируется, развертывается.

Смысл каждого элемента или конструкции - определяется через то "место", которое они занимают внутри данной формальной системы. Это место должно быть задано в явной форме. Ничего не подразумевается. Не допускается никакая недосказанность или неопределенность.

Пока речь шла о формальных системах, понимаемых в самом широком смысле. Это могут быть либо какие-то совершенно произвольные "выдуманные" системы, либо формализованные модели каких-то реальных (материальных) систем - таких объектов, которые допускают исчерпывающее, четкое, однозначное, конечное описание своего способа функционирования (в виде системы правил, которым подчинены действия данной системы).

В этом последнем случае мы можем рассматривать формализацию как "итог" познавательного процесса, или как своего рода "идеал", к которому стремится наше познание. Возможность создания адекватной формализованной модели объекта указывает на то, что мы смогли получить исчерпывающую информацию о данном объекте. Неформализуемость же, напротив, указывает на неполноту наших знаний об объекте.

Далее, нам необходимо уточнить к какого рода формальным системам приложима теорема Геделя. Это так называемые "исчисления" или "дедуктивные системы". По существу, это ничто иное, как формализованные описания тех или иных дедуктивных математических теорий (например, формализованной арифметики, геометрии и т.п.).

Исчисления задаются следующим образом. Прежде всего задается формализованный язык данного исчисления. Для этого нужно определить алфавит и грамматику языка. Алфавит - это набор символов (букв) допустимых в данном языке. Имея алфавит, мы можем составлять слова - любые, сколь угодно длинные последовательности букв заданного алфавита.

Для того, чтобы выделить из множества всевозможных слов интересующие нас ("осмысленные") сочетания букв, вводится грамматика - совокупность правил, позволяющих определить "правильно построенные слова" - выражения. Правила грамматики вводят индуктивно: вначале определяются элементарные выражения, а затем указывается каким образом из них можно построить любые более сложные выражения.

Далее из множества выражений выделяют подмножество формул. Содержательно формулы - это выражения, которые что-то утверждают (например, утверждают нечто о свойствах чисел или геометрических фигур). Формулы также определяются индуктивно.

Далее выделяют множество замкнутых формул или выражений. Это формулы, которые не имеют свободных параметров (т.е. параметров, которые могут принимать различные значения и не связаны кванторами всеобщности или существования). Это такие формулы, которым можно приписать определенное значение "истина" или "ложь". Обозначим множество замкнутых формул данного языка символом Б*.

Как уже говорилось, замкнутые формулы могут быть истинными или ложными (с содержательной точки зрения). Естественно потребовать, чтобы формализованная математическая теория включала в себя только содержательно истинные формулы. Истинность в математике определяется посредством доказательства. Таким образом следующий шаг - введение формализованной системы доказательства - дедуктики. С этой целью задается некоторое конечное множество замкнутых формул, истинность которых принимается без доказательств. Это аксиомы данной дедуктики. Далее задается конечное множество правил вывода, позволяющих из одних истинных формул получать другие истинные формулы.

Всякое формализованное доказательство - это некоторое слово формального языка, представляющее собой цепочку формул, в которой каждая формула - это либо аксиома, либо получена их аксиом посредством применения тех или иных правил вывода. Последняя формула в цепочке - это и есть доказанное утверждение (теорема). Обозначим множество всех доказательств символом D*, а множество всех доказанных формул Иd*. Через И* - обозначим множество содержательно истинных замкнутых формул данного языка.

Теорема Геделя о неполноте формальных систем утверждает, что для любой достаточно выразительно богатой формальной системы выполняется условие И* > Иd* и, следовательно, существует истинная недоказуемая формула. Это верно при условии, что заданная дедуктика непротиворечива, т.е. не позволяет одновременно доказывать некоторое утверждение и его отрицание.

Итак, теорема Геделя утверждает, что для любого достаточно выразительно богатого языка и для любой непротиворечивой дедуктики, заданной на этом языке, множество истинных формул всегда больше множества доказуемых формул. Это весьма нетривиальный вывод.

Задавая дедуктику, прежде всего стремятся получить такую систему доказательств, в которой выводимы все содержательно истинные формулы. Такие дедуктики называются полными. Для некоторых достаточно простых формальных языков (например для языка исчисления предикатов первого порядка) такая полная дедуктика вполне возможна. Но это не возможно для более сложных формальных языков, способных, в частности, выразить все истинные предложения формальной арифметики Пеано. Для такого рода языков невозможно задать полную и непротиворечивую дедуктику.

Каким же образом доказывается теорема Геделя? Мы рассмотрим здесь лишь общую схему доказательства (12).

Идея доказательства заключается в том, чтобы построить пример формулы, которая была бы недоказуема и, вместе с тем, содержательно истинна. Таковой являлась бы формула, содержательный смысл которой заключается в том, что она утверждает свою собственную недоказуемость, т.е. невыводимость из аксиом рассматриваемой формальной системы.

Для того, чтобы построить такую формулу, Гедель изобрел способ нумерации предложений формальной системы, который позволил однозначным образом приписать некоторый номер (натуральное число) каждому элементарному символу, формуле или доказательству данной формальной системы (так называемая "геделевская нумерация").

Используя геделевскую нумерацию можно построить формулу утверждающую недоказуемость формулы с номером n, где n - номер самой этой формулы. По существу, геделевская нумерация задает специфический арифметический метаязык, на котором можно высказывать суждения о свойствах рассматриваемой дедуктивной системы в форме суждений о числах.

Обохзначим через Dem (x, y) - метаязыковое выражение, означающее "последовательность формул с геделевским номером х является доказательством формулы с геделевским номером у". Навесим на х квантор общности и подвергнем Dem (x, y) отрицанию. В результате мы получим одноместный предикат:

(*) {для всех х не верно Dem (x, y)}

который утверждает недоказуемость формулы с геделевским номером у.

Следующий шаг заключается в подстановке в (*) вместо "у" формального (метаязыкового) выражения для номера самой формулы (*).

Пусть формула (*) имеет геделевский номер h. Обозначим через Sb (Wvz(n)) номер результата подстановки в формулу с номером W на место переменной с номером V формулы с номером Z(n). Z(n) - в данном случае - номер формального выражения формулы с геделевским номером n. Пусть, также, m - геделевский номер переменной "у".

Построим формулу

(1) {для всех х не верно Dem (x, Sb (hmz(h))}.

Легко установить, что геделевский номер формулы (1) равен Sb (hmz(h)) так как эта формула получена из формулы с номером h путем подстановки вместо переменной с номером m (т.е. "у") формального выражения числа h. Следовательно, (1) и есть искомая "геделевская формула ("геделевское предложение") G.

Запишем геделевское предложение в виде:

[формула с номером Sb (hmz(h)) недоказуема],

где Sb (hmz(h)) - номер формулы: [формула c номером Sb (hmz(h)) недоказуема].

Если данная формула доказуема, то она истинна, но тогда истинно, что она утверждает, а именно, что она недоказуема. Т.е. если она доказуема, то она недоказуема. Таким образом, мы получили противоречие.

Если же данная формула недоказуема, то она, очевидно, истинна (поскольку утверждает, что она недоказуема и на самом деле недоказуема). Т.е. эта формула является истинной недоказуемой формулой (в рамках заданного формализма).

Ясно, что любое "геделевское предложение" легко можно сделать доказуемым просто включив его в состав аксиом данной формальной системы. Однако в таком случае можно сформулировать новое "геделевское предложение", утверждающее собственную невыводимость уже из нового набора аксиом. Положение не улучшиться даже в том случае, если мы будем вводить дополнительные аксиомы не отдельными единицами, а, скажем, "встроим" в нашу дедуктивную систему некий "генератор геделевских предложений" и, таким образом введем в систему аксиом сразу бесконечное множество "геделевских предложений". И в этом случае можно построить формулу, которая будет утверждать собственную невыводимость из аксиом, включая и любые аксиомы, вводимые посредством "генератора геделевских предложений". Иными словами, система аксиом не будет удовлетворять требованию полноты даже в том случае, если ее пополнить счетно-бесконечным множеством дополнительных аксиом. Как отмечает Л.Г. Антипенко : "... запас арифметических истин оказался столь обширен, что ни из какой даже счетно-бесконечной фиксированной системы аксиом их нельзя формально вывести все" (12 с. 167).

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

Непосредственный смысл теоремы Геделя о неполноте формальных систем можно усмотреть в констатации невозможности формализации содержательного понятия "истины" в математике. Поскольку, однако, истина в математике всегда получается через посредство доказательства, то отсюда, также, можно сделать вывод о невозможности полной и исчерпывающей формализации человеческой способности доказывать математические предложения. Любая формализованная система доказательств отражает в эксплицитной форме лишь некоторую часть этой способности, т.е., по сути, представляет собой лишь формализацию "пост фактум" некоторых содержательных (неформальных) схем математических рассуждений. Но человек всегда способен выдумать новые схемы рассуждений, которые в совокупности не покрываются никаким конкретным формализмом.

Исторически теорема Геделя связана с проблемой "оснований математики", в частности, с Гильбертовой программой обоснования математики через формализацию ее "традиционных" теорий и дальнейшее доказательство непротиворечивости полученного формализма в рамках метаматематики. Из теоремы Геделя о неполноте формальных систем и ряда других ограничительных теорем, вытекает неосуществимость программы Гильберта. Важный результат, также полученный К. Геделем, заключается в том, что оказывается невозможным доказать непротиворечивость формальной системы, используя для доказательства средства, формализуемые в рамках рассматриваемого формального языка. Для подобного рода доказательств необходимо использовать формальный язык более высокого уровня (обладающий большими выразительными возможностями). Эти результаты, в частности, означают, что математика не может быть раз и навсегда застрахована от возможности возникновения противоречий.

Нас, однако, интересует несколько иное применение теоремы Геделя, а именно использование ее в качестве аргумента против возможности создания искусственного интеллекта.

Если смысл теоремы Геделя сводится к невозможности формализации содержательного понятия истины, то уже отсюда следует невозможность создания машины способной различать истину и ложь столь же эффективно, как это делает человек. Преимущество человека перед машиной можно усмотреть в том, что человек способен в любых случаях распознавать истинность "геделевских предложений" (опираясь, например, на ту схему рассуждений, которую мы использовали на последнем этапе доказательства теоремы Геделя), а машина делать это не способна.

Здесь предполагается отождествление машины и формальной системы. Действительно, условием передачи каких-либо функций машине является формализация, т.е. четкое, полное, однозначное, независимое от контекста описание способа реализации данной функции. Невозможно воплотить в машине нечто такое, что мы сами недостаточно ясно представляем себе, нечто неоднозначное, интуитивное, зависимое от контекста. Таким образом, "машинизация" и "формализация" - тесным образом взаимосвязаны. (Отсюда, однако, не следует, что всякая машина может рассматриваться как "материальный" аналог формальной системы. Таковой, в частности, не является машина, в конструкцию которой включен "генератор случайных чисел", т.е. машина, способная в определенных случаях действовать случайным образом).

Геделевский аргумент против искусственного интеллекта часто формулируют в несколько иной форме - говорят об "алгоритмической невычислимости" функции сознания. (В такой форме, например, данный аргумент представлен у Р. Пенроуза (2,3 ) ).

Здесь нужно, прежде всего уточнить смысл, который мы вкладываем в термин "функция сознания". Начиная с Декарта, человеческую "душу", сознание стали рассматривать как особый "функциональный орган", т.е. стали рассматривать сознание с точки зрения тех функций, которые оно выполняет, участвуя, например, в процессах обработки сенсорной информации, а также участвуя в процессах принятия поведенческих решений. При этом, одновременно сознание понимается и как "феноменальная реальность" - как "поток" чувственных и сверхчувственных (смысловые, эмоционально-волевые переживания) феноменов. Вопрос заключается в том, какую конкретно роль играет "феноменальная реальность" в системе психической регуляции человеческого поведения (13).

Для нас нет никакой необходимости выделять функцию "феноменальной реальности" из общего состава психических функций. Поэтому мы далее будем употреблять термины "функция сознания" и "психические функции" - как синонимы. Последние же можно в первом приближении отождествить с "функцией мозга".

Формально психические функции можно представить как некое отображение множества "входов" (конфигураций нервных импульсов, поступающих в мозг от органов чувств) в множество "выходов" (множество различных поведенческих реакций, выражаемых, в конечном итоге, в виде мускульных движений).

С этой точки зрения тезис "алгоритмической невычислимости" функции сознания означает, что невозможно построить алгоритмическое устройство (т.е. устройство, действия которого строго подчинены конечному набору четко и однозначно сформулированных правил), способное достаточно удовлетворительным образом имитировать отношение "вход"- "выход" - характерное для человеческой психики. (Обычно в качестве теста на соответствие искусственного интеллекта уровню человеческого интеллекта рассматривают "игру в имитацию", предложенную А. Тьюрингом. Машинный интеллект считается эквивалентным человеческому, если в заочном диалоге с машиной человек не сможет достоверно установить с кем он общается - с машиной или с человеком).

Далее, нам необходимо уточнить понятия "алгоритм" и "алгоритмически невычислимая функция". В интуитивном смысле алгоритм - это четкая, однозначная инструкция, указывающая, как нужно действовать, чтобы некий исходный продукт преобразовать (переработать) в некий конечный продукт. (Простейший пример алгоритма - кулинарный рецепт).

В математике алгоритм - это четко заданное правило, позволяющее из одной совокупности символов получить другую. (Говорят, что алгоритм перерабатывает одно слово в другое). Важнейшее свойство алгоритмов - массовость, т.е. типичный алгоритм применим, как правило, к бесконечной совокупности слов (составляющих область определения данного алгоритма). Алгоритм есть некая инструкция, предписание, описывающее последовательность действий "вычислительного устройства", реализующего некоторую функцию - отображение множества слов, составляющих область определения алгоритма, в множество других слов, составляющих область значений данного алгоритма. Исполнение предписываемых алгоритмом действий не требует какого-либо творчества, привлечения какой-либо дополнительной информации. Исключаются любые отклонения от инструкции.

Используя математические алгоритмы, оперирующие символическими конструкциями, можно имитировать любые другие (физические) алгоритмы - оперирующие произвольными материальными объектами. Для этого необходимо снабдить "вход" и "выход" алгоритмического устройства приспособлениями, преобразующими, во-первых, "физический" "вход" - в символический и, во-вторых, символический "выход" - в "физический", а также необходимо добиться, чтобы отношение "вход - выход" для данного алгоритмического устройства совпадало с аналогичным отношением имитируемой физической системы.

Тезис об алгоритмической невычислимости функции сознания (психики, мозга) означает, что невозможно построить алгоритмическое устройство функционально эквивалентное человеческому мозгу. (Например, устройство, выдерживающее тест Тьюринга). Иными словами, невозможно написать четкую, однозначную, конечную инструкцию, опираясь на которую можно было бы имитировать, в вышеуказанном смысле, деятельность человеческой психики. Фактически это равносильно принципиальной непознаваемости принципов работы человеческого мозга. Последнее утверждение, как мы увидим ниже, по существу единственный практически значимый вывод, который вытекает из принятия "геделевского аргумента".

Для того, чтобы иметь возможность работать с понятием алгоритма в математике, необходима его формализация. Формализация алгоритма - это, по существу, формализация понятия вычисления функции. Начиная с 1936 года был предложен целый ряд таких формализаций (машина Тьюринга, Машина Поста, нормальные алгорифмы Маркова, рекурсивные функции и др.). Самая известная формализация понятия алгоритма - это так называемая "машина Тьюринга". (Строго говоря, формализацией понятия алгоритма является не сама машина Тьюринга, а ее "функциональная таблица").

Машина Тьюринга - это воображаемое вычислительное устройство (машина) способная с помощью простейших операций перерабатывать некоторые последовательности символов в другие последовательности. Машина Тьюринга состоит из трех частей: 1. Бесконечной в обе стороны ленты, разделенной на ячейки; 2."Головки", которая способна выполнять следующие три операции: считывать символ, записанный в ячейке ленты, записывать символ в ячейку и перемещаться вдоль ленты на одну ячейку влево или вправо; 3.Логического блока - который управляет действиями "головки" в соответствие с некоторой "программой".

Для того, чтобы записать программу для машины Тьюринга, необходимо задать:

1. Внешний алфавит а1..........аn - набор символов, которые могут быть записаны в ячейках ленты.

2. Внутренний алфавит р1...........рm - символы, которые обозначают "внутренние состояния" логического блока.

Программа для машины Тьюринга записывается в виде "функциональной таблицы":

 

р1

р2

р3

.................................pn

а1

.......

 

.......

.........

а2

 

axdypz

   

а3

.

аn

       

В строках таблицы располагаются тройки axdypz, где аx - символ, который машина записывает вместо а2 в ячейку, напротив которой в данный момент расположена головка, dy = d-1, d+1, d0 - предписывают движение ленты относительно головки соответственно влево, вправо или предписывают головке оставаться на месте, рz - состояние, в которое переходит логический блок после осуществления предшествующих двух операций.

Если головка машины Тьюринга в начальный момент установлена напротив ячейки, в которой записан символ а2, а внутреннее состояние логического блока - р2 , то для того, чтобы определить дальнейшие действия машины, необходимо найти тройку axdypz , которая стоит на пересечении строки а2 и столбца р2 и выполнить предписанные этой тройкой операции. Далее процесс повторяется с новыми значениями а и р до тех пор, пока машина не получит команду остановиться (для этого вводится специальный символ остановки). Полученная после остановки машины запись на ленте и является значением вычисленной функции для "входа", изначально записанного на ленте машины Тьюринга. Функциональная таблица составляется таким образом, что отношение между "входными" и "выходными" записями на ленте машины Тьюринга соответствует отношению между аргументами и значениями некоторой функции. В таком случае говорят что машина Тьюринга вычисляет данную функцию.

Несмотря на весьма примитивное устройство, машина Тьюринга, тем не менее, является универсальным вычислительным устройством. Как показывает опыт, с помощью машины Тьюринга можно осуществить любые, сколь угодно сложные алгоритмические вычисления. Если известен какой-либо алгоритм решения той или иной массовой проблемы, то всегда можно составить и программу для машины Тьюринга, которая позволяет решать эту проблему с помощью данной машины. Таким образом, возможностей у машины Тьюринга не меньше, чем у самого современного компьютера. Даже больше - поскольку машина Тьюринга обладает потенциально неограниченной памятью.

Учитывая сказанное, можно сделать вывод, что машина Тьюринга является адекватной формализацией интуитивного понятия "вычислительной процедуры", а ее функциональная таблица, соответственно, адекватной формализацией понятия "алгоритм".

Как уже отмечалось, машина Тьюринга не является единственной возможной формализацией понятий "вычисления" и "алгоритма". Существуют также и другие, столь же адекватные формализации этих понятий (машина Поста, нормальные алгорифмы, рекурсивные функции и др.). Все эти формализации эквивалентны друг другу, т.е. существуют стандартные алгоритмы, позволяющие программу для машины Тьюринга перевести в нормальный алгорифм или программу для машины Поста и т.д., и также возможен и обратный перевод. Любая функция, вычислимая по Тьюрингу, вычислима также посредством машины Поста, нормальных алгорифмов или рекурсивных функций.

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

Тезис Черча нередко рассматривают как важный аргумент в пользу возможности искусственного интеллекта. Действительно, из тезиса Черча вытекает, что все универсальные вычислительные устройства качественно эквивалентны друг другу. Иными словами, одна универсальная вычислительная машина не может быть качественно "умнее" другой - в том смысле, что задачи, принципиально неразрешимые для машины одного типа, будут также неразрешимыми и для машин любых других типов. Различия между универсальными вычислительными машинами могут касаться лишь количественных параметров, а именно, они могут отличаться лишь по скорости вычислений и по объему памяти.

Если мозг - это тоже своего рода "машина", функции которой можно достаточно четко и однозначно описать в виде конечной "инструкции", то никакие особенности его конструкции не позволят ему выйти за пределы круга задач, разрешимых, скажем, с помощью машины Тьюринга. Разница между мозгом и компьютером, с этой точки зрения, может быть лишь только количественной. Мозг пока превосходит компьютер лишь в силу большего быстродействия и большего объема доступной памяти.

Если же хотят подчеркнуть принципиальное различие между человеком и машиной, то говорят о "невычислимости" функции сознания, предполагая, таким образом, существование особого класса "неалгоритмических" систем, способных решать задачи, принципиально неразрешимые для описанных выше универсальных вычислительных алгоритмических систем, подобных машине Тьюринга.

Существование алгоритмически неразрешимых проблем вытекает уже из теоремы Геделя о неполноте формальных систем. Дело в том, что существует тесная связь между алгоритмами и исчислениями. По существу, и алгоритмы и исчисления - это некие совокупности ясных, четких, однозначно заданных, конечных инструкций, описывающих какие-то действия с символическими объектами. Однако, в случае алгоритма эти инструкции имеют характер предписаний, задающих однозначный порядок выполнения операций над символическими объектами, тогда как в случае исчислений - инструкции носят разрешающий характер - они не определят какие конкретно действия нужно исполнить и в каком порядке, но указывают лишь какие действия разрешены - без указания очередности их исполнения.

С этой точки зрения исчисления - это особая разновидность алгоритмов, характеризующихся возможностью "ветвления" вычислительного процесса. Вычисление здесь построено как процесс "переработки" аксиом в теоремы, а правила вывода соответствуют тексту программы алгоритмического устройства. С другой стороны и алгоритмы можно рассматривать как особый, "детерминированный" вид исчислений.

Из теоремы Геделя непосредственно следует алгоритмическая неразрешимость проблемы распознавания истинности любых замкнутых формул достаточно содержательно богатой формальной системы. Однако, существование алгоритмически неразрешимых проблем можно показать и независимо от теоремы Геделя. В теории алгоритмов получено большое число результатов, касающихся неразрешимости тех или иных массовых проблем (см., например, (14 )). Наиболее известные результаты - это алгоритмическая неразрешимость так называемой "десятой проблемы Гильберта" (проблемы отыскания единого метода решения произвольных диофантовых уравнений - алгебраических уравнений, решения которых ищутся в целых числах), а также - одни из наиболее простых результатов теории алгоритмов - алгоритмическая неразрешимость "проблемы остановки".

Для дальнейшего анализа нам было бы весьма полезно рассмотреть каким образом доказываются подобные результаты. Рассмотрим, к примеру, как доказывается алгоритмическая неразрешимость "проблемы остановки". "Проблема остановки" - это проблема поиска универсального алгоритма, позволяющего по записи произвольного алгоритма (например, функциональной таблицы машины Тьюринга), а также по записи произвольного "входа" - установить остановится ли вычислительное устройство, действующее в соответствие с данным алгоритмом и обрабатывающее данный "вход", или же оно будет работать бесконечно долго.

Алгоритм называется применимым к данному "входу" если он рано или поздно остановится и выдаст некоторый результат. В противном случае говорят, что алгоритм неприменим к данному "входу". Теорема об "остановке" утверждает, что проблема применимости произвольного алгоритма к произвольному "входу" алгоритмически неразрешима.

Эта теорема доказывается весьма просто. Первый шаг заключается в том, что вводится понятие самоприменимости алгоритма. Алгоритм называется самоприменимым, если он эффективно перерабатывает текст, соответствующий его собственной записи, в некоторый результат за конечное число шагов. В противном случае - если алгоритм не останавливается, продолжает работать бесконечно долго - то он называется несамоприменимым.

Вначале доказывается следующее утверждение: не существует алгоритма применимого ко всем несамоприменимым алгоритмам и только к ним. Доказательство заключается в указании на противоречивость понятия о таком алгоритме. Зададимся вопросом: является ли данный алгоритм самоприменимым? Если он самоприменим, то, очевидно, он несамоприменим (поскольку применим лишь к несамоприменимым алгоритмам). Если же он несамоприменим, то он самоприменим (поскольку применим ко всем несамоприменимым алгоритмам).

Исходя из этого результата можно также доказать несуществование алгоритма, способного универсальным образом распознавать несамоприменимость произвольных алгоритмов. Действительно, если такой алгоритм существует, то можно построить и алгоритм, применимый ко всем несамоприменимым алгоритмам и только к ним.

Обозначим буквой В алгоритм способный распознавать несамоприменимость. Тогда следующий алгоритм будет алгоритмом, применимым ко всем несамоприменимым алгоритмам и только к ним:

1. Выполнить В, перейти к п. 2.

2. Если получен ответ "да", то перейти к п. 3, в противном случае перейти к п. 4.

3. Окончить процесс.

4. Перейти к п. 4.

Этот алгоритм останавливается, если рассматриваемый в качестве входа алгоритм несамоприменим, и не останавливается (зацикливает на п. 4) в противном случае.

Используя данный результат можно также показать, что не существует и алгоритм, распознающий универсальным образом самоприменимость (поскольку в противном случае можно построить алгоритм, который распознает несамоприменимость).

И, наконец, можно показать, что алгоритмически неразрешимой является проблема распознавания применимости произвольного алгоритма к произвольному "входу". Допустим обратное. Пусть Е - алгоритм, который по заданному произвольному алгоритму и заданному на входе "слову" распознает применимость данного алгоритма к данному "слову". Нетрудно построить алгоритм, который позволяет установить является ли заданное "слово" кодом данного алгоритма. Обозначим такой алгоритм буквой Р.

Тогда можно построить алгоритм Н:

1. Применить Р. Перейти к п. 2.

2. Если Р дал ответ "да", перейти к п. 3, иначе - к п. 4.

3. Выполнить алгоритм Е. Конец.

4. Перейти к п. 4.

Алгоритм Н является алгоритмом, распознающим самоприменимость произвольных алгоритмов. Следовательно, он не возможен, а значит не возможен и алгоритм Е.

Итак, существуют алгоритмически неразрешимые проблемы и, соответственно, алгоритмически невычислимые функции. Доказательство невычислимости, как мы видели, осуществляется путем "редукции к абсурду", т.е. показывается, что из предположения о существовании алгоритма, вычисляющего данную функцию, вытекает существование абсурдного, внутренне противоречивого объекта, вроде алгоритма применимого ко всем несамоприменимым алгоритмам и только к ним.

Как отмечалось выше, геделевский аргумент можно сформулировать как утверждение об алгоритмической невычислимости функции сознания. Невозможно написать программу для машины Тьюринга или любой другой универсальной вычислительной машины, которая была бы способна имитировать работу человеческого мозга и, таким образом, имитировать в любых ситуациях поведение человека. Этот аргумент можно сформулировать и несколько иначе, в виде утверждения, что человек обладает способностью решать алгоритмически неразрешимые проблемы. Эти формулировки, однако, не являются эквивалентными. В самом деле, любая подлинно случайная последовательность является "невычислимой" в том смысле, что никакой алгоритм не позволит нам гарантированно предсказать каждый следующий элемент в этой последовательности. Но отсюда, однако, не следует, что генератор случайных чисел может оказать нам какое-то содействие в решении каких-либо конкретных алгоритмически неразрешимых проблем.

Поскольку смысл геделевского аргумента усматривают именно в утверждении превосходства человека над машиной, то и тезис "невычислимости функции сознания" следует понимать именно во втором смысле - как тезис о разрешимости для человеческого интеллекта тех или иных алгоритмически неразрешимых проблем.

Итак, мы выяснили суть геделевского аргумента. Впервые данный аргумент был, видимо сформулирован Дж. Лукасом в 1961 году в статье (1).

В последнее время подобные идеи активно отстаивает Р. Пенроуз (2, 3, 11). Пенроуз, в частности, использует геделевский аргумент для обоснования тезиса о квантовой природе человеческого сознания. (Этот вопрос мы более подробно рассмотрим ниже). Рассмотрим вкратце ту форму, которую Пенроуз придает геделевскому аргументу.

Пенроуз утверждает, что предположение о существовании компьютерной программы, воспроизводящей функции человеческого интеллекта, в частности, воспроизводящей функции, составляющие математические способности человека, ведет к противоречию.

Предположим, что математические способности некоторого математика (например, самого Пенроуза) полностью описываются некоторой формальной системой F. Это означает, что любое математическое утверждение, которое Пенроуз признает "неоспоримо верным", является теоремой, доказываемой в F, и наоборот. Предположим, также, что Пенроуз знает, что F описывает его математические способности. Пенроуз, также, полагает, что тот факт, что F описывает его математические способности, - эквивалентен вере в непротиворечивость и непогрешимость F. (В противном случае мы должны были бы поставить под сомнение истины, которые представляются нам "неоспоримо истинными").

Согласно теореме Геделя о неполное формальных систем, поскольку F непротиворечива, существует геделевское предложение G(F), которое должно быть истинным, но которое не является теоремой в системе F. Однако, поскольку Пенроуз верит, что F - непротиворечивая система и знает, что F представляет его способность к математическим рассуждениям, он должен прийти к выводу, что G(F) является "неоспоримой истиной". Таким образом, мы получаем математическое утверждение G(F), которое Пенроуз признает истинным, но которое не является теоремой в F , что противоречит первоначальному предположению, что F представляет целиком и полностью математические способности Пенроуза.

Отсюда вывод, что никакая формальная система не может быть адекватным выражением математических способностей человека и, следовательно, невозможна полная компьютерная имитация человеческого сознания.

Работы Лукаса и Пенроуза вызвали достаточно большой резонанс в научной среде. (См., например, дискуссию по книге Пенроуза "Тени ума" в журнале PSYHE ( 4 -11)). В целом, однако, преобладает критическое отношение к геделевскому аргументу. В следующем разделе данной работы мы последовательно рассмотрим типичные возражения, выдвигаемые против геделевского аргумента и дадим оценку каждому из них. Все это позволит нам выяснить подлинное значение геделевского аргумента.

 

Литертура:

1. Lucas J.R. Mind, Machines, and Godel // Philosophy, 1961, 36, pp. 112-127.

2. Penrose R. The Emperor's New Mind. L. 1989.

3. Penrose R. Shadows of the Mind. L., 1993.

4. Baars B.J. Can Physics Provide a Theory of consciosness? // PSYCHE, 1995, 2 (8).

5. McCarthy J. Awareness and Understending in Computer Programs // PSYCHE, 1995, 2 (11).

6. Chalmers D.J. Mind, Machines, and Mathematics // PSYCHE, 1995, 2(9).

7. Klein S.A. Is Quanum Mechanics Relevant to Anderstenting consciousness? // PSYCHE, 1995, 2 (2)

8. McDermott D. Penrose is Wrong // PSYCHE, 1995, 2 (2).

9. Feferman S. Penrose's Godelian Argument // PSYCHE, 1995, 2 (7).

10. Moravec H. Roger Penrose's Gravitonic Brains // PSYCHE, 1995, 2 (6).

11. Penrose R. Beyond the Doubting of Shadow // PSYCHE, 1996, 2 (23).

12. Антипенко Л.Г. Проблема неполноты теории и ее гносеологическое значение. М., 1986.

13. Chalmers D.J. Facing Up to the Problem of Consciousness // Journal of Consciousness Studies, 2 (3), 1995, pp.200 - 219.

14. Роджерс Х. Теория рекурсивных функций эффективная вычислимость. М., 1972.

ПРОДОЛЖЕНИЕ