Чтение онлайн

на главную - закладки

Жанры

Тени разума. В поисках науки о сознании
Шрифт:

В действительности, использование мною такой формулировки вовсе не влечет за собой потери общего характера рассуждений в целом. Любой конечный ряд 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.

11

Термин «алгоритмизм», который (по своей сути) прекрасно подходит для обозначения «точки зрения A» в моей классификации, был предложен Хао Ваном [ 377].

Пожалуй, следует немного подробнее остановиться на том, что может обозначать определение «алгоритмически изменяющийся» применительно к алгоритму A. Допустим, что алгоритм 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, — как, например, в только что упомянутом случае.

12

Приведение к абсурду (лат.), доказательство от противного. — Прим. перев.

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

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

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

9

Здесь я предполагаю, что если процедура Авообще завершается, то это свидетельствует об успешном установлении факта незавершаемости C( n). Если же А«застревает» по какой-либо иной, нежели достижение «успеха», причине, то это означает, что в данном случае процедура Aкорректно завершиться не может. См. далее по тексту возражения Q3и Q4, а также Приложение А.

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

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

Поделиться:
Популярные книги

Я все еще граф. Книга IX

Дрейк Сириус
9. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я все еще граф. Книга IX

Кодекс Крови. Книга VIII

Борзых М.
8. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга VIII

Огненный князь

Машуков Тимур
1. Багряный восход
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Огненный князь

Ученичество. Книга 1

Понарошку Евгений
1. Государственный маг
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Ученичество. Книга 1

Деспот

Шагаева Наталья
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Деспот

Инцел на службе демоницы 1 и 2: Секса будет много

Блум М.
Инцел на службе демоницы
Фантастика:
фэнтези
5.25
рейтинг книги
Инцел на службе демоницы 1 и 2: Секса будет много

Тринадцатый

NikL
1. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
6.80
рейтинг книги
Тринадцатый

Кодекс Охотника. Книга XIII

Винокуров Юрий
13. Кодекс Охотника
Фантастика:
боевая фантастика
попаданцы
аниме
7.50
рейтинг книги
Кодекс Охотника. Книга XIII

Чехов. Книга 3

Гоблин (MeXXanik)
3. Адвокат Чехов
Фантастика:
альтернативная история
5.00
рейтинг книги
Чехов. Книга 3

Изменить нельзя простить

Томченко Анна
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Изменить нельзя простить

Сирота

Ланцов Михаил Алексеевич
1. Помещик
Фантастика:
альтернативная история
5.71
рейтинг книги
Сирота

Делегат

Астахов Евгений Евгеньевич
6. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Делегат

Эйгор. В потёмках

Кронос Александр
1. Эйгор
Фантастика:
боевая фантастика
7.00
рейтинг книги
Эйгор. В потёмках

Наследник с Меткой Охотника

Тарс Элиан
1. Десять Принцев Российской Империи
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Наследник с Меткой Охотника