Book: Новый ум короля



Новый ум короля

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

Новый ум короля

О компьютерах, мышлении и законах физики

«Выдающийся ученый современности, активно работающий в различных областях математики, общей теории относительности и квантовой теории; автор теории твисторов.

Р. Пенроуз возглавляет кафедру математики Оксфордского университета, а также является почетным профессором многих зарубежных университетов и академий. Он является членом Лондонского королевского общества. Среди его наград — премия Вольфа (совместно с С. Хокингом), медаль Дирака, премия Альберта Эйнштейна и медаль Королевского общества. В 1994 г. за выдающиеся заслуги в развитии науки королевой Англии ему был присвоен титул сэра.»[2]

«…фигура Адама в прологе и эпилоге этой книги в определенном смысле служит символом зарождения разума входе неторопливого развития осознающей себя жизни. В нем я тоже вижу Пенроуза — мальчика, сидящего в третьем ряду, позади признанных корифеев в области ИИ, — который не боится высказать им вслух свое мнение, что их „КОРОЛИ-ТО ГОЛЫЕ“».

Мартин Гарднер[3]
Новый ум короля

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

Обращение к читателю

Посвящаю эту книгу светлой памяти моей дорогой матери, почившей прежде, чем эта книга увидела свет

Как читать математические формулы

В некоторых частях этой книги я решился прибегнуть к математическим формулам. Меня не устрашило известное предостережение, что каждая формула в книге сокращает вдвое круг читателей. Если вы, Читатель, испытываете ужас перед формулами (как большинство людей), то я вам могу порекомендовать способ, который и сам часто использую, когда приличия нарушаются таким грубым образом. Способ заключается, более или менее, в том, чтобы полностью проигнорировать строку с формулой, сразу переводя взгляд на следующий за ней текст! На самом деле, конечно же, не совсем так: надо одарить формулу пытливым, но не проникающим взглядом, а затем двинуться вперед. Некоторое время спустя, почувствовав бо́льшую уверенность в своих силах, можно вернуться к отвергнутой формуле и попытаться ухватить основные идеи. Текст, сопровождающий формулу, поможет вам понять, что в ней важно, а что можно спокойно проигнорировать. Если же этого все-таки не случилось, то смело оставляйте формулу и больше о ней не вспоминайте.[4]

Благодарности

Многие помогали мне, тем или иным способом, в написании этой книги. Всем им я очень признателен. Для начала упомяну сторонников теории сильного ИИ (в особенности тех, которые выступали в телевизионной программе ВВС), чьи радикальные идеи об искусственном интеллекте привлекли много лет назад мое внимание к этой теме. (Однако если бы я мог предвидеть заранее тот объем работы, который будет сопряжен с написанием этой книги, я вряд ли бы, думаю, начал.)

Многие скрупулезно читали отдельные части рукописи и высказывали мне свои идеи по ее улучшению. Им я приношу свою признательность. Это Тоби Бэйли, Давид Дойч (который мне очень помог в проверке описания машин Тьюринга), Стюарт Хампшир, Джим Хартли, Лэйн Хагстон, Ангус МакИнтир, Мэри Джэйн Моват, Тристан Неедман, Тед Ньюман, Эрик Пенроуз, Тоби Пенроуз, Вольфганг Риндлер, Энгельберт Шукинг и Дэннис Шьяма. Я очень благодарен Кристоферу Пенроузу за детальную информацию о множестве Мандельброта, а также Джонатану Пенроузу за сведения о шахматных компьютерах. Выражаю мою особую благодарность Колину Блэйкмору, Эрику Харту и Дэвиду Хьюбелу, которые внимательно прочитали главу 9, в предмете которой я, очевидно, совсем не специалист. Однако они — как и все остальные, которых я благодарю, — не отвечают за ошибки, если таковые сохранились. Я благодарен NSF[5]) за поддержку по контракту DMS 84-05644, DMS 86-06488 (университет Райса, г. Хьюстон, где проходили многие лекции, частично легшие в основу этой книги), PHY 86-12424 (университет г. Сиракузы, где я участвовал во многих ценных обсуждениях по квантовой механике). Я премного обязан Мартину Гарднеру за его великодушное предложение написать предисловие к моей книге, а также за его ценные комментарии. Особенно благодарю мою дорогую Ванессу за ее вдумчивую и детальную критику некоторых глав, за неоценимую помощь с библиографией, а также, что совсем немаловажно, за ее терпение, когда я был совсем невыносим — и за ее глубокую любовь и поддержку, когда я в этом особенно нуждался.

Предисловие Мартина Гарднера

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

Хотя в различных главах своей книги Пенроуз затрагивает и теорию относительности, и квантовую механику, и космологию — главным объектом его рассуждений является так называемая психофизическая проблема «ум — тело». Десятилетиями сторонники теории «сильного ИИ» (искусственного интеллекта) пытались убедить нас, что не пройдет и одного-двух веков (а некоторые опускали эту планку даже до пятидесяти лет!), как электронные компьютеры полностью сравняются по своим возможностям с человеческим мозгом. Находясь под впечатлением прочитанных в юности научно-фантастических книг и будучи убежденными в том, что наши мозги — это просто «компьютеры, сделанные из мяса» (как выразился однажды Марвин Мински), они считали несомненным, что удовольствие и боль, восприятие прекрасного и чувство юмора, сознание и свобода воли — все эти способности возникнут у электронных роботов сами собой, как только управляющие ими алгоритмы обретут достаточную степень сложности.

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

Книга Пенроуза является самой мощной атакой на теорию сильного ИИ из всего написанного до сих пор. За несколько прошедших столетий было высказано немало возражений против понимания мозга как машины, управляемой общеизвестными законами физики; но доводы Пенроуза более убедительны, ибо они базируются на недоступной для его предшественников информации. Эта книга открывает нам другого Пенроуза — не только математика и физика, но и философа высокого уровня, не отступающего перед проблемами, которые современные философы слишком легко сбрасывают со счетов как бессмысленные.

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

Большое внимание в книге Пенроуза уделяется знаменитой фрактальной структуре, называемой множеством Мандельброта в честь ее первооткрывателя Бенуа Мандельброта. Хотя в статистическом смысле такие объекты обладают свойством самоподобия, которое выявляется при увеличении отдельных частей, их бесконечно причудливые очертания постоянно меняются самым непредсказуемым образом. Пенроузу кажется непонятным, как можно сомневаться в том, что эти экзотические структуры существуют не менее «реально», чем гора Эверест, и могут быть исследованы точно так же, как исследуются джунгли.

Пенроуз принадлежит к постоянно пополняющейся группе ученых, которые считают, что Эйнштейн не был упрямым или, тем более, бестолковым, когда однажды, ссылаясь на свой «левый мизинец», он провозгласил неполноту квантовой механики. Чтобы подтвердить справедливость этого утверждения, Пенроуз увлекает читателя в головокружительное путешествие, в ходе которого мы знакомимся с комплексными числами, машинами Тьюринга, теорией сложности, поразительными парадоксами квантовой механики, формальными системами, теоремой неразрешимости Геделя, фазовыми и гильбертовыми пространствами, черными и белыми дырами, излучением Хокинга, энтропией, строением мозга — и множеством других вопросов, занимающих сегодня умы ученых. «Осознают» ли кошки и собаки свое «я»? Могут ли в теории существовать передатчики материи, способные переместить человека из одного места в другое на манер астронавтов из сериала «Звездный Путь»! Насколько полезно нам — с точки зрения выживания — возникшее в ходе эволюции сознание? Существует ли структура более общая, чем квантовая механика, где бы нашлось естественное объяснение направлению времени и различиям между правым и левым? Важны ли законы квантовой механики, а может и некие более «тонкие» законы, для деятельности разума?

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

С 1973 года Пенроуз возглавляет кафедру Рауза Болла в Оксфордском университете. Это тем более заслуженно, что В. У. Рауз Болл был не только выдающимся математиком, но еще и фокусником-любителем, настолько увлеченным занимательной математикой, что однажды он даже написал на эту тему ставшую классической книгу «Математические эссе и развлечения»[6]. Пенроуз разделяет эту страсть Болла к играм. В юности он придумал «невозможный объект», состоящий из трех стержней. (Невозможный объект — это изображение цельной фигуры, которая не может существовать из-за наличия в ней внутренне противоречивых элементов.)[7]

Вместе со своим отцом Лайонелом, генетиком по профессии, он превратил свой невозможный объект в «Лестницу Пенроуза»[8] структуру, использованную Морицем Эшером на двух известных литографиях: «Идущие вверх и идущие вниз» и «Водопад».[9]

В один прекрасный день, когда Пенроуз лежал в кровати, с ним случился, как он сам называет это, «приступ сумасшествия», когда ему явственно представился невозможный объект в четырехмерном пространстве. Если бы существо из четырехмерного мира наткнулось на эту штуку, шутит Пенроуз, оно наверняка воскликнуло бы: «Боже мой, что это такое!?»

Работая в 1960-х годах вместе со своим другом Стивеном Хокингом над проблемами космологии, он сделал свое самое, наверное, известное открытие. Если теория относительности выполняется «до самого конца», то в каждой черной дыре должна существовать сингулярность, где законы физики теряют свою силу. Но даже это достижение отошло в последние годы на второй план, после того как Пенроуз предложил конструкцию из «плиток» двух видов, которыми можно покрыть всю плоскость подобно мозаике Эшера — только непериодическим образом. (Об этих удивительных фигурах вы можете узнать подробнее в моей книге «От мозаик Пенроуза к надежным шрифтам»[10].) Пенроуз изобрел, или, скорее, открыл их, даже не предполагая, что когда-нибудь они могут кому-то пригодиться. К всеобщему изумлению оказалось, что трехмерные аналоги этих фигур могут служить основой для новой необычной формы материи — «квазикристаллов». Сейчас изучение «квазикристаллов» превратилось в одну из наиболее активных областей исследований в кристаллографии. Это, безусловно, самый впечатляющий пример того, как в наши дни математические игры могут иметь совершенно неожиданные практические приложения.

Достижения Пенроуза в математике и физике — а я упомянул только незначительную их часть — рождаются из постоянно присутствующего в его душе ощущения тайны и красоты бытия. Мизинец «подсказывает» ему, что человеческий мозг представляет собой устройство более сложное, чем набор крошечных проводков и переключателей. Фигура Адама в прологе и эпилоге этой книги в определенном смысле служит символом зарождения разума в ходе неторопливого развития осознающей себя жизни. В нем я тоже вижу Пенроуза — мальчика, сидящего в третьем ряду, позади признанных корифеев в области ИИ, — который не боится высказать им вслух свое мнение, что их «короли-то голые»[11]). Юмор присущ многим высказываниям Пенроуза, но это утверждение — отнюдь не шутка.

Мартин Гарднер



Вступление

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

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

Когда я писал эту книгу, мне трудно было вообразить, сколь бурной окажется реакция на изложенные в ней мысли — причем не только из лагеря убежденных сторонников «компьютерной» модели разума, но и со стороны тех, кто считает научный метод недопустимым для изучения сознания. Я нисколько не сомневаюсь, что попытка затронуть чью-то личную философскую концепцию сознания — как и религиозные воззрения — может оказаться делом довольно рискованным. Но насколько щекотливой бывает подчас эта тема — я едва ли мог представить себе в полной мере.

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

За десятилетие, прошедшее с момента первого издания книги, наука добилась целого ряда ошеломляющих успехов. Про некоторые из них я бы хотел вкратце рассказать здесь с тем, чтобы у читателя сложилось определенное представление о моем видении современного состояния этих исследований. Сперва рассмотрим, насколько важна теорема Геделя для критики выдвинутых мной положений. Если попытаться изложить в двух словах суть этой теоремы (справедливость которой не оспаривается), то она будет выглядеть следующим образом. Пусть мы располагаем какой-нибудь вычислительной процедурой Р, позволяющей нам формулировать математические утверждения (для определенности договоримся, что это будут утверждения какого-то одного вида, аналогичные, допустим, знаменитой теореме Ферма (см. гл.2: «Неразрешимость проблемы Гильберта»). Тогда, если мы готовы считать правила процедуры Р надежными — в том смысле, что мы будем полагать всякое математическое утверждение, полученное при помощи этой процедуры, неоспоримо верным, — то равным образом мы должны принимать и неоспоримую справедливость некоторого утверждения G(P), которое лежит за пределами действия правил процедуры Р (см. гл.4: «Формальные математические системы»). Таким образом, как только мы научились автоматизировать некоторую часть нашего математического мышления, у нас сразу же появляется понимание, как выйти за его границы. В моем представлении это однозначно свидетельствует о том, что математическое понимание содержит определенные элементы, которые не могут быть полностью сведены к вычислительным методам. Но многие критики остались при своих убеждениях, указывая на различные возможные «тонкие места» в этих логических построениях. В моей следующей книге «Тени разума»[12] я постарался ответить на все подобные возражения и привел ряд новых аргументов в пользу своей точки зрения. Тем не менее споры все еще продолжаются[13].

Одна из причин, мешающих людям признать прямое отношение, которое имеет теорема Геделя к нашему математическому мышлению, заключается в том, что в рамках обычной ее формулировки утверждение G(P) не представляет интереса с математической точки зрения. Мало того: оно еще и чрезвычайно сложно для понимания в качестве математического выражения. Соответственно, даже математики предпочитают не «связываться» с подобными выражениями. Однако, существует ряд примеров утверждений геделевского типа, которые легко доступны пониманию даже для тех, чье знакомство с математической терминологией и системой записи ограничивается рамками обычной арифметики.

Особенно впечатляющий пример попался мне на глаза уже после того, как была опубликована эта книга (а также «Тени разума»). Это произошло на лекции Дэна Исааксона в 1996 году. Речь шла об известной теореме Гудстейна[14]. Данный пример кажется мне настолько поучительным, что я хотел бы рассмотреть его здесь целиком, дабы читатель имел возможность непосредственно познакомиться с теоремами геделевского типа[15].

Чтобы понять суть этой теоремы, рассмотрим любое целое положительное число, скажем, 581. Для начала мы представим его в виде суммы различных степеней числа 2:

581 = 29 + 26 + 22 + 1.

(Такая процедура применяется для формирования двоичного представления числа 581, а именно, приведения его к виду 1001000101, где единицы соответствуют тем степеням двойки, которые присутствуют в таком представлении, а нули — тем степеням, которых нет.) Далее можно заметить, что «показатели» в этом выражении — т. е. 9,6 и 2 — могут быть, в свою очередь, представлены аналогичным образом (9 = 23 + 1, 6 = 22 + 21, 2 = 21); и тогда мы получим (вспоминая, что 21 = 2)

Новый ум короля

Здесь все еще есть показатель больший, чем двойка — в данном случае это «3», — для которого тоже можно написать разложение

3 = 21 + 1, так что в конце концов мы будем иметь

Новый ум короля

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

(а) увеличивать «основание» на единицу,

(б) вычитать единицу.

Под «основанием» здесь понимается просто число «2», фигурирующее в исходном выражении, но мы можем сделать то же самое и с большими основаниями: 3, 4, 5, 6…..

Давайте посмотрим, что произойдет при применении операции (а) к последнему разложению числа 581, в результате которой двойки становятся тройками:

Новый ум короля

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

Новый ум короля

(т. е. по-прежнему сорокозначное число, начинающееся с 133027946…). Далее мы выполняем (а) еще раз и получаем

Новый ум короля

(это уже значительно большее число, состоящее из 618 знаков, которое начинается с 12926802…). Следующая операция — вычитание единицы — приводит к выражению

Новый ум короля

(где тройки получаются по той же причине, что и девятки в обычной десятичной записи, когда мы получаем 9999, вычитая 1 из 10 000). После чего операция (а) дает нам

Новый ум короля

(число, которое имеет 10923 знака и начинается с 1274…). Обратите внимание, что коэффициенты «3», которые возникают при этом, с необходимостью меньше, чем основание (в данном случае 5), и не изменяются с возрастанием последнего. Применяя (б) вновь, имеем число

Новый ум короля

над которым мы опять производим последовательно действия (а), (б), (а), (б),… и т. д., насколько возможно. Вполне естественно предположить, что этот процесс никогда не завершится, потому что каждый раз мы будем получать все бо́льшие и бо́льшие числа. Однако это не так: как следует из поразительной теоремы Гудстейна, независимо от величины исходного числа (581 в нашем примере), мы в конце концов получим нуль!

Кажется невероятным, но это так. А чтобы в это поверить, я рекомендовал бы читателю самостоятельно проделать вышеописанную процедуру, для начала — с числом «3» (где мы раскладываем тройку как 21 +1, что дает последовательность 4, 3,4, 2, 1, 0); а затем — что более важно — попробовать то же самое с «4» (при этом стартовое разложение в виде 4 = 22 приводит к вполне закономерно возрастающему ряду 4, 27, 26, 42, 41, 61, 60, 84…, который доходит до числа из 121210 695-ти знаков, после чего уменьшается вплоть до нуля!).

Но что кажется еще более удивительным: теорема Гудстейна фактически является теоремой Геделя для той самой процедуры, которую мы изучали в школе под названием математической индукции, как было доказано в свое время JI.Кирби и Дж. Парисом[16]. Как вы, должно быть, помните, математическая индукция позволяет установить справедливость некоторого математического утверждения S(n) для n = 1, 2, 3, 4, 5… Доказательство проводится в два этапа: сначала нужно проверить справедливость S(l), а затем показать, что, если верно S(n), то должно выполняться и S(n + 1). Приняв процедуру математической индукции за Р, Кирби и Парис доказали, что тогда G(P) может иметь смысл теоремы Гудстейна.

Следовательно, если мы считаем процедуру математической индукции достоверной (с чем едва ли можно не согласиться), то мы должны верить и в справедливость теоремы Гудстейна — несмотря на то, что при помощи одной лишь математической индукции доказать ее невозможно.

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

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

Возможные «узкие места» в этом рассуждении сводятся к следующему. Наша способность (математического) познания может быть результатом вычислительной процедуры или непознаваемой из-за своей сложности; или не непознаваемой, но правильность которой, однако, не может быть установлена; или же ошибочной, хотя почти правильной. Говоря об этом, мы должны прежде всего установить, откуда могут возникать подобные вычислимые процедуры. В книге «Тени разума» я достаточно подробно рассмотрел все такие «узкие места», и я хотел бы порекомендовать эту книгу (равно как и статью Beyond the Doubling of a Shadow в журнале Psyche[17]) всем читателям, кому интересно было бы ближе познакомиться с настоящим предметом.

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

Здесь необходимо сделать важное замечание. Термин «невычислимый» относится к некоторому классу математических действий, про которые известно — то есть доказано математически, — что они не поддаются вычислениям. И одна из задач данной книги заключается в том, чтобы познакомить читателя с этим вопросом. Невычислимые процессы могут быть полностью детерминистскими. Эта особенность является диаметрально противоположной по отношению к свойству полной случайности, которое характерно для современной интерпретации квантовой механики и возникает при увеличении микромасштабных квантовых эффектов до классического уровня — R-процедуре в моей терминологии в этой книге. Я считаю, что необходима новая теория, которая позволит постичь смысл «реальности», принадлежащей сфере действия R-процедуры, которая сегодня используется в квантовой механике; и, как мне кажется, именно в этой неоткрытой пока новой теории мы найдем требуемый элемент невычислимости.

Кроме того, я смею утверждать, что эта недостающая теория является одновременно и искомым звеном между квантовой механикой и общей теорией относительности Эйнштейна. Для этой единой теории в физике применяется название «квантовая гравитация». Однако, большинство работающих в этой области ученых полагают, что объединение двух величайших теорий двадцатого века не затронет законов квантовой механики, в то время как общая теория относительности должна претерпеть изменения. Я придерживаюсь иной точки зрения, поскольку считаю, что методы квантовой теории (в частности, R-процедура) тоже должны существенно измениться. В этой книге я использовал термин «правильная квантовая теория гравитации» (или «ПКТГ»), чтобы обозначить возможный результат такого объединения — хотя это и не будет теорией квантовой гравитации в обычном смысле (и, вероятно, «ПКТГ» тоже не очень удачный термин, который может ввести кого-то в заблуждение).

Хотя такой теории до сих пор не существует, это вряд ли может помешать нам оценить уровень, на котором она становится применимой. В книге я использовал для этих целей «одногравитонный критерий». Но несколько лет спустя я был вынужден изменить свои взгляды и, как мне кажется, найти более адекватный подход, изложенный в книге «Тени разума». Этот подход близок к реальности не только «физически» (чему нашлось дополнительное подтверждение, которое я привел в одной[18] из своих статей), но и с практической точки зрения, что подтолкнуло нас к дальнейшим теоретическим изысканиям. На самом деле, сейчас уже разработан ряд физических экспериментов, которые, надеюсь, можно будет осуществить в ближайшие несколько лет[19].

Но даже если все перечисленное окажется справедливым и мои умозаключения подтвердятся, это не поможет нам отыскать «местоположение сознания». Вероятно, один из недостатков этой книги заключается в том, что к моменту завершения работы над ней я так и не знал, в каком месте мозга может происходить «крупномасштабная квантовая когерентность», которая необходима для использования приведенных выше идей. С другой стороны, к достоинствам книги следует отнести то, что она вызвала живой интерес в самых широких научных кругах, представители которых могут внести ценный вклад в исследования этого вопроса. Одним из таких ученых оказался Стюарт Хамерофф, который познакомил меня с цитоскелетом клетки и входящими в него микроканальцами — структурами, о которых я, к сожалению, не имел ни малейшего представления! Он также изложил мне свои оригинальные идеи по поводу возможной роли микроканальцев в нейронах мозга для феномена сознания — что позволило мне предположить, что они-то и являются скорее всего тем местом, где может происходить крупномасштабная квантовая когерентность, на которую я опирался в своих рассуждениях. Конечно же, эта информация достигла меня уже слишком поздно, чтобы я мог включить ее в настоящее издание; но ее изложение можно найти в книге «Тени разума» и последующих статьях, написанных преимущественно в соавторстве со Стюартом Хамероффом[20].



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

Роджер Пенроуз Сентябрь 1998

Пролог

На церемонию запуска нового компьютера Ультроник в Большой аудитории собралась огромная толпа. Президент Полло только что закончил свое вступительное слово. Он рад, что наконец отделался — подобные мероприятия ему не по вкусу, а в компьютерах ему интересно лишь одно: эта новая штуковина позволит ему сэкономить кучу времени. Разработчики уверяли его, что помимо всего прочего, Ультроник будет способен отвечать за принятие решений в государственных делах, которые всегда докучали президенту. И неплохо бы, чтобы это оказалось правдой — учитывая то, сколько за этот компьютер заплачено золота из казны! Президент уже предвкушал многочасовые игры в гольф на своем личном поле — одном из немногих оставшихся в его крохотной стране островков зелени.

Адаму лестно находиться среди приглашенных на церемонию открытия. Он сидит в третьем ряду; через два ряда впереди него сидит его мать, главный технолог разработки Ультроник. Вышло так, что и отец его тоже находится здесь: он пришел без приглашения и сидит сейчас в самом конце зала, окруженный со всех сторон охранниками — и все потому, что в последний момент отец решил взорвать компьютер. Он сам поручил себе это задание как доморощенный лидер маленькой группы маргинальных активистов, именующей себя Высший Совет Психического Самосознания. Конечно, всю его взрывчатку тут же обнаружили установленные в изобилии электронные и химические датчики, и в качестве наиболее приятной части предстоящего наказания ему довелось стать невольным свидетелем церемонии запуска.

Адам не Испытывал особых чувств ни к одному из своих родителей. Быть может, в таких чувствах у него и не было необходимости: все тринадцать лет своей жизни он рос в атмосфере материальной роскоши, обусловленной в основном возможностями компьютеров. Любое свое желание он мог удовлетворить простым нажатием на кнопку мыши — будь то потребность в еде, питье, компании или развлечениях, а если нужно, то и в знаниях — и всегда это сопровождалось прекрасными цветными иллюстрациями на графических мониторах. Все было возможно благодаря положению, которое занимала мать Адама.

И вот Главный конструктор проекта уже заканчивает свой доклад: «…более 1017 логических ячеек. Это больше, чем суммарное число нейронов у всех живущих в нашей стране! Уровень интеллекта невообразимо высок. Но, к счастью, нам и не нужно ничего воображать — через минуту у каждого будет возможность убедиться в этом собственными глазами! Я попрошу уважаемую первую леди нашей великой страны, мадам Изабеллу Полло, включить рубильник питания нашего фантастического компьютера Ультроник

Супруга президента подается вперед. Немного нервничая и чуть колеблясь, она поворачивает рубильник. Небольшой шорох, еле ощутимое мерцание индикаторов — и вот, 1017 логических ячеек активированы! Все замерли в ожидании, не совсем представляя, чего собственно и ожидать. «Итак, найдется в этой аудитории желающий инициировать нашу новую компьютерную систему Ультроник, задав ей первый вопрос?» — обращается к залу Главный конструктор.

Всеобщая растерянность. Никто не решается, дабы не оказаться глупцом при таком скоплении народа — и перед новым Вездесущим Разумом. Тишина. «Ну что же вы, наверняка кто-то хочет задать вопрос!» — не сдается Главный конструктор. Все в смятении, как будто чувствуя присутствие нового всемогущего разума. Лишь Адам хладнокровен. Он окружен компьютерами с самого рождения. Он почти чувствует, что значит быть компьютером. Или, по крайней мере, ему так кажется. Во всяком случае, он заинтригован. Адам поднимает руку. «Ну вот, — говорит Главный конструктор, — парнишка в третьем ряду. У тебя есть вопрос к нашему… гм… нашему новому другу?»

Глава 1

Может ли компьютер обладать разумом?

Введение

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

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

Можно ли считать, что механическое устройство в принципе способно мыслить, или даже испытывать определенные чувства? Этот вопрос не нов[21], но с появлением современных компьютерных технологий он приобрел новое значение. Смысл вопроса глубоко философский. Что значит — думать или чувствовать? Что есть разум? Существует ли он объективно? И если да, то в какой степени он функционально зависим от физических структур, с которыми его ассоциируют? Может ли он существовать независимо от этих структур? Или он есть лишь продукт деятельности физической структуры определенного вида? В любом случае — должны ли подходящие структуры быть обязательно биологическими (мозг) или, возможно, этими структурами могут быть и электронные устройства? Подчиняется ли разум законам физики? И вообще, что такое законы физики?

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

Сразу отмечу, что моя точка зрения не является общепринятой среди физиков. Поэтому маловероятно, что в настоящее время она получит признание ученых-компьютерщиков или психологов. Любой физик скажет вам, что фундаментальные законы, действующие на масштабах, характерных для человеческого мозга, прекрасно известны. Хотя никто не отрицает, что в наших знаниях физики как таковой многого недостает. Мы, например, не знаем ни основных законов, которые определяют значения масс субатомных частиц, ни законов, определяющих силу взаимодействия между этими частицами. Мы не знаем, как добиться полного согласования квантовой теории и специальной теории относительности Эйнштейна — не говоря уже о том, как построить теорию квантовой гравитации, в рамках которой удалось бы согласовать квантовую теорию и общую теорию относительности. Вследствие этого мы не способны понять природу пространства на чрезвычайно малых расстояниях порядка 1/100 000 000 000 000 000 000 размеров известных фундаментальных частиц, хотя и считается, что на бо́льших расстояниях наши представления являются адекватными. Мы не знаем, является ли вселенная как единое целое конечной или бесконечной в пространственных или во временном измерениях, хотя подобные неопределенности, по-видимому, совершенно несущественны для физики важных для человека явлений. Мы не представляем себе, какие физические законы работают в сердцевине черных дыр и какие законы действовали в момент Большого взрыва при рождении самой нашей вселенной. Все перечисленные проблемы, однако, кажутся нам невообразимо далекими от шкалы явлений «повседневной» жизни (или чуть меньшей шкалы), от масштабов, характерных для жизнедеятельности человеческого мозга. И эти проблемы действительно невообразимо далеки! Тем не менее, я утверждаю, что в нашем понимании физического мира есть брешь именно на том уровне, который может иметь непосредственное отношение к работе человеческого мозга и сознанию. Эта брешь — прямо у нас под носом (или, скорее, за ним)! Однако большинство физиков даже не чувствуют ее — ниже я попытаюсь объяснить почему. Далее я приведу доводы в пользу того, что теории черных дыр и Большого взрыва на самом деле имеют определенное отношение к рассматриваемым вопросам!

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

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

Тест Тьюринга

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

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

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

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

Этот подход очень горячо отстаивался в знаменитой статье Алана Тьюринга [1950] «Вычислительные машины и интеллект», появившейся в 1950 году в философском журнале Mind. (Фамилию Тьюринг мы еще встретим позже.) В этой статье впервые была предложена идея того, что сейчас называют тестом Тьюринга. Тест предназначался для ответа на вопрос о том, можно ли резонно утверждать, что машина думает. Пусть утверждается, что некоторый компьютер (подобный тому, который продают производители из описания выше) в действительности думает. Для проведения теста Тьюринга компьютер вместе с человеком-добровольцем скрывают от глаз опрашивающей[22] (проницательной). Опрашивающая должна попытаться определить, где компьютер, а где человек, задавая им двоим пробные вопросы. Вопросы, а еще важнее — ответы, которые она получает, передаются в безличной форме, например, печатаются на клавиатуре и высвечиваются на экране. Единственная информация, которой будет располагать опрашивающая — это то, что она сама сможет выяснить в процессе такого сеанса вопросов и ответов. Опрашиваемый человек честно отвечает на все вопросы, пытаясь убедить женщину, что он и есть живое существо; компьютер, однако, запрограммирован таким образом, чтобы обмануть опрашивающую и убедить ее в том, что человек на самом деле он. Если в серии подобных тестов опрашивающая окажется неспособной «вычислить» компьютер никаким последовательным образом, то считается, что компьютер (или компьютерная программа, программист, разработчик и т. д.) прошел данный тест.

Можно возразить, что тест на самом деле не очень-то честный по отношению к компьютеру. Если бы роли человека и машины поменялись, и человеку нужно было бы прикидываться компьютером, определить «кто есть кто» не составило бы никакого труда: опрашивающей лишь стоило бы задать какой-нибудь очень сложный арифметический пример. Хороший компьютер тут же выдал бы правильный ответ, а человек оказался бы в замешательстве. (Здесь, однако, следует проявить осторожность. Среди людей известны «вычислительные дарования», способные в уме решать весьма нетривиальные счетные задачи с безошибочной точностью и без всяких видимых усилий. Например, сын неграмотного крестьянина Иоганн Мартин Захария Дазе[23], живший в Германии с 1824 по 1861 год, в уме перемножал любые два восьмизначных числа менее чем за минуту, а за шесть минут он перемножал два двадцатизначных числа! Такие способности не мудрено принять за результат работы компьютера. Более поздний пример (1950-е годы) — столь же исключительные вычислительные способности Александра Айткена, профессора Эдинбургского университета. Нужно, чтобы арифметическое задание опрашивающей было гораздо сложнее — например, перемножить два тридцатизначных числа за две секунды. Хороший современный компьютер запросто справится с таким упражнением.)

Итак, часть задачи программистов состояла бы в том, чтобы в некоторых вещах компьютер казался глупее, чем он есть на самом деле. Если опрашивающая задает сложный арифметический пример, подобный приведенному выше, компьютер должен притвориться, что не в силах на него ответить — иначе его немедленно изобличат! Я, правда, не думаю, что задача сделать компьютер глупее в указанном смысле является серьезной проблемой для программистов компьютеров. Главная сложность — научить компьютер отвечать на простейшие вопросы на проверку «здравого смысла», с которыми у человека вообще не будет проблем!

У конкретных вопросов такого типа есть, однако, одно слабое место. Каков бы ни был вопрос, легко придумать способ заранее научить компьютер отвечать на данный вопрос точно так же, как на него ответил бы человек. И тем не менее, недостаток понимания компьютером сути весьма вероятно обозначится при продолжительном опросе, особенно если вопросы носят нестандартный характер и требуют настоящего осмысления. Искусство опрашивающей должно включать как умение изобрести оригинальные вопросы, так и умение дополнить их позже другими вопросами на понимание таким образом, чтобы выяснить, действительно ли вопросы были усвоены. Кроме того, она может периодически подбрасывать бессмысленные вопросы (сможет ли компьютер их распознать?), или вставлять один-другой с виду бессмысленный, но на деле все-таки имеющий смысл вопрос. Например, она может спросить: «Я слышала, что сегодня утром носорог летел вверх по Миссисипи на розовом воздушном шаре. Что Вы об этом думаете?» (Тут можно живо представить себе, как лоб компьютера покрывается капельками холодного пота — если выбрать наименее подходящую метафору.) Он может оказаться начеку и ответить: «Пожалуй, это звучит странно». Что ж, пока неплохо. Женщина: «Правда? Мой дядя как-то проделал это, причем туда и обратно, только на сероватом с полосками. Чего же тут странного?» Ясно, что без понимания компьютер скоро будет разоблачен. Отвечая на первый вопрос, он может даже ляпнуть: «Носороги не летают», — если в банках памяти удачно всплывет информация о том, что у них нет крыльев. Или ответить на второй вопрос, что носороги не бывают полосатыми. А дальше женщина может, например, подсунуть совершенно бессмысленный вопрос, заменив отдельные слова: «под Миссисипи», или «внутри розового воздушного шара» и т. п., и выяснить, хватит ли у компьютера здравого смысла, чтобы обнаружить существенное различие!

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

Каждое мыслящее устройство прошло тщательное тестирование по Тьюрингу группой наших экспертов

действительно является правдой.

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

Лично я готов к тому, чтобы значительно упростить тест Тьюринга. Мне кажется, что требовать от компьютера идеального подражания человеку так, чтобы стать неотличимым от него в каких-то существенных вопросах, это требовать от компьютера больше, чем надо. Мне бы хватило, чтобы наша проницательная опрашивающая по ответам на свои вопросы просто убедилась, что имеет дело с сознательным разумом, пусть даже чужеродным. Вот то, что реально недостижимо во всех созданных на сей день компьютерных системах. Предвижу, однако, вероятность того, что после разоблачения компьютера у опрашивающей может возникнуть (возможно, подсознательное) нежелание приписать ему разумные качества даже тогда, когда она способна эти качества различить. Или наоборот, у нее может создаться впечатление «присутствия чужеродного разума», и она станет подыгрывать компьютеру, даже если «чужеродного разума» и нет. Поэтому исходный вариант теста Тьюринга гораздо предпочтительней в силу большей объективности, и ниже я обычно буду придерживаться той схемы. Присущая ей «несправедливость» по отношению к компьютеру, о которой говорилось выше (чтобы пройти тест, компьютер должен уметь все, что и человек, а человек не обязан иметь способности компьютера), не смущает сторонников теста Тьюринга, считающих этот тест точным испытанием на способность мыслить, чувствовать и т. д. Во всяком случае, многие из сторонников теста придерживаются той точки зрения, что до того, как компьютер будет способен в действительности пройти тест, ждать осталось недолго — скажем, до 2010 года. (По прогнозам самого Тьюринга, 30 %-ное успешное прохождение теста с опрашивающим «средних» способностей и всего с 5-минутным ограничением на продолжительность опроса могло бы быть реализовано к 2000 году.) Они уверены, что даже такая «предубежденность» не способна существенно отодвинуть эту дату!

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

Какие же свидетельства об обратном принимать во внимание? Наперед заданные правила установить сложно. Однако, я сразу подчеркну: тот факт, что компьютер может состоять из транзисторов и проводов, а не нейронов и кровеносных сосудов, сам по себе не является аргументом, который я рассматривал бы как свидетельство об обратном. Меня не покидает мысль, что когда-нибудь будет построена удовлетворительная теория сознания — удовлетворительная в смысле логической последовательности и физической приемлемости, чудесной согласованности с другим физическим знанием. Ее предсказания будут в точности соотноситься с представлениями человека об уровне и условиях существования его собственного сознания, — и такая теория может оказаться в действительности плодотворной в разрешении проблемы предполагаемого наличия сознания у нашего компьютера. Можно даже пофантазировать о «детекторе сознания», сконструированном по принципам такой теории — абсолютно надежном в случае человека, но дающем расходящиеся с тестом Тьюринга результаты в случае компьютера. Интерпретация результатов тестов Тьюринга тогда потребует особой осторожности. По моему мнению, отношение к вопросу о пригодности теста Тьюринга отчасти зависит от предположений о том, как будет развиваться наука и техника. Ниже нам еще придется вернуться к некоторым из этих рассуждений.

Искусственный интеллект

Очень большой интерес привлекают в последнее время исследования в области, называемой искусственным интеллектом, а часто — сокращенно — «ИИ». Целью этих исследований является научиться максимально возможно имитировать различные аспекты деятельности человеческого разума при помощи машин (как правило, электронных) и, возможно, добиться развития способностей человека в этих направлениях. Есть, по крайней мере, четыре дисциплины, которые проявляют интерес к достижениям в области ИИ. В первую очередь к ним относится робототехника — инженерная отрасль, которая занимается в основном индустриальными механическими устройствами, способными выполнять «интеллектуальные» операции — задачи, разнообразие и сложность которых требует вмешательства и контроля со стороны человека — причем выполнять их со скоростью и надежностью, выходящими за рамки человеческих возможностей, или в неблагоприятных условиях, где жизнь человека будет подвержена опасности. Кроме этого, как с коммерческой точки зрения, так и в целом, представляет интерес развитие экспертных систем, которые позволили бы закодировать самые существенные знания, относящиеся к определенным профессиям — медицинские, юридические и т. п. — в виде пакета компьютерных программ! Возможно ли, чтобы опыт и экспертные оценки специалистов этих профессий были, в самом деле, заменены такими программами? Или единственный результат этих разработок, на который можно надеяться, — это просто длинный список фактической информации с полной системой перекрестных ссылок? Вопрос о том, могут ли компьютеры демонстрировать (или симулировать) полноценную деятельность интеллекта, имеет, несомненно, весьма значительные приложения в социальной сфере. Другой областью, к которой ИИ имеет непосредственное отношение, является психология. Можно надеяться, что попытка смоделировать поведение человеческого мозга (равно как и мозга животного) при помощи электронных устройств — или ее поражение — позволит узнать нечто важное о высшей нервной деятельности. И, наконец, среди оптимистов бытует надежда, что по схожим причинам ИИ мог бы пролить свет на глубокие вопросы философии, дав человеку возможность проникновения в смысл понятия разума.

Как далеко продвинулись исследования ИИ на сегодняшний день? Я едва ли смог бы систематизированно представить здесь все достижения в этой области. В разных уголках мира существует множество активно действующих групп, с работами которых я знаком очень поверхностно. Но справедливости ради необходимо заметить, что, хотя сделано было немало, произвести что-либо, достойное называться подлинным интеллектом, до сих пор никому не удалось. Чтобы дать некоторое представление о предмете обсуждения, я для начала упомяну отдельные ранние (но даже сегодня весьма впечатляющие) достижения, а затем перейду к последним примечательным успехам в области разработки шахматных компьютеров.

Одним из первых устройств ИИ была «черепашка» Грэя В. Уолтера, созданная им в начале 1950-х годов[25], которая приводилась в движение энергией внутренних батарей и бегала по полу до тех пор, пока они почти полностью не разряжались; после чего она находила ближайшую розетку, подключалась к ней и заряжала их. Когда зарядка заканчивалась, она самостоятельно отсоединялась и продолжала свою прогулку! В дальнейшем было придумано множество подобных механизмов (см., например, Валтц [1982]). Несколько отличное направление развития исследований представляет компьютерная программа Терри Винограда, разработанная в 1972 году, которая могла производить осмысленные действия с набором блоков, разных по форме и цвету, размещая их один над другим в разных сочетаниях и в разном порядке. Поразительно, что, несмотря на эти первые достижения, создание системы контроля даже для простой суставчатой «роботизированной руки», которая должна была в процессе перемещений избегать скопления препятствий, оказалось весьма непростой задачей, хотя стороннему наблюдателю требуемые движения и представлялись совершенно «очевидными». Такой же слйжной оказалась и проблема интерпретации зрительно воспринимаемых сцен, которая в общем случае относится к области, где процедуры ИИ даже близко не подошли к реализации того, что мозг человека (и, конечно же, большинства других живых существ) способен делать «без всяких» видимых усилий.

Пожалуй, наиболее созвучна тесту Тьюринга компьютерная программа, разработанная К. М. Колби в середине 1960-х годов, которая имитирует психотерапевта — настолько успешно, что некоторые пациенты обнаружили готовность отдать ей предпочтение перед терапевтом-человеком и рассказать о себе больше, чем при общении с живым врачом. В качестве примера[26] такого общения между компьютерным «психотерапевтом» и пациентом приведем следующий отрывок из диалога (который велся посредством телетайпа):

Терапевт: Чем я могу помочь вам?

Пациент: Я не знаю…

Терапевт: Попробуйте рассказать что-нибудь об этом.

Пациент: Нет.

Терапевт: Можно узнать причину?

Пациент: Я сегодня устал и неважно себя чувствую.

Терапевт: Почему? Есть у вас на этот счет какие-нибудь предположения?

Пациент: Да… Я стар.

Терапевт: Пожалуйста, продолжайте.

Пациент: Мне кажется, что я потерял интерес ко всему происходящему.

Терапевт: Расскажите мне подробнее о ваших ощущениях.

Пациент: У меня есть кое-какие соображения по этому поводу…

Терапевт: У вас есть соображения.

Пациент: Я думаю, что мне недостает семьи.

Терапевт: Что заставляет вас переживать из-за того, что вам недостает семьи?

Пациент: В этом есть какой-то вызов…

Терапевт: Почему это так важно для вас?

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

Компьютеры, играющие в шахматы, дают, наверное, наилучший пример поведения, воспринимаемого как «разумное». В действительности, некоторые машины достигли сегодня (к 1989 году) чрезвычайно высокого мастерства игры, если сравнивать с живыми шахматистами, и приближаются к уровню мастера международного класса. (Рейтинг этих машин составляет немногим менее 2300 единиц Эло, тогда как рейтинг чемпиона мира Каспарова, для сравнения, превышает 2700.) В частности, компьютерная программа (для коммерческого микропроцессора Fidelity Excel), разработанная Дэном и Кейт Спраклэн, достигла показателя 2110 единиц Эло и была удостоена Шахматной федерацией США звания «Мастера». Еще больше впечатляет программа Deep Thought, написанная в основном Хсю (Hsiung Hsu) из университета Карнеги Меллон, рейтинг которой составляет 2500 единиц Эло и которая недавно продемонстрировала замечательное достижение[27], поделив первое место с гроссмейстером Тони Майлсом на шахматном турнире (Лонгбич, Калифорния, ноябрь 1988 года) и обыграв Бента Ларсена, что можно рассматривать, на самом деле, как первую в истории победу машины над гроссмейстером![28] Сегодня шахматные компьютеры преуспели и в решении шахматных задач, с легкостью превзойдя в этом людей[29].

Шахматные машины опираются во многом на «книжные знания», помноженные на аккуратность просчета комбинаций. Стоит отметить, что машина в целом «обыгрывает» сравнимого по силе соперника в тех случаях, когда ходы необходимо делать быстро; и «проигрывает» живому противнику, если на каждый ход отпускается достаточное количество времени. Это можно понять, если принять во внимание тот факт, что компьютер принимает решения, опираясь на точные и «быстро разветвляющиеся» вычисления; тогда как преимущество живого шахматиста заключается в его способности производить «суждения», базирующиеся на сравнительно медленной сознательной деятельности по оценке ситуации. Эти человеческие суждения сводятся к тому, чтобы «отбраковать» как можно большее число возможных серьезных вариантов ходов, которые необходимо просчитывать в каждый момент; и при достаточном количестве времени на обдумывание хода такие суждения позволяют производить гораздо более глубокий анализ, чем банальное просчитывание и отбрасывание вариантов, при котором машина не использует подобные суждения. (Такая разница еще более наглядно демонстрируется в сложной восточной игре «Го», где число возможностей на каждом ходу значительно больше, чем в шахматах.) Отношение между сознанием и формированием суждений будет центральным моментом в моих дальнейших рассуждениях, особенно в главе 10.

Подход к понятиям «удовольствия» и «боли» с позиций ИИ

Согласно одному из распространенных убеждений, ИИ может указать нам путь к своего рода пониманию таких категорий восприятия, как счастье, боль, голод. Возьмем, к примеру, черепашку Грэя Уолтера. Когда ее батареи садятся, ее поведение изменяется и она начинает действовать так, чтобы пополнить запас своей энергии. Здесь есть явная аналогия с тем, как человеческое существо — или любое другое животное — стало бы вести себя, ощутив голод. Похоже, мы не слишком сильно погрешим против языка, если скажем, что черепашка Грэя Уолтера была голодной, когда она действовала упомянутым образом. Некое устройство внутри нее, способное «ощущать» уровень заряда в батареях, заставляло ее переключаться в другой режим функционирования, когда заряд опускался ниже некоторой отметки. Нет причин сомневаться в том, что подобный механизм включается и в голодных животных, но с единственной разницей — изменения модели поведения в этом случае более сложны и деликатны. Вместо простого переключения с одного режима на другой здесь происходит смена направленности действий; и эти изменения усиливаются (до определенной степени) по мере того, как нарастает необходимость восстановить запасы энергии.

Исходя из этого, некоторые приверженцы ИИ утверждают, что такие понятия, как боль или счастье, могут быть смоделированы аналогичным образом. Давайте упростим задачу и будем рассматривать линейную шкалу «чувств», простирающуюся от крайней «боли» (отметка: -100) до абсолютного «удовольствия» (отметка: +100). Представим далее, что у нас есть устройство — какая-нибудь машина, предположительно электронная, — которая располагает средствами для регистрации собственного (условного) показателя «больудовольствие», который я буду называть «бу-показатель». Устройство это должно иметь определенные модели поведения и входные данные, как внутренние (типа состояния батарей), так и внешние. Идея заключается в том, что все действия машины должны быть подчинены критерию максимизации ее бу-показателя. Факторов, влияющих на его величину, может быть множество. Мы, конечно же, можем сделать одним из них уровень заряда батарей, так, чтобы низкий уровень давал отрицательный вклад, а высокий — положительный; но могут существовать и другие факторы. Возможно, наше устройство несет на себе солнечные батареи, которые дают альтернативный источник энергии, при активации которого аккумуляторы перестают использоваться. Мы можем задать такую программу действий, при которой движение к свету будет немного увеличивать бу-показатель устройства — что оно и будет стремиться делать при отсутствии иных факторов. (Хотя, на самом деле, черепашка Грэя Уолтера, как правило, избегала света!) Ему потребуются какие-нибудь средства для выполнения вычислений, позволяющих оценивать последствия тех или иных действий в терминах величины бу-показателя. В дополнении к этому оно может уметь вводить вероятностные веса, так, чтобы в зависимости от достоверности исходных данных вычисления давали больший или меньший вклад в бу-показатель.

Помимо этого нашему устройству необходимо будет задать еще и дополнительные «цели», отличные от поддержания уровня его энергетических запасов, поскольку в противном случае мы не сможем отделить «боль» от «голода». Естественно, было бы слишком требовать от нашего механизма способности к размножению, поэтому давайте пока забудем о сексе! Но, возможно, мы могли бы имплантировать ему «желание» общения с аналогичными устройствами, приписывая таким встречам положительное значение бу-показателя. Или же мы можем заложить в него чистую «жажду знаний», когда даже простое накопление фактов об окружающем мире имело бы положительный эффект на величину бу-показателя. (Действуя из эгоистических побуждений, мы могли бы сделать так, что этот показатель увеличивался бы в результате оказания нам различных услуг — в точности, как при создании робота-слуги!) Можно было бы расценивать такой подход к назначению «целей» как искусственный, поскольку мы руководствуемся здесь разве что своими капризам. Но, в действительности, это не слишком уж отличается от способа, которым нам как индивидуумам определяются «цели» в процессе естественного отбора, где главенствующим фактором является необходимость распространять наши гены.

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

Вопрос, который мы должны задать: правда ли, что наше устройство может по-настоящему чувствовать боль, если его бу-показатель отрицателен, и удовольствие в противном случае? Да и способно ли оно чувствовать хоть что-нибудь вообще? Операционалист, конечно, сказал бы «Естественно, да!»; либо отбросил бы этот вопрос как бессмысленный. Но мне представляется, что здесь есть серьезный и сложный вопрос, который необходимо рассмотреть. На наши действие влияет множество разнообразных факторов. Некоторые из них осознанные, как боль или удовольствие, тогда как другие мы не воспринимаем сознанием. Это наглядно иллюстрируется примером человека, касающегося раскаленной плиты. Приводится в действие механизм, который заставляет человека непроизвольно отдернуть руку еще до того, как он почувствовал боль. Вполне может оказаться, что такие спонтанные действия гораздо ближе по своей природе к реакциям нашего устройства, обусловленным его бу-показателем, чем те, которые действительно вызваны болью или удовольствием.

При описании поведения машин часто — и, обычно, в шутку — используются «человеческие» понятия: «Моя машина не хотела заводиться сегодня утром»; или «Мои часы до сих пор думают, что они идут по калифорнийскому времени»; или «Мой компьютер заявляет, что не понимает последнюю команду и не знает, что делать дальше». Конечно же, мы никоим образом не подразумеваем, что машина действительно может чего-либо хотеть, часы — что-то думать, а компьютер[30] — о чем бы то ни было заявлять, а также понимать или даже знать, что он делает. Тем не менее подобные выражения могут быть поистине информативными и способствовать нашему пониманию, при условии, что мы их будем рассматривать только в том духе, в котором будем их произносить, а не в буквальном смысле слова. Я всегда занимаю в целом аналогичную позицию по отношению к различным заявлениям сторонников ИИ о том, что сконструированные человеком устройства могут обладать характеристиками сознания — безотносительно от того, что под этим подразумевается! Если я согласен говорить, что черепашка Грэя Уолтера может быть голодной, то только лишь в полушутливом тоне. И если я готов использовать такие термины типа «боль» или «удовольствие», связывая их с бу-показателем некоторого устройства, как я это делал выше, то единственная причина этому заключается в том, что эти выражения облегчают мое понимание поведения устройства благодаря определенным аналогиям с моим собственным поведением и состояниями сознания. Причем здесь я ни в коем случае не подразумеваю, что эти аналогии особенно близки, или что не существует прочих — нерегистрируемых сознанием — явлений, которые влияют на мое поведение гораздо более схожим образом.

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

Компьютеры станут быстрее, будут обладать высокоскоростным доступом к более вместительным устройствам хранения информации, иметь большее количество логических элементов и научатся выполнять большее число операций параллельно. Улучшится логическая структура и техника программирования. Эти машины — носители философии ИИ — значительно и всесторонне улучшат свои возможности. Более того: сама философия отнюдь не является абсурдной по самой своей сути. Возможно, что человеческий разум может и в самом деле быть смоделирован с очень большой степенью точности при помощи электронных компьютеров — тех самых, которыми мы располагаем сегодня и принципы действия которых нам уже понятны, — но более мощных по своим характеристикам, чье появление в ближайшие годы вполне предсказуемо. Вероятно даже, что эти устройства и вправду будут разумными; возможно, они будут думать, чувствовать и иметь собственный интеллект. Или же, наоборот, они не будут разумными, и потребуются какие-то новые принципы, в которых мы сегодня остро нуждаемся. В этом-то и заключается вопрос, от которого нельзя просто отмахнуться. Я постараюсь предоставить в ваше распоряжение факты так, как я их вижу; затем я приведу свои собственные соображения на этот счет.

Сильный ИИ и китайская комната Серла

Существует точка зрения, называемая сильный ИИ, которая занимает весьма радикальную позицию по этим вопросам[31]. Согласно теории сильного ИИ, не только вышеупомянутые устройства будут разумны и наделены интеллектом — свойства разума могут быть присущи логическим действиям любого вычислительного устройства, даже простейших из них, механических, одним из которых является, например, термостат[32]. Основная идея заключается в том, что умственная деятельность — это просто выполнение некоторой хорошо определенной последовательности операций, часто называемой алгоритмом. Далее я уточню это понятие. А пока нам будет достаточно определить алгоритм как своего рода вычислительную процедуру. В случае термостата алгоритм чрезвычайно прост: устройство фиксирует повышение или понижение температуры по отношению к заданной величине и размыкает или замыкает цепь, соответственно. Алгоритм, соответствующий более-менее нетривиальной деятельности головного мозга, должен быть гораздо более сложноструктурированным, но — согласно концепции сильного ИИ — это будет все же алгоритм. Он будет очень значительно отличаться от простейшего алгоритма термостата по степени сложности, но не обязательно будет иметь принципиальные отличия. Таким образом, с точки зрения сильного ИИ, существенная разница между деятельностью человеческого мозга (включая все проявления сознания) и работой термостата состоит единственно в этой самой усложненности (или, возможно, «структуре более высокого порядка», или «способности обращения к самому себе», или в любом другом свойстве, которое можно приписать алгоритму), имеющей место в первом случае.

И, что более важно, все свойства ума — мышление, способность чувствовать, интеллект, понимание, сознание — должны рассматриваться, согласно этому подходу, просто как разные аспекты сложной деятельности; иными словами, они есть не более, чем свойства алгоритма, выполняемого мозгом. Достоинства любого конкретного алгоритма заключаются в его «технических характеристиках», таких как точность результатов, область применимости, экономичность и скорость выполнения. Алгоритм, нацеленный на подражание тому, что, как предполагается, действует в мозге человека, должен быть невообразимо сложным. Но если такой алгоритм для мозга существует — а это как раз то, что с уверенностью утверждают поборники идеи сильного ИИ, — то он в принципе мог бы быть запущен на компьютере. В сущности, он мог бы выполняться на любом современном компьютере общего назначения, если бы не имеющиеся ограничения по скорости и пространству для хранения данных. (Обоснование этого замечания будет дано позднее, когда мы перейдем к рассмотрению универсальной машины Тьюринга.) Предполагается, что такие ограничения будут сняты с появлением в недалеком будущем мощных быстродействующих машин. Тогда такой алгоритм, если он будет открыт, мог бы, вероятно, пройти тест Тьюринга. И как только он будет запущен, считают сторонники сильного ИИ, он будет сам по себе испытывать чувства, обладать сознанием, быть разумом.

Далеко не каждый согласится с тем, что разумные состояния и алгоритмы можно считать идентичными в указанном контексте. Наиболее остро критиковал эту точку зрения американский философ Джон Серл [1980, 1987]. Он приводил в пример ситуации, когда должным образом запрограммированный компьютер проходил упрощенную версию теста Тьюринга, и все же — он подкрепляет эти выводы очень сильными аргументами — «понимание» как свойство интеллекта полностью отсутствовало. Один из таких примеров базируется на компьютерной программе, разработанной Роджером Шенком (Шенк, Абельсон [1977]). Задачей программы была имитация понимания простых историй типа: «Мужчина вошел в ресторан и заказал гамбургер. Когда гамбургер принесли, оказалось, что он сильно подгорел, и рассерженный мужчина выскочил из ресторана, не заплатив по счету и не оставив чаевых». В качестве второго примера можно взять другую историю: «Мужчина вошел в ресторан и заказал гамбургер. Когда его принесли, мужчина остался им очень доволен. И, покидая ресторан, он дал официанту щедрые чаевые перед тем, как заплатить по счету». Чтобы проверить «понимание» этих историй компьютером, его «попросили» определить, съел ли мужчина гамбургер в каждом отдельном случае (факт, который не был упомянут в тексте явным образом). На этот простой вопрос к таким простым историям компьютер может дать ответ, совершенно неотличимый от того, что дал бы англоговорящий человек, а именно: «нет» в первом случае и «да» — во втором. Так что в этом, очень узком, смысле машина уже прошла тест Тьюринга!

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

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

Во-вторых, нужно всегда помнить о том, что выполнение даже сравнительно простой компьютерной программы оказывается в большинстве случаев длительным и трудным процессом, если за него берется человек, манипулирующий символами. (В конце концов, именно по этой причине мы доверяем такие действия компьютерам!) Если бы Серл в самом деле выполнял указанным выше способом алгоритм Шенка, то ему для ответа на совсем простой вопрос понадобились бы дни, месяцы, а то и годы изнурительно однообразной работы — не слишком правдоподобное занятие для философа! Однако, это не представляется мне таким уж серьезным возражением, поскольку здесь мы рассматриваем вопрос в принципе и не касаемся технических деталей. Больше затруднений вызывает предположение о наличии компьютерной программы, способной сравниться с человеческим мозгом и, тем самым, безупречно пройти тест Тьюринга. Любая подобная программа должна быть невероятно сложной. Нетрудно вообразить, что действие такой программы, необходимое для нахождения ответа даже на сравнительно простой вопрос теста Тьюринга, состояло бы из столь большого количества шагов, что ни для одного человеческого существа выполнение соответствующего алгоритма за период, равный средней продолжительности жизни, было бы невозможным. Так ли это на самом деле — трудно сказать, не имея подобной программы в своем распоряжении[34]. Но, в любом случае, вопрос о чрезвычайной сложности (программы), по-моему, игнорировать нельзя. Понятно, что мы говорим о принципиальной стороне дела; и все же мне не кажется таким уж невероятным существование некоторой «критической» степени сложности алгоритма, которой необходимо достигнуть, чтобы алгоритм начал обладать качествами разума. Возможно, это критическое значение так велико, что ни один алгоритм, имеющий столь сложную структуру, не может быть выполнен вручную ни одним человеческим существом, как то предлагает Серл.

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

Этот аргумент выглядит значительно слабее предыдущего. Я думаю, что доказательство Серла наиболее убедительно в случае одного исполнителя алгоритма, где мы должны ограничиться алгоритмом, чья степень сложности допускает его выполнение за время, не превышающее нормальную продолжительность человеческой жизни. Я не рассматриваю этот аргумент как непреложное свидетельство того, что не существует никакого бестелесного «понимания», ассоциируемого с процессом выполнения алгоритма людьми, чье присутствие никак не влияет на их собственное сознание. Однако, я бы скорее согласился с Серлем, что эта возможность представляется, мягко говоря, малоправдоподобной. Мне сдается, что довод Серла весьма убедителен, хотя и не является решающим. Он с очевидностью демонстрирует, что алгоритм такой степени сложности, которой обладает компьютерная программа Шенка, не может иметь какого бы то ни было понимания выполняемых задач; также из него предположительно следует (и не более того), что ни один алгоритм, независимо от сложности его структуры, не может сам по себе воплощать настоящее понимание — вопреки утверждениям поборников сильного ИИ.

Существуют, на мой взгляд, и иные очень серьезные проблемы, связанные с сильным ИИ. Согласно этой точке зрения, единственное, что имеет значение — это алгоритм. И совершенно неважно, кто приводит его в действие: человеческий мозг, электронный компьютер, целое государство индийцев, механическое устройство из колесиков и шестеренок или система водопроводных труб. В рамках этой теории существенным для воплощения заданного «состояния разума» является сама логическая структура алгоритма, а его физическая реализация никакой роли не играет. Но, как указывает Серл, это может привести к определенной форме дуализма. Дуализм — это философское мировоззрение, апологетом которого был в высшей степени влиятельный философ и математик XVII века Рене Декарт, утверждавший, что существуют две различные субстанции: «разумная субстанция» и обычная материя. Влияют ли они друг на друга, и если да, то каким образом — это уже отдельный вопрос. Ключевое положение этой точки зрения заключается в гипотезе о том, что «разумная субстанция» не может состоять из материи обычной и способна существовать независимо от нее. «Разумная субстанция» в представлениях сильного ИИ — это логическая структура алгоритма. Как я отмечал выше, ее физическое воплощение не имеет никакого значения. Алгоритм обладает неким бесплотным существованием, никак не связанным с конкретной физической реализацией. Насколько серьезно мы должны воспринимать такой вид существования — вопрос, к которому мне придется вернуться в следующей главе. Он представляет собой часть более глобального вопроса о платонистической реальности абстрактных математических объектов.

Пока же я обойду эту общую тему стороной и отмечу только, что сторонники сильного ИИ, по-видимому, принимают всерьез возможность подобного существования в случае алгоритмов, полагая, что те являются самой «сущностью» их мыслей, чувств, понимания и сознательного восприятия. В связи с этим Серл указал на примечательный в своей ироничности факт: теория сильного ИИ может привести к крайней форме дуализма — к той точке зрения, к которой сторонники сильного ИИ менее всего хотели бы иметь отношение!

Эта дилемма просматривается в рассуждениях, предложенных Дугласом Хофштадтером [1981] — убежденным сторонником сильного ИИ — в диалоге с названием «Беседа с мозгом Эйнштейна». Хофштадтер выставляет на обозрение книгу, имеющую абсурдно большие размеры и содержащую, по его утверждению, полное описание мозга Альберта Эйнштейна. Идея такова: на любой вопрос, который кто-либо пожелал бы задать Эйнштейну, можно получить ответ в точности такой, каким был бы ответ живого Эйнштейна, если просто листать книгу и тщательно следовать всем приведенным в ней инструкциям. Конечно же, слово «просто» здесь совершенно неуместно, как то особо оговаривает сам Хофштадтер. Ведь смысл его утверждения иной: принципиально эта книга полностью эквивалентна (в операционалистском смысле теста Тьюринга) до смешного медленной «версии» настоящего Эйнштейна. Тем самым, если следовать положениям теории сильного ИИ, эта книга должна была бы думать, чувствовать, понимать и осознавать в точности так, как это делал бы сам Эйнштейн, только невероятно медленно (так что для этого «книго-Эйнштейна» внешний мир казался бы мелькающим перед ним с огромной скоростью). И естественно, что книга, представляющая из себя частную реализацию алгоритмизованной «сущности» Эйнштейна, была бы как раз-таки самим Эйнштейном.

Но тут возникает другая трудность. Книгу могут не открыть ни разу — или же, напротив, над ней будут корпеть многочисленные студенты и искатели истины. Как книга «поймет» разницу между этими двумя крайностями? Возможно, книгу даже не понадобится открывать, если в ход будет пущено считывание информации при помощи рентгеновской томографии или какое-нибудь другое технологическое чудо-средство. Осознает ли Эйнштейн, что книга изучается подобным образом? Будет ли он знать о двух попытках найти с его помощью ответ на один и тот же вопрос, если он был задан дважды, разными людьми и в разное время? Или это вызовет две разделенные по времени копии одного и того же состояния осознания? Возможно, акт осознавания будет иметь место только в случае изменений, произошедших с книгой? В конце концов, мы обычно осознаем нечто, когда получаем о нем информацию извне, которая воздействует на наши воспоминания и, естественно, несколько изменяет состояние нашего ума. Если это так, то означает ли это, что именно (соответствующие) изменения алгоритмов (здесь я рассматриваю хранилище информации как часть алгоритма) должны приниматься за события, происходящие в процессе умственной деятельности — а не само выполнение (хотя, быть может, и оно тоже) алгоритмов? Или же «книго-Эйнштейн» способен полностью осознавать себя даже в том случае, когда его никто не будет изучать и ничто не потревожит? Хофштадтер затрагивает некоторые из этих вопросов, но на большинство из них он даже не пытается по-настоящему ответить или хотя бы подробно разобраться с ними.

Что значит «запустить алгоритм» или «реализовать его физически»? Будет ли изменение алгоритма как-нибудь отличаться от его замены на другой алгоритм? И как же все это, черт побери, связано с нашими чувствами и осознаванием?! Читатель (если только он не принадлежит к лагерю сторонников сильного ИИ) может удивиться, видя сколько времени я уделяю такой заведомо абсурдной идее. Но я-то, и в самом деле, не считаю ее изначально абсурдной — только лишь неверной! Некоторые рассуждения, на которые опирается теория сильного ИИ, я считаю достаточно убедительными и попытаюсь обосновать свое мнение ниже. В некоторых идеях — если их модифицировать подходящим образом — есть, на мой взгляд, определенная привлекательность, которую я также постараюсь передать.

Более того: как мне кажется, те самые контраргументы, которые приводит Серл, в свою очередь тоже содержат ряд серьезных головоломок и кажущихся нелепостей — хотя, в какой-то степени, я с ним и согласен!

Серл в ходе своих рассуждений неявным образом признает, что сегодняшние электронные компьютеры, снабженные значительно увеличенными быстродействием и размерами устройств хранения информации с высокой скоростью обмена данными (и, возможно, параллельным выполнением операций), вполне могли бы в обозримом будущем успешно пройти тест Тьюринга. Он готов признать утверждение сторонников сильного ИИ (и многих других «научных» точек зрения), что мы «просто конкретные экземпляры реализации некоторого числа компьютерных программ». Более того, он соглашается и с тем, что: «Конечно, наш мозг является цифровым компьютером. Поскольку всё есть цифровые компьютеры, то и мозг — тоже[35]» Серл полагает, что разница между действием человеческого мозга (который может иметь разум) и электронным компьютером (который, как он утверждает, такого свойства не имеет), когда они выполняют один и тот же алгоритм, состоит исключительно в материальной конструкции того и другого. Он заявляет — правда, не давая этому никакого обоснования — что биологические объекты (мозг) могут обладать «ментальностью» и «семантикой», которые он считает основополагающими для умственной деятельности, тогда как компьютеры — нет. Само по себе, как мне кажется, это не может указать направление развития некой полезной научной теории интеллекта. Что уж такого особенного есть в биологических системах — если не принимать в расчет их «исторический» путь развития (и того, что мы оказались как раз такими системами), — что могло бы выделить их в качестве объектов, которым позволено «дорасти» до ментальности или семантики? Это заявление подозрительно напоминает мне догматическое утверждение, причем не менее догматического свойства, чем утверждения сторонников сильного ИИ о том, что, просто выполняя алгоритм, можно вызвать состояние осознанного восприятия!

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

«Железо» и «софт»

На компьютерном жаргоне слово «железо» используется для обозначения всех устройств и элементов, из которых состоит компьютер (печатные платы, транзисторы, провода, накопители на магнитных дисках, и т. п.), включая также полное руководство по сборке. Аналогичным образом термин «софт» относится к различным программам, которые могут выполняться на компьютере. Одним из замечательных открытий Тьюринга было то, что, по существу, любая машина с начинкой из «железа», характеризуемого определенной степенью сложности и гибкости, эквивалентна любой другой машине с такими параметрами. Эквивалентность двух машин (скажем, А и В) здесь должна пониматься в смысле точного соответствия действий А — при соответствующем заложенном в нее программном обеспечении — действиям В, и наоборот. Я употребляю здесь слово «точный» по отношению к конечным результатам, получающимся при введении в машины произвольных начальных данных (после того, как уже было введено преобразующее программное обеспечение), а не в смысле равенства времени, затраченного каждой машиной на получение ответа. Кроме этого, я допускаю для обеих машин возможность получения доступа к дополнительным (и, в принципе, неограниченным) внешним запасам чистых «черновиков» — магнитным пленкам, дискам, барабанам или иным носителям информации, — если какая-либо из них начинает испытывать нехватку в пространстве для хранения промежуточных результатов вычислений. Вообще говоря, разница между машинами А и В в затрачиваемом на выполнение некоторого задания времени может оказаться весьма серьезной. Вполне возможно, например, что машина А будет выполнять определенную задачу в тысячу раз быстрее, чем В. Равным образом может статься, что для другого задания время его выполнения машиной В окажется в тысячу раз меньше, чем машиной А. Более того, эти конкретные показатели могут в значительной степени зависеть от выбора используемых для конвертации программ. Но в рамках этой дискуссии нет нужды рассматривать такие практические аспекты, как способность выполнять вычисления за определенное время, поскольку наши рассуждения носят по большей части «принципиальный» характер. В следующем разделе я конкретизирую содержание тех концепций, которые затрагиваются здесь: машины А и В являют собой примеры того, что называют универсальными машинами Тьюринга.

В сущности, все современные общеупотребительные компьютеры — это универсальные машины Тьюринга. Тем самым все такие компьютеры будут эквивалентны друг другу в вышеупомянутом смысле: различия между ними будут заключаться единственно в программном обеспечении, при условии, что нас не волнует разница в скорости выполнения операции и возможные ограничения пространства для хранения данных. Но современные технологии сделали компьютеры способными работать так быстро и с такими огромными объемами памяти, что для большей части «повседневных» задач ни один из этих практических аспектов не накладывает серьезных ограничений на спектр решаемых такими компьютерами задач[36] — так что эта эффективная эквивалентность, введенная на теоретическом уровне, просматривается и на практике. Кажется, что технология превратила совершенно абстрактные когда-то академические дискуссии об идеальных вычислительных устройствах — в устройства реальные, и непосредственно влияющие на нашу жизнь!

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

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

Второе возражение приходит из квантовой физики — и, по странной иронии, находится, строго говоря, в прямом противоречии с первым! Согласно квантовой механике (и мы узнаем об этом больше в главе 6) любые два электрона должны быть с необходимостью одинаковыми; и то же самое справедливо в отношении двух произвольно взятых протонов или пары любых других частиц, относящихся к одному типу. То, что подразумевается под этим, отнюдь не ограничивается утверждением об их неразличимости — оно значительно сильнее. Если пришлось бы поменять между собой электрон в человеческом мозге и электрон в кирпиче, то состояние системы осталось бы в точности тем же самым[37], что и до этого — тем же самым, а не просто неотличимым! Аналогичное правило справедливо и для протонов, и для других разновидностей частиц, а также для целых атомов, молекул и т. п. Если весь материал человеческого тела заместить соответствующими частицами кирпичей из его дома, то, в буквальном смысле, вообще ничего не изменится.

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

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

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

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

Основанием для подобных заявлений служит, вероятно, убежденность в том, что какую бы материальную форму не принимало «железо» — пусть это будет, например, какое-нибудь электронное устройство, — ему можно будет всегда «задать» вопрос-программу (в духе теста Тьюринга), и ответ на него, в предположении о способности «железа» адекватно вычислять ответы на эти вопросы, будет неотличим от ответа человека, данного им в нормальном психическом состоянии. («Как вы чувствуете себя сегодня утром?» — «О, вполне сносно, хотя мне немного докучает легкая головная боль». — «Значит, вы не чувствуете… э-э… ну, чего-нибудь необычного, связанного с вашей личностью… ничего такого?» — «Нет. А почему вы спрашиваете об этом? Довольно странный, знаете ли, вопрос…» — «То есть вы чувствуете себя тем же самым человеком, что и вчера?» — «Ну конечно!»)

Идея, которую часто обсуждают в связи с этим, носит в фантастической литературе название телепортационной машины[38]. Предполагается использовать ее для транспортировки, допустим, с одной планеты на другую; но будет ли она работать именно таким образом — это как раз и является предметом обсуждения. Вместо того, чтобы перемещаться «обычным» путем — на космическом корабле, — гипотетический путешественник подвергается сканированию с макушки до пят, при котором со всей возможной аккуратностью фиксируется положение и характеристики каждого атома в его теле. Затем вся эта информация передается со скоростью света при помощи любого подходящего электромагнитного сигнала на ту планету, где он хотел бы оказаться. Там эта информация собирается воедино и используется в качестве инструкций для создания точной копии путешественника, со всеми его воспоминаниями, устремлениями, надеждами и самыми глубокими чувствами. По крайней мере, так это должно выглядеть на практике: все детали состояния мозга подробно записываются, затем передаются, и по этим данным происходит реконструирование. Если предположить, что все произошло так, как надо, то оригинал можно «безболезненно» уничтожить. В таком случае возникает вопрос: является ли такой механизм настоящим путешествием с одного места на другое — или же это просто создание дубликата, сопровождающееся убийством оригинала? Будете ли вы готовы воспользоваться таким способом «путешествия» при условии, что он подтвердит свою стопроцентную надежность? Если телепортация не является путешествием, то в чем же заключается принципиальная разница между ней и простым переходом из одной комнаты в другую? А в последнем случае — разве не определяют атомы в один момент времени информацию об их положении в последующие моменты? В конце концов, мы видели, что сохранять «индивидуальность» какого бы то ни было атома — нецелесообразно. Вопрос об индивидуальных характеристиках атома вообще не имеет смысла. Разве произвольная движущаяся структура из атомов не представляет собой своего рода волну информации, распространяющуюся между точками пространства? Тогда есть ли существенная разница между распространением волн, несущих информацию о переходящем из комнаты в комнату человеке, — и тех, что посылаются устройством телепортации?

Допустим, что телепортация действительно «работает» в том смысле, что «сознание» путешественника на самом деле просыпается в его двойнике, находящемся на далекой планете. Что тогда произойдет в том случае, если мы, в нарушение правил игры, не уничтожим оригинал путешественника? Будет ли его «сознание» одновременно в двух разных местах? (Попытайтесь представить свою реакцию на следующее заявление: «Ах, дорогой, похоже, суспензия, которую мы дали тебе перед посадкой в Телепортатор, испортилась раньше срока? Да, вышло не очень удачно, хотя это не так страшно. В любом случае, тебе, наверное, будет приятно услышать, что другой ты — ну-у, то есть, конечно, настоящий ты — прибыл на Венеру в целости и сохранности, поэтому мы можем… э-э… избавиться от тебя здесь — нет, я имею виду… ну, от ненужной больше копии. Разумеется, это пройдет совершенно безболезненно».) Возникает парадоксальная ситуация. Существуют ли в физике законы, делающие телепортацию принципиально невозможной? С другой стороны, возможно, там нет никаких абсолютных запретов на такую «передачу» человека и его сознания, но сам принцип «копирования» предполагает неизбежное уничтожение оригинала? Может быть, сохранение двух дееспособных копий запрещено в принципе? Хотя эти рассуждения носят отстраненный характер, я все же верю, что из них можно извлечь кое-какие полезные сведения о физической природе сознания и индивидуальности. Я вижу в них явное указание на ту существенную роль, которую играет квантовая механика в понимании явлений умственной деятельности. Но я слишком забегаю вперед. К этой теме необходимо будет вернуться после того, как мы изучим структуру квантовой теории в главе 6.

Давайте посмотрим, какое отношение имеет теория сильного ИИ к вопросу о телепортации. Мы предположим, что где-то между двумя планетами располагается ретрансляционная станция, на которой полученная информация некоторое время хранится перед тем, как быть отправленной к месту своего назначения. Для удобства эта информация записывается не в человеческой форме, а в каком-нибудь электронном или магнитном устройстве. Будет ли человеческое «сознание» присутствовать в этом устройстве? Приверженцы сильного ИИ постарались бы убедить вас в том, что это будет именно так. Ведь в конечном счете, сказали бы они вам, на любой вопрос, который мы решили бы задать путешественнику, могло бы, в принципе, ответить и это устройство — если «просто» сымитировать соответствующую функцию его мозга. Устройство располагало бы всей необходимой информацией, и дело стало бы только за вычислениями. А если устройство отвечает на вопросы в точности также, как если бы это был путешественник, то (с точки зрения теста Тьюринга!) оно им и является. В качестве основы для такого вывода здесь опять выступает известное утверждение сторонников сильного ИИ: для явлений, связанных с умственной деятельностью, «железо» не имеет никакого значения. Это утверждение кажется мне неправомочным. Оно, в свою очередь, основывается на представлении о мозге (или разуме) как о цифровом компьютере. И подразумевает, что нет каких-то особых физических процессов, приводящихся в действие, когда человек думает, которые могли бы требовать для своей реализации ту конкретную физическую (биологическую, химическую) структуру, которой обладает мозг.

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

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

Глава 2

Алгоритмы и машины Тьюринга

Основы алгоритмов

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

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

Слово «алгоритм» происходит от имени персидского математика IX века Абу Джафара Мухаммеда ибн Мусы аль-Хорезми, написавшего около 825 года н. э. руководство по математике «Kitab al-jabr wa’l-muqa-bala», которое оказало значительное влияние на математическую мысль того времени. Современное написание «алгоритм», пришедшее на смену более раннему и точному «алгоризм», своим происхождением обязано, скорее всего, ассоциации со словом «арифметика»[39]. (Примечательно, что и слово «алгебра» происходит от арабского al-jabr, фигурирующего в названии вышеупомянутой книги.)

Примеры алгоритмов были, однако, известны задолго до появления книги аль-Хорезми. Один из наиболее известных — алгоритм Евклида — процедура отыскания наибольшего общего делителя двух чисел, восходит к античности (примерно 300 лет до н. э.). Давайте посмотрим, как он работает. Возьмем для определенности два числа, скажем, 1365 и 3654. Наибольшим общим делителем двух чисел называется самое большое натуральное число, на которое делится каждое из этих чисел без остатка. Алгоритм Евклида состоит в следующем. Мы берем одно из этих чисел, делим его на другое и вычисляем остаток: так как 1365 входит дважды в 3654, в остатке получается 3654 ―

2 х 1365 = 924.

Далее мы заменяем наши два исходные числа делителем (1365) и полученным остатком (924), соответственно, производим с этой парой ту же самую операцию и получаем новый остаток:

1365 — 924 = 441.

Для новой пары чисел — а именно, 924 и 441, — получаем остаток 42. Эту процедуру надо повторять до тех пор, пока очередная пара чисел не поделится нацело. Выпишем эту последовательность:

3654:1365

дает в остатке 924

1365:924

дает в остатке 441

924:421

дает в остатке 42

441:42

дает в остатке 21

42:21

дает в остатке 0

Последнее число, на которое мы делим, а именно 21, и есть искомый наибольший общий делитель.

Алгоритм Евклида является систематической процедурой, которая позволяет найти этот делитель. Мы только что применили эту процедуру к двум конкретным числам, но она работает и в самом общем случае с произвольными числами. Для очень больших чисел эта процедура может занять много времени, и будет выполняться тем дольше, чем больше сами числа. Но в каждом конкретном случае выполнение процедуры в конце концов заканчивается, приводя за конечное число шагов к вполне определенному ответу. На каждом этапе мы точно представляем себе действие, которое должно быть выполнено, и точно знаем, когда получен окончательный результат. Более того, всю процедуру можно описать конечным числом терминов, несмотря на то, что она может применяться к любым, сколь угодно большим натуральным числам. («Натуральными числами» называются неотрицательные[40] целые числа 0,1,2,3,4,5,6,7,8,9,10,11….) На самом деле нетрудно изобразить (конечную) блок-схему, описывающую логическую последовательность операций алгоритма Евклида (рис. 2.1).

Новый ум короля

рис 2.1

Нужно заметить, что на схеме эта процедура не до конца разбита на простейшие составляющие, поскольку мы неявным образом предположили, что нам уже «известно», как выполнять необходимую базовую операцию получения остатка от деления двух произвольных натуральных чисел А и В. Эта операция, в свою очередь, также алгоритмична и выполняется при помощи хорошо знакомой нам со школы процедуры деления. Эта процедура, на самом деле, сложнее, чем все остальные части алгоритма Евклида, но и она может быть представлена в виде блок-схемы. Основное затруднение здесь возникает из-за использования привычной «десятичной» записи натуральных чисел, что вынуждает нас выписывать все таблицы умножения, учитывать перенос и т. п. Если бы для представления некоторого числа n мы использовали последовательность из n каких-нибудь одинаковых знаков, например, пяти звездочек (*****) для обозначения пятерки, то определение остатка свелось бы к совершенно элементарной алгоритмической операции. Для того чтобы получить остаток от деления А на В, достаточно просто убирать из записи числа А последовательность знаков, представляющих В, до тех пор, пока на некотором этапе оставшееся число знаков в записи А не станет недостаточным для выполнения следующего шага. Эта последовательность знаков и даст требуемый ответ. Например, желая получить остаток от деления 17 на 5, мы просто будем последовательно удалять ***** из *****************, как это показано ниже:

*****************

************

*******

* *,

и в результате получим, очевидно, 2, так как следующее удаление уже станет невозможно. Блок-схема изложенного выше процесса нахождения остатка от деления путем последовательных вычитаний приведена на рис. 2.2.

Новый ум короля

Рис 2.2

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

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

Алгоритм Евклида — это лишь одна из многих, часто классических, алгоритмических процедур, встречающихся в математике повсеместно. Но, вероятно, не лишним будет отметить, что, несмотря на значительный исторический возраст отдельных алгоритмов, точная формулировка универсального определения алгоритма появилась только в двадцатом веке. В 1930-х годах было предложено несколько альтернативных формулировок этого понятия, из которых наиболее емкая и убедительная — и, к тому же, наиболее значимая в историческом плане — опирается на понятие машины Тьюринга. Поэтому нам будет полезно рассмотреть некоторые свойства этих «машин».

Прежде всего следует помнить, что «машина» Тьюринга принадлежит области «абстрактной математики» и ни в коем случае не является физическим объектом. Это понятие было введено в 1935–1936 годах английским математиком и кибернетиком Аланом Тьюрингом, внесшим огромный новаторский вклад в развитие компьютерной науки (Тьюринг [1937]). Тьюринг рассматривал задачу весьма общего характера (известную как проблема алгоритмической разрешимости), которая была поставлена великим немецким математиком Давидом Гильбертом частично в 1900 году на Парижском Конгрессе математиков (так называемая «десятая проблема Гильберта»), и более полно — на международном конгрессе 1928 года в Болонье. Проблема, поставленная Гильбертом, состояла ни больше, ни меньше как в отыскании универсальной алгоритмической процедуры для решения математических задач или, вернее, ответа на вопрос о принципиальной возможности такой процедуры. Кроме того, Гильберт сформулировал программу, целью которой было построение математики на несокрушимом фундаменте из аксиом и правил вывода, установленных раз и навсегда. Но к тому моменту, когда Тьюринг написал свою великую работу, сама идея этой программы уже была опровергнута поразительной теоремой, доказанной в 1931 году блестящим австрийским логиком Куртом Геделем. Мы рассмотрим теорему Геделя и ее значение в четвертой главе. Проблема Гильберта, которую исследовал Тьюринг (Entscheidungsproblem), не зависит от какого-либо конкретного построения математики в терминах аксиоматической системы. Вопрос формулировался так: существует ли некая универсальная механическая процедура, позволяющая, в принципе, решить все математические задачи (из некоторого вполне определенного класса) одну за другой?

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

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

Концепция Тьюринга

Попробуем представить себе устройство, предназначенное для выполнения некоторой (конечноопределенной) вычислительной процедуры. Каким могло бы быть такое устройство в общем случае? Мы должны быть готовы к некоторой идеализации и не должны обращать внимания на практические аспекты — мы на самом деле рассматриваем математическую идеализацию «машины». Нам нужно устройство, способное принимать дискретное множество различных возможных состояний, число которых конечно (хотя и может быть очень большим). Мы назовем их внутренними состояниями устройства. Однако мы не хотим, чтобы объем выполняемых на этом устройстве вычислений был принципиально ограничен. Вспомним описанный выше алгоритм Евклида. В принципе, не существует предельной величины числа, после которой алгоритм перестает работать. Этот алгоритм, или некая общая вычислительная процедура, будет тем же самым независимо от того, сколь велики числа, к которым он применяется. Естественно, для очень больших чисел выполнение процедуры может занять много времени и может потребоваться огромное количество «черновиков» для выполнения пошаговых вычислений. Но сам по себе алгоритм останется тем же конечным набором инструкций, сколь бы большими ни были эти числа.

Значит, несмотря на конечность числа внутренних состояний, наше устройство должно быть приспособлено для работы с входными данными неограниченного объема. Более того, устройство должно иметь возможность использовать внешнюю память неограниченного объема (наши «черновики») для хранения данных, необходимых для вычислений, а также уметь выдавать окончательное решение любого размера. Поскольку наше устройство имеет только конечное число различных внутренних состояний, мы не можем ожидать, что оно будет «хранить внутри себя» все внешние данные, равно как и результаты своих промежуточных вычислений. Напротив, оно должно обращаться только к тем данным и полученным результатам, с которыми оно работает непосредственно в настоящий момент, и уметь производить над ними требуемые (опять же, в данный момент) операции. Далее, устройство записывает результаты этих операций — возможно, в отведенной для этого внешней памяти — и переходит к следующему шагу. Именно неограниченные объемы входных данных, вычислений и окончательного результата говорят о том, что мы имеем дело с идеализированным математическим объектом, который не может быть реализован на практике (рис. 2.3).

Новый ум короля

Рис. 2.3. Точная машина Тьюринга требует бесконечной ленты!

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

На самом деле память устройства, которая выше была названа «внешней», можно рассматривать как внутренний компонент современного компьютера. Но это уже технические детали — рассматривать часть объема для хранения информации как внутреннюю или внешнюю по отношению к устройству. Одним из способов проводить такое деление между «устройством» и «внешней» частью могло бы стать использование понятий аппаратного (hardware) и программного (software) обеспечения вычислений. В этой терминологии внутренняя часть могла бы соответствовать аппаратному обеспечению (hardware), тогда как внешняя — программному обеспечению (software). Я не буду жестко придерживаться именно этой классификации, однако, какую бы точку зрения мы не заняли, не вызывает сомнений, что идеализация Тьюринга достаточно точно аппроксимируется современными электронными компьютерами.

Тьюринг представлял внешние данные и объем для хранения информации в виде «ленты» с нанесенными на нее метками. Устройство по мере необходимости могло обращаться к этой ленте, «считывать» с нее информацию и перемещать ее вперед или назад в ходе выполнения операций. Помимо этого, устройство могло ставить новые метки на ленту и стирать с нее старые, что позволяло использовать одну и ту же ленту и как внешнюю память (то есть «черновик»), и как источник входных данных. На самом деле, не стоило бы проводить явное различие между этими двумя понятиями, поскольку во многих операциях промежуточные результаты вычислений могут играть роль новых исходных данных. Вспомним, что при использовании алгоритма Евклида мы раз за разом замещали исходные числа (А и В) результатами, полученными на разных этапах вычислений. Сходным образом та же самая лента может быть использована и для вывода окончательного результата («ответа»). Лента будет двигаться через устройство туда-сюда до тех пор, пока выполняются вычисления. Когда, наконец, все вычисления закончены, устройство останавливается, и результат вычислений отображается на части ленты, лежащей по одну сторону от устройства. Для определенности будем считать, что ответ всегда записывается на части ленты, расположенной слева от устройства, а все исходные числовые данные и условия задачи — на части ленты, расположенной справа от него.

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

В представлении Тьюринга «лента» состоит из бесконечной в обоих направлениях линейной последовательности квадратов. Каждый квадрат либо пуст, либо помечен[41]. Использование помеченных и пустых квадратов означает, что мы допускаем разбиение нашего «окружения» (т. е. ленты) на части и возможность его описания множеством дискретных элементов (в противоположность непрерывному описанию). Это представляется вполне разумным, если мы хотим, чтобы наше устройство работало надежно и совершенно определенным образом. В силу используемой математической идеализации мы допускаем (потенциальную) бесконечность «окружения», однако в каждом конкретном случае входные данные, промежуточные вычисления и окончательный результат всегда должны быть конечными. Таким образом, хотя лента и имеет бесконечную длину, на ней должно быть конечное число непустых квадратов. Другими словами, и с той, и с другой стороны от устройства найдутся квадратики, после которых лента будет абсолютно пустой. Мы обозначим пустые квадраты символом «0», а помеченные — символом «1», например:

Новый ум короля

Нам нужно, чтобы устройство «считывало» информацию с ленты. Мы будем считать, что оно считывает по одному квадрату за раз и смещается после этого ровно на один квадрат влево или вправо. При этом мы не утрачиваем общности рассуждений: устройство, которое читает за один раз n квадратов или перемещается на k квадратов, легко моделируется устройством, указанным выше. Передвижение на k квадратов можно построить из к перемещений по одному квадрату, а считывание n квадратов за один прием сводится к запоминанию результатов n однократных считываний.

Что именно может делать такое устройство? Каким образом в самом общем случае могло бы функционировать устройство, названное нами «механическим»? Вспомним, что число внутренних состояний нашего устройства должно быть конечным. Все, что нам надо иметь в виду помимо этого — это то, что поведение нашего устройства полностью определяется его внутренним состоянием и входными данными. Входные данные мы упростили до двух символов — «0» и «1». При заданном начальном состоянии и таких входных данных устройство должно работать совершенно определенным образом: оно переходит в новое состояние (или остается в прежнем), заменяет считанный символ 0 или 1 тем же или другим символом 1 или 0, передвигается на один квадрат вправо или влево, и наконец, оно решает, продолжить вычисления или же закончить их и остановиться.

Чтобы явно определить операции, производимые нашим устройством, для начала пронумеруем его внутренние состояния, например: 0,1,2,3,4,5. Тогда действия нашего устройства, или машины Тьюринга, полностью определялись бы неким явным списком замен, например:

00 → 00R

01 → 131L

10 → 651R

11 → 10R

20 → 01R.STOP

21 → 661L

30 → 370R

• •

• •

• •

2100 → 31L

• •

• •

• •

2581 → 00R.STOP

2590 → 971R

2591 → 00R.STOP

Выделенная цифра слева от стрелки — это символ на ленте, который устройство в данный момент считывает. Оно заменяет этот символ выделенной цифрой в середине справа от стрелки. R означает, что устройство должно переместиться вдоль ленты на один квадрат вправо, a L соответствует такому же перемещению влево. (Если, в соответствии с исходным представлением Тьюринга, мы полагаем, что движется не устройство, а лента, то R означает перемещение ленты на один квадрат влево, a Lвправо.) Слово STOP означает, что вычисления завершены и устройство должно остановиться. Например, вторая инструкция 01 → 131L говорит о том, что если устройство находится в начальном состоянии 0 и считывает с ленты 1, то оно должно перейти в состояние 13, оставить на ленте тот же символ 1 и переместиться по ленте на один квадрат влево. Последняя же инструкция 2591 → 00R.STOP говорит о том, что если устройство находится в состоянии 259 и считывает с ленты 1, то оно должно вернуться в состояние 0, стереть с ленты 1, т. е. записать в текущий квадрат 0, переместиться по ленте на один квадрат вправо и прекратить вычисления.

Вместо номеров 0, 1, 2, 3, 4, 5…. для обозначения внутренних состояний мы можем — и это более соответствовало бы знаковой системе нанесения меток на ленту — прибегнуть к системе нумерации, построенной только на символах «0» и «1». Состояние n можно было бы обозначить просто последовательностью из n единиц, но такая запись неэффективна. Вместо этого мы используем двоичную систему счисления, ставшую теперь общепринятой:

0 → 0,

1 → 1,

2 → 10,

3 → 11,

4 → 100,

5 → 101,

6 → 110,

7 → 111,

8 → 1000,

9 → 1001,

10 → 1010,

11 → 1011,

12 → 1100 и т. д.

Здесь последняя цифра справа соответствует «единицам» точно так же, как и в стандартной (десятичной) системе записи, но цифра прямо перед ней показывает число «двоек», а не «десятков». В свою очередь третья цифра справа относится не к «сотням», а к «четверкам»; четвертая — к «восьмеркам», а не к «тысячам» и т. д. При этом разрядность каждой последующей цифры (по мере продвижения влево) дается соответственной степенью двойки: 1, 2, 4 (= 2 х 2), 8 (= 2 х 2 х 2), 16 (= 2х2х2х2), 32 (= 2x2x2х2х2). (В дальнейшем нам будет иногда удобно использовать в качестве основания системы счисления числа, отличные от «2» и «10». Например, запись десятичного числа 64 по основанию «три» даст 2101, где каждая цифра теперь — некоторая степень тройки:

64 = (2 х З3) + З2 + 1; см. главу 4).

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

Новый ум короля

Здесь я к тому же сократил R.STOP до STOP, поскольку мы вправе считать, что L.STOP никогда не происходит, так как результат последнего шага вычислений, будучи частью окончательного ответа, всегда отображается слева от устройства.

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

110100100 → 111L.

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

Новый ум короля

В частично описанном выше примере машины Тьюринга (который я выбрал более-менее произвольно) считанный «0» был бы тогда замещен на «1», внутреннее состояние поменялось бы на «11» и устройство переместилось бы на один шаг влево:

Новый ум короля

Теперь устройство готово к считыванию следующей цифры, снова «0». Согласно таблице, оно оставляет этот «0» нетронутым, но изменяет свое внутреннее состояние на «100101» и передвигается по ленте назад, т. е. на один шаг вправо. Теперь оно считывает «1» и находит где-то ниже в таблице инструкцию, которая определяет изменение внутреннего состояния и указывает, должна ли быть изменена считанная цифра и в каком направлении по ленте должно дальше двигаться устройство. Таким образом устройство будет действовать до тех пор, пока не достигнет команды STOP. В этой точке — после еще одного шага вправо — раздастся звонок, оповещающий оператора о том, что вычисления завершены.

Мы будем считать, что машина всегда начинает с внутреннего состояния «0» и что вся лента справа от устройства изначально пуста. Все инструкции и данные подаются в устройство с правой стороны. Как упоминалось ранее, эта информация всегда имеет форму конечной строки из нулей и единиц, за которой следует пустая лента (т. е. нули). Когда машина получает команду STOP, результаты вычислений оказываются на ленте слева от считывающего устройства.

Поскольку мы хотели бы иметь возможность вводить в устройство и числовые данные, то нам потребуется некий способ описания обычных чисел (под которыми я здесь имею в виду целые неотрицательные числа 0, 1, 2, 3, 4….) как части входной информации. Для представления числа n можно было бы просто использовать строку из n единиц (хотя при этом могут возникнуть трудности, когда речь зайдет о нуле):

1 → 1,

2 → 11,

3 → 111,

4 → 1111,

5 → 11111 и т. д.

Эта примитивная схема нумерации называется (хотя и довольно нелогично) унарной (единичной) системой. В этом случае символ 0 мог бы использоваться в качестве пробела для разделения двух разных чисел. Наличие такого способа разделения для нас существенно, так как многие алгоритмы оперируют не отдельными числами, а множествами чисел. Например, для выполнения алгоритма Евклида наше устройство должно производить определенные действия над парой чисел А и В. Соответствующая машина Тьюринга может быть легко записана в явном виде. В качестве упражнения заинтересованный читатель может проверить, что нижеследующий набор инструкций действительно описывает машину Тьюринга (которую я буду называть EUC), выполняющую алгоритм Евклида, если в качестве исходных данных использовать два «унарных» числа, разделенных символом 0:

00 → 00R

01 → 11L

10 → 101R

11 → 11L

100 → 10100R

101 → 110R

110 → 1000R

111 → 111R

1000 → 1000R

1001 → 1010R

1010 → 1110L

1011 → 1101L

1100 → 1100L

1101 → 11L

1110 → 1110L

1111 → 10001L

10000 → 10010L

10001 → 10001L

10010 → 100R

10011 → 11L

10100 → 00.STOP

10101 → 10101R

Однако я бы порекомендовал такому читателю начать не с этого упражнения, а с чего-нибудь гораздо более простого, например, с машины Тьюринга UN + 1, которая просто прибавляет единицу к числу в унарном представлении:

00 → 00R

01 → 11R

10 → 01.STOP

11 → 11R


Чтобы убедиться в том, что UN +1 на самом деле производит такую операцию, давайте мысленно применим ее, скажем, к ленте вида

…00000111100000…,

соответствующей числу четыре. Мы будем полагать, что наше устройство сначала находится где-то слева от последовательности единиц. Находясь в исходном состоянии 0, оно считывает 0, в соответствии с первой инструкцией сохраняет его неизмененным, после чего перемещается на шаг вправо, оставаясь во внутреннем состоянии 0. Оно продолжает последовательно передвигаться вправо до тех пор, пока не встретит первую единицу. После этого вступает в силу вторая инструкция: устройство оставляет единицу как есть и сдвигается на шаг вправо, но уже в состоянии 1. В соответствии с четвертой инструкцией оно сохраняет внутреннее состояние 1, равно как и все считываемые единицы, двигаясь вправо до встречи с первым после набора единиц нулем. Тогда начинает действовать третья инструкция, согласно которой устройство заменяет этот нуль на 1, перемещается на один шаг вправо (вспомним, что команда STOP эквивалентна R.STOP) и останавливается. Тем самым к последовательности из четырех единиц прибавляется еще одна, превращая — как и требовалось — 4 в 5.

В качестве несколько более трудного упражнения можно проверить, что машина UN х 2, определяемая набором инструкций

00 → 00R

01 → 10R

10 → 101L

11 → 11R

100 → 110R

101 → 1000R

110 → 01.STOP

111 → 111R

1000 → 1011L

1001 → 1001R

1010 → 101L

1011 → 1011L

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

Чтобы понять, как работает машина EUC, нужно явным образом задать пару подходящих чисел, скажем, 6 и 8. Как и ранее, изначально машина находится во внутреннем состоянии 0 и расположена слева, а лента выглядит следующим образом:

… 0000011111101111111100000….

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

…000011000000000000…,

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

Исчерпывающее объяснение, почему машина EUC (или UN х 2) на самом деле осуществляет действие, для которого она предназначена, включает в себя некоторые тонкости, и разобраться в нем, может быть, даже труднее, чем понять устройство самой машины — довольно обычная ситуация с компьютерными программами! (Чтобы полностью понять, почему алгоритмические процедуры делают то, что от них ожидается, необходима определенная интуиция. А не являются ли интуитивные прозрения сами алгоритмическими? Это один из вопросов, которые будут для нас важны в дальнейшем.) Яне буду пытаться дать здесь такое объяснение для приведенных примеров EUC или UN х 2. Читатель, шаг за шагом проверив их действие, обнаружит, что я незначительно изменил обычный алгоритм Евклида, чтобы получить более компактную запись в рамках используемой схемы. И все же описание EUC остается достаточно сложным, включая в себя 22 элементарные инструкции для 11 различных внутренних состояний. В основном эти сложности носят чисто организационный характер. Можно отметить, например, что из этих 22 инструкций только 3 в действительности изменяют запись на ленте! (Даже для UN х 2 я использовал 12 инструкций, половина из которых меняют запись на ленте.)

Двоичная запись цифровых данных

Унарная система чрезвычайно неэффективна для записи больших чисел. Поэтому мы по большей части будем использовать вышеописанную двоичную систему. Однако, сделать это напрямую и попытаться читать ленту просто как двоичное число мы не сможем. Дело в том, что мы не имеем возможности сказать, когда кончается двоичное представление числа и начинается бесконечная последовательность нулей справа, которая отвечает пустой ленте. Нам нужен способ как-то обозначать конец двоичной записи числа. Более того, часто нам будет нужно вводить в машину несколько чисел, как, например, в случае с алгоритмом Евклида, когда требуется пара чисел[42]. Но в двоичном представлении мы не можем отличить пробелы между числами от нулей или строчек нулей, входящих в записи этих двоичных чисел. К тому же, помимо чисел нам может понадобиться и запись всевозможных сложных инструкций на той же ленте. Для того чтобы преодолеть эти трудности, воспользуемся процедурой, которую я буду в дальнейшем называть сокращением и согласно которой любая строчка нулей и единиц (с конечным числом единиц) не просто считывается как двоичное число, но замещается строкой из нулей, единиц, двоек, троек и т. д. таким образом, чтобы каждое число в получившейся строчке соответствовало числу единиц между соседними нулями в исходной записи двоичного числа. Например, последовательность

01000101101010110100011101010111100110

превратится в

Новый ум короля

Мы теперь можем считывать числа 2, 3, 4… как метки или инструкции определенного рода. Действительно, пусть 2 будет просто «запятой», указывающей на пробел между двумя числами, а числа 3, 4, 5… могли бы по нашему желанию символизировать различные инструкции или необходимые обозначения, как, например, «минус», «плюс», «умножить», «перейти в позицию со следующим числом», «повторить предыдущую операцию следующее число раз», и т. п. Теперь у нас есть разнообразные последовательности нулей и единиц, разделенные цифрами большей величины. Эти последовательности нулей и единиц будут представлять собой обычные числа, записанные в двоичной форме. Тогда записанная выше строка (при замене двоек «запятыми») примет вид:

(двоичное число 1001) запятая (двоичное число 11) запятая….

Используя обычные арабские числа «9», «3», «4», «0» для записи соответствующих двоичных чисел 1001, 11, 100 и 0, получаем новую запись всей последовательности в виде: 9, 3, 4 (инструкция 3) 3 (инструкция 4) 0.

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

5, 13, 0, 1, 1, 4.

В двоичном представлении она эквивалентна последовательности

101, 1101, 0, 1, 1, 100,

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

…000010010110101001011001101011010110100011000…

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

0 → 0

1 → 10

, → 110

и после этого добавить бесконечные последовательности нулей с обеих сторон вновь полученной записи. Чтобы сделать более понятной эту процедуру в применении к нашему примеру, разделим полученные двоичные числа пробелами:

0000 10 0 10 110 10 10 0 10 110 0 110 10 110 10 110 10 0 0 110 00.

Я буду называть этот способ представления (наборов) чисел расширенной двоичной записью. (Так, в частности, в расширенной двоичной форме записи число 13 выглядит как 1010010.)

Есть еще одно, последнее, замечание, которое надо сделать в связи с этой системой записи. Это не более, чем техническая деталь, но она необходима для полноты изложения[43]. Двоичная (или десятичная) запись натуральных чисел в некоторой степени избыточна в том смысле, что нули, расположенные слева от записи числа, «не считаются» и обычно опускаются, так что 00110010 представляет собой то же самое двоичное число, что и 110010 (а 0050 — то же самое десятичное число, что и 50). Эта избыточность распространяется и на нуль, который может быть записан и как 000, и как 00, и, конечно, как 0. На самом деле и пустое поле, если рассуждать логически, должно обозначать нуль! В обычном представлении это привело бы к большой путанице, но в описанной выше системе кодирования никаких затруднений не возникает: нуль между двумя запятыми можно записать просто в виде двух запятых, следующих подряд (''). На ленте такой записи будет соответствовать код, состоящий из двух пар единиц, разделенных одним нулем:

…001101100…

Тогда исходный набор из шести чисел может быть записан в двоичной форме как

101,1101''1,1,100,

и на ленте при кодировании в расширенной двоичной форме мы получим последовательность

…00001001011010100101101101011010110100011000.,

в которой на один нуль меньше по сравнению с предыдущим кодом того же набора.

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

…0000011111101111111100000…

воспользуемся двоичным представлением 6 и 8, т. е. 110 и 1000, соответственно. Тогда эта пара имеет вид

6, 8, или в двоичной форме 110, 1000,

и в расширенной двоичной записи на ленте она будет выглядеть следующим образом

… 00000101001101000011000000….

Для этой конкретной пары чисел двоичная форма записи не дает никакого выигрыша по сравнению с унарной. Предположим, однако, что мы берем для вычислений (десятичные) числа 1 583 169 и 8610. В двоичной записи они имеют вид

110000010100001000001,

10000110100010.

На ленте при расширенном двоичном кодировании им будет соответствовать последовательность

… 001010000001001000001000000101101000001010010000100110

которая занимает менее двух строк, тогда как для унарной записи пары чисел «1 583 169, 8610» не хватило бы места на страницах этой книги!

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

Для того чтобы показать, каким образом машина Тьюринга может работать с числами в расширенном двоичном представлении, обратимся к значительно более простой, чем алгоритм Евклида, процедуре — просто прибавлению единицы к произвольному натуральному числу. Ее можно выполнить с помощью следующей машины Тьюринга (которую я назову XN + 1):

00 → 00R

01 → 11R

10 → 00R

11 → 101R

100 → 110L

101 → 101R

110 → 101.STOP

111 → 1000L

1000 → 1011L

1001 → 1001L

1010 → 1100R

1011 → 101R

1101 → 1111R

1110 → 111R

1111 → 1110R

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

…0000100100010101011000…

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

167 + 1 = 168

в двоичной форме записывается в виде

10100111 + 1 = 10101000.

Таким образом, наша «прибавляющая единицу» машина Тьюринга должна превратить предыдущую запись на ленте в

… 0000100100100001100000

что она и делает.

Обратите внимание, что даже самая простая операция прибавления единицы в такой записи выглядит довольно сложно, включая в себя 15 инструкций и восемь различных внутренних состояний! Конечно, в случае унарной записи все было значительно проще, поскольку тогда «прибавление единицы» означало удлинение строчки единиц еще на одну, поэтому не удивительно, что машина UN +1 была более простой. Однако, для очень больших чисел UN + 1 была бы слишком медленной из-за чрезмерной длины ленты, и тогда более сложная машина XN + 1, но работающая с более компактным расширенным двоичным представлением, оказалась бы предпочтительнее.

Несколько отступая в сторону, я укажу операцию, для которой машина Тьюринга проще в расширенной двоичной, нежели в унарной форме — это умножение на два. Действительно, машина Тьюринга XN х 2, заданная в виде

00 → 00R

01 → 10R

10 → 01R

11 → 100R

100 → 111R

110 → 01.STOP

запросто выполнит эту операцию в расширенной двоичной форме, тогда как соответствующая унарная машина UN х 2, описанная ранее, гораздо сложнее!

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

Тезис Черча — Тьюринга

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

С другой стороны, остается ощущение, что принципы построения этих машин содержат излишние ограничения. Разрешение устройству считывать за один раз только одну двоичную цифру (0 или 1) и передвигаться каждый раз только на один шаг да еще вдоль единственной одномерной ленты, на первый взгляд, ограничивает возможности машины. Почему бы не разрешить одновременное использование четырех, пяти или, возможно, тысячи разных лент, по которым одновременно двигалось бы большое количество взаимосвязанных считывающих устройств? Почему бы не ввести целую плоскость с нулями и единицами (или, например, трехмерное пространство), вместо того чтобы настаивать на использовании одномерной ленты? Почему бы не использовать другие системы счисления или символы из каких-нибудь более сложных алфавитов? По сути, ни одно из этих изменений ни в малейшей степени не влияет на то, что в принципе может быть достигнуто с помощью машины Тьюринга, хотя некоторые из них отразились бы на экономичности производимых операций (как это наверняка произошло бы, разреши мы использование нескольких лент). Класс осуществляемых операций, попадающих, таким образом, под определение «алгоритма» (или «вычисления», или «выполнимой процедуры», или «рекурсивной операции»), остался бы в точности тем же самым, если мы расширим определение наших машин и включим в него даже все предлагавшиеся выше модификации одновременно!

Мы можем видеть, что нет необходимости в дополнительных лентах, коль скоро устройство может по мере надобности находить свободное место на одной ленте. При этом может потребоваться постоянная перезапись данных с одного места ленты на другое. Это, может быть, «неэффективно», но в принципе не ограничивает возможности машин Тьюринга[44]. Сходным образом, использование более чем одного устройства Тьюринга для параллельных вычислений — идея, ставшая очень популярной в последние годы в связи с попытками более точного моделирования человеческого мозга, — не дает никаких принципиальных преимуществ (хотя при определенных обстоятельствах может увеличиться быстродействие). Использование двух непосредственно не связанных друг с другом устройств не даст выигрыша по сравнению с двумя взаимосвязанными устройствами. Но если два устройства связаны друг с другом, то, в сущности, это уже одно устройство!

А что можно сказать об ограничении Тьюринга, касающегося одномерности ленты? Если мы считаем, что эта лента представляет собой «окружение», то, возможно, мы бы предпочли в качестве такового иметь плоскую поверхность, или, допустим, трехмерное пространство. Может показаться, что плоскость лучше подошла бы для изображения «блок-схемы» вычислений (как в вышеприведенном описании последовательности действий алгоритма Евклида), чем одномерная лента[45]. Однако запись блок-схемы в «одномерной» форме не представляет принципиальных трудностей (например, можно использовать обычное словесное описание). Двумерное плоское изображение дает только удобство и простоту восприятия, но, по сути, ничего не меняет. Всегда есть возможность преобразовать координаты отметки или объекта на двумерной плоскости или в трехмерном пространстве и явным образом отобразить их на одномерной ленте. (Фактически, использование двумерной плоскости полностью эквивалентно использованию двух лент. Две ленты дают две «координаты», которые нужны для определения местоположения точки на двумерной плоскости; аналогично, три ленты могут выполнять ту же роль для точки в трехмерном пространстве.) И хотя эта одномерная запись может вновь оказаться «неэффективной», принципиальные возможности устройства это никак не ограничивает.

Несмотря на все это, по-прежнему остается вопрос о том, действительно ли понятие машины Тьюринга охватывает все логические или математические операции, которые мы могли бы назвать «механическими». В то время, когда Тьюринг написал свою основополагающую работу, ситуация была гораздо менее ясной, чем сегодня, поэтому Тьюринг справедливо посчитал необходимым предоставить развернутое изложение этого вопроса. Детально рассмотренная Тьюрингом проблема получила дополнительное обоснование благодаря тому, что совершенно независимо от Тьюринга (и на самом деле несколько ранее) американский логик Алонзо Черч (совместно со Стивеном Клини), стремясь найти решение проблемы алгоритмической разрешимости Гильберта, предложил свою схему лямбда-исчисления. Хотя то, что это была всеобъемлющая полностью механическая схема, было не так очевидно, как в случае с подходом Тьюринга, ее несомненным преимуществом была удивительная компактность математической структуры. (Я буду рассматривать замечательный анализ Черча в конце главы.) Независимо от Тьюринга были предложены и другие подходы к решению задачи Гильберта (см. Ганди [1988]), среди которых можно выделить работу американского логика польского происхождения Эмиля Поста (опубликованную несколько позже работы Тьюринга, но содержащую идеи, более близкие идеям Тьюринга, нежели Черча). В скором времени было доказано, что все эти схемы совершенно эквивалентны.

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

Числа, отличные от натуральных

В предыдущих параграфах мы рассматривали действия над натуральными числами и отметили тот замечательный факт, что машина Тьюринга может оперировать с натуральными числами произвольной величины, несмотря на то, что каждая машина имеет фиксированное и конечное число внутренних состояний. Однако часто возникает необходимость в операциях с более сложными числами, такими как отрицательные числа, обыкновенные дроби и бесконечные десятичные дроби. Первые две категории (т. е. числа вида -597/26) легко поддаются обработке машинами Тьюринга, причем и числители, и знаменатели могут быть сколь угодно большими. Все, что для этого нужно — какой-нибудь подходящий код для знаков «-» и «, который можно легко выбрать при использовании расширенной двоичной записи (например, «3» = 1110 для знака «-», а « = 11110 — для знака «). Таким образом, отрицательные числа и обыкновенные дроби рассматриваются как конечные наборы натуральных чисел, и с точки зрения общих вопросов вычислимости ничего нового не дают.

То же можно сказать и о конечных десятичных выражениях с произвольным числом знаков после запятой, поскольку они представляют собой лишь частный случай обыкновенных дробей. Так, например, конечная десятичная аппроксимация иррационального числа π, заданная числом 3,14159265, есть просто дробь 314 159 265/100 000 000. Однако бесконечные десятичные выражения, такие как полная запись числа π

π = 3,14159265358979…,

представляют определенные трудности. На самом деле, ни входные, ни выходные данные машины Тьюринга не могут быть бесконечными десятичными выражениями. Можно было бы думать, что нашлась бы машина Тьюринга, способная выдавать одну за другой все последовательные цифры — 3, 1, 4, 1, 5, 9… в десятичной записи числа π и переносить их на выходную ленту, а мы просто позволим этой машине работать бесконечно долго. Но это запрещено для машин Тьюринга. Мы должны дождаться остановки машины (сопровождаемой звонком колокольчика!), прежде чем сможем ознакомиться с результатом. До того момента, пока машина не выполнит команды STOP, выходные данные могут изменяться и поэтому не являются достоверными. С другой стороны, после полной остановки машины результат должен быть с необходимостью конечным.

Существует, однако, «законная» процедура для того, чтобы заставить машину Тьюринга последовательно воспроизводить цифры примерно так, как это предлагалось выше. Если мы хотим получить бесконечную десятичную запись, скажем, числа π, мы могли бы заставить машину Тьюринга сначала рассчитать его целую часть, 3, используя на входе 0, затем — первую цифру дробной части, 1, используя на входе 1, затем — вторую цифру дробной части, 4, используя на входе 2, потом — третью цифру, 1, используя 3 и т. д. Вообще говоря, машина Тьюринга для получения всех цифр десятичной записи числа π в этом смысле действительно существует, хотя реализовать ее в явном виде было бы затруднительно. Подобное же замечание относится и ко многим другим иррациональным числам, таким, например, как √2 = 1,414213562… Однако оказывается — и мы увидим это в следующей главе, — что некоторые иррациональные числа принципиально не могут быть получены с помощью машины Тьюринга. Числа, которые можно получить таким образом, называются вычислимыми (Тьюринг [1937]), а остальные (в действительности абсолютное большинство!) — невычислимыми. Я еще вернусь к этой теме и затрону ряд смежных вопросов в последующих главах. К нам это имеет отношение в связи с вопросом о том, может ли реальный физический объект (например, человеческий мозг) быть адекватно описан в терминах вычислимых математических структур в соответствии с нашими физическими теориями.

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

Универсальная машина Тьюринга

Я еще не затрагивал понятия универсальной машины Тьюринга. Лежащий в ее основе принцип понять нетрудно, хотя детали могут быть сложны. Основная идея состоит в том, чтобы закодировать команды для произвольной машины Тьюринга Т в виде последовательности нулей и единиц, которую можно записать на ленте. Эта запись используется как начальная часть входных данных для некоторой особой машины Тьюринга U, называемой универсальной, которая затем обрабатывает остальную часть ленты в точности так, как это сделала бы машина Т. Универсальная машина Тьюринга — это универсальный имитатор. Начальная часть ленты дает универсальной машине U всю информацию, необходимую для точной имитации любой машины Т!

Чтобы показать, как это может быть реализовано, нам потребуется какая-нибудь система нумерации машин Тьюринга. Рассмотрим список инструкций, определяющих произвольную машину Тьюринга, например, одну из описанных выше. Мы должны в соответствии с некоторыми четкими правилами представить эти инструкции в виде последовательностей нулей и единиц. Это можно сделать, например, с помощью процедуры «сокращения», которую мы использовали ранее. Тогда, если мы закодируем символы R, L, STOP, «стрелка» (→) и «запятая», скажем, числами 2, 3, 4, 5 и 6 соответственно, то мы сможем записать их в виде «сокращений» 110, 1110, 11110, 111110 и 1111110. Цифры 0 и 1, кодируемые, соответственно, как 0 и 10, могут быть использованы для записи строк этих символов, входящих в таблицу действий машины Тьюринга. Нам не нужны различные обозначения для «жирных» цифр 0 и 1 и для остальных цифр в таблице, поскольку расположение «жирных» цифр в конце двоичного кода является достаточным отличительным признаком. При этом 1101, например, будет читаться как двоичное число 1101, представляемое на ленте последовательностью 1010010. в частности, 00 будет читаться как 00, что без всякой двусмысленности можно закодировать как 0 или вовсе опустить. Можно существенно сэкономить, если не кодировать «стрелки» и непосредственно предшествующие им символы, а воспользоваться цифровым упорядочением команд, позволяющим определить, какими должны быть эти символы. Правда, для этого надо убедиться в отсутствии «дырок» в получившемся порядке и добавить, где требуется, «немые» команды. (Например, машина Тьюринга XN +1 не имеет команды, соответствующей коду 1100, поскольку такая комбинация в ходе ее работы никогда не встречается. Следовательно, мы должны ввести в список команд немую команду, скажем 1100 → 00R, которая не вызовет каких бы то ни было изменений в работе машины. Сходным образом мы должны добавить немую команду 101 → 00R в список команд машины XN х 2.) Без таких «немых» команд кодирование последующих команд было бы нарушено. Как можно видеть, на самом деле мы не нуждаемся и в запятой в конце каждой команды, поскольку символов L и R вполне достаточно для отделения команд друг от друга. Поэтому мы просто будем использовать такую систему кодирования:

0 для 0 или 0,

10 для 1 или 1,

110 для R,

1110 для L,

11110 для STOP.

В качестве примера выпишем команды для машины Тьюринга XN +1 (с дополнительной немой командой 1100 → 00R). Опуская стрелки, цифры, непосредственно предшествующие им, и запятые, получим

Новый ум короля

Мы можем улучшить полученный результат, если опустим все 00 и заменим каждые 01 просто единицей в соответствии с тем, что говорилось ранее. Тогда мы получим строку символов

Новый ум короля

которая на ленте записывается как последовательность

Новый ум короля

Есть еще два способа немного сэкономить. Во-первых, всегда можно удалить код 110 в начале записи (вместе с бесконечным участком пустой ленты, предшествующим этому коду). Он обозначает последовательность 00R, соответствующую начальной команде 00 → 00R, которую я до сих пор неявно считал общей для всех машин Тьюринга, поскольку она необходима для того, чтобы устройство, начав работу в произвольной точке слева от начала записи на ленте, могло перемещаться вправо до тех пор, пока не встретит первую непустую клетку. Во-вторых, точно так же всегда можно удалить код 110 (и неявную бесконечную последовательность нулей, которая, по предположению, следует за ним) в конце записи, поскольку этой кодовой последовательностью должно заканчиваться описание любой машины Тьюринга (во всех случаях список команд заканчивается командой R, L или STOP). Получающееся двоичное число — это номер машины Тьюринга, который для XN + 1 будет выглядеть так:

Новый ум короля

В обычной десятичной записи этот номер равен

450813704461563958982113775643437908.

Иногда машину с номером n мы, не вполне точно, будем называть n-й машиной Тьюринга и обозначать ее Tn . В этом случае XN +1 становится

450813704461563958982113775643437908 — й

машиной Тьюринга!

Кажется поразительным факт, что нам надо пробежать так долго вдоль «списка» машин Тьюринга, чтобы найти машину, выполняющую такую тривиальную операцию, как прибавление единицы к натуральному числу (в расширенном двоичном представлении). (Я не думаю, что моя система кодирования была в целом настолько неэффективна, хотя в ней и есть еще возможности для незначительных улучшений.) В действительности, есть машины Тьюринга и с меньшими номерами, которые представляют интерес, например UN +1 с двоичным номером

101011010111101010,

который в десятичной записи превращается всего лишь в 177 642. Значит, особенно тривиальная машина UN +1, которая просто дописывает 1 единицу в конце последовательности единиц, является 177 642-й машиной Тьюринга. Интересно, что «умножение на два» в списке машин Тьюринга попадает где-то между этими двумя машинами, причем и в унарном, и в расширенном двоичном представлении: номер XN х 2 равен 10 389 728 107, а номер UN х 2 — 1492 923 420 919 872 026 917 547 669.

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

Новый ум короля

Из этих машин T0 просто перемещается вправо, стирая все, что ей попадается на пути, никогда не останавливаясь и не меняя направления движения. Машина Т1 выполняет в сущности ту же операцию, но более громоздким путем, отступая на шаг назад каждый раз, когда она стирает очередную единицу на ленте. Так же как и T0, машина T2 двигается вправо, никогда не останавливаясь, но относится к ленте более «почтительно», попросту оставляя всю информацию нетронутой. Эти машины не могут использоваться в качестве машин Тьюринга, поскольку никогда не останавливаются. T3 — первая в этом списке «правильная» машина: она скромно прекращает действие после того, как изменяет первую (самую левую) единицу на нуль. T4 сталкивается с серьезной проблемой. Найдя первую единицу на ленте, она переходит во внутреннее состояние, которое нигде не описано, и, следовательно, машина не имеет никаких команд для следующего шага. С той же проблемой сталкиваются T8 T9 и T10 . С T7 возникают трудности еще более фундаментального характера. Строка нулей и единиц, которой она представляется, включает последовательность из пяти единиц: 110111110. Интерпретации этой последовательности не существует, поэтому T7 намертво застревает сразу же, как только доходит до первой единицы. (Я буду называть T7 , равно как и любую другую машину Tn, двоичное расширенное представлений которой содержит более четырех единиц, некорректно определенной.) Машины T5T6 и T12 испытывают те же трудности, что и T0, T1, T2: они просто никогда не останавливаются. Все эти машины — T0, T1 , T2 , T5 , T6 , T7 , T8, T9T10 и T12 — совершенно бесполезные устройства! Только T3 и T11 являются функциональными машинами Тьюринга, да и то не слишком интересными. Причем T11 даже скромнее, чем T3 : натолкнувшись на первую же единицу, она останавливается и вообще ничего не меняет!

Надо заметить, что наш перечень содержит избыточную информацию. Машина T12 идентична T6, а по действиям обе они аналогичны T0, поскольку ни T6, ни T12 никогда не переходят во внутреннее состояние 1. Но нам нет нужды волноваться из-за этой избыточности, равно как из-за изобилия неработоспособных (фиктивных) машин Тьюринга в нашем списке. На самом деле, мы могли бы изменить систему кодирования таким образом, чтобы избавиться от большого числа бесполезных устройств и значительно уменьшить избыточность списка машин. Но все это можно сделать только ценой усложнения нашей примитивной универсальной машины Тьюринга, которая должна расшифровывать вводимую в нее запись и имитировать машину Tn, чей номер она считала. Это было бы оправдано, если бы было можно избавиться от всех бесполезных (и повторяющихся) машин. Но это, как мы увидим чуть позднее, невозможно! Поэтому мы оставим нашу систему кодирования без изменений.

Будет удобно интерпретировать ленту с последовательностью меток на ней, например

…0001101110010000…,

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

110111001,

как двоичное представление натурального числа (в десятичной форме это 441). Однако такая процедура даст нам только нечетные числа (их двоичное представление оканчивается на 1), тогда как нам нужна возможность представления всех натуральных чисел. Поэтому мы воспользуемся следующим несложным приемом — будем удалять последнюю единицу (которая принимается просто за маркер, обозначающий конец выражения) и считывать оставшуюся часть как двоичное число[46]. Тогда в последнем примере получим двоичное число

11011100,

которое соответствует десятичному числу 220. Эта процедура имеет то преимущество, что нуль также представляется непустой лентой, а именно:

… 0000001000000….

Рассмотрим, как действует машина Тьюринга Tn на некоторую (конечную) строку нулей и единиц на ленте, которая подается в устройство справа. Удобно рассматривать эту строку как двоичное представление некоторого числа, например m, в соответствии с приведенной выше схемой. Предположим, что после определенного числа шагов машина Tn в конце концов останавливается (т. е. доходит до команды STOP). Строка двоичных цифр, которые машина выписала к этому моменту на левой части ленты, и будет искомым результатом вычислений. Считывая эту последовательность в соответствии с той же схемой так же как двоичное представление некоторого числа, получим новое число, скажем, р. Тогда мы можем записать соотношение, выражающее тот факт, что результатом действия n машины Тьюринга Tn на число m является число p, следующим образом:

Tn(m)=p .

Взглянем на это соотношение с несколько иной точки зрения. Мы будем считать, что это выражение описывает некоторую специфическую операцию, которая применяется к паре чисел m и n для того, чтобы получить p. (Это означает: для заданных двух чисел n и m мы можем найти значение p, если введем m в n-ю машину Тьюринга.) Эта специфическая операция является полностью алгоритмической. Поэтому она может быть выполнена одной конкретной машиной Тьюринга U; иными словами, U, совершая действие над парой (n, m ), дает в результате p. Поскольку машина U должна производить операцию над обоими числами n и m, чтобы получить ответ, выражаемый одним числом p, то нам нужно придумать способ для записи пары (n, m) на одной ленте. С этой целью предположим, что n записывается в стандартной двоичной форме и заканчивается последовательностью 111110. (Вспомним, что двоичный номер всякой корректно определенной машины Тьюринга, — это последовательность символов, состоящая только из сочетаний вида 0, 10, 110, 1110 и 11110, поэтому он нигде не содержит более четырех единиц подряд. Таким образом, если Tn — корректно определенная машина, то появление последовательности 111110 действительно будет означать конец записи номера n.) Все, что следует за ней, должно быть просто записью числа m на ленте в соответствии с приведенными выше правилами (т. е. двоичное число m и строка 1000… непосредственно за ним). Таким образом, с этой второй частью ленты машина Tn и должна производить предполагаемые действия.

Если в качестве примера мы возьмем n =11 и m =6, то на ленте, вводимой в мащину U, мы будем иметь последовательность

000101111111011010000..

Она образована из следующих составляющих:

… 0000 (пустое начало ленты)

1011 (двоичное представление одиннадцати)

111110 (обозначает окончание числа n )

110 (двоичное представление шести)

10000… (остаток ленты)

То, что машина Тьюринга U должна была бы делать на каждом очередном шагу процедуры, выполняемой Tn над m — это исследовать структуру последовательности цифр в выражении n с тем, чтобы можно было произвести соответствующие изменения цифр числа m (т. е. «ленты» машины Tn ). В принципе, реализация такой машины не вызывает существенных затруднений (хотя и довольно громоздка на практике). Список ее собственных команд должен был бы просто содержать правила для чтения подходящей команды из «списка», закодированного в числе n, на каждом этапе выполнения действий над цифрами, считанными с «ленты», как они фигурируют в числе m. Можно предположить, что при этом совершалось бы значительное количество прыжков взад-вперед по ленте между цифрами, составляющими n и m, и выполнение процедуры было бы чрезвычайно медленным. Тем не менее, список команд подобной машины, несомненно, можно составить, и такая машина называется нами универсальной машиной Тьюринга. Обозначая ее действие на пару чисел (n, m ) через U(n, m ), мы получаем:

U(n, m ) = Тn(m )

при любых (n, m ), для которых Tn — корректно определенная машина Тьюринга[47]. Машина U, в которую первым вводится число n, в точности имитирует n-ю машину Тьюринга!

Поскольку U — машина Тьюринга, то она сама будет иметь номер. То есть, для некоторого числа u имеем

U = Tu.

Сколь велико u ? В сущности, мы можем положить, что u в точности равно следующему числу:

u =7244855335339317577

198395039615711237

952360672556559631

108144796606505059

404241090310483613

632359365644443458

382226883278767626

556144692814117715

017842551707554085

657689753346356942

478488597046934725

739988582283827795

294683460521061169

835945938791885546

326440925525505820

555989451890716537

414896033096753020

431553625034984529

832320651583047664

142130708819329717

234151056980262734

686429921838172157

333482823073453713

421475059740345184

372359593090640024

321077342178851492

760797597634415123

079586396354492269

159479654614711345

700145048167337562

172573464522731054

482980784965126988

788964569760906634

204477989021914437

932830019493570963

921703904833270882

596201301773727202

718625919914428275

437422351355675134

084222299889374410

534305471044368695

876405178128019437

530813870639942772

823156425289237514

565443899052780793

241144826142357286

193118332610656122

755531810207511085

337633806031082361

675045635852164214

869542347187426437

544428790062485827

091240422076538754

264454133451748566

291574299909502623

009733738137724162

172747723610206786

854002893566085696

822620141982486216

989026091309402985

706001743006700868

967590344734174127

874255812015493663

938996905817738591

654055356704092821

332221631410978710

814599786695997045

096818419062994436

560151454904880922

084480034822492077

304030431884298993

931352668823496621

019471619107014619

685231928474820344

958977095535611070

275817487333272966

789987984732840981

907648512726310017

401667873634776058

572450369644348979

920344899974556624

029374876688397514

044516657077500605

138839916688140725

455446652220507242

623923792115253181

625125363050931728

631422004064571305

275802307665183351

995689139748137504

926429605010013651

980186945639498

(или какому-нибудь другому подходящему, не менее внушительному по величине числу). Это число, без сомнения, выглядит устрашающе большим! Оно, действительно, чрезвычайно велико, но я не вижу способа, как его можно было бы сделать меньше. Процедуры кодирования и определения, использованные мною для машин Тьюринга, вполне разумны и достаточно просты, и все же с неизбежностью приводят к подобным несуразно большим числам для реальной универсальной машины Тьюринга[48].

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

Неразрешимость проблемы Гильберта

Мы теперь вплотную подходим к той цели, ради которой Тьюринг с самого начала разрабатывал свою теорию — получить ответ на вопрос, заключенный в общей проблеме алгоритмической разрешимости, поставленной Гильбертом, а именно: существует ли некая механическая процедура для решения всех математических задач, принадлежащих к некоторому широкому, но вполне определенному классу? Тьюринг обнаружил, что он мог бы перефразировать этот вопрос следующим образом: остановится ли в действительности n-я машина Тьюринга, если на ее вход поступит число m Эта задача получила название проблемы остановки. Не так сложно составить список команд, для которых машина никогда не остановится при любом m (как, например, в случаях n = 1 или 2, рассмотренных в предыдущем разделе, а также во всех случаях, когда вообще отсутствует команда STOP ). Точно так же существует множество списков команд, для которых машина будет останавливаться всегда, независимо от вводимого числа m (например, T11 ). Кроме того, некоторые машины при работе с одними числами останавливались бы, а с другими — нет. Совершенно очевидно, что алгоритм, который никогда не прекращает работу, бесполезен. Это, собственно, и не алгоритм вовсе. Поэтому важно уметь ответить на вопрос, приведет ли когда-нибудь работа машины Tn над данным числом m к какому-то ответу или нет! Если нет (т. е. процесс вычисления никогда не прекращается), то я буду выражать это следующей записью:

Tn(m ) = .

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

T3(m ) = , поскольку результатом ее действия всегда будет просто пустая лента, тогда как нам, чтобы приписать номер полученному ответу, нужна хотя бы одна единица на выходе! Машина T11, однако, совершенно полноправна, поскольку она производит единственную 1. Результатом ее работы будет лента с номером 0, так что T11(m ) = 0 для любого m.)

В математике весьма важно иметь возможность установить момент, когда машина Тьюринга остановится. Рассмотрим для примера уравнение

(х + 1)ω+3 + (у + 1)ω+3 = (z + 1)ω+3.

(Не пугайтесь, даже если Вы не любите вникать в детали математических вычислений. Это уравнение используется здесь только в качестве примера, и от вас не требуется его глубокого понимания.) Это конкретное уравнение относится к известной (возможно, самой известной) и пока нерешенной математической проблеме. Проблема формулируется следующим образом: существует ли какой-либо набор х, у, z, ω, для которого это равенство выполняется. Знаменитое утверждение, записанное на полях «Арифметики» Диофанта великим французским математиком семнадцатого столетия Пьером де Ферма (1601–1665) и известное как «последняя теорема Ферма», гласит, что это равенство никогда не выполняется[49][50]. Будучи адвокатом по профессии, Ферма тем не менее был искуснейшим математиком своего времени. (Ферма был современником Декарта.) В своей записи он утверждал, что знает «воистину прекрасное доказательство» своей теоремы, но поля книги слишком малы, чтобы его привести. До сегодняшнего дня никому так и не удалось ни воспроизвести это доказательство[51], ни найти опровергающий это утверждение пример!

Очевидно, что для заданной четверки чисел (x, у, z, ω ) выяснить, выполняется это равенство или нет, можно простым вычислением. Значит, мы можем представить себе вычислительный алгоритм, который последовательно перебирает все возможные четверки чисел одну за другой и останавливается только тогда, когда равенство удовлетворяется. (Мы уже знаем, что для конечных наборов чисел существуют способы их кодирования на ленте вычислимым способом, а именно, в виде одного числа. Таким образом, перебор всех четверок можно провести, просто следуя естественному порядку соответствующих им одиночных чисел.) Если бы мы могли установить, что этот алгоритм никогда не останавливается, то это стало бы доказательством утверждения Ферма.

Сходным образом в терминах проблемы остановки машины Тьюринга можно перефразировать многие другие нерешенные математические проблемы. Примером такого рода проблем может служить так называемое предположение Гольдбаха: любое четное число, большее двух, может быть представлено в виде суммы двух простых чисел[52]). Процесс, с помощью которого можно установить, относится некоторое натуральное число к простым или нет, является алгоритмическим, поскольку достаточно проверить делимость данного числа на все числа, меньшие его, а это достигается с помощью конечного числа вычислительных операций. Мы можем придумать машину Тьюринга, которая перебирает четные числа 6, 8, 10, 12, 14…, пробуя все возможные способы разбиения их на пары нечетных чисел

6 = 3 + 3, 8 = 3 + 5, 10 = 3 + 7 = 5 +5,

12 = 5 + 7, 14 = 3 + 11=7 + 7…

и убеждаясь, что для каждого четного числа какое-то из разбиений образовано двумя простыми числами. (Очевидно, нам не надо проверять пары четных слагаемых, кроме 2 + 2, поскольку все простые числа за исключением 2 — нечетные.) Наша машина должна остановиться только в том случае, если она находит четное число, для которого ни одно из разбиений не является парой простых чисел. В этом случае мы получили бы контрпример к предположению Гольдбаха, т. е. нашли бы четное число, большее 2, которое не является суммой двух простых чисел. Следовательно, если бы мы могли установить, останавливается машина Тьюринга когда-нибудь или нет, то тем самым мы выяснили бы, справедливо предположение Гольдбаха или нет.

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

В сущности, его доказательство сводилось к следующему. Предположим, наоборот, что указанный алгоритм существует[53]. Тогда существует и некая машина Тьюринга Н, которая «решает», остановится ли в конце концов n-я машина Тьюринга, действуя на число m. Условимся, что результатом действия машины Н будет лента с номером 0, если n-я машина не останавливается, и с номером 1 в противоположном случае:

Новый ум короля

Здесь мы могли бы воспользоваться способом кодирования пары (n, m ), использованным ранее для универсальной машины Тьюринга U. Однако это привело бы к проблеме технического характера, поскольку при некоторых n (например, n = 7) Tn  будет определена некорректно, и маркер 111101 будет непригоден для отделения на ленте n от m. Чтобы избежать этой проблемы, будем полагать, что n представлено не в двоичной, а в расширенной двоичной форме, тогда как для m будет по-прежнему использоваться обычная двоичная запись. В этом случае комбинации 110 будет достаточно для разделения n и m. Использование точки с запятой в обозначении Н(n ; m ) в отличие от запятой в обозначении универсальной машины U(n, m ) указывает на это различие в кодировании.

Представим себе теперь бесконечную таблицу, в которую включены окончательные результаты действий всех возможных машин Тьюринга на все возможные (различные) входные данные. В этой таблице N-й ряд представляет собой результаты вычислений n-й машины Тьюринга, полученные при ее работе последовательно с m = 0, 1, 2, 3, 4…:

Новый ум короля

Я немного «сжульничал» и не стал располагать машины Тьюринга по порядку их действительных номеров. Если бы я так сделал, то получился бы список, начало которого выглядело бы слишком скучным, поскольку все машины при значениях n меньших 11 не дают ничего, кроме , а для n = 11 мы имеем просто нули. Дабы сделать начало этой таблицы более интересным, я предположил, что мы использовали некую гораздо более эффективную систему кодирования. Фактически, я просто присвоил ячейкам более или менее произвольные значения, только чтобы дать вам общее представление о том, как может выглядеть эта таблица.

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

Тем не менее искомую таблицу можно, построить с помощью вычислительной процедуры, если использовать нашу гипотетическую машину Н, поскольку она могла бы определить, где на самом деле появляются значения . Однако вместо этого мы используем машину Н для того, чтобы избавиться от появления значений в таблице, заменив их во всех случаях нулями. Это достигается за счет вычисления значения Н(n ; m ), предваряющего действие Tn на m , после чего мы позволим Tn производить соответствующие действия, только если H(n ; m ) = 1 (т. е. только тогда, когда вычисление Tn(m) приводит к определенному результату), и будем просто записывать в соответствующую ячейку 0 при Н(n ; m ) = 0 (т. е. если Tn(m) = ). Мы можем записать эту новую процедуру, представляющую собой последовательное действие Н(n m) и T(m), как

Tn(m) х Н(n; m ).

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

Теперь таблица принимает следующий вид:

Новый ум короля

Заметьте, что, исходя из предположения существования машины Н, мы получаем ряды таблицы, состоящие из вычислимых последовательностей. (Под «вычислимой последовательностью» я понимаю бесконечную последовательность, элементы могут быть найдены один за другим посредством некоего алгоритма; это означает, что существует некоторая машина Тьюринга, которая, будучи применена поочередно к натуральным числам m = 0, 1, 2, 3, 4, 5…, производит члены рассматриваемой последовательности.) Обратите внимание на следующие два факта относительно этой таблицы. Во-первых, любая вычислимая последовательность натуральных чисел должна появиться где-то (может быть, далеко не сразу) среди рядов таблицы. Это свойство выполнялось уже и для исходной таблицы, содержавшей значения . Мы просто добавили несколько рядов, чтобы заменить «фиктивные» машины Тьюринга (т. е. такие, которые приводят к хотя бы в одном случае). Во-вторых, считая, что машина Тьюринга H существует, мы получили таблицу вычислительным путем (т. е. с помощью некоторого определенного алгоритма), а именно, посредством процедуры Tn(m) х Н(n ; m ). Иными словами, существует некая машина Тьюринга Q, применение которой к паре чисел (n, m ) дает значение соответствующей ячейки таблицы. Для этой машины числа n и m на ленте можно кодировать таким же образом, как и для H, т. е. мы имеем

Q(n ; m ) = Tn(m ) х H(n ; m ).

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

Новый ум короля

Эти элементы образуют некоторую последовательность 0,0,1,2,1,0, 3,7,1…., к каждому члену которой мы теперь прибавим единицу:

1, 1, 2, 3, 2, 1, 4, 8, 2…

Это, безусловно, механическая процедура, и, поскольку наша таблица была получена путем вычислений, мы получим новую вычислимую последовательность 1 + Q(n ; m ), т. е.

1 + Tn(n) х H(n ; n )

(с учетом того, что для диагональных элементов n = m). Но наша таблица содержит в себе все вычислимые последовательности, поэтому она должна содержать также и новую последовательность. Однако это невозможно! Ведь наша новая последовательность отличается от первого ряда первым элементом, от второго — вторым, от третьего — третьим, и т. д. Налицо явное противоречие, которое и устанавливает справедливость доказываемого нами утверждения о том, что машина Тьюринга H на самом деле не существует! Иными словами, не существует универсального алгоритма для решения вопроса об остановке произвольной машины Тьюринга.

Можно построить доказательство и по-другому. Для этого заметим, что из предположения о существовании H следует и существование машины Тьюринга с номером k, реализующей алгоритм (диагональный процесс!) 1 + Q(n ; n ), т. е. можно записать

1 + Tn(n ) х H(n ; n ) = Tk(n ).

Но если мы подставим в это выражение n = k, то получится

1 + Tk(k ) x H(k ; k ) = Tk(n).

Мы приходим к противоречию, потому что если Tk(k) останавливается, то мы имеем невыполнимое равенство

1 + Tk(k ) = Tk(k )

(поскольку Н(k ; k ) = 1), тогда как в случае безостановочного действия Tk(k ) (т. е. когда Н(k; k ) = 0) мы получаем не менее абсурдное соотношение

1 + 0 = .

Вопрос о том, останавливается ли конкретная машина Тьюринга или нет, представляет собой совершенно четко определенную математическую задачу (а ранее мы уже видели, что, наоборот, различные важные математические задачи могут быть сведены к вопросу об остановке машины Тьюринга). Таким образом, доказав, что не существует алгоритма для решения вопроса об остановке машины, Тьюринг показал (также как и Черч, который использовал свой собственный и весьма отличающийся подход), что не может быть и общего алгоритма для решения математических задач. Проблема разрешимости Гильберта не имеет решения!

Это не означает, что в каждом отдельном случае мы не в состоянии выяснить справедливость (или, наоборот, несостоятельность) некоторого конкретного математического утверждения или определить, остановится ли данная машина Тьюринга. С помощью интуиции, искусных технических приемов или же опираясь просто на здравый смысл, мы, вероятно, могли бы получить ответ на такие вопросы в частных случаях. (Так, например, если перечень инструкций некоторой машины Тьюринга не включает ни одной команды STOP или же, наоборот, состоит только из таких команд, то одного здравого смысла достаточно для решения вопроса о ее остановке!) Но не существует ни одного алгоритма, который позволял бы решать любую математическую задачу или давал ответ на вопрос об остановке любой машины Тьюринга при любых вводимых в нее числах.

Может показаться, что мы пришли к выводу о существовании по крайней мере нескольких неразрешимых математических вопросов. Однако это совсем не так! Мы не показали, что существует какая-то необычайно громоздкая машина Тьюринга, для которой (в некотором абсолютном смысле) невозможно решить вопрос об остановке при ее работе с каким-то особенно громоздким числом — в действительности, все как раз наоборот, как мы сможем скоро убедиться. Мы вообще ничего не говорили о неразрешимости какой-то отдельной задачи, а только лишь об алгоритмической неразрешимости классов задач. В каждом конкретном случае ответ будет либо «да», либо «нет», поэтому алгоритм для решения частной задачи, конечно, существует, а именно алгоритм, который при применении к этой задаче просто дает ответ «да» или, может быть, «нет»! Трудность в данном случае состоит в том, что мы не знаем, какой именно из имеющихся алгоритмов применять в том или ином случае. Это вопрос об установлении математической истинности отдельного утверждения, но не об общем решении проблемы для целого класса утверждений. Очень важно сознавать, что сами по себе алгоритмы не доказывают математическую истину. Решение о правомерности использования каждого алгоритма должно всегда приходить извне.

Как превзойти алгоритм

К вопросу о том, как установить истинность математических утверждений, мы вернемся позднее, в связи с теоремой Геделя (см. главу 4). Пока же я бы хотел обратить ваше внимание на то, что доказательство Тьюринга носит гораздо более конструктивный характер и не столь негативно, как могло показаться из предыдущего изложения. Мы ведь не показали, что есть некая определенная машина Тьюринга, для которой абсолютно невозможно решить, останавливается она или нет. Более того, если внимательно проследить за доказательством, то выяснится, что для кажущихся «чрезвычайно сложными» машин сама процедура Тьюринга, использованная для их построения, неявным образом дает ответ! Посмотрим, как это происходит. Допустим, у нас есть алгоритм, который иногда позволяет определить, что машина Тьюринга не остановится. Вышеописанная процедура Тьюринга позволяет явно проследить за вычислениями машины Тьюринга в случае, когда этот конкретный алгоритм не дает ответа на вопрос об остановке вычислительного процесса. Однако тем самым эта процедура дает нам в этом случае возможность узнать ответ! Конкретная машина Тьюринга, за работой которой мы следим, и вправду никогда не остановится.

Чтобы подробно разобраться в этом вопросе, предположим, что у нас есть некий алгоритм, который иногда позволяет решить проблему остановки. Как и ранее, мы обозначим этот алгоритм (машину Тьюринга) через H, но теперь мы допускаем, что этот алгоритм не всегда может точно определить, что машина Тьюринга не остановится:

Новый ум короля

так что Н(n ; m ) = возможно в случае, когда Tn(m) = . Существует немало алгоритмов типа Н(n; m). (Например, Н(n; m ) мог бы просто давать на выходе 1, как только машина Tn(m ) останавливается, хотя такой алгоритм едва ли представляет большой практический интерес!)

Мы можем повторить процедуру Тьюринга, следуя уже пройденным путем, с той только разницей, что теперь некоторые из «» останутся не замененными на нули. Как и ранее, применив диагональный процесс, получим

1 + Tn(n ) х H(n; n )

в качестве n-го элемента диагонали. (Мы будем иметь каждый раз, когда H (n; n) = .

Отметим, что □x=, 1 + = .) Это безупречно алгоритмизованное вычисление, поэтому оно может быть произведено некоторой машиной Тьюринга, скажем k-й, и тогда мы получим

1 + Tn(n ) х H(n; n) = Тk(n ).

Для k-го диагонального элемента (т. е. n = k ) мы имеем

1 + Tk(k) x H(k; k) = Tk(k).

Если вычисления Тk(k ) останавливаются, то мы приходим к противоречию (в этом случае Н(k; k) должно равняться единице, но тогда возникнет невыполнимое равенство: 1+Тk(k ) = Тk(k )). Значит, Тk(k ) не может остановиться, т. е.

Тk(k ) = .

Но алгоритм не может этого «знать», потому что, если бы он давал Н(k; k) = 0, мы снова пришли бы к противоречию (мы получили бы тогда неверное соотношение 1+0=).

Таким образом, если мы можем отыскать k, то мы знаем, как построить вычислительную процедуру, для которой алгоритм не дает решения проблемы остановки, но нам ответ известен! А как нам найти k ? Это непростая задача. Необходимо тщательно изучить конструкцию H(n; m ) и Tn(m) и понять, как в точности действует 1 + Тn(n ) х Н(n; n) в качестве машины Тьюринга. Затем надо определить номер этой машины, который и есть k. Конечно, это выполнить трудно, но вполне возможно[54]. Из-за этих трудностей вычисление Тk(k ) нас бы вовсе не интересовало, не будь она специально предназначена для доказательства неэффективности алгоритма H! Важно то, что мы получили строго определенную процедуру, которая для любого наперед заданного алгоритма H позволяет найти такое k, что для Тk(k ) этот алгоритм не может решить проблему остановки, т. е. мы тем самым превзошли его. Возможно, мысль о том, что мы «умнее» каких-то алгоритмов, принесет нам некоторое удовлетворение!

На самом деле, упомянутая процедура настолько хорошо определена, что мы могли бы даже найти алгоритм для нахождения k по заданному H. Поэтому, прежде чем мы «погрязнем» в самодовольстве, мы должны осознать, что этот алгоритм может улучшить H[55], поскольку он, по сути, «знает», что Тk(k) = , - или все-таки нет? В предыдущем изложении было удобно использовать антропоморфный термин «знать» по отношению к алгоритму. Однако не мы ли в конечном счете «знаем», тогда как алгоритм просто следует определенным нами правилам? А может быть мы сами просто следуем правилам, запрограммированным в конструкции нашего мозга и в окружающей нас среде? Эта проблема затрагивает не только алгоритмы, но и то, как мы выносим суждения об истинности и ложности. К этим важнейшим проблемам мы вернемся позднее. Вопрос о математической истине (и ее неалгоритмической природе) будет рассмотрен в главе 4. На данный момент мы, по крайней мере, получили некоторое представление о значении слов «алгоритм» и «вычислимость» и достигли понимания некоторых из относящихся к ним вопросов.

Лямбда-исчисление Черча

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

Задача о разрешимости определенной математической операции может их заинтриговать, особенно потому, что общее решение этой головоломки само по себе алгоритмически не разрешимо.

Следует сделать еще одно замечание. Вычислимость — это по-настоящему «абсолютная» математическая идея. Это абстрактное понятие, которое никак не зависит от какой-либо конкретной реализации в терминах «машин Тьюринга» в том виде, как я их описал выше. Как я уже указывал, нет необходимости придавать какое-либо специальное значение «лентам», «внутренним состояниям» и т. п., характерным для гениального, но тем не менее частного подхода Тьюринга. Существуют также и другие способы выражения идеи вычислимости, причем исторически первым было «лямбда-исчисление», предложенное американским логиком Алонзо Черчем совместно со Стивеном Клини. Процедура, предложенная Черчем, значительно отличалась от метода Тьюринга и была гораздо более абстрактна. Фактически, форма, в которой Черч изложил свою теорию, делала связь между ними и чем бы то ни было «механическим» совсем не очевидной. Главная идея, лежащая в основе процедуры Черча, абстрактна по своей сути — это математическая операция, которую сам Черч назвал «абстрагированием».

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

В рамках этой схемы рассматривается «универсальное множество» различных объектов, обозначаемых, скажем, символами

Новый ум короля

каждый из которых представляет собой математическую операцию, или функцию. (Штрихованные буквы позволяют создавать неограниченные наборы символов для обозначения таких функций.) «Аргументы» этих функций, т. е. объекты, на которые эти функции действуют, в свою очередь являются объектами той же природы, т. е. функциями. Более того, результат действия одной функции на другую (ее «значение») также представляет собой функцию. (Поистине, в системе Черча наблюдается замечательная экономия понятий.) Поэтому, когда мы пишем[56]

а = bс,

мы подразумеваем, что функция b, действуя на функцию c, дает в результате другую функцию а. В рамках этой схемы нетрудно сформулировать понятие функции двух или более переменных. Если мы хотим представить f как функцию двух переменных, скажем р и q, то мы можем просто написать

(fp)q

(что есть результат действия функции fp на функцию q ). Для функции трех переменных можно использовать выражение

((fp)q)r

и так далее.

Теперь мы можем перейти к описанию важнейшей операции абстрагирования. Для нее мы будем использовать греческую букву λ (лямбда). Непосредственно за ней будет следовать символ одной из функций Черча, скажем х, который мы будем рассматривать как «фиктивную переменную». Каждое появление х в квадратных скобках, следующих сразу за этим выражением, обозначает теперь просто место, куда подставляется все, что идет за всем этим выражением. Таким образом, когда мы пишем

λx. [fx],

мы подразумеваем функцию, которая при действии на, например, а имеет значение , т. е.

(λх. [fx ])a = .

Другими словами, λх. [] — это просто функция f, т. е.

λх. [] = f.

Сказанное выше требует определенного осмысления. Это одна из тех математических тонкостей, которые на первый взгляд кажутся настолько педантичными и тривиальными, что их смысл часто совершенно ускользает от понимания. Рассмотрим пример из знакомой всем школьной математики. Примем за f тригонометрическую функцию — синус угла. Тогда абстрактная функция «sin» будет определяться выражением

λх. [sin х ] = sin.

(Не придавайте большого значения тому, что в качестве «функции» х может фигурировать величина угла. Мы скоро увидим, каким образом числа можно иногда рассматривать как функции, а величина угла — это просто число.) До сих пор все на самом деле тривиально. Однако представим себе, что обозначение «sin» не было изобретено, но нам известно о существовании представления sin х в форме степенного ряда:

Новый ум короля

Тогда мы могли бы ввести определение

Новый ум короля

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

Новый ум короля

Тогда, например,

Новый ум короля

К обсуждаемым проблемам большее отношение имеют выражения, составленные просто из элементарных функциональных операций Черча, таких как

λf.[f (fx)]

Это функция, которая, действуя на другую функцию, скажем g, дает дважды итерированную g, действующую на x

(λf.[f (fx)])g = g(gx) .

Мы могли бы сначала «абстрагироваться» от x и рассмотреть выражение

λf. [λх. [f (fх)]],

которое можно сократить до

λfx. [f (fx)].

Это и есть операция, применение которой к g дает функцию «вторая итерация g». По сути, это та самая функция, которую Черч обозначил номером 2 :

2 = λfx.[f (fx)],

так что (2g) y = g (gy). Аналогичным образом он определил:

3 = λ fx. [f (f (fx))],

4 = λfх. [f (f (f (fx)))], и т. д.,

а также

1 = λfх. [fх] и 0 = λ fx.

[x].

Видно, что 2 Черча больше похоже на «дважды», 3 — на «трижды» и т. д. Значит, действие 3 на функцию f, т. е. 3f равносильно операции «применить f три раза», поэтому 3f при действии на у превращается в

(3f)y = f (f (f (y))) -

Посмотрим, как в схеме Черча можно представить очень простую математическую операцию — прибавление 1 к некоторому числу. Определим операцию

S = λabc. [b ((аb)с)].

Чтобы убедиться, что S действительно прибавляет 1 к числу в обозначениях Черча, проверим ее действие на 3 :

Новый ум короля

поскольку (3b)с = b (b (bc)). Очевидно, эта операция с таким же успехом может быть применена к любому другому натуральному числу Черча. (В действительности, операция

λаbс. [(аb)(bс)] приводит к тому же результату, что и S.)

А как насчет удвоения числа? Удвоение числа может быть получено с помощью операции

Новый ум короля

что легко видеть на примере ее действия на 3 :

Новый ум короля

Фактически, основные арифметические операции — сложение, умножение и возведение в степень могут быть определены, соответственно, следующим образом:

А = λfgxy. [((fx)(gx))y],

М = λfgx. [f (gx)],

P = λfg. [fg]

Читатель может самостоятельно убедиться (или же принять на веру), что

(Am) n = m + n,

(Mm) n = m x n,

(Pm) n = nm,

где m и n — функции Черча для двух натуральных чисел, m— функция, выражающая их сумму, и т. д. Последняя из этих функций поражает больше всего. Посмотрим, например, что она дает в случае m = 2, n = 3:

Новый ум короля

Операции вычитания и деления определяются не так легко (на самом деле нам потребуется соглашение о том, что делать с (mn ), когда m меньше n, и с (m/n ), когда m не делится на n ). Решающий шаг в развитии этого метода был сделан в начале 1930-х годов, когда Клини удалось найти выражение для операции вычитания в рамках схемы Черча! Затем были описаны и другие операции. Наконец, в 1937 году Черч и Тьюринг независимо друг от друга показали, что всякая вычислимая (или алгоритмическая) операция — теперь уже в смысле машин Тьюринга — может быть получена в терминах одного из выражений Черча (и наоборот).

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

Как я отмечал ранее, существуют и другие способы определения понятия вычислимости. Несколько позже, но независимо от Тьюринга, Пост предложил во многом сходную концепцию вычислительной машины. Тогда же благодаря работам Дж. Хербранда и Геделя появилось и более практичное определение вычислимости (рекурсивности). X. Б. Карри в 1929 году, и ранее, в 1924, М. Шенфинкель, предложили иной подход, который был отчасти использован Черчем при создании своего исчисления (см. Ганди [1988]). Современные подходы к проблеме вычислимости (такие как машина с неограниченным регистром, описанная Катлендом [1980]) в деталях значительно отличаются от разработанного Тьюрингом и более пригодны для практического использования. Однако понятие вычислимости во всех этих подходах остается неизменным.

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

Глава 3

Математика и действительность

Страна Тор'Блед-Нам

Представим себе, что мы совершаем большое путешествие в некий далекий мир. Назовем его Тор'Блед-Нам. Наша телеметрическая система зарегистрировала сигнал, вывела его на монитор и, отфокусировав изображение, мы увидели следующую картину (рис. 3.1):

Новый ум короля

рис. 3.1. Первый взгляд на новый мир

Что бы это могло быть? Странного вида насекомое? А может быть, темное озеро с многочисленными втекающими в него ручьями? Или огромный причудливой формы внеземной город, с исходящими в разных направлениях дорогами, которые ведут в расположенные поблизости городки и деревушки? Возможно, это остров — и если это так, то давайте поищем поблизости континент, с которым он связан. Для этого «отойдем назад», т. е. уменьшим увеличение наших приборов раз в 15. И вот — посмотрите-ка — этот новый мир предстал перед нашим взором во всей своей полноте (рис. 3.2):

Новый ум короля

Рис. 3.2. Общий вид Тор'Блед-Нам. Стрелками

отмечены области, увеличенные изображения которых

даны на рис. 3.1, 3.3 и 3.4

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

Давайте исследуем один из наростов у нашего насекомого, для чего увеличим разрешение примерно в десять раз (см. рис. 3.3 — соответствующая область на рис. 3.2. отмечена как «рис. 3.3»).

Новый ум короля

Рис. 3.3. Бородавка

с «пятеричностью» своих волоконцев

Своим видом нарост сильно напоминает все существо целиком, за исключением места соединения. Обратите внимание, что на рис. 3.3 имеется множество точек, в которых сходятся пять волокон. По-видимому, этому конкретному наросту свойственна некая «пятеричность» (точно также как для самой верхней «бородавки» на рис. 3.2 характерна определенная «троичность»). На самом деле, если исследовать (на рис. 3.2) расположенный чуть ниже и левее следующий разумного размера нарост, то мы обнаружим у него «семеричность», а у следующего — характерную «девятеричность» и т. д. При углублении во впадину между двумя самыми крупными областями на рис. 3.2, справа будут встречаться наросты с постоянно нарастающим нечетным числом лучей. Давайте всмотримся внимательно вниз вглубь заостренной впадины, повысив увеличение еще в десять раз по сравнению с рис. 3.2 (рис. 3.4).

Новый ум короля

Рис. 3.4. Главная впадина. «Долина морских

коньков» едва различима справа внизу

Мы обнаружим множество других мельчайших наростиков на фоне общего беспорядочного завихрения. Справа видны едва различимые спиралевидные структуры, напоминающие «хвосты морских коньков», расположенные в области, которую мы так и назовем — «долина морских коньков». Здесь нам встретятся — если смотреть на это место при достаточно большом увеличении — разнообразные «морские анемоны» или области с богатой флорой. В конце концов, перед нами действительно может быть какой-то экзотический берег — возможно, коралловый риф, изобилующий всевозможными формами жизни. Объект, принятый нами за цветок, при более сильном увеличении может оказаться состоящим из мириада мельчайших и при этом невероятно сложных структур, с многочисленными волокнами и вихреобразными спиралевидными хвостами. Давайте рассмотрим подробнее один из более крупных хвостов морских коньков, а именно — едва различимое образование, обозначенное на рис. 3.4 как «рис. 3.5» (и соединенное с 29-ричным наростом!). Повысив увеличение в 250 раз, мы увидим изображенную на рис. 3.5 спираль.

Новый ум короля

Рис. 3.5. Хвост «морского конька» крупным планом

При этом окажется, что это не обычный хвост: и он тоже состоит из сложнейших вихреобразных структур с многочисленными мельчайшими спиралями и областями в форме осьминогов и морских коньков!

Новый ум короля

Рис. 3.6. Дальнейшее увеличение места соединения

спиралей. В центре едва различим маленький детеныш

Во многих местах видно, что исследуемые нами структуры расположены точно в том месте, где сходятся две спирали. Рассмотрим одно такое место (обозначенное как «рис. 3.6» на рис. 3.5) с дополнительным 30-кратным увеличением. Посмотрите-ка: в самой середине теперь виднеется странный объект, в котором, однако, есть что-то знакомое. Увеличим изображение еще в шесть раз (рис. 3.7) — появляется крохотный дочерний объект, практически идентичный всей структуре!

Новый ум короля

Рис. 3.7. При увеличении детеныш обнаруживает

сходство с целым миром

При более внимательном рассмотрении обнаруживаются некоторые отличия присоединенных к этой субструктуре волокон от тех, что выходят из основной структуры, — новые волокна, закручиваясь, уходят на значительно большие относительные расстояния. И при этом маленькое существо выглядит почти неотличимым от своего родителя, — у него даже есть аналогично расположенные собственные детеныши. Можно было бы исследовать и их, если вновь повысить увеличение приборов. «Внуки» тоже будут напоминать своего общего предка — и нетрудно увидеть, что так может продолжаться до бесконечности. Этот странный мир Тор'Блед-Нам можно исследовать как угодно долго, постоянно увеличивая разрешающую способность нашей системы наблюдения. И тогда перед нами предстанет бесконечное разнообразие: никакие две области не являются в точности одинаковыми, но всем им свойственны общие черты, которые очень быстро становятся узнаваемыми. Знакомые нам уже жукообразные существа появляются на все меньших и меньших масштабах. Каждый раз при этом расположенные рядом волокнистые структуры отличаются от предыдущих, демонстрируя новые фантастические сцены невероятной сложности.

В какой же странной и удивительно замысловатой по своей структуре стране мы оказались? Не сомневаюсь, что многие читатели уже знакомы с ней, но не все. Это не что иное, как фрагмент абстрактной математики — множество, известное под названием множества Мандельброта[57]. При всей его несомненной сложности оно получается на редкость простым образом! Чтобы как следует объяснить правила построения этого множества, необходимо сначала рассказать о том, что такое комплексные числа. Именно этим я сейчас займусь. Комплексные числа нам понадобятся и в дальнейшем. Они являются неотъемлемой частью структуры квантовой механики и вследствие этого лежат в основе поведения самого мира, в котором мы живем. Кроме того, комплексные числа являют собой одно из великих чудес математики. Чтобы объяснить, что такое комплексные числа, мне сначала потребуется напомнить вам, что подразумевается под термином «действительные числа». Не лишним будет также отметить связь этого понятия с действительностью «реального мира»!

Действительные числа

Напомним, что натуральные числа являются целыми величинами:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11…

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

На самом деле при счете дат имеет место некоторое отступление от этого правила, поскольку нулевой год пропускается.

Тем не менее некоторые важные математические операции могут все же вывести нас за пределы мира натуральных чисел. Простейшая из них — вычитание. Для систематического определения вычитания нам понадобятся отрицательные числа. Теперь мы можем выстроить всю систему целых чисел:

… -6, -5, -4, -3, -2, -1, 0,

1, 2, 3, 4, 5, 6, 7…

Некоторые вещи — такие, как электрический заряд, банковские балансы или даты[58], измеряются количественно этими числами. Однако сфера применения целых чисел все же слишком ограничена, поскольку деление одного числа на другое может оказаться неразрешимой задачей в рамках целых чисел. Соответственно, нам понадобятся дроби, или, как их называют, рациональные числа:

0, 1, -1, 1/2, -1, 2, -2, 3/2, -3/2, 1/3…

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

Новый ум короля

а также

Новый ум короля

Это знаменитые выражения. Первое из них было найдено английским математиком, филологом и криптографом Джоном Уоллисом в 1655 году, а второе — шотландским математиком и астрономом (а также изобретателем первого телескопа-рефлектора) Джеймсом Грегори в 1671 году. Как и π, определенные подобным образом числа не обязаны быть рациональными (то есть представляться в виде m/n, где m и n — целые числа, причем n не равно нулю). Систему чисел необходимо расширить, обеспечив возможность включения в нее таких величин.

Расширенная таким образом система чисел называется системой действительных чисел — тех самых хорошо знакомых нам чисел, что представляются в виде бесконечных десятичных дробей, таких как:

―583,70264439121009538…

В этом представлении мы получаем следующее известное выражение для числа π:

π = 3,14159265358979323846….

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

√2= 1,41421356237309504…

или же квадратные корни (или кубические корни и т. д.) любого положительного числа, как, например, выражение для числа π, найденное великим швейцарским математиком Леонардом Эйлером:

π = √6 (1 + 1/4 + 1/9 + 1/25 + 1/36 +…).

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

Может создаться впечатление, что представить себе все бесконечное десятичное разложение целиком невозможно, но это не так. Вот простой пример, когда вся последовательность знаков оказывается явным образом обозримой:

1/3 = 0,333333333333333…

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

93/74 = 1,2567567567567567…,

где последовательность 567 повторяется неограниченное число раз. Это число тоже оказывается полностью обозримым. Также обозримым является выражение

0,220002222000002222220000000222222220…

которое определяет иррациональное число (оно просто состоит из последовательностей нулей и двоек, длины которых каждый раз увеличиваются на единицу), и еще много похожих выражений. В каждом таком случае нам достаточно знать правило, по которому составлено разложение. Знание алгоритма порождения очередной цифры в разложении числа — при условии, что такой алгоритм существует — дает нам способ «увидеть» целиком все бесконечное десятичное разложение. Действительные числа с алгоритмически порождаемыми десятичными разложениями называются вычислимыми числами (см. также гл.2 «Числа, отличные от натуральных»). (При этом не важно, десятичное это разложение или двоичное. Вычислимыми в этом смысле оказываются одни и те же числа, независимо от использованного основания разложения.) Только что рассмотренные числа π и √2 представляют собой примеры вычислимых чисел. В обоих случаях подробное описание соответствующего правила — задача довольно-таки кропотливая, но, в принципе, нетрудная.

Есть, однако, действительные числа, которые не являются вычислимыми в упомянутом выше смысле. Как мы убедились в главе 2, существуют невычислимые и при этом совершенно четко определенные последовательности. В качестве примера можно рассмотреть десятичное разложение, в котором n-я цифра равна 0 или 1 в зависимости от того, останавливается или нет n-я машина Тьюринга, производящая действия над числом n. В общем случае мы потребуем лишь, чтобы для действительного числа существовало какое-нибудь бесконечное десятичное разложение. Мы не только не требуем существования алгоритма порождения n-й цифры, но нам даже не обязательно знать о существовании какого бы то ни было правила, в принципе определяющего n-ю цифру[59]. Заметим, что вычислимые числа неудобны в работе. Невозможно обойтись одними лишь вычислимыми операциями, даже оперируя вычислимыми числами. Например, в общем случае вычислимым образом невозможно даже решить, равны ли два вычислимых числа друг другу! По этой причине мы будем работать со всеми действительными числами, когда десятичная последовательность может быть любой, а не только, скажем, вычислимой.

В заключение отметим также тождественность действительных чисел, чьи десятичные разложения заканчиваются бесконечной последовательностью девяток, и чисел, чьи разложения заканчиваются бесконечной последовательностью нулей. Например:

— 27,1860999999… = -27,1861000000…

Сколько же всего действительных чисел?

Давайте остановимся на минутку, чтобы оценить всю колоссальность обобщения при переходе от рациональных чисел к действительным.

Вначале может показаться, что целых чисел больше, чем натуральных, поскольку каждое натуральное число является целым, в то время как некоторые целые числа (а именно отрицательные) натуральными не являются. Аналогично может создаться впечатление, что дробей больше, чем целых чисел. Однако это не так. Согласно мощной и очень красивой теории бесконечных чисел, разработанной в конце XIX века Георгом Кантором — исключительно самобытным немецким математиком русского происхождения, — общее число дробных чисел, общее количество всех целых чисел и число всех натуральных чисел равны одному и тому же бесконечному числу, обозначаемому N0 [60] «алеф-нуль»). (Удивительно, что похожая идея была частично предвосхищена еще за 250 лет до этого в начале XVII века великим итальянским физиком и астрономом Галилео Галилеем. Мы вспомним о некоторых других достижениях Галилея в главе 5.) Равенство количества целых чисел количеству натуральных чисел видно из следующего взаимно-однозначного соответствия:

Новый ум короля

Обратите внимание, что каждое целое число (в левом столбце) и каждое натуральное число (в правом столбце) встречаются один и только один раз в своем списке. В канторовской теории множеств именно существование такого рода взаимно-однозначного соответствия устанавливает факт равенства числа объектов в левом столбце числу объектов в правом столбце. Таким образом, число целых чисел действительно равно числу натуральных чисел. В данном случае это число бесконечно, но это не Имеет значения. (Единственное необычное свойство бесконечных чисел состоит в том, что даже если мы исключим некоторые элементы одного из списков, мы можем установить взаимно-одиозначное соответствие между элементами двух списков.) Аналогичным, хотя и несколько более сложным образом, устанавливается взаимно-однозначное соответствие между дробными и целыми числами. (Для этого можно использовать какой-либо из способов представления пар натуральных чисел — числителей и знаменателей — через отдельные натуральные числа; см. главу 2, «Двоичная запись цифровых данных») Множества, которые можно поставить во взаимно-однозначное соответствие с рядом натуральных чисел, называются счетными; таким образом, счетные бесконечные множества — это множества, состоящие из N0 элементов. И, как мы только что убедились, множество целых чисел, равно как и множество дробных чисел, является счетным.

Существуют ли множества, не являющиеся счетными? Несмотря на расширение натуральной системы чисел сначала целыми, а затем и рациональными числами, общее число рассматриваемых объектов не увеличилось. Как мы убедились, число объектов во всех случаях осталось счетным. У читателя теперь может создаться впечатление, что все бесконечные множества счетны. Это не так, поскольку ситуация меняется коренным образом при переходе к действительным числам. Одним из замечательных достижений Кантора явилось доказательство того, что действительных чисел больше, чем натуральных. При этом Кантор применил так называемый диагональный процесс, который упоминался в главе 2 и который Тьюринг использовал в своем доказательстве неразрешимости проблемы остановки Для машин Тьюринга. Доказательство Кантора, как и более позднее доказательство Тьюринга, — это доказательство от противного. Предположим, что утверждение, справедливость которого мы хотим установить, на самом деле ложно, то есть множество действительных чисел счетно. Тогда множество действительных чисел в интервале от 0 до 1 должно быть заведомо счетным и должен существовать какой-нибудь список, устанавливающий взаимно-однозначное соответствие между рассматриваемым множеством действительных чисел и множеством натуральных чисел, наподобие вот этого:

Новый ум короля

Жирным шрифтом выделены диагональные десятичные знаки. В данном случае эти цифры равны:

1, 4, 1, 0, 0, 3, 1, 4, 8, 5, 1…..

Метод диагонального процесса состоит в построении действительного числа (в интервале от 0 до 1), чье десятичное разложение (после десятичной запятой) отличается в каждом разряде от соответствующего числа приведенной выше последовательности. Для определенности положим, что цифра данного разряда равна 1, если цифра соответствующего разряда на диагонали отлична от 1, и равна 2, если цифра на диагонали равна 1. Таким образом, в рассматриваемом случае получается такое действительное число:

0,21211121112…

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

Число действительных чисел равно бесконечному числу, обозначаемому С. (Здесь С является сокращенным обозначением слова континуум — другого названия системы действительных чисел.) Может возникнуть вопрос, почему мы не обозначаем это число, например, N1. Символ N1 на самом деле обозначает следующее за N0 бесконечное число, а вопрос о том, верно ли утверждение СN1 — это так называемая континуум-гипотеза, — представляет собой знаменитую и пока что нерешенную проблему.

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

«Действительность» действительных чисел

Если отвлечься от понятия вычислимости, то действительные числа называются «действительными», потому что они, как представляется, дают величины, необходимые для измерения расстояний, углов, времени, энергии, температуры и многих других геометрических и физических параметров. Однако связь абстрактно определенных «действительных» чисел с физическими величинами не так проста, как может показаться. Действительные числа следует рассматривать скорее как некоторую математическую идеализацию, чем как реальную меру физически объективных величин. Система действительных чисел обладает, например, таким свойством, что между любыми двумя действительными числами (вне зависимости от их близости) существует третье действительное число. При этом совершенно не ясно, можно ли обоснованно утверждать то же самое о физических расстояниях или промежутках времени. Если мы продолжим дробить физическое расстояние между двумя точками, то мы в конце концов достигнем масштабов столь малых, что само понятие расстояния в обычном его смысле станет бессмысленным. Предполагается, что это действительно имеет место на масштабах, характерных для квантовой теории гравитации, которые в 1020 раз[61] меньше размеров субатомных частиц. Но чтобы отобразить действительные числа нам потребуется дойти до сколь угодно более мелких масштабов, которые, например, в 10200, 102000 или даже в

Новый ум короля

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

Система действительных чисел выбрана в физике в силу ее математической полезности, простоты и изящества, а также поскольку она согласуется на очень широком интервале масштабов с физическими понятиями пространства и времени. Она выбрана не потому, что мы будто бы знаем, что она согласуется с упомянутыми физическими величинами на всех масштабах. Такое согласие вполне может не иметь места на очень малых пространственных и временны́х масштабах. Обычные расстояния измеряются при помощи линейки, но линейка оказывается «зернистой» при переходе к масштабам образующих ее атомов. Само по себе это не мешает нам продолжать использовать действительные числа подходящим образом, но измерение меньших расстояний требует уже гораздо большей изобретательности. По крайней мере, мы должны быть готовы предположить, что на очень-очень малых масштабах могут встречаться принципиальные трудности с расстояниями. Как оказывается, природа оказалась к нам на удивление благосклонна, сделав те самые действительные числа, которые мы привыкли повседневно применять для описания предметов на макромасштабах, пригодными для описания расстояний гораздо меньших атомных — по крайней мере, на масштабах, равных одной сотой «классического» диаметра элементарной частицы — такой, как электрон или протон, — и, по-видимому, вплоть до «масштабов квантовой теории гравитации», что на двадцать порядков меньше размеров таких частиц! Это пример исключительно сильной экстраполяции нашего опыта. Сфера применимости привычного понятия расстояния, измеряемого действительными числами, по-видимому, простирается до самых далеких квазаров и еще дальше. Общий диапазон измеримых расстояний составляет 1042, а может быть, 1060 или даже больше. Кстати, сомнения в правомерности использования системы действительных чисел высказывались не так уж часто. Почему же мы так уверены в том, что эти числа дают точное описание физических явлений, хотя реально об их применимости мы знаем лишь в весьма ограниченном диапазоне масштабов? Должно быть, эта уверенность — возможно, неверная — основывается на (правда, не очень часто признаваемых) логическом изяществе, внутренней согласованности и математической мощи системы действительных чисел в сочетании с верой в глубинную математическую гармонию природы.

Комплексные числа

Оказывается, что действительные числа — это не единственная математически мощная и изящная система чисел. Система действительных чисел все же не лишена некоторых неудобств. Например, квадратные корни можно извлекать только из положительных чисел (или нуля), но никак не из отрицательных чисел. С математической точки зрения — и отвлекаясь пока что от вопроса о непосредственной связи с физическом миром — было бы очень удобно иметь возможность извлекать квадратные корни как из положительных, так и из отрицательных чисел. Давайте постулируем существование, или попросту «изобретем» квадратный корень из числа -1. Обозначим его буквой i. Тогда мы имеем:

i 2 = -1.

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

Имея квадратный корень из -1, можно без особого труда получить квадратные корни для всех действительных чисел. Если а является положительным действительным числом, то величина i х √a есть квадратный корень из отрицательного действительного числа — а. (У этого числа есть еще другой квадратный корень, а именно — i х √а.) Ну, а что же можно сказать о самом числе i ? Есть ли у него квадратный корень? Разумеется есть, поскольку, как легко проверить, величина

1+i /√2

(равно как и та же величина, взятая с отрицательным знаком), будучи возведена в квадрат, равна i. А у этой величины, в свою очередь, есть квадратный корень? Ответ опять положительный: квадрат числа

Новый ум короля
 или того же числа, взятого с отрицательным знаком, действительно равен (1 + i)/√2.

Обратите внимание, что при образовании такого рода величин мы позволили себе складывать действительные и мнимые числа, а также умножать наши числа на произвольные действительные числа (или делить их на произвольные ненулевые действительные числа, а это то же самое, что умножать их на обратные величины). Получаемые таким образом объекты называются комплексными числами. Комплексное число это число вида: а + ib, где а и b — это действительные числа, называемые, соответственно, действительной и мнимой частью комплексного числа. Правила сложения и умножения двух таких чисел вытекают из обычных правил (школьной) алгебры с одним дополнительным правилом i 2 = — 1:

(а + ib) + (с + id) = (а + с) + i(b + d),

(а + ib) х (с + id) = (ас — bd) + i(ad + bc).

Удивительное дело: к созданию этой системы чисел нас подтолкнуло желание иметь возможность извлечения квадратных корней из любых чисел. Эта цель достигнута, хотя само по себе это еще не очевидно. Но новая система чисел позволяет делать гораздо больше: безнаказанно извлекать кубические корни, корни пятой степени, корни девяносто девятой степени, корни π-й степени, корни степени 1 + i и т. д. (это смог доказать еще в XVIII веке великий математик Леонард Эйлер). В качестве другого примера волшебных свойств комплексных чисел рассмотрим довольно сложные на вид тригонометрические формулы, которые проходят в школе. Так, синус и косинус суммы двух углов

sin (А + В) = sin A cos В + cos A sin В,

cos (А + В) = cos A cos В — sin A sin В

представляют собой, соответственно, просто-напросто мнимую и действительную части гораздо более простого (и легче запоминаемого!) комплексного уравнения[62]:

e iA+iB= e iA e iB

Все, что нам нужно здесь знать, это «формула Эйлера» (по-видимому, полученная за много лет до Эйлера замечательным английским математиком XVI века Роджером Котсом):

e iA= cosA+i sinA,

которую мы теперь подставим в приведенное выше уравнение. В результате имеем:

cos (А + B) + i sin (А + В) = (cosА + i sinA)(cosВ + i sinВ),

и, выполнив умножение в правой части, получим искомые тригонометрические соотношения.

Более того, любое алгебраическое уравнение

Новый ум короля

(где a0, a1, a2….,an являются комплексными числами и an≠ 0) всегда имеет своим решением некоторое комплексное число z. Например, существует комплексное число, удовлетворяющее соотношению:

z102 + 999z33 — πz2 = — 417 +i, хотя это совершенно не очевидно!

Это общее свойство иногда называют «основной теоремой алгебры». Многие математики XVIII века старались доказать этот результат. Получить удовлетворительное доказательство в общем случае оказалось не под силу даже Эйлеру. И только в 1831 году великий математик и естествоиспытатель Карл Фридрих Гаусс предложил потрясающий по своей оригинальности ход рассуждений и представил первое общее доказательство. Ключевым компонентом этого доказательства было применение топологических[63] рассуждений к геометрическому представлению комплексных чисел.

На самом деле Гаусс не был первым, кто использовал геометрическое представление комплексных чисел. Уоллис сделал то же самое примерно за двести лет до Гаусса, хотя далеко не столь результативно. Геометрическое представление комплексных чисел обычно связывают с именем Жана Робера Аргана — швейцарского бухгалтера, описавшего это представление в 1806 году, хотя полное описание этого представление было на самом деле дано девятью годами раньше норвежским геодезистом Каспаром Весселем. Согласно этой традиционной (хотя и не совсем правильной с исторической точки зрения) терминологии, я буду называть стандартное геометрическое представление комплексных чисел плоскостью Аргана.

Плоскость Аргана представляет собой обычную евклидову плоскость со стандартными декартовыми координатами x и y, где x обозначает расстояние по горизонтали (положительное вправо и отрицательное влево), а у — расстояние по вертикали (положительное вверху и отрицательное внизу). В этом случае комплексное число z = х + iy представляется точкой на плоскости Аргана с координатами (x, y) (рис. 3.8).

Новый ум короля

Рис. 3.8. Изображение комплексного числа z = х + iy на плоскости Аргана

Обратите внимание, что число 0 (рассматриваемое как комплексное число) соответствует началу координат, а число 1 — одной из точек на оси х.

Плоскость Аргана есть просто способ геометрически наглядной организации семейства комплексных чисел. Такое представление не является для нас чем-то совершенно новым. Мы уже знакомы с геометрическим представлением действительных чисел — в виде прямой линии, простирающейся на неограниченное расстояние в обоих направлениях. Одна из точек обозначена как 0, а еще одна — как 1. Точка 2 смещена относительно точки 1 равно настолько, насколько точка 1 смещена относительно точки 0; точка 1/2 расположена в точности посередине между точками 0 и 1; точка -1 расположена так, что точка 0 находится в точности посередине между точками -1 и 1, и т. д., и т. п. Отображенное таким образом множество действительных чисел называется действительной прямой. В случае комплексных чисел у нас есть уже целых два действительных числа — а и b — которые могут рассматриваться как координаты комплексного числа а + ib. Эти два числа дают нам две координаты точки на плоскости, в данном случае — на плоскости Аргана. Для примера я указал на рис. 3.9 приблизительные положения комплексных чисел

u = 1 + i 1,3, v = -2 + i, w = -1,5i 0,4.


Новый ум короля

Рис. 3.9. Расположение чисел u = 1 + i1,3, v = -2 + i, ω = -1,5i0,4 на плоскости Аргана

Теперь основные алгебраические операции сложения и умножения комплексных чисел приобретают ясную геометрическую интерпретацию. Рассмотрим сначала сложение. Предположим, что u и v это два комплексных числа, представленные на плоскости Аргана в соответствии с описанной выше схемой. Тогда сумма этих двух чисел u + v представляется «векторной суммой» двух точек, то есть точка u + v находится на месте недостающей вершины параллелограмма, образованного точками u, v и началом координат 0. Нетрудно убедиться, что эта конструкция (рис. 3.10) действительно дает сумму двух чисел, но соответствующее доказательство я здесь опускаю.

Новый ум короля

Рис. 3.10. Сумма u + v двух комплексных чисел определяется по правилу параллелограмма

Произведение uv двух комплексных чисел тоже имеет простую, хотя и, быть может, несколько менее очевидную геометрическую интерпретацию (рис. 3.11). (Я опять опускаю доказательство.)

Новый ум короля

Рис. 3.11. Произведение uv двух комплексных чисел u и v — это такое число, что треугольник, образованный точками 0, v и uv, подобен треугольнику, образованному точками 0, 1 и u. То же самое можно сформулировать иначе: расстояние точки uv от 0 равно произведению расстояний от 0 до точек u и v, а угол между uv и действительной (горизонтальной) осью равен сумме углов между этой осью и отрезками к точкам и и v

Угол при начале координат между 1 и uv равен сумме углов между 1 и v и между 1 и u (все углы измеряются против часовой стрелки), а расстояние точки uv от начала координат равно произведению расстояний от начала координат до u и v. Это эквивалентно утверждению, что треугольник, образованный точками 0, v и uv подобен (и ориентирован подобно) треугольнику, образованному точками 0, 1 и u. (Энергичные читатели, не знакомые с такого рода построениями, могут сами убедиться в том, что эти построения непосредственно следуют из только что приведенных алгебраических правил сложения и умножения комплексных чисел, также как и упомянутые выше тригонометрические тождества.)

Построение множества Мандельброта

Теперь мы можем рассмотреть, как определяется множество Мандельброта. Пусть z — это некоторое произвольное комплексное число. Каковым бы ни было это число, оно представляется некоторой точкой на плоскости Аргана. Рассмотрим теперь отображение, при котором z превращается в новое комплексное число, равное

z → z2 + с,

где с есть некое фиксированное (то есть заданное) комплексное число. Числу z2 + с будет сопоставляться некоторая другая точка на плоскости Аргана. Например, если с равно числу 1,63i4,2, то z отображается согласно формуле

z → z2 + 1,63i4,2,

так что, в частности, число 3 превратится в

З2 +1,63 — i4,2 = 9+1,63 — i4,2 = 10,63 — i4,2,

а число -2,7 + i0,3 в

(-2,7 + i0,3)2 + 1,63 — i4,2 =

= (-2,7)2 — (0,3)2 + 1,63 +

+ i{(-2,7)(0,3) — 4,2} = 8,83 — i5,82.

Когда числа становятся громоздкими, вычисления лучше выполнять на компьютере.

Теперь, каково бы ни было число c, число 0 превращается, согласно принятой схеме, в число с. А что же можно сказать о самом числе с? Оно превращается в с2 + с. Давайте продолжим этот процесс, применив наше преобразование к с2 + с. Мы получим:

(с2 + с)2 + с = с + 2 с + с2 + с.

Снова повторим отображение, применив его к приведенному выше числу. Мы получим:

(с4 + 2 с3 + с2 + с)2 + с =

= с8 + 7 + 6 с6 + 5 + 4 + 2 с3 + с2 + с.

Потом еще раз применим процедуру, теперь уже к последнему числу, и т. д. В результате мы получаем последовательность комплексных чисел, которая начинается с числа 0:

0, с, с2 + с, с4 + 3 + с2 + с

Данная процедура, будучи реализована при некоторых определенных значениях комплексного числа с, дает последовательность чисел, которые все время остаются вблизи начала координат плоскости Аргана; точнее, для выбранных таким образом значений с получаемая последовательность оказывается ограниченной, то есть любой ее член находится в пределах некоторого фиксированного круга с центром в начале координат (рис. 3.12).

Новый ум короля

Рис. 3.12. Последовательность точек на плоскости Аргана ограничена, если вся она целиком помещается в пределах некоторого фиксированного круга. (Итерация на рисунке начинаетсл с точки 0 и построена для с = — l/2 + (l/2)i.)

Хорошим примером здесь может служить последовательность с = 0, поскольку каждый ее член равен 0. Другим примером ограниченного поведения является случай с = 1, при котором получается последовательность 0, -1, 0, -1, 0, -1….; еще один пример — это с = i, когда получается последовательность 0, i, i — 1, -i, i — 1, -i, i — 1, -i….. Однако, для целого ряда других комплексных чисел с получаемая последовательность все дальше удаляется от начала координат, то есть является неограниченной и не может находиться целиком в пределах фиксированного круга. Именно так происходит при с = 1, когда получается последовательность 0, 1, 2, 5, 26, 677,458 330….; аналогичное поведение имеет место в случае с = 3 — соответствующая последовательность имеет вид 0, -3, 6, 33,1086….; а также случай с = i — 1, который приводит к последовательности 0, i — 1, -i — 1, -1 + 3i, — 9 — i5, 55 + i91, -5257 + i10011,

Множество Мандельброта — то есть зачерненная часть страны Тор'Блед-Нам[64] — как раз и есть та самая область на плоскости Аргана, что состоит из всех точек с, для которых получаемая последовательность является ограниченной. Белая же область состоит из тех точек с, для которых получается неограниченная последовательность. Приведенные выше подробные рисунки основаны на результатах компьютерных вычислений. На компьютере был проведен систематический перебор всевозможных комплексных чисел с, для каждого из них строилась последовательность 0, с, с2+с…, после чего согласно некоторому критерию определялось, ограничена или нет получаемая последовательность. Если последовательность оказывалась ограниченной, то соответствующая числу с точка экрана становилась черной. Таким образом, для каждой точки в рассматриваемой области компьютер решал, закрасить ее в белый или черный цвет.

Множество Мандельброта впечатляет своей сложностью, особенно учитывая, как это часто бывает в математике, удивительную простоту его определения. Кроме того, структура этого множества в целом не очень чувствительна к выбору алгебраической формы отображения — zz2 + с. Многие другие итеративные отображения (например, zz3 + iz2 + c) приводят к поразительно похожим структурам (при условии выбора подходящего начального числа — возможно, это не 0, а значение, четко задаваемое вполне определенным математическим правилом для каждого разумно выбранного отображения). Подобные «мандельбротовы» структуры характеризуются некоторыми универсальными или абсолютными свойствами по отношению к итеративным комплексным отображениям. Изучение таких структур является предметом отдельного раздела математики — так называемой теории комплексных динамических систем.

Платоническая реальность математических понятий?

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

Множество Мандельброта представляет собой потрясающий пример. Его удивительно сложная структура не является результатом изобретения ни какой-либо отдельной личности, ни группы математиков. Сам Бенуа Мандельброт — американский математик польского происхождения (и один из главных разработчиков теории фракталов), который первый[65] изучил это множество, не мог себе представить, насколько фантастически сложным окажется этот объект, хотя и понимал, что обнаружил нечто очень интересное. Действительно, увидев самые первые компьютерные изображения, он счел увиденные им размытые структуры результатом сбоя (Мандельброт [1986])! И только потом он убедился, что они действительно являлись частью множества. Более того, сложную структуру множества Мандельброта во всех ее деталях не под силу охватить никому из нас, и ее невозможно полностью отобразить на компьютере. Создается впечатление, что рассматриваемая структура не является всего лишь частью нашего мышления, но что она реальна сама по себе. Кто бы из математиков или программистов ни занялся изучением этого множества, результатом их исследований обязательно будут приближения к одной и той же единой для всех фундаментальной математической структуре. Не важно, на каком компьютере проводятся вычисления — лишь бы он правильно работал (конечно, если отвлечься от различий в степени подробности выявляемых деталей и скорости их вывода, связанными с различиями в производительности, объеме памяти и параметрах монитора). При этом компьютер применяется в сущности так же, как прибор в руках физика-экспериментатора, исследующего строение физического мира. Множество Мандельброта — это не плод человеческого воображения, а открытие. Подобно горе Эверест, множество Мандельброта просто-напросто уже существовало «там вовне»!

Аналогичным образом сама система комплексных чисел обладает глубокой и вневременнбй реальностью, выходящей далеко за пределы мысленных конструкций, созданных любым конкретным математиком. Первые шаги на пути к пониманию комплексных чисел связаны с работами Джероламо Кардано. Он родился и жил в Италии с 1501 по 1576 год — врач, игрок и составитель гороскопов (однажды он даже составил гороскоп для Иисуса Христа), написавший в 1545 году очень важный и оказавший большое влияние на последующее развитие математики трактат по алгебре под названием Ars Magna. В этом трактате он предложил первое полное решение (в терминах иррациональных выражений, то есть корней n-й степени) кубического уравнения в общем виде[66]. Кардано заметил, что в некоторых — так называемых «неприводимых» — случаях, когда уравнение имело три действительных решения, он был вынужден на определенном этапе включать в свою формулу квадратный корень из отрицательного числа. Хотя это обстоятельство и приводило его в замешательство, он понял, что полное решение можно получить тогда и только тогда, если допустить возможность извлечения таких квадратных корней (окончательный результат всегда оказывался действительным числом). Позднее, в 1572 году Рафаэль Бомбелли в своей работе, озаглавленной «Алгебра», обобщил работу Кардано, положив начало изучению алгебры комплексных чисел.

Хотя вначале может показаться, что введение таких квадратных корней из отрицательных чисел представляет собой всего лишь некоторый прием — математическое изобретение для достижения конкретной цели, — впоследствии становится очевидным, что потенциал этих объектов выходит далеко за рамки их использования для первоначально поставленных целей. При том, что изначально комплексные числа вводились (как уже упоминалось выше) для обеспечения возможности «безнаказанно» извлекать квадратные корни из отрицательных чисел, сделав этот шаг, мы получили в качестве бесплатного приложения еще и способ извлечения корней любой степени, а также решения любых алгебраических уравнений. Далее мы обнаружим у комплексных чисел много других волшебных свойств, о которых мы вначале даже и не подозревали. Эти свойства просто-напросто уже существуют «там вовне». Они не были привнесены туда ни Кардано, ни Бомбелли, ни Уоллисом, ни Котсом, ни Эйлером, ни Весселем, ни Гауссом, несмотря на несомненную прозорливость и их, и других великих математиков. Этот набор волшебных свойств был изначально присущ самой структуре, которую они шаг за шагом открывали. Когда Кардано вводил комплексные числа, он и подозревать не мог о существовании множества открытых впоследствии чудесных свойств, названных именами знаменитых ученых — таких как интегральная формула Коши, теорема отображения Римана или свойство продолжения Леви. Эти и многие другие замечательные свойства присущи самим числам — в точности тем самым числам, с которыми Кардано впервые столкнулся в 1539 году.

Что такое математика — изобретение или открытие? Процесс получения математиками результатов — что это: всего лишь построение не существующих в действительности сложных мысленных конструкций, мощь и элегантность которых способна обмануть даже их собственных изобретателей, заставив их поверить в «реальность» этих не более чем умозрительных построений? Или же математики действительно открывают истины уже где-то существующие, чья реальность в значительной степени независима от их деятельности? Я думаю, что читателю должно стать уже совершенно ясно, что я склонен придерживаться скорее второй, чем первой точки зрения, по крайней мере, в отношении таких структур, как комплексные числа или множество Мандельброта.

Однако, не все так просто. Как я уже сказал, в математике существуют вещи, к которым термин «открытие» подходит больше, чем «изобретение» — как в только что упомянутых примерах. Это происходит, когда структура дает гораздо больше того, что в нее было вложено изначально. Можно встать и на такую точку зрения, согласно которой в этих случаях математики просто наталкиваются на «творения Бога». Встречаются, однако, другие ситуации, когда математические структуры не столь убедительно уникальны — например, когда посреди доказательства какого-нибудь результата возникает необходимость в некой хитроумной, хотя и далеко не уникальной конструкции для достижения весьма специфической цели. В этих случаях от вновь созданной конструкции вряд ли следует ожидать больше того, что было в нее первоначально заложено, и термин «изобретение» представляется более подходящим, чем «открытие». Они, действительно, суть просто «творения человека». Согласно этой точке зрения, истинные математические открытия должны, как правило, рассматриваться как достижения более великие, чем «просто» изобретения.

Такого рода ранжирование обнаруживает некоторое сходство с тем, что мы иногда наблюдаем в области искусства или техники. Великие произведения искусства действительно «ближе к Богу», чем менее значительные творения. У художников нередко возникает чувство, что в своих величайших произведениях они открывают вечные истины, существовавшие уже до них в некотором высшем смысле[67], в то время как менее значительные произведения могут быть более случайными, являясь по своей природе всего лишь порождениями простых смертных. Точно также и новое инженерное решение с очень красивой структурой, позволяющее достичь значительных результатов через применение простой и неожиданной идеи, может с полным на то основанием рассматриваться скорее не как изобретение, а как открытие.

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

В главе 1 я довольно много места уделил обсуждению точки зрения сильного искусственного интеллекта, согласно которой мыслительные явления находят свое воплощение в рамках математического понятия алгоритма. В главе 2 я особо подчеркнул, что алгоритм есть действительно очень глубокое и «Богом данное» понятие. В этой главе я старался доказать, что такие «Богом данные» математические идеи существуют в определенном смысле вне времени и независимо от нас смертных. Не могут ли эти соображения служить своего рода подтверждением справедливости концепции сильного искусственного интеллекта, допуская возможность некоего высшего существования мыслительной деятельности? Это вполне возможно — и я даже собираюсь далее привести ряд соображений в поддержку в чем-то похожей точки зрения. Но если у мыслительных явлений и вправду имеется такое вместилище, я все же не думаю, что это может относиться и к понятию алгоритма. Тут нужно что-то более «тонкое». Последующее обсуждение будет в значительной степени опираться на тот факт, что связанные с понятием алгоритма объекты составляют очень узкую и ограниченную часть математики. Следующая глава даст некоторое представление об огромных возможностях и изяществе неалгоритмической математики.

Глава 4

Истина, доказательство и интуиция

Программа Гильберта для математики

Что есть истина? Как мы составляем наши суждения о том, что в мире является справедливым, верным, а что — нет? Следуем ли мы некоторому алгоритму, которому отдается предпочтение среди прочих, менее эффективных, в процессе всемогущего естественного отбора? Или же возможен некий иной путь — не алгоритмизированный, а основанный на особой проницательности, интуитивный, инстинктивный — позволяющий угадывать правду? Это представляется нелегким вопросом. Наши суждения зависят от сложных взаимосвязанных комбинаций данных, поставляемых органами чувств, и наших размышлений и догадок. Более того, во многих реальных ситуациях не может существовать единого мнения по поводу того, что на самом деле истинно, а что — ложно. Чтобы упростить задачу, рассмотрим только лишь математическую истину. Как мы формируем суждения — а может, даже и наши «стопроцентно верные» знания — при ответе на вопросы из области математики? Там уж, по крайней мере, все должно быть не так размыто, очерчено более ясно. Там не может возникать вопросов об истинности — или все-таки может? Что же, в конце концов, есть математическая истина?

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

В последней части XIX века математика шагнула далеко вперед в результате развития все более и более мощных методов математического доказательства. (Давид Гильберт и Георг Кантор, с которыми мы познакомились ранее, и великий французский математик Анри Пуанкаре, с которым нам еще предстоит встретиться, шли во главе этих разработок.) Как следствие, математики стали обретать уверенность в том, что применение этих методов приведет к успеху. Многие из таких методов основаны на рассмотрении множеств[68] с бесконечным числом членов, и доказательства часто оказывались осуществимы благодаря именно тому, что такое множество можно было рассматривать как реальный «объект» — завершенное единое целое, существующее не только в абстракции. Многие из этих идей родились из в высшей степени оригинальной концепции Кантора о бесконечных числах, которую он развил, последовательно используя бесконечные множества. (Мы кратко ознакомились с ними в предыдущей главе.)

Однако эта уверенность пошатнулась, когда в 1902 году английский логик и философ Бертран Рассел придумал свой знаменитый парадокс (который предвидел и сам Кантор и который выводился непосредственно из его диагонального процесса). Чтобы понять доводы Рассела, мы сначала должны хотя бы немного почувствовать, как можно представить множество в виде единого целого. Давайте представим себе множество, характеризуемое некоторым (общим) свойством. Например, набор красных предметов может быть охарактеризован словом «краснота» как его определяющим свойством: нечто принадлежит этому множеству тогда и только тогда, когда это обладает «краснотой» (имеет красный цвет). Это позволит нам «перевернуть» точку зрения и трактовать свойство как единичный объект, который будет состоять из всего множества вещей, обладающих данным свойством. При таком рассмотрении «краснота» эквивалентна множеству всех красных предметов. (При этом мы можем предполагать существование «там вовне» и других множеств, члены которых не могут быть охарактеризованы подобным простым свойством.)

Идея формулировки понятий в терминах множеств послужила основой для процедуры, предложенной в 1884 году влиятельным немецким логиком Готтлибом Фреге, которая позволяла определять числа через множества. К примеру, что мы понимаем под числом 3? Мы знаем, в чем заключается «тройственность», но что есть число 3 само по себе? Очевидно, что «тройственность» есть свойство наборов объектов, т. е. свойство множеств: некоторое множество обладает данным свойством тогда и только тогда, когда это множество состоит из трех членов. Этим свойством характеризуется, скажем, тройка призеров-медалистов некоторой Олимпиады. Равно как и набор шин к трехколесному велосипеду, или листья на одном стебельке обычного клевера, или множество всех решений уравнения x32 + 11x6 = 0. Как же можно тогда определить по Фреге само число 3? Согласно Фреге, 3 — это множество множеств, а именно, всех множеств, имеющих свойство «тройственности»[69]. Таким образом, множество содержит три члена тогда и только тогда, когда оно принадлежит множеству 3 по Фреге.

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

Вернемся теперь к парадоксу Рассела. В чем он заключается? В нем рассматривается множество R, определенное следующим образом:

R есть множество множеств, которые не являются членами самих себя.

Таким образом, R есть набор множеств X, отвечающих следующему условию: среди членов множества X не должно быть самого X.

Не является ли абсурдным предполагать, что множество в действительности может быть членом самого себя? Ничуть. Рассмотрим, к примеру, множество I, состоящее из бесконечных множеств (множеств с бесконечным числом членов). С очевидностью, существует бесконечное число различных бесконечных множеств, и само множество I, таким образом, является бесконечным. И, таким образом, оно, действительно, принадлежит самому себе! Но как же, в таком случае, рассуждения Рассела дают нам парадоксальное утверждение? Давайте спросим: является ли множество Рассела R членом самого себя или нет? Если нет, то оно должно принадлежать себе, ибо R состоит как раз из таких множеств, которые не являются членами самих себя. То есть, в конечном счете, R принадлежит R — противоречие! С другой стороны, если R есть член самого себя, то, поскольку «самое себя» — это R, оно в то же время принадлежит множеству, члены которого, по определению, не могут быть составляющими самих себя, т. е. все-таки не принадлежит самому себе — и вновь противоречие![70]

Этот парадоксальный вывод не был праздной игрой ума: Рассел использовал — хотя и в крайней форме — тот же тип весьма общих теоретико-множественных методов, которые математики начинали использовать в то время для своих доказательств. Становилось очевидным, что казавшаяся незыблемой почва ускользает из-под ног, и поэтому необходимо было как можно точнее определить, какие рассуждения считать допустимыми. Ясно было, что такие рассуждения должны быть свободны от внутренних противоречий, и что утверждения, которые будут выводиться с их помощью как следствия из априори верных посылок, должны быть также верными. Рассел, совместно со своим коллегой Альфредом Нортом Уайтхедом, взялся за развитие такой полностью формализованной системы аксиом и правил вывода, на язык которой стало бы возможным перевести все виды корректных математических рассуждений. Все правила подвергались тщательному отбору, дабы избежать «ложных» путей рассуждений, могущих привести к парадоксам, подобным упомянутому выше. Однако схема, появившаяся на свет в результате этих усилий, была очень громоздка и оказалась весьма ограниченной по диапазону различных типов математических рассуждений, которые она охватывала. Великий математик Давид Гильберт (которого мы впервые встретили в главе 2) задался целью создать более практичную и универсальную систему. В нее должны были войти все типы математических рассуждений из всех областей математики. Более того, Гильберт стремился сделать возможным строгое доказательство отсутствия противоречий в своей схеме. Тогда математика раз и навсегда смогла бы встать на прочную и неколебимую основу.

Однако надежды Гильберта и его последователей были перечеркнуты, когда в 1931 году блестящий австрийский логик математики Курт Гедель выдвинул поразительную теорему, которая до основания разрушала программу Гильберта. Гедель показал, что любая подобная точная («формальная») система аксиом и правил вывода, если только она достаточна широка, чтобы содержать в себе описания простых арифметических теорем (как, например, «последняя теорема Ферма», рассмотренная в главе 2), и если она свободна от противоречий — то такая система должна включать утверждения, которые не являются ни доказуемыми, ни недоказуемыми в рамках формализма данной системы. Истинность таких «неразрешимых» утверждений, следовательно, не может быть выяснена с помощью методов, допускаемых самой системой. Более того, Гедель смог показать, что даже утверждение о непротиворечивости системы аксиом, будучи переведенным в форму соответствующей теоремы, само по себе является «неразрешимым». Для нас будет очень важным понять природу этой неразрешимости. Тогда мы увидим, почему выводы Геделя опровергали самое основание программы Гильберта. Мы также увидим, каким образом они дают нам возможность, воспользовавшись интуицией, выходить за пределы любой рассматриваемой формализованной математической системы. Это понимание будет решающим для того, чтобы, в свою очередь, лучше понять обсуждаемое далее.

Формальные математические системы

Необходимо будет несколько уточнить, что мы понимаем под «формальными математическими системами аксиом и правил вывода». Мы должны предположить наличие некоторого алфавита символов, через которые будут записываться математические выражения. Эти символы в обязательном порядке должны быть адекватны для записи натуральных чисел с тем, чтобы в нашу систему могла быть включена «арифметика». По желанию, мы можем использовать общепринятую арабскую запись 0, 1, 2, 3…, 9, 10, 11, 12… хотя при этом конкретные выражения для правил вывода становятся несколько более сложными, чем требуется. Гораздо более простые выражения получаются, скажем, при использовании записи вида 0, 01, 011, 0111, 01111… для обозначения последовательности натуральных чисел (или, в качестве компромисса, мы могли бы использовать двоичную запись). Однако, поскольку это могло бы стать источником разночтений в дальнейших рассуждениях, я буду для простоты придерживаться обычной арабской записи независимо от способа обозначения, которая может на самом деле использоваться в данной системе. Нам мог бы понадобиться символ «пробел» для разделения различных «слов» или «чисел» в нашей системе, но, так как это тоже может вызвать путаницу, то мы будем по мере необходимости использовать для этих целей просто запятую (,). Произвольные («переменные») натуральные числа (равно как и целые, рациональные и т. д.; но давайте здесь ограничимся натуральными) мы станем обозначать буквами, например, t, u, v, ω, х, у, z, t', t'', t''' и т. п. Штрихованные буквы t', t'',… вводятся нами в употребление, дабы не ограничивать число переменных, которые могут встретиться в произвольном выражении. Мы будем считать штрих (' ) отдельным символом формальной системы, так что действительное количество символов в системе остается конечным. Помимо этого нам также потребуются символы для базовых арифметических операций =, +, х («умножить») и т. д.; для различных видов скобок (,), [,], и для обозначения логических операций, таких как &и»), =>следует»), Vили»), <=>тогда и только тогда»), ~ («не»). Дополнительно нам будут нужны еще и логические «кванторы»: квантор существования Eк.с.существует… такое, что») и квантор общности Aк.о.для любого… выполняется»). Тогда мы сможем такие утверждения, как, например, «последняя теорема Ферма», привести к виду:

— Eк.с.ω, х, у, z [(x + 1)ω+3+

+ (у + 1)ω+3 = (z+1)ω+3]

(см. главу 2, «Неразрешимость проблемы Гильберта»). (Я мог бы написать «0111» для «3», и, возможно, использовать для «возведения в степень» обозначение, более подходящее к рассматриваемому формализму; но, как уже говорилось, я буду придерживаться стандартной системы записи во избежании ненужной путаницы.) Это утверждение (если читать его до левой квадратной скобки) звучит как:

«Не существует таких натуральных чисел ω, х, у, z, что…».

Мы можем также переписать последнюю теорему Ферма при помощи Aк.о.:

Aк.о.ω, х, у, z [~ (х + 1)ω+3+ (у + 1)ω+3 = (z+1)ω+3],

которое будет читаться следующим образом (заканчивая символом «не» после левой квадратной скобки):

«Для любых натуральных чисел ω, х, у, z не может быть выполнено…»,

что логически эквивалентно написанному ранее.

Нам понадобятся еще и буквы, обозначающие целые утверждения, для чего я буду использовать заглавные буквы Р, Q, R, S… Таким утверждением может, к примеру, служить и вышеприведенная теорема Ферма:

F = ~ Eк.с.ω, х, у, z [(x + 1)ω+3+ (у + 1)ω+3 = (z+1ω+3].

Утверждение может также зависеть от одной или более переменных; например, нас может интересовать формулировка теоремы Ферма для некоторого конкретного[71] значения степени ω + 3

G(ω) =~ Eк.с.x, y,z[(x + 1)ω+3+ (y+ 1)ω+3 = (z+1)ω+3],

так что G(0) утверждает, что «куб не может быть суммой кубов положительных чисел»; G(1) говорит о том же применительно к четвертым степеням и так далее. (Обратите внимание на отсутствие ω после символа Eк.с.). Тогда теорема Ферма гласит, что G(ω) выполняется для любого ω :

FAк.о.ω[G(ω)].

G() является примером так называемой функции исчисления высказываний, т. е. утверждением, которое зависит от одной или более переменных.

Аксиомы нашей системы будут представлять из себя перечень утверждений общего характера, чья справедливость в рамках принятого символизма предполагается самоочевидной. Например, для произвольных утверждений или функций исчисления высказываний Р, Q, R() мы могли бы указать среди прочих аксиом системы такие, как

(P&Q) => Р,

— (~ Р) <=> Р,

— Eк.с.х[R(x)] <=>Aк.о.x[~ R(x)],

«априорная истинность» которых уже заключена в их смысловых значениях. (Первое утверждение означает лишь, что «если выполняется Р и Q, то выполняется и Р»; второе устанавливает равносильность утверждений «неверно, что не выполняется Р» и «Р выполняется»; а третье может быть проиллюстрировано эквивалентностью двух способов формулировки теоремы Ферма, данных выше.) Мы можем также включить основные аксиомы арифметики:

Aк.о. х, у[х + у = у + х],

Aк.о. х, у, z[(x + у) х z = (x х z) + (у х z)],

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

«Из Р и Р => Q следует Q».

«Из Aк.о.x[R(x)] мы можем вывести любое утверждение, получающееся путем подстановки конкретного натурального числа x в R(x)».

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

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

Идея программы Гильберта состояла в том, чтобы найти применительно к любой отдельно взятой области математики набор аксиом и правил вывода, который был бы достаточно полным для всех возможных в данной области корректных математических рассуждений. Пусть такой областью будет арифметика (с добавленными кванторами Eк.с. и Aк.о., позволяющими формулировать утверждения, подобные последней теореме Ферма). То, что мы не рассматриваем более общую область математики, не умаляет нашу задачу: арифметика и сама по себе обладает общностью, достаточной для применения процедуры Геделя. Если мы допустим, что благодаря программе Гильберта мы действительно располагаем такой всеобъемлющей системой аксиом и правил вывода для арифметики, то мы тем самым обретаем и определенный критерий для выявления «корректности» математического доказательства любого утверждения в области арифметики. Возлагались надежды на то, что подобная система аксиом и правил может быть полной в смысле предоставляемой нам принципиальной возможности решать, истинно или ложно произвольное утверждение, сформулированное в рамках этой системы.

Гильберт рассчитывал, что для любой строки символов, представляющих математическое утверждение, скажем, Р, можно будет доказать либо Р, либо ~ Р, если Р истинно или ложно, соответственно. Здесь мы в обязательном порядке оговариваем, что строка должна быть синтаксически корректна, где «синтаксически корректна» по сути означает «грамматически корректна» — то есть удовлетворяет всем правилам записи, принятым в данном формализме, среди которых будет правильное попарное соответствие скобок и т. п. — так чтобы Р всегда имело четко определенное значение «ложь» или «истина». Если бы надежды Гильберта оправдались, то можно было бы вообще не задумываться о том, что означает то или иное утверждение! Р было бы просто-напросто синтаксически корректной строкой символов. Строке было бы приписано значение ИСТИНА, если бы Р являлось теоремой (другими словами, если бы Р было доказуемо в рамках системы); или же ЛОЖЬ, если бы теоремой было ~ Р. Чтобы такой подход имел смысл, мы должны дополнительно к условию полноты наложить еще и условие непротиворечивости, гарантирующее отсутствие такой строки символов Р, для которой как Р, так и ~ Р были бы теоремами. Ведь в противном случае Р могло бы быть одновременно и ИСТИНОЙ, и ЛОЖЬЮ!

Такой подход, согласно которому можно пренебрегать смысловыми значениями математических выражений и рассматривать их лишь как строки символов некоторой формальной математической системы, в математике получил название формализма. Некоторым нравится эта точка зрения, с которой математика превращается в своего рода «бессмысленную игру». Однако я сам не являюсь сторонником таких идей. Все-таки именно «смысл» — а не слепые алгоритмические вычисления — составляет сущность математики. К счастью, Гедель нанес формализму сокрушающий удар! Давайте посмотрим, как он это сделал.

Теорема Геделя

Часть доказательства, приведенного Геделем, содержало некий очень сложный и детализированный кусок. Однако нам не обязательно разбираться во всех его тонкостях. Основная идея, в то же время, была проста, красива и глубока. И ее мы сможем оценить по достоинству. В «сложной» части (которая, впрочем, содержит много остроумных рассуждений) подробно показано, каким образом частные правила вывода и использование различных аксиом формальной процедуры могут быть представлены в виде арифметических операций. (Хотя в сложной части становится понятной плодотворность этих действий!) Для этого представления нам необходимо будет найти какой-нибудь удобный способ нумерации утверждений при помощи натуральных чисел. Один из способов мог бы заключаться в том, чтобы использовать своего рода «алфавитный» порядок для строчек символов формальной системы, имеющих одинаковую длину, упорядочить заранее строчки по длине. (Таким образом, за выстроенными в алфавитном порядке строками из одного символа будут следовать строки длиной в два символа, также упорядоченные по алфавиту; за ними идут строки из трех символов и так далее.) Это называется лексикографическим порядком[72]. В действительности Гедель использовал более сложную систему нумерации, но различия в данном случае для нас несущественны. Нас же должны в особенности интересовать функции исчисления высказываний одной переменной, наподобие введенной выше G(ω). Пусть n-я (из пронумерованных выбранным способом строк символов) такая функция от аргумента ω обозначается

Pn(ω).

Мы можем допустить, чтобы наша нумерация по желанию была несколько «либеральна» в отношении синтаксически некорректных выражений. (Это позволит значительно упростить перевод системы на язык арифметических операций по сравнению со случаем, когда мы будем стараться исключить из рассмотрения синтаксически некорректные выражения.) Если Pn(ω) синтаксически корректно, то оно будет представлять из себя некоторое совершенно определенное арифметическое выражение, в котором фигурируют два натуральных числа п и ад. Каков будет конкретный вид этого выражения — зависит от особенностей системы нумерации, которую мы выбрали. Но эти детали рассматриваются в «сложной» части и сейчас нас не касаются. Пусть Пn будет n-м доказательством. (Опять же мы можем использовать «либеральную нумерацию», когда для некоторых значений n выражение Пn не является синтаксически корректным и, тем самым, не доказывает никакую теорему.)

А теперь рассмотрим следующую функцию исчисления высказываний от натурального числа ω :

— Eк.с.x[Пx доказывает Pω(ω)].

В выражении в квадратных скобках частично присутствуют слова, но, тем не менее, это — абсолютно точно определенное выражение. Оно говорит о том, что доказательство номер х является доказательством утверждения Рω(), примененного к самому ω. Находящийся за скобками квантор существования с отрицанием позволяет исключить из рассмотрения одну из переменных («не существует такого х, что…»), приводя нас в конечном счете к арифметической функции исчисления высказываний, зависящей только от ω. В целом данное выражение утверждает, что не существует доказательства Рω(ω). Я буду предполагать, что оно оформлено синтаксически корректным образом (даже если Рn(ω) некорректно — поскольку тогда выражение было бы истинным за невозможностью существования доказательства синтаксически некорректного утверждения). На самом деле, в результате сделанного нами перевода на язык арифметики, написанное выше будет в действительности неким арифметическим выражением, включающим натуральное число ω (тогда как в квадратных скобках окажется четко определенное арифметическое выражение, связывающее два натуральных числа х и ω). Конечно, возможность представления этого выражения в арифметическом виде далеко не очевидна, но она существует. Рассуждения, приводящие к этому заключению, составляют наиболее трудную задачу в «сложной» части доказательства Геделя. Как и ранее, непосредственный вид арифметического выражения будет зависеть от способа нумерации и в еще большей степени от конкретной структуры аксиом и правил вывода, принятых в нашей системе. Поскольку все это входит в «сложную» часть доказательства, то в данном случае нас не интересует.

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

— Eк.с.x[Пх доказывает Pω(ω)] = Рk(ω).

Теперь исследуем эту функцию при определенном значении: ω = k. Мы получаем:

Eк.с. х[Пх доказывает Pk(k)] = Pk(k)

Данное утверждение Pk(k) является абсолютно точно определенным (синтаксически корректным) арифметическим выражением. Может ли оно быть доказано в рамках нашей формальной системы? А его отрицание ~ Pk(k) — имеет ли оно такое доказательство? Ответ в обоих случаях будет отрицательный. Мы можем убедиться в этом путем исследования смысла, который лежит в основании процедуры Геделя. Хотя Pk(k) является просто арифметическим выражением, последнее было построено нами таким образом, что написанное в левой части утверждает следующее: «внутри системы не существует доказательства Pk(k)». Если мы были аккуратны в определении аксиом и процедур вывода, и не ошиблись при нумерации, то тогда в рамках системы такого доказательства найти невозможно. Если же доказательство существует, то значение утверждения, содержащегося в Pk(k) — о том, что такого доказательства нет, — будет ложным, а вместе с ним будет ложным и арифметическое выражение, отвечающее Pk(k). Но наша формальная система не может быть построена настолько плохо, чтобы включать в себя ложные утверждения, которые могут быть доказаны! Таким образом, в действительности, доказательство Pk(k) быть не может. Но это в точности то самое, о чем говорит нам Pk(k). То, что утверждает Pk(k), обязано, следовательно, быть верным, а поэтому Pk(k) должно быть верным как арифметическое выражение. Значит, мы нашли истинное утверждение, которое недоказуемо в рамках системы!

А как насчет ~ Pk(k)? Из предыдущих рассуждений видно, что доказательство этому утверждению внутри системы мы найти не сможем. Мы только что установили, что ~ Pk(k) должно быть ложным (ибо Pk(k) является истинным), а мы, по определению, не имеем возможности доказывать ложные утверждения в рамках системы! Таким образом, ни Pk(k), ни ~ Pk(k) недоказуемы в нашей формальной системе, что и составляет теорему Геделя.

Математическая интуиция

Обратите внимание, что мы здесь сталкиваемся с одной примечательной особенностью. Часто думают, что теорема Геделя имеет, в некотором роде, отрицательный смысл, поскольку она указывает на принципиальные ограничения в применении формальных математических рассуждений. Независимо от нашего мнения об универсальности применяемого подхода, всегда найдутся утверждения, которые не попадают в сферу его действия. Но насколько, в действительности, нас могут затрагивать частные случаи типа Pk(k)? В ходе предыдущих рассуждений мы установили, что Pk(k) — истинное утверждение! Мы смогли это сделать несмотря на то, что это утверждение формально недоказуемо в рамках системы. А вот математических формалистов это должно волновать, потому что наши рассуждения с необходимостью приводят к выводам о неполноте их понятия «истины». Какая бы (непротиворечивая) формальная система не использовалась для арифметики, в ней будут содержаться утверждения, понимаемые нами как истинные, но которым не может быть приписано значение ИСТИНА при помощи вышеописанной формальной процедуры. Способ, при помощи которого формалист сумел бы обойти подобные трудности, мог бы состоять в том, чтобы не говорить о понятии истины, а только лишь о доказуемости внутри конкретной формальной системы. Однако же, такой подход весьма ограничен. Он не позволил бы даже сформулировать утверждение Геделя и осуществить его доказательство, как это было сделано выше, поскольку в значительной части рассуждений речь идет как раз об определении того, что есть ложь, а что — истина[73]. Некоторые формалисты встают на более «прагматическую» точку зрения, заявляя, что их не волнуют утверждения, подобные Pk(k), поскольку они исключительно сложны и не интересны в качестве арифметических выражений. Отстаивают они свою точку зрения примерно так:

«Да, есть странные утверждения, вроде Pk(k), для которых мое понятие доказуемости или ИСТИНЫ расходится с вашим интуитивным понятием истинности, но подобные выражения едва ли встречаются в серьезной математике (по крайней мере не в такой, которая меня интересует), поскольку они абсурдно усложнены и неестественны для математики».

Несомненно, что утверждения вида Pk(k), будучи полностью выписанными, были бы чрезвычайно громоздки и выглядели бы странно для числовых математических выражений. Однако за последнее время были выдвинуты сравнительно простые выражения приемлемого с точки зрения математики характера, которые эквивалентны утверждениям Геделя[74]. Они недоказуемы на основании обычных аксиом арифметики, однако же следуют из некоего свойства «самоочевидности», которым обладает сама система аксиом.

Отсутствие интереса к «математической истине», исповедуемое формалистами, кажется мне очень странной позицией в приложении к философии математики. Более того: она совсем не так прагматична, как представляется. Когда математики проводят свои выкладки, они не намерены постоянно проверять, могут ли они быть сформулированы посредством аксиом и правил вывода некоторой сложной формальной системы. Единственно, что необходимо — быть уверенным в правомерности использования этих рассуждений для установления истины. Доказательство Геделя удовлетворяет этому требованию, так что Pk(k) является математической истиной с таким же правом, как и любое другое утверждение, полученное более стандартным путем с использованием изначально заданных аксиом и правил вывода.

Процедура, которая напрашивается сама собой, заключается в следующем. Давайте положим, что Pk(k) — совершенно верное утверждение (переобозначим его здесь как G0). Тогда мы можем присоединить его к нашей системе в качестве дополнительной аксиомы. Естественно, что наша новая система будет, в свою очередь, содержать новое утверждение Геделя, скажем, G1, которое также будет истинным числовым выражением. Соответственно, мы можем и G1 добавить в нашу систему. Это даст нам новую улучшенную систему, которая также содержит новое утверждение Геделя G2 (опять же совершенно справедливое); и мы сможем снова добавить его к системе, получая следующее утверждение Геделя G3 , которое мы тоже присоединяем — и так далее, повторяя этот процесс неограниченно. Что мы можем сказать о получившейся в результате системе, где мы используем весь набор G0, G1, G2, G3…. как дополнительные аксиомы? Может ли эта система быть полной? Поскольку мы теперь имеем неограниченную (бесконечную) систему аксиом, то возможность применения процедуры Геделя совсем не очевидна. Однако, это последовательное включение утверждений Геделя является в высшей степени систематичной схемой, результат применения которой может быть истолкован как обычная конечная система аксиом и правил вывода. Эта система будет иметь свое собственное утверждение Геделя Gω которое мы также сможем к ней присоединить, получая новую систему и с ней — еще одно утверждение Геделя Gω+1. Продолжая, как и ранее, мы получаем набор утверждений Gω , Gω+1 ,Gω+2 , Gω+3, каждое из которых истинно и может быть включено в нашу формальную систему. Сохраняя свойство строгой систематичности, этот процесс вновь приводит нас к созданию новой системы, которая охватывает все созданные к этому моменту аксиомы. Но и эта система, в свою очередь, имеет свое собственное утверждение Геделя, скажем, Gω+ω— которое можно переписать как Gω2, и мы можем начать всю процедуру заново. В результате этого мы получим новый бесконечный, но систематический, набор аксиом Gω2 , Gω2+1, Gω2+2, и т. д., приводящий к еще одной новой системе — и новому утверждению Геделя Gω3. Воспроизводя весь процесс, мы получаем Gω4 , потом — Gω5 и так далее. И эта схема также будет полностью систематичной и даст свое собственное утверждение Геделя Gω2.

Есть ли логическое завершение у этого процесса? В определенном смысле — нет; но это приводит нас к ряду трудных математических рассуждений, которые здесь не могут быть нами рассмотрены во всех деталях. Вышеуказанная процедура обсуждалась Аланом Тьюрингом в статье[75], опубликованной в 1939 году. Примечательно, что на самом деле любое истинное (в общепринятом смысле) утверждение в арифметике может быть получено путем повторения процедуры «геделизации» такого рода (см. Феферман [1988]). Однако это может вызвать вопрос о том, как мы в действительности решаем, является ли утверждение истинным или ложным. Исключительно важным будет также понять, как на каждом этапе нужно выполнять присоединение бесконечного семейства утверждений Геделя, чтобы они порождали единственную дополнительную аксиому (или конечное число аксиом). Для выполнения такого присоединения требуется определенная алгоритмическая систематизация нашего бесконечного семейства. Чтобы быть уверенным в том, что подобная систематизация корректна и приводит к желаемому результату, нам придется опереться на интуитивные представления, выходящие за рамки системы — точь-в-точь, как мы это сделали для установления истинности Pk(k). Именно эти «прозрения» и не могут быть систематизированы, не говоря о том, что они должны лежать вне сферы действия любой алгоритмической процедуры!

Интуитивная догадка, которая позволила нам установить, что утверждение Геделя Pk(k) является на самом деле истинным, представляет собой разновидность общей процедуры, известной логикам как принцип рефлексии: посредством нее, размышляя над смыслом системы аксиом и правил вывода и убеждаясь в их способности приводить к математическим истинам, можно преобразовывать интуитивные представления в новые математические выражения, невыводимые из тех самых аксиом и правил вывода. То, как нами была выше установлена истинность Pk(k), как раз базировалось на применении этого принципа. Другой принцип рефлексии, имеющий отношение к доказательству Геделя (хотя и не упомянутый выше), опирается на вывод новых математических истин исходя из представления о том, что система аксиом, которую мы полагаем априори адекватной для получения математических истин, является непротиворечивой. Применение принципов рефлексии часто подразумевает размышления о бесконечных множествах, и при этом нужно быть всегда внимательным и остерегаться рассуждений, которые могут привести к парадоксам наподобие расселовского. Принципы рефлексии полностью противопоставляются рассуждениям формалистов. Если использовать их аккуратно, то они позволяют вырваться за жесткие рамки любой формальной системы и получить новые, основанные на интуитивных догадках, представления, которые ранее казались недостижимыми. В математической литературе могло бы быть множество приемлемых результатов, чье доказательство требует «прозрений», далеко выходящих за рамки исходных правил и аксиом стандартной формальной системы арифметики. Все это свидетельствует о том, что деятельность ума, приводящая математиков к суждениям об истине, не опирается непосредственно на некоторую определенную формальную систему. Мы убедились в истинности утверждения Геделя Pk(k), хотя мы и не можем вывести ее из аксиом системы. Этот тип «вйдения», используемый в принципе рефлексии, требует математической интуиции, которая не является результатом чисто алгоритмических операций, представимых в виде некоторой формальной математической системы. Мы вернемся к этому вопросу в главе 10.

Читатель может заметить определенное сходство между рассуждениями, устанавливающими, вопреки «недоказуемости», истинность Pk(k), и парадоксом Рассела. Помимо этого, наблюдается сходство и с доказательством Тьюринга о невозможности существования «машины Тьюринга», которая могла бы решить проблему остановки. Эти сходства не случайны. Между этими тремя событиями имеется прочная историческая нить. Тьюринг пришел к своему доказательству после изучения работ Геделя. Сам Гедель был очень близко знаком с парадоксом Рассела и смог преобразовать те парадоксальные рассуждения, которые уводили слишком далеко в область логических абстракций, в состоятельное математическое доказательство. (Все эти утверждения уходят корнями к диагональному процессу Кантора, описанному в предыдущей главе)

Почему мы должны принимать доказательства Геделя и Тьюринга и в то же время сбрасывать со счетов рассуждения, ведущие к парадоксу Рассела? Первые являются более ясными и безупречными с точки зрения математики, тогда как парадокс Рассела строится на более туманных рассуждениях об «огромных» множествах. Но нужно признать, что различия здесь не настолько очевидны, как нам хотелось бы. Попытка придать этим различиям ясность была лейтмотивом всей идеи формализма. Доказательство Геделя, с одной стороны, показывает, что строгий формальный подход не выдерживает критики, но с другой стороны, оно не приводит нас к абсолютно надежной альтернативе. По-моему, этот вопрос до сих пор не разрешен. Процедура, используемая в современной математике с целью избежать рассуждений, вовлекающих в рассмотрение «огромные» множества и приводящих к парадоксу Рассела, не является полностью удовлетворительной[76]. Более того, она, как правило, формулируется в чисто формалистских терминах — или же в терминах, которые не дают нам полной уверенности, что в результате их использования не возникнет противоречий.

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

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

Платонизм или интуиционизм?

Я указал две противостоящие друг другу школы математической философии, решительно причисляя себя более к платонистскому, нежели к формалистскому воззрению. В действительности же я применил довольно упрощенный подход при их разделении. Существует множество тонкостей, которые можно было бы принять в расчет. Например, в рамках платонизма можно поставить вопрос о том, существуют ли в реальности объекты математической мысли или это только лишь понятие «математической истины», которое является абсолютным. Я решил не обсуждать здесь подобные различия. В моем представлении абсолютность математической истины и платонистское существование математических понятий, по существу, тождественны. «Существование», которое должно быть приписано множеству Мандельброта, к примеру, есть свойство его абсолютной природы. Принадлежит ли точка плоскости Аргана множеству Мандельброта или нет — вопрос абсолютный, не зависящий от математика или компьютера, которые его исследуют. Эта «независимость-от-математика» множества Мандельброта и обеспечивает ему платонистское существование. Более того, наиболее тонкие детали этого множества лежат за пределами того, что можно достигнуть с помощью компьютера. Эти устройства способны только аппроксимировать структуры, имеющие свое, более глубокое и «не зависящее-от-компьютера», существование. Я, однако, готов согласиться с тем, что имеются и прочие разумные точки зрения, с которых можно исследовать этот вопрос. Но здесь нам нет необходимости придавать значение этим различиям.

Есть также отличие в том, насколько далеко в своем платонизме готов зайти человек, провозглашающий свою принадлежность к этой школе. Сам Гедель был глубоко убежденным платонистом. Математические выражения, которые я до сих пор рассматривал, являют собой довольно «мягкие» примеры того, что может встретиться в этом направлении![77]. Вполне возможны и более «запутанные» выражения, особенно в теории множеств. Когда рассматриваются все мыслимые ответвления этой теории, то порой возникают множества столь громадные и причудливо сконструированные, что даже такой весьма убежденный платонист, как я, может начать сомневаться в абсолютности их существования (или, напротив, несуществования)[78]. Может наступить момент, когда определения множеств становятся настолько сложными и концептуально шаткими, что вопрос об истинности или ложности относящихся к ним математических выражений становится скорее субъективным и зависящим от мнения исследователя, нежели «ниспосланным свыше». Готов ли иной математик безоглядно следовать вместе с Геделем путем платонизма, провозглашая истинность или ложность математических выражений, оперирующих подобными огромными множествами, всегда абсолютными (или «платонистскими») по своей природе; или же он, не заходя слишком далеко, будет говорить об абсолютности этих понятий лишь в том случае, если множества окажутся не слишком велики и довольно конструктивны. Ответ на этот вопрос не имеет большого отношения к нашей дискуссии. Множества (конечные или бесконечные), которые будут иметь для нас значение, по меркам вышеупомянутых множеств выглядят до смешного маленькими! Так что различия между разными платонистскими течениями нас волновать не должны.

Имеются, однако, и иные точки зрения в математике, такие как интуиционизмфинитизм), которые, впадая в противоположную крайность, отказываются признавать существование каких бы то ни было бесконечных множеств[79]. Интуиционизм был основан в 1924 году датским математиком Лейтзеном Э. Брауэром как альтернативный ответ — отличный от предлагаемого формализмом — на парадоксы (типа расселовского), которые могут возникать там, где бесконечные множества используются слишком вольно в математических рассуждениях. Зачатки этого подхода прослеживаются еще во времена Аристотеля, который, будучи учеником Платона, тем не менее отвергал его взгляды на абсолютное существование математических сущностей и возможность рассмотрения бесконечных множеств. Согласно интуиционизму, существование множества (бесконечного, равно как, впрочем, и конечного) не может признаваться как свойство, изначально ему присущее, а только лишь как функция правил, по которым оно организовано.

Характерная черта интуиционизма Брауэра состоит в отрицании закона «исключенного третьего». Этот закон говорит о том, что отрицание ложности некоторого выражения эквивалентно утверждению истинности этого выражения. (Или в принятой символике: ~ (~ P) <=> P, отношение, которое нам уже встречалось ранее.) Наверное, Аристотель был бы очень недоволен, столкнувшись с отрицанием настолько логически «очевидного» факта! С общепринятых позиций здравого смысла закон «исключенного третьего» может рассматриваться как самоочевидная истина: если утверждение о том, что нечто ложно, само неверно, то это нечто должно быть непременно справедливым! (На этом законе основана математическая процедура «доказательства от противного», упомянутой в прим. 53 подглавы «Неразрешимость проблемы Гильберта») Но интуиционисты считают допустимым отвергать справедливость этого закона. Основная причина здесь в том, что они занимают иную позицию по отношению к понятию существования, требуя, чтобы перед признанием существования математического объекта предъявлялось его конкретное (мысленное) построение. То есть, для интуиционалиста «существование» означает «конструктивное существование». В математическом доказательстве, использующем принцип «доказательства от противного», сперва выдвигается некая гипотеза, ложность которой затем устанавливается путем обнаружения противоречий, к которым приводят следствия из этой гипотезы. Эта гипотеза может принимать форму утверждения о том, что математический объект с требуемыми свойствами не существует. Когда это приводит к противоречию, то в обычной математике делается вывод о том, что данный объект да, существует. Но подобное доказательство, само по себе, не содержит руководства для построения такого объекта. Такое существование для интуициониста существованием отнюдь не является; и именно на этом основании они отказываются признавать закон «исключенного третьего» и процедуру «доказательства от противного». Сам Брауэр был совершенно неудовлетворен таким неконструктивным подходом к понятию существования[80]. Без указания реально осуществимого метода построения, говорил он, такая теория существования будет бессмысленной. В логике Брауэра нельзя сделать заключение о существовании объекта, исходя из ложности утверждения о его несуществовании!

По моему мнению, несмотря на похвальное стремление искать «конструктивное» решение вопроса о математическом существовании, интуиционизм, исповедуемый Брауэром, все же является слишком радикальным. Брауэр впервые опубликовал свои идеи в 1924 году, более чем за десять лет до работ Тьюринга и Черча. Теперь, когда понятие конструктивности — в терминах теории Тьюринга о вычислимости — может изучаться в общепринятых рамках математической философии, уже нет необходимости впадать в крайности, как к тому нас призывает Брауэр. Мы можем исследовать конструктивность как самостоятельный предмет, отдельный от вопроса математического существования. Если мы последуем путем интуиционизма, то будем вынуждены отказаться от использования очень мощных приемов доказательства в математике, заметно ограничивая и лишая силы сам предмет.

Я не хочу излишне подробно останавливаться на разнообразных трудностях и кажущихся абсурдностях, к которым приводит интуиционистский подход; но упоминание некоторых проблем может оказаться полезным. Один из примеров, к которому часто обращается для иллюстрации Брауэр, касается дробной части числа π:

3,14152653589793….

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

π = 3,14152653…

…77777777777777777777…,

или же нет? В обычных математических терминах все, что мы можем сказать на сегодняшний день, это то, что они либо существуют, либо нет — и мы не знаем, какая из этих возможностей верна! Казалось бы, вполне безобидное утверждение. Однако правомерность утверждения «последовательность из двадцати семерок либо существует где-то в дробной части числа π, либо нет» будет отвергаться интуиционистами до тех пор, пока не получится установить (некоторым приемлемым с точки зрения интуиционизма конструктивным образом), что такая последовательность действительно существует, или же что такой последовательности нет! Прямого подсчета было бы достаточно для того, чтобы доказать, что данная последовательность действительно существует в дробной части π, но для доказательства невозможности ее существования потребовалась бы математическая теорема. Пока ни один компьютер не в состоянии просчитать дробную часть π с такой точностью, чтобы определить наличие там искомой последовательности. Можно было бы, с вероятностной точки зрения, предположить ее существование, однако, даже если бы компьютер вычислял каждую секунду, скажем, по 1010 цифр, то для нахождения этой последовательности потребовалось бы предположительно от ста до тысячи лет. Мне представляется гораздо более вероятным, что существование такой последовательности будет однажды установлено скорее математически, чем путем прямых вычислений (возможно, как побочный результат более глобального и интересного исследования) — хотя не исключено, что это будет сделано неприемлемым для интуиционистов способом!

Данная проблема не имеет для математики особого значения и приведена лишь как наглядный пример. Брауэр, с позиций радикального интуиционизма, сказал бы, что в настоящее время утверждение «где-то в дробной части числа π существует двадцать последовательных семерок» не является ни справедливым, ни ложным. Если когда-либо в дальнейшем будет установлен конкретный результат — посредством вычислений или путем (интуиционистского) математического доказательства — то тогда утверждение станет «истинным» или «ложным», соответственно. Сходный пример представляет собой и «последняя теорема Ферма». Вновь, согласно крайнему интуиционизму Брауэра, это утверждение не может быть сегодня признано ни ложным, ни истинным, но возможно, что его значение будет определено в будущем. По-моему, такая субъективность и «конъюнктурность» понятия математической истины просто неприемлема. Действительно, вопрос, будет ли — а если будет, то когда — официально признана «доказанность» некоторого математического результата, является весьма субъективным. Математическая истина не должна подчиняться такому «общественно-зависимому» критерию. Помимо этого, опираться на понятие математической истины, зависящее от времени — это, мягко говоря, наиболее неудобный и неудовлетворительный подход для математики, которую предполагается использовать для достоверного описания физического мира. Не все интуиционисты придерживаются таких радикальных взглядов, как Брауэр. И все же точка зрения интуиционистов является, бесспорно, крайне неудобной, даже когда она родственна идеям конструктивизма. Немногие современные математики строго исповедуют чистый интуиционизм, даже если бы единственной причиной этого была бы его ограниченность относительно типов математических рассуждений, которые он позволяет использовать.

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

Теоремы геделевского типа как следствие результатов, полученных Тьюрингом

В моем изложении теоремы Геделя я опустил многие детали и к тому же оставил в стороне то, что относилось к неразрешимость вопроса о непротиворечивости системы аксиом и было исторически наиболее важной частью его доказательства. Моя задача состояла не в том, чтобы акцентировать внимание на «проблеме доказуемости непротиворечивости аксиом», столь важной для Гильберта и его современников; я стремился показать, что специфическое утверждение Геделя — которое нельзя ни подтвердить, ни опровергнуть исходя из аксиом и правил вывода рассматриваемой формальной системы — оказывается с очевидностью верным, если опираться в наших рассуждениях на интуитивное понимание смысла применяемых процедур.

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

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

Как оказывается, алгоритм отыскания доказательства внутри произвольной формальной системы присутствует всегда, если только система допускает какое-нибудь доказательство. Действительно, мы прежде всего должны предполагать, что наша система формулируется на некотором языке символов, который можно выразить в терминах некоторого конечного «алфавита» символов. Как и ранее, давайте упорядочим наши строки символов лексикографически, что, как мы помним, означает расставление в алфавитном порядке строк каждой определенной длины, где все строчки единичной длины идут первыми, за ними следуют (также упорядоченные) строки из двух символов, потом — из трех, и так далее (см. прим. 72 подглавы «Теорема Геделя»).

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

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

В действительности теорема Геделя носит более частный характер, поскольку от формальной системы того типа, который рассматривал Гедель, требовалась адекватность по отношению к арифметическим утверждениям, а не математическим утверждениям вообще. Можем ли мы устроить так, чтобы все необходимые операции машины Тьюринга выполнялись только при помощи арифметики? Или, иными словами, могут ли все вычислимые функции натуральных чисел (т. е. рекурсивные, или алгоритмические функции — результаты действия машины Тьюринга) быть выражены в терминах обычной арифметики? На самом деле это так, хотя и не совсем. Нам понадобится одна дополнительная операция, которую мы добавим в систему стандартных правил арифметики и логики (включая кванторы Eк.с. и Aк.о.). Эта операция просто выбирает «наименьшее натуральное число такое, что K(х) имеет значение „истина“», где К() — заданная арифметически вычислимая функция исчисления высказываний, для которой предполагается существование такого числа, т. е. что

Eк.с.x[K(х)] является истинным. (Если бы такого числа не было, то наша операция повторялась бы «бесконечно»[81]), стараясь обнаружить несуществующее x.) В любом случае, предшествующие рассуждения показывают, что, исходя из результатов Тьюринга, программа Гильберта по сведению целых разделов математики к вычислениям в рамках некоторой формальной системы — невыполнима.

Как оказывается, эта процедура не может с очевидностью установить, что мы имеем утверждение Геделя (наподобие Pk(k), которое верно, но внутри системы недоказуемо. Однако, если вспомнить доказательство, приведенное в главе 2 и показывающее, «как „перехитрить“ алгоритм» (см. подглаву «Как превзойти алгоритм»), то мы увидим, что можно сделать нечто похожее и в этом случае. В том доказательстве мы смогли выяснить, что для любого алгоритма, определяющего момент остановки машины Тьюринга, можно придумать такое действие машины, которое не прекращается, хотя алгоритм — в отличие от нас — «увидеть» это не способен. (Вспомните, что мы требовали от алгоритма корректно информировать нас о моменте, когда машина Тьюринга действительно остановится, хотя мы допускаем, что он может не оповестить нас, если машина на самом деле не прекратит свое действие, продолжая работать вечно.) Таким образом, как и в ситуации с теоремой Геделя, у нас есть утверждение (безостановочное действие машины Тьюринга), истинность которого мы можем установить при помощи интуитивного понимания, хотя определенная алгоритмическая процедура нам такой возможности и не дает.

Рекурсивно нумеруемые множества

Существует способ для описания основных результатов, полученных Геделем и Тьюрингом, в графическом виде, на языке теории множеств. Это позволит нам избежать произвольности описания в терминах конкретного символизма или в рамках формальной системы и выделить наиболее существенное. Мы будем рассматривать только множества натуральных чисел (конечные или бесконечные), такие как {4,5,8}, {0,57,100003}, {6}, {0}, {1,2,3,4….,9999}, {1,2, 3,4…. }, {0,2,4,6,8…. } ит. п.; или даже все множество N = {0,1,2,3,4… }, равно как и пустое множество ø = {}. Нас будут интересовать только вопросы вычислимости, скажем: «Какие множества натуральных чисел могут быть сгенерированы с помощью алгоритма, а какие — нет?»

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

Это будет n-я строка символов, скажем, Qn, согласно заданному в системе лексикографическому порядку («синтаксически корректных») утверждений. Тогда каждое натуральное число будет представлять некое утверждение. При этом множество всех утверждений формальной системы соответствует всему множеству натуральных чисел; а, допустим, теоремы этой системы будут составлять некоторое меньшее множество натуральных чисел, скажем, множество Р. Однако детали произвольной системы нумерации утверждений для нас несущественны. Все, что нам потребуется для установления соответствия между натуральными числами и утверждениями — это заданный алгоритм получения каждого утверждения Qn (записанного должным образом в символических обозначениях) из отвечающего ему натурального числа n; и другой алгоритм для получения n из Qn. Имея эти алгоритмы в своем распоряжении, мы вольны идентифицировать множество натуральных чисел с множеством утверждений конкретной формальной системы.

Давайте выберем формальную систему достаточно непротиворечивую и широкую для того, чтобы включать в себя все действия всех машин Тьюринга — и, более того, «имеющую смысл» с учетом требования «самоочевидной справедливости» ее аксиом и правил вывода. Далее, пусть ряд утверждений Q0, Q1, Q2…. формальной системы имеет доказательства внутри системы. Эти «доказуемые» утверждения будут иметь номера, которые составляют некоторое множество в N — по сути, это множество Р «теорем», рассмотренных выше. Мы уже видели, что существует алгоритм для последовательного построения всех утверждений произвольно заданной формальной системы, имеющих доказательства. (Как отмечено ранее, «n-е доказательство» Пn получается из n алгоритмически. Все, что нам надо — это посмотреть на последнюю строчку n-го доказательства, чтобы найти «n-е утверждение, доказуемое в рамках системы», т. е. n-ю «теорему».) Следовательно, мы имеем алгоритм последовательной генерации элементов Р (при которой возможны и повторения, что для нас не важно).

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

{О, 2,4,6, 8…. }, множество квадратов

{0,1,4,9,16….} и множество простых чисел

{2,3,5, 7, И….}.

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

{1,3,5,7,9….}, {2,3,5,6,7,8,10….}

и

{0,1,4,6, 8,9,10,12….}.

Было бы достаточно просто указать алгоритм и для этих дополнительных множеств. Конечно же, мы можем выяснить алгоритмическим путем, является ли произвольное натуральное число n четным, квадратом натурального числа или простым числом, соответственно. Это дает нам алгоритм для построения обоих множеств, поскольку мы можем перебирать все натуральные числа и для каждого из них решать, принадлежит ли оно к определенному множеству или же к его дополнению. Множество, которое обладает свойством рекурсивной нумеруемости вместе со своим дополнением, называется рекурсивным. Очевидно, что дополнительное по отношению к рекурсивному множество также будет рекурсивным.

А существуют ли множества, которые рекурсивно нумеруемы, но рекурсивными, тем не менее, не являются? Давайте на минутку задумаемся над тем, какие следствия могут вытекать из подобного свойства. Поскольку элементы такого множества могут быть получены алгоритмическим путем, мы имели бы способ решить, принадлежит ли некоторый элемент — который, мы предполагаем, да, принадлежит множеству, — рассматриваемому множеству или нет. Все, что от нас требуется, — это запустить алгоритм и прогонять его через все элементы множества до тех пор, пока он не найдет элемент, который мы ищем. Теперь давайте предположим, что искомый элемент не принадлежит данному множеству. В таком случае использование нашего алгоритма ничего не даст: он будет работать вечно, будучи не в состоянии прийти к решению. В этом случае нам потребуется алгоритм для построения дополнительного по отношению к исходному множества. Если этот алгоритм сможет обнаружить искомый элемент, то мы будем точно знать, что он не входит в состав исследуемого множества. Имея на вооружении оба алгоритма, мы так или иначе найдем данный элемент путем поочередного применения этих алгоритмов. Однако, такой благоприятный исход будет иметь место только в случае рекурсивного множества. Мы же предполагаем, что мы рассматриваем множество рекурсивно нумеруемое, но при этом не рекурсивное, т. е. наш предполагаемый алгоритм для построения дополнительного множества просто не существует! Таким образом, мы имеем курьезную ситуацию, когда можно определить, включен ли элемент в множество при условии, что он ему наверняка принадлежит; но в то же время нельзя гарантировать, что мы сможем это сделать посредством какого бы то ни было алгоритма для элементов, которые множеству не принадлежат.

Может ли возникнуть такая ситуация в реальности? Есть ли и вправду рекурсивно нумеруемые множества, не являющиеся рекурсивными? А как насчет множества Р ? Имеет ли это множество свойство рекурсивности? Мы знаем, что оно рекурсивно нумеруемо, так что нам остается только выяснить, будет ли также дополнительное к нему множество обладать этим свойством. Оказывается, что нет! Как мы можем сделать такой вывод? А давайте вспомним, что наряду с остальными операциями в нашей формальной системе разрешены и действия машин Тьюринга. Если мы обозначим n-ю машину Тьюринга через Тn то выражение

«Тn(n) останавливается»

— это утверждение — запишем его как S(n), — которое мы можем сформулировать в рамках нашей системы для любого n. Утверждение S(n) будет справедливым для одних значений n, и ложным — для остальных. Множество всех S(n), образованное перебором натуральных чисел 0,1, 2, 3…., будет представлено некоторым подмножеством N — скажем, S. Теперь учтем фундаментальный результат Тьюринга (глава 2, «Неразрешимость проблемы Гильберта»), который говорит о том, что не существует алгоритма, способного установить факт «Тn(n) не останавливается» как раз в тех случаях, когда она действительно не останавливается. Это означает, что множество, состоящее из отрицаний S(n), не является рекурсивно нумеруемым.

Мы видим, что часть S, принадлежащая Р, состоит только из истинных S(n). Почему это так? Понятно, что если любое конкретное S(n) доказуемо, то оно должно быть верным (ведь наша формальная система была выбрана так, чтобы иметь «смысл»!), и поэтому часть S, лежащая в Р, должна состоять исключительно из справедливых утверждений S(n). Более того, ни одно верное утверждение S(n) не должно лежать вне Р, ибо, если Тn (n) останавливается, то мы можем отыскать доказательство этому в рамках нашей системы[82].

Теперь предположим, что дополнение Р рекурсивно нумеруемо. Тогда у нас был бы алгоритм для построения элементов этого дополнительного множества. И мы смогли бы запустить его и пометить каждое утверждение S(n), которое попадает в поле его действия. Это все будут ложные утверждения S(n), так что наша процедура, по сути, обеспечит нам рекурсивную нумерацию множества таких утверждений. Но выше мы установили, что это множество не нумеруемо таким образом. Это противоречие показывает, что дополнение Р все-таки не может быть рекурсивно пронумеровано; а Р, следовательно, не является рекурсивным, что и требовалось доказать.

Эти свойства с очевидностью демонстрируют, что наша формальная система не может быть полной: то есть всегда будут существовать утверждения, чью справедливость (или ложность) невозможно доказать в рамках системы. Ведь если предположить, что такие «неразрешимые» утверждения не существуют, то дополнение множества Р с необходимостью было бы множеством опровергаемых утверждений (все, что недоказуемо, обязано быть опровергаемо). Но мы уже знаем, что опровергаемые утверждения составляют рекурсивно нумеруемое множество, что делает Р рекурсивным. Однако, Р не рекурсивно — противоречие, которое доказывает требуемую неполноту. Это основное утверждение теоремы Геделя.

А как насчет подмножества T множества N, которое состоит из истинных утверждений нашей формальной системы? Рекурсивно ли T? Или оно только рекурсивно нумеруемо? А его дополнение? Оказывается, что ответ на все эти вопросы — отрицательный. Один из способов установить это — воспользоваться сделанным ранее выводом о невозможности алгоритмически сгенерировать ложные утверждения вида «Тn(n) останавливается». Как следствие, ложные утверждения в целом не могут быть получены с помощью алгоритма, поскольку такой алгоритм, в частности, пронумеровал бы все вышеупомянутые ложные «Тn(n) останавливается»-утверждения. Аналогично, и множество всех истинных утверждений не может быть построено при помощи алгоритма (так как любой подобный алгоритм легко модифицируется для нахождения ложных утверждений путем отрицания каждого из генерируемых им утверждений).

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

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

Eк.с. ω, x…, z[f (ω, x,…,z) = 0],

где f () — некоторая функция, построенная из обычных арифметических операций сложения, вычитания, умножения и возведения в степень, составляют рекурсивно нумеруемые множества[83] (которые я обозначу через А). Пример утверждения такого рода — хотя мы не знаем, верно ли оно — это отрицание последней теоремы Ферма[84]., для которой мы можем взять за f () функцию

f (ω, х, у, z) = (х+1)ω+3 + (у+1)ω+3- (z+1)ω+3.

Однако, множество А не является рекурсивным (факт, который не так легко установить, хотя он и вытекает из оригинального доказательства Геделя). Значит, мы не имеем никаких алгоритмических средств для выяснения — хотя бы в принципе — истинности или ложности последней теоремы Ферма.

Новый ум короля

Рис. 4.1. Очень схематичное представление рекурсивного множества

На рис. 4.1 я попытался схематически представить рекурсивное множество как фигуру с простой и изящной границей, так что кажется, что определить непосредственно принадлежность произвольной точки этому множеству — дело несложное. Каждая точка на рисунке соответствует некоторому натуральному числу. При этом дополнительное множество также представлено в виде просто выглядящей области на плоскости. На рис. 4.2 я постарался изобразить рекурсивно нумеруемое, но не рекурсивное множество в виде области со сложной границей, где подразумевается, что множество с одной стороны границы, — той, что рекурсивно нумеруема — должно выглядеть проще, чем с другой.

Новый ум короля

Рис. 4.2. Очень схематичное представление рекурсивно нумеруемого множества (темная область), которое не является рекурсивным. Здесь светлая область определяется только по «остаточному принципу», когда удаляется темная часть, построенная при помощи вычислений; а установить путем прямых вычислений, принадлежит ли заданная точка белой области, нельзя

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

На рис. 4.3 я схематично обозначил, как расположены области Р, Т и А внутри множества N.

Новый ум короля

Рис. 4.3. Очень схематичное представление различных множеств утверждений. Множество Р утверждений, доказуемых в рамках системы, является, как и А, рекурсивно нумеруемым, но не рекурсивным. Множество Т истинных утверждений даже не рекурсивно нумеруемо

Является ли множество Мандельброта рекурсивным?

Существенной характеристикой нерекурсивных множеств является их сложноорганизованность. Это свойство должно, в некотором смысле, препятствовать любым попыткам систематизации, которая, в противном случае, привела бы к некоторой «работающей» алгоритмической процедуре. Для нерекурсивного множества не существует общего алгоритмического пути к решению вопроса о принадлежности ему произвольного элемента (или «точки»), В начале третьей главы мы встретились с неким чрезвычайно сложно выглядящим множеством — с множеством Мандельброта. Хотя правила, по которым оно строится, поразительно просты, само множество представляет собой бесконечное разнообразие в высшей степени замысловатых структур. Может ли это быть примером настоящего нерекурсивного множества, явленного глазам смертных?

Читателю, однако, не понадобится много времени, чтобы сообразить, что эта парадигма сложности была создана специально для наших глаз волшебством вычислительных технологий с использованием современных быстродействующих компьютеров. А не являются ли компьютеры истинным воплощением алгоритмических действий? Конечно, это так, но все же мы должны принимать во внимание способ, с помощью которого компьютеры, в действительности, создают эти картинки. Чтобы проверить, принадлежит точка плоскости Аргана — комплексное число с — множеству Мандельброта (закрашено черным) или его дополнению (светлая область), компьютер, начиная с нуля, применит отображение

z → z2 + с

сначала к z = 0, чтобы получить с; потом к z = с, чтобы получить с2 + с; затем к z = с2 + с, чтобы получить с4 + 3 + с2 + с; и так далее. Если эта последовательность 0, с, с2 + с, с4 + 3 + с2 + с… остается ограниченной, то соответствующая точка с будет черной; в противном случае — белой. Как машина определяет, что такая последовательность остается ограниченной? В принципе, этот вопрос предполагает наличие информации о том, что происходит после бесконечного числа ее элементов! Сама по себе эта задача вычислительными методами не решается. К счастью, существуют способы предсказать исходя уже из конечного числа членов, когда последовательность станет неограниченной. (На самом деле, если последовательность достигает окружности радиуса 1 + √2 с центром в начале координат, можно с уверенностью сказать, что она будет неограниченной.)

Таким образом, дополнение к множеству Мандельброта является, в некотором смысле, рекурсивно нумеруемым. Если комплексное число с расположено в светлой области, то существует алгоритм, подтверждающий этот факт. А как насчет самого множества Мандельброта — темного участка рисунка? Существует ли алгоритм, способный точно установить, что точка, принадлежащая предположительно темному участку, действительно ему принадлежит? Ответ на этот вопрос в настоящее время, похоже, отсутствует[85]. Я справлялся у многих коллег и экспертов, но ни один из них не слышал о подобном алгоритме. Равно как и никто из них не сталкивался с указанием на то, что такого алгоритма не существует. По крайней мере, насколько можно об этом судить, алгоритм для темной области на сегодняшний день неизвестен. Возможно, множество, дополнительное по отношению к множеству Мандельброта, действительно является примером рекурсивно нумеруемого, но не рекурсивного множества!

Прежде чем исследовать дальше это предположение, необходимо будет обсудить некоторые моменты, которые я ранее опускал. Эти вопросы будут довольно важны для нас в дальнейших рассуждениях по поводу вычислимости в физике. Я хотел бы заметить, что, на самом деле, я был несколько неточен в предшествующем изложении. Я применял такие понятия, как «рекурсивно нумеруемый» и «рекурсивный», к множествам точек в плоскости Аргана, т. е. множествам комплексных чисел. Но эти термины могут применяться только лишь для натуральных чисел и других счетных множеств. Мы видели в третьей главе («Сколько же всего действительных чисел»), что действительные числа не могут быть счетным множеством, равно как, следовательно, и комплексные — ведь любое действительное число может быть рассмотрено как частный случай некоторого комплексного числа с нулевой мнимой частью (гл.3 «Комплексные числа»). В действительности существует такое же «количество» комплексных чисел, как и действительных, а именно «С». (Чтобы установить взаимнооднозначное соответствие между комплексными и действительными числами, можно, грубо говоря, просто взять действительную и мнимую части комплексного числа (записанные в десятичной форме) и перемешать через одну поразрядно цифры из мнимой части с цифрами из вещественной, образуя, тем самым, действительное число: тогда, например, 3,6781…+ i512,975… будет соответствовать действительному числу 50 132,6977851…)

Дабы избежать этой проблемы, можно было бы ограничиться только вычислимыми комплексными числами, так как мы еще в третьей главе видели, что вычислимые действительные числа — а значит, и соответствующие им комплексные — являются счетными. Однако здесь кроется одна принципиальная трудность: не существует алгоритма, с помощью которого можно было бы сравнивать два вычислимых числа, полученных алгоритмически! (Мы можем алгоритмическим образом составить их разность, но мы не в состоянии будем выяснить, равна она нулю или нет. Представьте себе два алгоритма, которые генерируют цифры 0,99999… и 1,00000…, соответственно; мы никогда не узнаем, продолжаются ли нули и девятки в них до бесконечности — так, что числа оказываются равными — или же где-то в дробной части того или другого числа могут появиться иные цифры, делая эти числа неравными.) Таким образом, мы, возможно, никогда не сможем определить, равны ли между собой такие числа. Как следствие этого — наша неспособность решить даже в таком простом случае как единичный круг в плоскости Аргана (множество точек, лежащих на расстоянии не большем единицы от начала координат — черная фигура на рис. 4.4), лежит ли комплексное число в этом круге или нет.

Новый ум короля

Рис. 4.4. Единичный круг, безусловно, должен рассматриваться как рекурсивное множество, но это требует определенных соглашений

Трудность возникает не с точками, лежащими внутри или снаружи, а именно с точками на самой границе круга — то есть на самой единичной окружности. Эта окружность рассматривается по условию как часть круга. Предположим, что нам уже предоставлен в распоряжение алгоритм для получения цифр вещественной и мнимой частей некоторого комплексного числа. Если мы предполагаем, что это комплексное число лежит на единичной окружности, то мы не можем с необходимостью подтвердить этот факт. Не существует алгоритма, чтобы установить, является ли вычислимое число x2 + y2  равным единице, что служит критерием для принадлежности комплексного числа х + iy данной единичной окружности.

Очевидно, это совсем не то, что нам нужно. Единичный круг, безусловно, должен рассматриваться как рекурсивное множество. Едва ли найдется сколь-нибудь значительное число множеств, более простых, чем единичный круг! Чтобы обойти эту проблему, одним из способов может быть игнорирование границы. Ведь для точек, лежащих внутри (или снаружи), безусловно существует алгоритм, устанавливающий этот факт. (Можно просто последовательно генерировать цифры числа х2+у2, и, в конце концов, мы найдем цифру, отличную от 9 в дробной части 0,9999… или отличную от 0 — в дробной части 1,00000…) В этом смысле единичный круг является рекурсивным. Но этот подход чрезвычайно неудобен для математики, поскольку там часто возникает необходимость ссылаться в рассуждениях на то, что происходит именно на границах. С другой стороны, вполне возможно, что такая точка зрения окажется применимой в области физики. Позднее нам еще придется вернуться к этому вопросу.

Существует другой метод, имеющий непосредственное отношение к данному вопросу, который не предполагает вообще обращения к вычислимым комплексным числам. Вместо того, чтобы пытаться пронумеровать комплексные числа внутри или снаружи рассматриваемого множества, мы просто будем вызывать алгоритм, который для любого наперед заданного комплексного числа будет определять, принадлежит оно нашему множеству или же его дополнению. Говоря «наперед заданный», я подразумеваю, что для каждого числа, которое мы рассматриваем, нам некоторым — быть может, «волшебным» — образом известны цифры мнимой и вещественной части, одна за другой, и в таком количестве, сколько нам нужно. Я не требую, чтобы существовал алгоритм, известный или неизвестный, для нахождения этих цифр. Множество комплексных чисел считалось бы «рекурсивно нумеруемым», если бы существовал хотя бы единственный алгоритм такой, что для любой заданной ему вышеуказанным образом последовательности цифр он бы говорил «да» после конечного числа шагов тогда и только тогда, когда комплексное число действительно принадлежит этому множеству. Оказывается, что как и в случае подхода, предложенного выше, эта точка зрение также «игнорирует» границы. Следовательно, внутренняя и внешняя области единичного диска будут каждая по отдельности считаться рекурсивно нумеруемыми в указанном смысле, тогда как сама граница — нет.

Для меня совершенно не очевидно, что какой-либо из этих методов дает то, что нам нужно[86]. Философия «игнорирования границ», будучи приложенной к множеству Мандельброта, может привести к потере большого числа тонких моментов. Одна часть этого множества состоит из «клякс» — внутренних областей, а другая — из «усиков». Наибольшие сложности при этом связаны, видимо, с «усиками», которые могут «извиваться» самым причудливым образом. Однако, «усики» не принадлежат внутренней части множества, и, тем самым, они были бы проигнорированы, используй мы любой из двух вышеприведенных подходов. Но даже при таком допущении остается неясность, можно ли считать множество Мандельброта рекурсивным в том случае, когда рассматриваются только «кляксы». Похоже, что вопрос этот связан с некоторым недоказанным предположением, касающимся самого множества, а именно: является ли оно, что называется, «локально связным»? Я не собираюсь здесь разбирать значение этого понятия или его важность для данного вопроса. Я хочу просто показать, что существует ряд трудностей, которые вызывают неразрешенные на сегодняшний день вопросы, касающиеся множества Мандельброта, чье решение — первоочередная задача для некоторых современных математических исследований.

Существуют также и другие подходы, которые могут использоваться с тем, чтобы обойти проблему несчетности комплексных чисел. Вместо того, чтобы рассматривать все вычислимые комплексные числа, можно ограничиться только подмножеством таких чисел, для любой пары которых можно вычислительным путем установить их равенство. Простым примером такого подмножества могут служить «рациональные» комплексные числа, у которых как мнимая, так и вещественная части могут быть представлены рациональными числами. Я не думаю, однако, что это дало бы многое в случае «усиков» множества Мандельброта, поскольку такая точка зрения накладывает очень значительные ограничения. Более удовлетворительным могло бы оказаться рассмотрение алгебраических чисел — тех комплексных чисел, которые являются алгебраическими решениями уравнений с целыми коэффициентами. Например, все решения z уравнения

129z7ЗЗz5 + 725z4 + 16z32z3 = 0

— это алгебраические числа. Такие числа будут счетными и вычислимыми, и задача проверки двух из них на равенство будет решатся путем прямого вычисления. (Как выясняется, многие из них будут лежать на границе единичного круга и «усиков» множества Мандельброта.) И мы можем по желанию рассматривать вопрос о рекурсивности множества Мандельброта в терминах этих чисел.

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

yez,

где х + iy(= z) — точка в плоскости Аргана.

Новый ум короля

Рис. 4.5. Множество, определенное экспоненциальным соотношением уеz, должно также рассматриваться как рекурсивное

Внутренняя часть множества, равно как и внутренняя часть его дополнения, будут рекурсивно нумеруемыми в соответствии с любой из вышеизложенных точек зрения, но (как следует из знаменитой теоремы Ф.Линдеманна, доказанной в 1882 году) граница, у = ех, содержит только одну алгебраическую точку, а именно точку z = i. В этом случае алгебраические числа никак не могут нам помочь при исследовании алгоритмической по своей природе границы!

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

Некоторые примеры нерекурсивной математики

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

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

z3 - y — 1 = 0,

yz2 — 2x — 2 = 0,

у2 — 2xz + z + 2 = 0,

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

х = 13, у = 7, 2 = 2.

Но для произвольной системы диофантовых уравнений никакого алгоритма не существует[87]. Арифметика Диофанта, несмотря на простоту входящих в нее выражений, является частью неалгоритмической математики!

(Несколько менее тривиальным является пример топологической эквивалентности многообразий. Я упоминаю об этом только вкратце, ибо в главе 8 будут рассматриваться вопросы, имеющие к данному определенное отношение. Чтобы понять, что такое «многообразие», представьте для начала петлю, которая является многообразием в одном измерении; затем представьте замкнутую поверхность — многообразие в двух измерениях. Далее попробуйте представить некую «поверхность», имеющую три и более измерений. «Топологическая эквивалентность» двух многообразий означает, что одно из них может быть деформировано в другое путем непрерывных преобразований — без разрывов и склеек. Так, сфера и поверхность куба являются топологически эквивалентными, хотя они не эквивалентны поверхности кольца или чашки с ручкой — хотя последние топологически эквивалентны друг другу. При этом для двумерных многообразий существует алгоритм, позволяющий определить, эквивалентны ли произвольные два многообразия друг другу или нет — в сущности, заключающийся в подсчете «ручек», которые имеет каждая из поверхностей. Для случая трех измерений вопрос о существовании такого алгоритма на момент написания книги остается без ответа; однако для четырех и более измерений уже известно, что такого алгоритма быть не может. Возможно, четырехмерный случай имеет некое отношение к физике, поскольку согласно теории общей относительности Эйнштейна пространство и время совместно образуют четырехмерное многообразие (см. главу 5, «Специальная теория относительности Эйнштейна и Пуанкаре»). Герох и Хартли в 1986 году высказали предположение о том, что свойство неалгоритмичности может иметь отношение к «квантовой гравитации» (см. также главу 8).)

Давайте теперь рассмотрим иной тип задач, называемых задачами со словами[88]. Допустим, у нас есть некий алфавит символов, и мы рассматриваем различные строки этих символов, трактуя их как слова. Слова могут сами по себе не иметь никакого значения, но мы должны иметь некоторый (конечный) список «равенств» между ними, которые мы сможем использовать для дальнейшего построения таких «равенств». Это делается путем подстановки слов из исходного списка в другие (как правило, более длинные) слова, которые содержат их в виде составных частей. Каждая такая часть может быть заменена на равную ей в соответствии с используемым списком. Тогда для любой данной пары слов мы должны решить задачу об их равенстве согласно этим правилам.

В качестве примера мы можем взять для нашего исходного списка, скажем, такие равенства:

EAT = АТ

АТЕ = А

LATER = LOW

PAN = PILLOW

CARP = ME.

Отсюда мы можем, например, вывести

LAP = LEAP,

используя последовательные замены из второго, первого и снова второго соотношения из нашего исходного листа:

LAP = LATEP = LEATEP = LEAP.

Проблема теперь заключается в том, чтобы выяснить, сможем ли мы для любой наперед заданной пары слов осуществить вышеописанным образом переход от одного из них к другому? Можем мы перейти от CATERPILLAR к MAN, или, скажем, от CARPET — к MEAT? Ответ в первом случае оказывается утвердительным, тогда как во втором — отрицательным. Когда ответ утвердителен, стандартный путь показать его справедливость заключается в построении цепочки равенств, где каждое из слов получается из предыдущего с учетом допустимых соотношений. Итак, имеем (обозначая буквы, назначенные к замене, жирным шрифтом, а только что измененные — курсивом):

Новый ум короля

Как мы можем утверждать, что посредством разрешенных подстановок невозможно получить MEAT из CARPET? Для демонстрации этого факта придется подумать чуть больше, однако показать это не так уж сложно, причем множеством разных способов. Простейшим представляется следующий: в каждом «равенстве» из нашего списка число букв А плюс число букв W плюс число букв М с каждой стороны одинаково. Значит, общая сумма указанных букв не может меняться в процессе преобразования по допустимым нашим списком правилам. Однако, для CARPET эта сумма равна 1, а для MEAT2. Следовательно, не существует способа получить из первого слова второе при помощи вышеприведенного списка равенств.

Заметьте, что когда два слова «равны», мы можем показать это, просто приведя допустимую формальную строчку символов, построенную с помощью заданных нами правил; тогда как в случае их «неравенства» мы должны прибегать к рассуждениям об этих самых правилах. Существует четкий алгоритм, который мы можем использовать для установления «равенства» между двумя словами в том случае, когда они действительно «равны». Все, что нам требуется, это составить лексикографический перечень всех возможных последовательностей слов, и потом вычеркнуть из этого списка любую строчку, где имеется пара слов, в которой последующее нельзя получить из предыдущего при помощи какого бы то ни было правила из исходного списка. Оставшиеся последовательности дадут нам набор всех искомых «равенств» между словами. Однако, в общем случае нет такого явного алгоритма для случая, когда два слова «неравны», и нам, возможно, пришлось бы применить «интеллект» для установления этого факта. (Конечно же, мне потребовалось некоторое время, прежде чем я заметил описанный выше «трюк», при помощи которого доказал, что CARPET и MEAT «неравны». А для другого примера «трюк» мог бы понадобиться совершенно иной. Кстати, интеллект помогает — хотя и не обязательно — и в случае, когда необходимо установить существование некоторого «равенства».)

В действительности, для нашего конкретного списка из пяти «равенств», которые составляют исходный список в рассмотренном выше примере, привести алгоритм, устанавливающий «неравенство» в случае, когда два слова и вправду «неравны» — не так уж сложно. Однако, чтобы отыскать алгоритм в этом случае, потребовалась изрядная работа интеллекта! И, конечно, оказывается, что не существует единого универсального алгоритма для всех возможных вариантов исходного списка. Общая задача со словами принадлежит области нерекурсивной математики!

Существуют даже определенные варианты выбора исходного списка, для которых нет алгоритма решения задачи сравнения двух слов. Один из них дается таким набором:

АН = НА

ОН = НО

АТ = ТА

ОТ = ТО

TAI = IT

HOI = IH

THAT = ITHT.

(Этот список взят из списка, предложенного Григорием Цейтиным и Даной Скотт в 1955 году (см. Гарднер [1958]).) Таким образом, эта частная задача со словами служит примером нерекурсивной математики в том смысле, что, используя такой исходный список, мы не можем алгоритмическим путем решить, «равны» два наперед заданных слова или нет.

Общая задача со словами возникает как следствие рассмотрения формализованной математической логики («формальных систем» и т. п., в соответствии с обсуждаемым ранее). Исходный список выполняет роль системы аксиом, а правила замены слов — правил вывода. Доказательство нерекурсивности задачи со словами вытекает из подобных рассуждений.

В качестве последнего примера задачи из области нерекурсивной математики давайте рассмотрим вопрос о покрытии Евклидовой плоскости многоугольниками, разнообразие форм которых ограничено, а сам вопрос при этом ставится так: можем ли мы выложить всю плоскость полностью, без разрывов и нахлестов, используя фигуры только данных нам форм? Такая укладка фигур называется замощением плоскости. Мы знаем, что такое замощение возможно при помощи только квадратов, только равнобедренных треугольников или только правильными шестиугольниками (как изображено на рис. 10.2 гл. 10 «Плиточные» структуры и квазикристалы»), но невозможно, если использовать только правильные пятиугольники. Многими иными фигурами, такими, как два неправильных пятиугольника на рис. 4.6, также можно выложить плоскость.

Новый ум короля
 
Новый ум короля

Рис. 4.6. Два примера периодического замощения плоскости фигурой одной формы (предложены Марджори Райе (Marjorie Rice) в 1976 году)

Замощение фигурами двух форм может стать более хитроумной задачей. Два простых примера даны на рис. 4.7.

Новый ум короля

Рис. 4.7. Два примера периодического замощения плоскости фигурами двух форм

Все эти замощения являются периодическими; это означает, что они в точности повторяются по всей плоскости в двух независимых направлениях. На языке математики мы бы сказали, что существует параллелограмм периодов — параллелограмм, который, будучи неким образом выделен и затем повторен снова и снова в двух направлениях, параллельных его сторонам, даст в результате заданный узор покрытия. На рис. 4.8. представлен пример, где периодическое покрытие слева состоит из «плиток» в форме шипов, а справа указан соответствующий параллелограмм периодов.

Новый ум короля

Рис. 4.8. Периодическое замощение и его параллелограмм периодов

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

Рис. 4.9 изображает три непериодических «спиральных» замощения из таких же шиповидных «плиток», как и на рис. 4.8.

Новый ум короля

Рис. 4.9. Три непериодических «спиральных» замощения из таких же «универсальных» плиток, как и на рис. 4.8

Эта форма «плиток», известная как «универсальная» (по вполне понятным причинам!), была предложена Б. Грюнбаумом и Дж. К. Шепардом [1981, 1987] на основании форм, изученных X. Фодербергом. Обратите внимание, что универсальная форма позволяет замостить плоскость как периодически, так и непериодически. Это свойство характерно и для многих других форм единичных «плиток» и наборов «плиток». А могут ли существовать «плитки» (или конечные наборы «плиток»), которые бы покрывали плоскость только непериодически? Ответ на этот вопрос будет «да». На рис. 4.10 я изобразил сконструированный американским математиком Рафаэлем Робинсоном набор из фигур шести различных форм, которым можно замостить всю плоскость, но только непериодическим образом.

Новый ум короля

Рис. 4.10. Набор Рафаэля Робинсона из шести плиток, который покрывает плоскость только непериодически

Небесполезно было бы сделать историческое отступление и посмотреть, как появился это непериодический набор (см. Грюнбаум, Шепард [1987]). В 1961 году американский логик китайского происхождения Хао Ванг поставил вопрос о существовании процедуры для решения задачи замощения, или, иными словами, о нахождении алгоритма, который позволил бы выяснить возможность замощения всей плоскости с помощью конечного набора многоугольников различной формы![89] Ему удалось показать, что такая процедура могла бы существовать, если бы получилось доказать следующую гипотезу: любой конечный набор разных «плиток», с помощью которого можно каким-нибудь способом выполнить замощение плоскости, пригоден также и для ее периодического замощения. Мне думается, в то время интуитивно казалось, что не может существовать набор «плиток», нарушающий это условие (т. е. не может существовать «непериодический» набор плиток). Однако в 1966 году, следуя в указанном Хао Вангом направлении, Роберт Бергер смог показать, что, на самом деле, процедуры решения задачи покрытия не существует: эта задача также принадлежит области нерекурсивной математики![90]

С учетом доказанного Хао Вангом это означало, что хотя бы один непериодический набор «плиток» должен существовать; и Бергер смог построить первый такой набор. Однако, из-за сложности выбранного им способа рассуждений, его набор состоял из ненормально большого числа «плиток» разной формы — изначально их насчитывалось 20 426. Использовав некоторый дополнительный искусный прием, Бергеру удалось сократить это число до 104. А в 1971 году Рафаэль Робинсон довел его до шести, которые изображены на рис. 4.10 выше.

Другой непериодический набор из шести «плиток» представлен на рис. 4.11. Это множество я придумал сам в 1973 году, следуя в своих рассуждениях несколько отличным путем. (Я вернусь к этой теме в главе 10 «Плиточные структуры и квазикристаллы», где на рис. 10.3, изображен массив, покрытый такими «плитками».)

Новый ум короля

Рис. 4.11. Другой набор из шести плиток, который покрывает плоскость только непериодически

После того, как, я познакомился с «шестиплиточным» набором Робинсона, я начал думать о том, как сократить их число; и путем различных манипуляций с разрезаниями и склеиванием я, в конечном счете, смог довести количество «плиток» до двух. Две альтернативные схемы представлены на рис. 4.12.

Новый ум короля

Рис. 4.12. Две пары плиток, которые покрывают плоскость только непериодически («плитки Пенроуза»). Также показано замощение плоскости каждой из этих пар

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

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

Задача замощения, в том виде, как она исследовалась Вангом, Бергером и Робинсоном, формулируется для «плиток», построенных на квадратах. Я же здесь допускаю рассмотрение многоугольников произвольной формы, и поэтому необходимо наличие какого-нибудь способа изображения каждой из «плиток», поддающегося адекватному вычислению. Одним из таких путей могло бы быть представление вершин «плиток» точками плоскости Аргана, которые превосходно задаются алгебраическими числами.

Похоже ли множество Мандельброта на нерекурсивную математику?

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

Посмотрим еще раз на рис. 3.2, с которым мы встретились в третьей главе («страна Тор'Блед-Нам»). Заметьте, что большая часть множества вписывается в сердцевидную фигуру, которую я обозначил на рис. 4.13 через А (ниже). Эта фигура называется кардиоида и ее внутренняя область может быть определена математически как множество точек с плоскости Аргана, которые удовлетворяют равенству

с = z- z2,

где z — комплексное число, чье расстояние до центра координат меньше 1/2. Это множество является, с очевидностью, рекурсивно нумеруемым в смысле существования алгоритма, который для произвольной точки внутренней области фигуры умеет подтверждать ее принадлежность этой самой области. Этот алгоритм легко получается из указанной выше формулы.

Теперь рассмотрим дисковидную фигуру слева от основной кардиоиды (область В на рис. 4.13).

Новый ум короля

Рис. 4.13. Бо́льшая часть внутренней области множества Мандельброта может быть определена простыми алгоритмическими уравнениями

Ее внутренняя часть представляет собой множество точек

с = z1,

где z — удалено от начала координат на расстояние меньше 1/4. Эта область, несомненно, является внутренностью диска, так как представляет собой множество точек, лежащих внутри правильной окружности. И, опять же, эта область является рекурсивно нумеруемой в принятом нами смысле. А как насчет других «бородавок» на кардиоиде? Возьмем две следующие по величине «бородавки». Это практически круглые «кляксы», располагающиеся примерно наверху и внизу кардиоиды на рис. 3.2 и которые на рис. 4.13 обозначены через С1 и С2. Они могут быть описаны как множество

c3 + 2с2 + (1 — z)c + (1 — z)2 = 0,

где z изменяется в пределах круга радиуса 1/8 с центром в начале координат. Фактически, это уравнение дает нам не только обе эти «кляксы», но и «дочернюю» фигуру кардиоидной формы (основную часть рис. 3.1), которая находится слева на рис. 3.2 и которая обозначена как С3 на рис. 4.13. И, аналогично, эти области (как порознь, так и вместе) составляют рекурсивно нумеруемые множества благодаря существованию вышеприведенной формулы.

Несмотря на предположение о нерекурсивности множества Мандельброта, сделанное мной вначале, мы смогли разобраться с его наиболее значительными частями с помощью вполне определенного и достаточно простого алгоритма. Кажется, что такой процесс можно продолжать и дальше. Все наиболее очевидные области множества — и, конечно же, подавляющая часть множества (если не все оно целиком) в процентном выражении — поддаются алгоритмическому анализу. Если, как я предполагаю, все множество все-таки нерекурсивно, то те области, которые недоступны для действия алгоритма, должны быть с необходимостью очень «тонкими» и почти «невидимыми». Более того: когда мы найдем такую область, то вероятнее всего мы смогли бы понять, как нам изменить наш алгоритм, чтобы эта область также оказалась в зоне его действия. Однако, после этого найдутся другие области (если мое предположение о нерекурсивности справедливо), еще более труднодоступные из-за тонкости и сложности своей структуры, перед которыми будет бессилен даже наш усовершенствованный алгоритм. И вновь «волшебство» интуиции, искусства и техники, наверное, позволит нам вычленить эту область; но другие в очередной раз ускользнут от нас; и так будет повторяться снова и снова.

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

В задачах покрытия и задачах со словами, рассмотренных выше, можно уже уловить, как применяется подобный подход (хотя это не те области математики, где аппарат развит в достаточной степени). Мы смогли привести очень простое доказательство для того, чтобы показать невозможность трансформации одного слова в другое при помощи установленных правил. Нетрудно вообразить, что более «продвинутые» методы доказательства способны помочь в более сложных случаях. Не исключена вероятность, что эти новые подходы могут быть превращены в алгоритмические процедуры. Мы знаем, что ни одна процедура не может удовлетворять всем примерам задачи со словами, но те из них, которые ускользают из «алгоритмических сетей», должны быть очень тонко и аккуратно сконструированы. Конечно, как только мы узнаем принцип построения таких примеров — как только мы будем уверены, что в неком конкретном случае произошла «осечка» алгоритма, — мы сможем усовершенствовать наш алгоритм так, чтобы он включал и этот частный пример. Ускользать могут только пары «неравных» слов, так что, как только мы находим такую «ускользающую» пару, мы можем быть уверены в их «неравенстве» и присовокупить этот критерий к нашему алгоритму. Так наше более глубокое понимание ведет ко все более совершенным алгоритмам!

Теория сложности

Рассуждения о природе, возможности построения, существования и ограничениях алгоритмов, которые я привел в предыдущих главах, были по большей части «нестрогими». Я совсем не касался вопроса о возможности практического применения упоминавшихся алгоритмов. Даже в тех задачах, где существование алгоритмов и возможные способы их построения очевидны, все же может потребоваться довольно много труда для их воплощения в нечто полезное с точки зрения практического использования. Иной раз небольшая догадка или искусный ход могут в значительной степени упростить алгоритм или же многократно увеличить его быстродействие. Техническая сторона этих вопросов часто бывает очень сложна, и в последние годы в различных направлениях прилагалось много усилий в области построения, понимания и совершенствования алгоритмов — быстро растущем и развивающемся поле деятельности для пытливых умов. Мне представляется не слишком уместным углубляться здесь в тонкости подобных вопросов. Однако, существует довольно много абсолютных ограничений общего характера (известных или предполагаемых) на возможное повышение быстродействия алгоритма. Оказывается, что среди алгоритмических по своей природе задач существуют определенные классы проблем, решать которые с помощью алгоритмов несоизмеримо труднее, чем остальные. Такие задачи можно решать только с помощью очень медленных алгоритмов (или, допустим, алгоритмов, требующих чрезмерно больших ресурсов для хранения информации, и т. п.). Теория, в которой рассматриваются подобные вопросы, носит название теории сложности.

Теория сложности занимается не столько изучением трудностей, связанных с решением отдельных задач, сколько с бесконечными семействами задач, в каждом из которых любая задача может быть решена с помощью одного и того же алгоритма. Различные задачи такого семейства будут отличаться по «размеру», который выражается некоторым натуральным числом п. (Чуть позднее я объясню более подробно, как фактически этот номер п характеризует размер задачи.) Время, требуемое для решения конкретной задачи из рассматриваемого класса, — а вернее, количество элементарных шагов, — дается некоторым числом N, зависящим от n. Для определенности договоримся, что N — это наибольшее число шагов среди всех задач данного размера n, которое может понадобиться алгоритму для решения. При этом, с ростом n увеличивается также и N. На самом деле, N скорее всего будет расти гораздо быстрее n. Например, N может быть примерно пропорционально n2, или n3 или, скажем, 2n (которое при больших n значительно превосходит n2, n3 n4, n5 и, вообще, nr для любого фиксированного n), или даже 22n (которое, в свою очередь, растет еще быстрее).

Конечно, число «шагов» зависит от типа вычислительной машины, на которой применяется алгоритм. Если эта машина принадлежит классу машин Тьюринга, описанному в главе 2, у которых есть только одна лента — что довольно неэффективно — то число N может расти еще быстрее (или, эквивалентно, машина будет работать медленнее), чем в случае с двумя и более лентами. Чтобы избежать этих неопределенностей, вводится широкая классификация всех возможных зависимостей N(n), так что, независимо от типа используемой машины Тьюринга, величина темпов роста N будет всегда попадать в одну и ту же категорию. Одна из таких категорий, известная как Р (от названия «полиномиальное время»), включает все темпы роста, которые являются фиксированными кратными n или n2, n3, n4, n5…. [91]. Это означает, что для любой задачи, попадающей в эту категорию Р (под «задачей» здесь фактически понимается семейство задач, решаемых с помощью единого алгоритма), будет справедлива оценка

NK x nr

где К и r — константы, не зависящие от n. То есть N не может быть больше, чем число, кратное n в некоторой фиксированной степени.

Простой, пример задачи, безусловно относящейся к Р, — перемножение двух чисел. Чтобы объяснить это, я должен сначала описать, как число n характеризует размер двух чисел, которые надо перемножить. Мы можем принять, что оба числа представлены в двоичной записи и что n/2 — это просто количество бинарных разрядов в каждом из чисел, так что общее число цифр (то есть битов) у обоих равно n. (Если одно из чисел длиннее другого, то мы можем записать более короткое, начав с дополнительной последовательности нулей, тем самым выровняв их по длине.) Например, если n = 14, мы бы могли рассмотреть произведение

1011010 x 0011011,

которое является, на самом деле, произведением 1011010 х 11011, но с добавленными перед более коротким числом нулями. Выполнить требуемое действие проще всего путем умножения «в столбик»:

Новый ум короля

учитывая, что в двоичной системе 0x0=0, 0x1=0, 1x0=0, 1x1=1, 0+0=0, 0+1=1, 1+0=1, 1 + 1 = 10. Число отдельных двоичных перемножений равно (n/2) х (n/2) = n2/4, а число отдельных двоичных сложений может доходить до n2/4 — n/2 (включая перенос). Это дает n2/2 — n/2 отдельных арифметических операций — и мы должны еще учесть несколько дополнительных логических шагов, которые задействованы в операциях переноса. Тогда общее число шагов, игнорируя члены более низкого порядка, равно по существу N = п2/2, что, очевидно, является полиномом[92].

В общем случае, мы полагаем «размер» n задачи из некоторого класса равным полному количеству двоичных цифр (или битов), необходимых для задания свободных входных данных в задаче указанного размера. Другими словами, для произвольного размера n задача может иметь до 2n различных вариантов (ибо для каждой из цифр имеется две возможности — 0 или 1, — а общее количество цифр равно n), и все они должны одинаково обрабатываться алгоритмом не более, чем за N шагов.

Существует масса примеров (классов) задач, которые не «принадлежат» множеству Р. Например, чтобы вычислить 22r для заданного натурального r, нам только для записи конечного ответа потребуется около 2n шагов (где n — число цифр в двоичной записи r), не говоря даже о самом вычислении. Операция по вычислению 

Новый ум короля
потребует уже 22n шагов для записи и так далее. Значения этих выражений намного превосходят те, которые дают полиномы для тех же n, и, следовательно, не могут принадлежать Р.

Больший интерес представляют задачи, в которых ответ может быть записан и даже проверен на верность за «полиномиальное» время. Есть очень важная категория (алгоритмически решаемых классов) проблем, обладающих таким свойством. Их называют NP-задачами (классом задач). Точнее, если некоторая задача из класса NP имеет решение, то алгоритм позволит получить это решение, которое затем может быть проверено за «полиномиальное» время. Если же задача не имеет решения, то алгоритм сообщит об этом, но при этом не оговаривается необходимость проверки этого факта за «полиномиальное» или какое бы то ни было время[93].

NP-задачи встречаются во многих областях, причем как в математике, так и в повседневной практике. Я приведу здесь только один простой математический пример: задачу нахождения так называемого «гамильтонова цикла» на графе (довольно устрашающее название для чрезвычайно простой идеи). Под графом подразумевается конечный набор точек, или «вершин», некоторое количество пар которых соединено между собой линиями — «сторонами» графа. (Нас не интересуют сейчас геометрические или линейные свойства, а только то, какие вершины соединяются друг с другом. Поэтому не имеет значения, лежат ли все вершины в одной плоскости — если нас не волнует возможность пересечения двух сторон — или же в трехмерном пространстве.) Гамильтонов цикл — это замкнутый маршрут (петля), состоящий только из сторон графа и проходящий не более одного раза через любую из вершин. Пример графа с изображенным на нем гамильтоновым циклом показан на рис. 4.14. Задача нахождения гамильтонова цикла заключается в том, чтобы определить, существует ли гамильтонов цикл на рассматриваемом графе, и если существует, то явным образом указать его.

Новый ум короля

Рис. 4.14. Граф с гамильтоновым циклом (изображен зачерненными линиями). Существует только один гамильтонов цикл, как читатель может сам убедиться

Есть разные способы представления графов на языке двоичных чисел. Неважно, какой из этих способов применяется в том или ином случае. Один из методов заключается в том, чтобы пронумеровать вершины 1, 2, 3, 4, 5…, а потом перечислить пары в некотором подходящем фиксированном порядке:

(1,2), (1,3), (2,3), (1,4), (2,4), (3,4), (1,5), (2, 5), (3,5), (4, 5), (1,6)….

Затем мы на место каждой пары помещаем «1», если пара соединена стороной графа, и «О» — в противном случае. Тогда двоичная последовательность

10010110110…

будет означать, что вершина 1 соединяется с вершинами 2, 4 и 5; вершина 3 — с вершинами 4 и 5; вершина 4 — с вершиной 5, и т. д. (в соответствии с рис. 4.14). Гамильтонов цикл может быть задан по желанию просто как подмножество этих сторон, которое было бы описано такой же двоичной последовательностью, как и ранее, но со значительно бо́льшим числом нулей. Процедура проверки в этом случае проходит несравненно быстрее, чем процесс непосредственного построения гамильтонова цикла. Все, что нужно выяснить, — это является ли построенный цикл действительно циклом, т. е. принадлежат ли его стороны исходному графу, и что каждая вершина графа используется ровно два раза — по одному разу на концах каждой из входящих в нее двух сторон.

Такую процедуру проверки можно легко завершить за «полиномиальное» время.

На самом деле эта задача относится не только к NP, но к так называемой категории NP-полных задач. Это означает, что любая другая NP-задача может быть сведена к данной за «полиномиальное» время — так что, если бы кому-нибудь удалось отыскать алгоритм для решения задачи нахождения гамильтонова цикла за «полиномиальное» время (т. е. показать, что задача гамильтонова цикла действительно принадлежит Р), то это будет означать, что все NP-задачи будут лежать в Р! Это имело бы очень важные следствия. В широком смысле, задачи из Р считаются «податливыми» (иначе говоря, «решаемыми за приемлемое время») для относительно больших n, на быстром современном компьютере; тогда как задачи из NP, но не лежащие в Р, считаются «неподатливыми» (т. е. решаемыми в принципе, но «нерешаемыми практически») для тех же n — независимо от того, на какое разумно предсказуемое увеличение быстродействия компьютеров рассчитывать в будущем. (Реальное время, которое бы потребовалось для достаточно больших n при решении «неподатливой» задачи, легко превосходит возраст вселенной, что никак не предполагает практическое использование такого подхода!) Любой «умный» алгоритм для решения задачи о нахождении гамильтонова цикла за «полиномиальное» время мог бы быть превращен в алгоритм для решения всех прочих NP-задач, и тоже за «полиномиальное» время!

Другая задача, также являющаяся NP-полной[94] — «задача коммивояжера», которая во многом похожа на гамильтонов цикл, если не считать того, что разным сторонам приписаны числа и ставится цель отыскать гамильтонов цикл с минимальной суммой этих чисел (минимальной «длиной» пути, проделанного коммивояжером). Аналогично, «полиномиальное» время решения, достигнутое в «задаче коммивояжера», привело бы к возможности решать все NP-задачи за «полиномиальное» время. (Если такое решение когда-нибудь найдется, то новость об этом сразу попала бы на первые страницы! Ведь к NP-задачам относится, в частности, факторизация больших целых чисел, которая применяется в секретных шифровальных системах, представленных за последние несколько лет. Если эта задача окажется решаемой за «полиномиальное» время, то, возможно, такие шифры могли бы быть взломаны при помощи мощных современных компьютеров; если же нет — эти шифры останутся неприступными. См. Гарднер [1989].)

Эксперты, как правило, полагают, что используя устройство, работающее по принципу машины Тьюринга, невозможно за «полиномиальное» время решить NP-полную задачу; и что, следовательно, Р и NP — неэквивалентны. Это мнение, похоже, верно, хотя пока его никто не смог доказать. И это остается наиболее важной и на сегодняшний день нерешенной задачей теории сложности.

Сложность и вычислимость в физических объектах

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

Однако, я могу кардинально ошибаться по поводу важности той роли, которую играет сложность. Как будет показано позднее (глава 9, «Квантовые компьютеры»), теория сложности для реальных физических объектов, вероятно, может существенно отличаться от теории, изложенной мной ранее. Чтобы с уверенностью констатировать эту возможную разницу, необходимо будет использовать некоторые волшебные свойства квантовой механики — мистической, но все же поразительно точной теории, описывающей поведение атомов и молекул, а также и другие явления, многие из которых представляют интерес и на макромасштабах. Мы познакомимся с этой теорией в главе 6. Согласно ряду, идей, предложенных Давидом Дойчем [1985], существует принципиальная возможность построить «квантовый компьютер», на котором за «полиномиальное» время могут быть решены некоторые задачи (или классы задач), не принадлежащих Р. Пока совершенно неясно, как на практике сконструировать такое физическое устройство, которое бы (надежно) функционировало по принципу «квантового компьютера» — и, более того, рассматриваемый до сих пор класс задач носил заведомо искусственный характер, — но теоретически понятно, что квантовое физическое устройство могло бы улучшить работу машины Тьюринга.

А есть ли вероятность, что человеческий мозг, который в рамках данного обсуждения я рассматриваю как физическое устройство, хотя и имеющее чрезвычайно тонкую и сложную структуру — может неким образом использовать волшебство квантовой теории? Понимаем ли мы сегодня, как именно квантовые эффекты могут с пользой применяться для решения задач или формирования суждений? Можем ли мы представить, что для использования этих возможных преимуществ нам придется выйти «за нынешние пределы» квантовой теории? Насколько вероятно усовершенствование реальных физических устройств с учетом теории сложности для машин Тьюринга? И что говорит о таких устройствах теория вычислимости?

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

Глава 5

Классический мир

Состояние физической теории

Что нам нужно знать о законах природы, чтобы понять, какая роль в ней может быть отведена сознанию? Насколько важно представлять себе для этого принципы организации и взаимодействия, которым подчиняются элементы, составляющие тело и мозг? Если осознанное восприятие — всего лишь результат выполнения алгоритмов (как нас пытаются убедить многие приверженцы ИИ), то вопрос о конкретном виде и действии этих принципов не имеет особого значения. Любое устройство, способное просчитать алгоритм, будет ничуть не хуже любого другого. Но, быть может, наше чувство осознания не сводится полностью к работе алгоритмов. И возможно, что детальное знание нашего внутреннего устройства и точных физических законов, управляющих той субстанцией, из которой мы состоим, может оказаться достаточно важным. Вероятно, нам понадобиться понять те фундаментальные физические свойства, которые лежат в основе самой природы вещества и определяют его поведение. Сегодня физика не достигла пока такого уровня, и ей предстоит еще раскрыть множество тайн и испытать немало глубоких озарений. Тем не менее большинство физиков и физиологов склонны считать, что мы уже сейчас располагаем достаточным знанием тех физических законов, которые управляют работой такого объекта средних размеров, как наш мозг. Хотя никто не оспаривает исключительную сложность головного мозга человека как физической системы и не отрицает существования значительного числа пробелов в наших знаниях о его детальной структуре и принципах работы, — все же лишь немногие осмелились бы утверждать, что мы испытываем существенную нехватку знаний именно в области физических основ функционирования мозга.

Ниже я приведу пример, свидетельствующий как раз об обратном, — то есть о том, что мы еще не знаем физику настолько, чтобы (даже в принципе) иметь возможность адекватно использовать ее язык для описания работы человеческого мозга. Но прежде мне потребуется дать хотя бы в общих чертах представление о достижениях и состоянии современной физической теории. В этой главе речь пойдет главным образом о той области, которую принято называть «классической физикой» и которая включает в себя механику Ньютона и теорию относительности Эйнштейна. По существу, термин «классическая» в данном случае означает, что обе теории достигли расцвета задолго до рождения (примерно в 1925 году, вдохновенными трудами таких физиков, как Планк, Эйнштейн, Бор, Гейзенберг, Шредингер, де Бройль, Борн, Иордан, Паули и Дирак) квантовой теории — загадочной теории, опирающейся на вероятности и индетерминизм и описывающей поведение молекул, атомов и субатомных частиц. В отличие от квантовой теории, классическая теория является детерминистской, поэтому будущее в ее рамках всегда полностью определяется прошлым. Но даже и в классической физике есть еще много загадок, несмотря на то, что знания, накопленные за несколько веков, позволили нам построить феноменально точную картину мира. Мы также должны будем рассмотреть и квантовую теорию (в главе 6), ибо я убежден, что — несмотря на мнение, разделяемое большинством физиологов — квантовые явления могут играть важную роль в функционировании головного мозга человека. Но к этой теме мы обратимся в последующих главах.

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

Физическая теория, о которой идет речь, имеет богатую историю. Но одно событие можно особенно выделить: это публикация в 1687 году Математических начал натуральной философии Исаака Ньютона. В этой работе, имеющей непреходящее значение, было показано, как, исходя из весьма немногих физических принципов, можно понять (причем зачастую с поразительной точностью) реальное поведение многих физических объектов. (Значительная часть Начал посвящена разработке математических методов, хотя более удобный для практического использования аппарат был создан позднее Эйлером и другими физиками и математиками.) Собственные труды Ньютона, как он охотно признавал, во многом опирались на труды его предшественников, выдающихся мыслителей, среди которых были Галилео Галилей, Рене Декарт и Иоганн Кеплер. Некоторые из основополагающих идей Ньютон заимствовал у еще более древних мыслителей. Упомяну в частности геометрические идеи Платона, Евдокса, Евклида, Архимеда и Аполлония. Об этих математиках я еще расскажу более подробно в дальнейшем.

Отклонения от основных положений динамики Ньютона появились позднее. Первым из них оказалась электромагнитная теория Джеймса Клерка Максвелла, разработанная в середине XIX века. Она охватывала не только классическое поведение электрического и магнитного полей, но и поведение света[95]. Эта замечательная теория будет рассмотрена нами чуть позднее. Теория Максвелла имеет первостепенное значение для современной технологии, равно как и для понимания принципов функционирования нашего головного мозга, в котором электромагнитные явления играют очень важную роль. Менее ясно, имеют ли какое-нибудь отношение к процессам нашего мышления две поистине великие теории относительности, связанные с именем Альберта Эйнштейна. Специальная теория относительности, возникшая из исследований уравнений Максвелла, была создана Анри Пуанкаре, Хендриком Лоренцем и Эйнштейном (позднее элегантное геометрическое описание специальной теории относительности предложил Герман Минковский) для объяснения необычного поведения тел, движущихся со скоростями, близкими к скорости света. Частью этой теории стало знаменитое соотношение Эйнштейна Е = mc2. Но влияние специальной теории относительности на технологию до сих пор остается весьма слабым (если не считать ядерной физики), а отношение к функционированию нашего мозга — в лучшем случае косвенным. С другой стороны, специальная теория относительности затрагивает фундаментальные вопросы физической реальности, связанные с природой времени. В последующих главах мы увидим, что это приводит нас к ряду «загадок» из области квантовой теории, которая может иметь принципиальное значение для понимания наших механизмов восприятия «течения времени». Кроме того, нам необходимо понять специальную теорию относительности прежде, чем мы сможем должным образом оценить общую теорию относительности Эйнштейна — теорию, которая использует для описания гравитации искривленное пространство-время. До сих пор эта теория не оказывала на технологию почти никакого влияния[96] так что предположение о возможной связи между общей теорией относительности и процессами, происходящими в нашем мозге, потребовало бы немалой смелости воображения.

Интересно, что в наших дальнейших размышлениях общая теория относительности будет играть существенную роль, особенно в главах 7 и 8, где нам придется отправиться в самые удаленные области пространства и времени, чтобы собрать «по зернышку» сведения о тех изменениях, которые, как я считаю, необходимы для создания полностью непротиворечивой картины квантовой теории — но об этом позже!

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

А как обстоит дело с относительно новыми физическими теориями? Возможно, некоторым читателям приходилось встречаться с возбуждающими идеями, использующими такие понятия, как «кварки» (см. ниже эту подглаву), теории великого объединения, «инфляционный сценарий»[97], «суперсимметрия», теория «(супер)струн» и т. д. Как такие новые течения согласуются с теми теориями, о которых шла речь выше? Насколько нам важно уделять внимание их изучению? Чтобы выработать ясное понимание подобных вопросов, было бы полезно разбить основные физические теории на три широкие категории. Я назову их следующим образом:

1. ПРЕВОСХОДНАЯ.

2. ПОЛЕЗНАЯ.

3. ПРОБНАЯ.

К категории ПРЕВОСХОДНАЯ надлежит отнести все теории, которые я рассматривал в предыдущих разделах. Для того, чтобы теорию можно было причислить к разряду ПРЕВОСХОДНЫХ, совершенно не обязательно, по-моему, требовать от нее полного согласия со всеми явлениями в мире — однако диапазон явлений и точность их описания должны быть в определенном смысле феноменальными[98]. Принимая во внимание такую трактовку термина «превосходная», остается только удивляться тому, что в эту категорию вообще попадают какие-то теории! Я не знаю ни одной фундаментальной теории в любой другой естественной науке, которую можно было бы с достаточным основанием отнести к этой категории. Возможно, больше всех других название «превосходной» заслуживает теория естественного отбора, выдвинутая Дарвином и Уоллисом, — но и ей далеко до идеала.

Самой древней из ПРЕВОСХОДНЫХ теорий по праву можно считать евклидову геометрию, с отдельными положениями которой мы познакомились еще в школе. Возможно, древние вообще не рассматривали евклидову геометрию как физическую теорию, но в действительности она была таковой: тонкой и в высшей степени точной теорией физического пространства — и геометрии твердых тел. Почему я упоминаю о евклидовой геометрии как о физической теории, а не как о разделе математики? Причина проста: по иронии судьбы евклидова геометрия — как нам стало теперь известно — не вполне точна в качестве инструмента для описания того физического пространства, в котором мы все обитаем! Общая теория относительности Эйнштейна говорит нам, что пространство-(время) в действительности «искривлено» (т. е. не является в точности евклидовым) в присутствии гравитационного поля. Но этот факт отнюдь не лишает евклидову геометрию права называться ПРЕВОСХОДНОЙ теорией. Действительно, в метровом диапазоне отклонения от евклидовой плоскостности чрезвычайно малы, и ошибки, связанные с заменой геометрии реального пространства на евклидову, составляют величину меньшую, чем диаметр атома водорода!

С полным основанием можно утверждать, что статика — теория, занимающаяся изучением неподвижных тел — превратившаяся в красивую науку благодаря Архимеду, Паппу и С. Стевину — может быть смело отнесена к категории ПРЕВОСХОДНЫХ теорий. В настоящее время статика входит в ньютоновскую механику. Глубокие идеи динамики (занимающейся изучением движущихся тел) были заложены примерно в 1600 году Галилеем и позднее превращены Ньютоном в величественную и широкую по своему охвату теорию. Динамика несомненно должна быть включена в категорию ПРЕВОСХОДНЫХ теорий. Применительно к движению планет и лун экспериментальная точность динамики поистине превосходна — выше одной десятимиллионной. Одна и та же ньютоновская схема применима и здесь, на Земле, и за пределами звезд и галактики, причем примерно с одинаковой точностью. Аналогичным образом, теория Максвелла применима с высокой точностью в необычайно широком диапазоне, примыкающем с одного конца к микроскопическим масштабам атомов и субатомных частиц, а с другого — к масштабам галактик, т. е. в миллион миллионов миллионов миллионов миллионов миллионов раз больших! (На микроскопическом конце шкалы уравнения Максвелла необходимо надлежащим образом сочетать с правилами квантовой механики.) Так что теорию Максвелла по праву можно тоже отнести к ПРЕВОСХОДНЫМ теориям.

Специальная теория относительности Эйнштейна (предтечей которой выступил Пуанкаре, а изящную формулировку предложил Минковский) дает удивительно точное описание явлений, в которых скорости объектов могут приближаться к скорости света, т. е. при таких скоростях, когда ньютоновские описания начинают «не срабатывать». Изящная и оригинальная теория общей относительности Эйнштейна обобщает динамическую теорию (гравитации) Ньютона и повышает ее точность, наследуя при этом все достоинства теории Ньютона во всем, что касается движения планет и лун. Кроме того, общая теория относительности Эйнштейна объясняет различные необычные наблюдаемые явления, не укладывающиеся в более старую ньютоновскую схему. Рассмотрение одного из таких явлений (а именно, «двойного пульсара», см. конец подглавы «Релятивистская причинность и детерминизм») показывает, что теория Эйнштейна справедлива с точностью до 10-14. Обе теории относительности, вторая из которых включает в себя первую, с полным основанием могут быть отнесены к категории ПРЕВОСХОДНЫХ теорий (по причинам их математического изящества, почти не уступающего их точности).

Диапазон явлений, объясняемых необычайно красивой и революционной квантовой механикой, и точность, с которой она согласуется с экспериментом, ясно указывают на то, что квантовая теория вне всяких сомнений может быть отнесена к категории ПРЕВОСХОДНЫХ. Никаких расхождений между наблюдениями и квантовой механикой не известно — но сила ее простирается еще дальше, проявляя себя в ряде ранее необъяснимых явлений, которые ныне получили обоснование в рамках этой теории. Законы химии, стабильность атомов, четкость спектральных линий (см. гл.6, подглавы «Проблемы с классической теорией» и «Начало квантовой теории») и их весьма специфическое расположение в наблюдаемых спектрах; удивительное явление сверхпроводимости (нулевого электрического сопротивления) и поведение лазеров — таков далеко не полный перечень явлений, объясняемых квантовой механикой.

Я устанавливаю высокие стандарты для категории ПРЕВОСХОДНЫХ теорий — но именно к таким стандартам мы привыкли в физике. А как обстоит дело с теориями, появившимися в последнее время? По моему мнению, только одна из них может претендовать на включение в категорию ПРЕВОСХОДНЫХ, и она не так уж нова: я имею в виду теорию, получившую название квантовой электродинамики (или КЭД). Ее основы заложили в своих трудах Иордан, Гейзенберг и Паули; сформулирована она была Дираком в 1926–1934 годах; а «рабочую форму» обрела в работах Бете, Фейнмана, Швингера и Томонаги в 1947–1948 годах. Эта теория возникла как соединение принципов квантовой механики и специальной теории относительности, совместно с уравнениями Максвелла и фундаментальным уравнением, описывающим движение и спин электронов, выведенным Дираком. В целом, квантовая электродинамика не обладает привлекательным изяществом или непротиворечивостью более ранних ПРЕВОСХОДНЫХ теорий, но я, тем не менее, считаю возможным отнести эту дисциплину к таковым в силу ее поистине феноменальной точности. Особого упоминания заслуживает хотя бы один результат, следующий из квантовой электродинамики — оценка величины магнитного момента электрона. (Электроны ведут себя как крохотные магниты, образованные вращающимися вокруг собственной оси электрическим зарядом. Термин «магнитный момент» как раз и характеризует силу такого крохотного магнита.) Величина 1,00115965246 (в соответствующих единицах и с допустимой погрешностью около 20 в двух последних знаках) была вычислена для магнитного момента электрона на основе квантовой электродинамики — в то время как самое последнее из полученных экспериментальных значений этой величины составляет 1,001159652193 (с возможной погрешностью около 10 в двух последних цифрах). Как отметил Фейнман, при столь малой погрешности расстояние от Нью-Йорка до Лос-Анджелеса можно было бы определить с точностью до толщины человеческого волоса! Нам нет необходимости досконально знакомиться здесь с этой теорией, но для создания у читателя более полного представления о предмете наших рассуждений, я в конце следующей главы вкратце упомяну некоторые из принципов и существенных особенностей квантовой электродинамики[99]).

Отдельные современные теории я мог бы отнести к категории ПОЛЕЗНЫХ. Две из них не понадобятся нам в дальнейшем, но упомянуть о них все же стоит. Первая — это кварковая модель субатомных частиц Гелл-Манна — Цвейга. Субатомные частицы называются адронами. К этой группе относятся протоны, нейтроны, мезоны и т. д., образующие атомные ядра, — или, точнее, «сильно взаимодействующие» частицы. Возникшая (позднее) детальная теория их взаимодействия получила название квантовой хромодинамики, или КХД. Основная идея КХД состоит в том, что все адроны «построены» из составных частей, называемых «кварками», которые взаимодействуют между собой в соответствии с некоторым обобщением теории Максвелла (известным под названием «теории Янга — Миллса»). Во-вторых, существует теория (предложенная Глэшоу, Саламом, Уордом и Вайнбергом — также на основе теории Янга — Миллса), объединяющая электромагнитное взаимодействие со «слабым» взаимодействием, ответственным за радиоактивный распад. Эта теория включает в себя описание так называемых лептонов (электронов, мюонов, нейтрино, а также W- и Z-частиц — т. е. всех «слабо взаимодействующих» частиц). Обе теории подкрепляются солидными экспериментальными данными. Но по различным причинам эти теории не столь точно, как хотелось бы (по сравнению, например, с КЭД или другими теориями), согласуются с экспериментом, и их предсказательная сила в настоящее время еще далеко не соответствует тем феноменальным стандартам, которые требуются для их включения в категорию ПРЕВОСХОДНЫХ теорий. Взятые вместе, эти две теории (причем вторая из них — вместе с КЭД) иногда называются стандартной моделью.

Наконец, существует еще одна теория (другого типа), которая, на мой взгляд, относится по меньшей мере к категории ПОЛЕЗНЫХ теорий. Я говорю о теории Большого взрыва, в результате которого родилась Вселенная[100]). Эта теория будет играть важную роль в главах 7 и 8.

На этом, как мне кажется, заканчивается список теорий — претендентов на звание ПОЛЕЗНЫХ[101]. Существует много идей, пользующихся в настоящее время (или пользовавшихся до недавнего времени) широкой популярностью. Среди них «теории Калуцы — Клейна»; «суперсимметрия» (или «супергравитация»); все еще чрезвычайно модные теории «струн» (или «суперструн»); а также теории великого объединения, равно как и отдельные порожденные ими идеи, например, «инфляционный сценарий» (см. примечание 13 на с. 282). Все они, по моему твердому убеждению, относятся к категории ПРОБНЫХ теорий (см. работы Барроу [1988], Клоса [1983], Дэвиса и Брауна [1988], Сквайерса [1985]). Важное различие между категориями ПОЛЕЗНЫХ и ПРОБНЫХ теорий состоит в том, что последние не подкреплены надежными экспериментальными данными[102]. Это отнюдь не означает, что какая-нибудь из них не может неожиданно возвыситься до разряда ПОЛЕЗНОЙ и даже ПРЕВОСХОДНОЙ. Некоторые из упомянутых выше теорий содержат оригинальные и весьма многообещающие идеи, пока, правда, не получившие достаточного экспериментального подтверждения. Категория ПРОБНЫХ теорий охватывает весьма широкий диапазон. Не исключено, что концепции, встречающиеся в отдельных теориях подобного рода, несут в себе зерна новых достижений в понимании природы — но в то же время другие из них на удивление неправдоподобны и вполне могут ввести своих сторонников в заблуждение. (У меня было искушение отщепить от категории почтенных ПРОБНЫХ теорий еще одну, четвертую категорию, и назвать ее, скажем, ТУПИКОВЫЕ теории, но по зрелом размышлении я отказался от этого намерения, поскольку не хочу потерять половину своих друзей!)

Не следует удивляться тому, что основные ПРЕВОСХОДНЫЕ теории возникли довольно давно. Вероятно, на протяжении истории таких теорий существовало гораздо больше, но некоторые из них со временем перешли в категорию ПРОБНЫХ и в большинстве своем оказались забыты. Аналогичным образом, в категорию ПОЛЕЗНЫХ теорий попадало немало таких, которые впоследствии теряли свою актуальность, тогда как некоторые поглощались другими — ставшими впоследствии ПРЕВОСХОДНЫМИ теориями. Рассмотрим несколько примеров. До того, как Коперник, Кеплер и Ньютон создали новую, более совершенную теорию, существовала детально разработанная теория планетных движений, родившаяся в Древней Греции и получившая название птолемеевой системы. Согласно этой модели, движения планет описывались сложной суперпозицией круговых движений. Птолемеева система была весьма эффективной с точки зрения предсказаний, но с каждым разом становилась все сложнее и сложнее по мере повышения требований к точности. Нам, живущим ныне, птолемеева система кажется слишком искусственной. Это — хороший пример ПОЛЕЗНОЙ системы (она действительно была полезной на протяжении почти двадцати веков!), которая впоследствии, сыграв свою историческую организующую роль, сошла со сцены как физическая теория. В качестве хорошего примера ПОЛЕЗНОЙ теории, которая в конце концов доказала свою состоятельность, можно привести блестящую идею Кеплера о движении планет по эллиптическим орбитам. Другим примером могла бы стать периодическая система химических элементов Менделеева. Сами по себе эти идеи не позволяют построить модели, обладающие предсказательной силой требуемого «феноменального» характера, однако в будущем они становятся «правильными» следствиями из выросших из них ПРЕВОСХОДНЫХ теорий (соответственно, ньютоновской динамики и квантовой теории).

В последующих разделах и главах я не буду останавливаться на обсуждении существующих ныне теориях, которые всего лишь ПОЛЕЗНЫ или ПРОБНЫ. Достаточно сказать о тех теориях, которые ПРЕВОСХОДНЫ. Можно считать удачей, что у нас есть такие теории, позволяющие постигать этот мир во всей его полноте. Но в конечном счете, мы должны попытаться решить вопрос о том, достаточно ли могущественны даже эти теории, чтобы описывать функционирование нашего мозга и работу разума. В свое время я еще вернусь к этой теме — а пока мы рассмотрим ПРЕВОСХОДНЫЕ теории в том виде, в котором они нам сегодня известны, и попробуем оценить степень их применимости к интересующим нас задачам.

Евклидова геометрия

Евклидова геометрия — это, попросту говоря, тот самый предмет, который мы изучаем в школе как «геометрию». Однако я подозреваю, что большинство людей склонны считать евклидову геометрию областью математики, а вовсе не физической Теорией. Разумеется, евклидова геометрия является в том числе и математикой — но все же это не единственная возможная математическая геометрия. Та геометрия, которую придумал Евклид, очень точно описывает физическое пространство нашего с вами мира, но это — не логически необходимое следствие, а всего лишь (почти точно) наблюдаемое свойство физического мира.

Действительно, существует другая геометрия, называемая геометрией Лобачевского (или гиперболической) [103]которая во многом похожа на евклидову геометрию, но имеет при этом и некоторые интригующие отличия. Напомним, в частности, что в евклидовой геометрии сумма углов треугольника всегда равна 180°. В геометрии Лобачевского сумма углов треугольника всегда меньше 180°, причем отличие суммы углов от 180° пропорционально площади треугольника (рис. 5.1).

Новый ум короля

Рис. 5.1. а) Треугольник в евклидовом пространстве,

б) Треугольник в пространстве Лобачевского

Замечательный голландский художник Мориц К. Эшер создал несколько мозаик, очень тонко и точно передающих суть геометрии Лобачевского. Одна из этих мозаик представлена на рис. 5.2.

Новый ум короля

Рис. 5.2. Пространство Лобачевского, изображенное

Эшером в виде мозаики. (Все рыбы — как черные,

так и белые — должны считаться конгруэнтными.)

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

Вполне может быть, что геометрия Лобачевского действительно выполняется для нашего мира в космологических масштабах (см. главу 7, «Космология и Большой взрыв»). Но коэффициент пропорциональности между дефицитом углов и площадью треугольника в этом случае чрезвычайно мал, а для обычных масштабов евклидова геометрия дает превосходное приближение геометрии Лобачевского. В самом деле, как мы увидим далее в этой главе, общая теория относительности Эйнштейна говорит нам о том, что геометрия нашего мира действительно отклоняется от евклидовой геометрии (хотя и «нерегулярно», т. е. более сложно, чем геометрия Лобачевского) на масштабах, значительно уступающих космологическим, хотя по обычным меркам нашей повседневной жизни эти отклонения всеравно будут ничтожно малы.

Тот факт, что евклидова геометрия, казалось бы, столь точно отражает структуру «пространства» нашего мира, вводил нас (и наших предшественников!) в заблуждение, заставляя думать, будто евклидова геометрия является логической необходимостью или будто мы обладаем внутренней интуитивной способностью априори догадаться, что евклидова геометрия должна быть применима к миру, в котором мы живем. (Так утверждал даже великий философ Иммануил Кант.) Реальный разрыв с евклидовой геометрией наступил только с созданием Эйнштейном общей теории относительности, появившейся на свет много лет спустя. И тогда стало понятно, что евклидова геометрия вовсе не является логической необходимостью, и что ее весьма точное (хотя и далеко не абсолютное) соответствие структуре нашего физического пространства — не более, чем результат эмпирических наблюдений! Евклидова геометрия действительно была (ПРЕВОСХОДНОЙ) физической теорией. И это в дополнение к тому, что евклидова геометрия — изящный и логически непротиворечивый раздел чистой математики.

Здесь угадывается определенное сходство с философской концепцией Платона (изложенной примерно в 360 году до н. э. — почти за пятьдесят лет до появления Начал Евклида — знаменитого сочинения по геометрии). С точки зрения Платона объекты чистой геометрии — прямые, окружности, треугольники, плоскости и т. п. — могут быть лишь приблизительно реализованы в реальном мире физических вещей. Эти математически точные объекты чистой геометрии обитают в другом мире — платоновском идеальном мире математических понятий. Платоновский мир состоит не из осязаемых вещей, а из «математических объектов». Этот мир доступен нашему восприятию не обычным физическим путем, а посредством интеллекта. Человеческий разум контактирует с миром Платона всякий раз, когда открывает математическую истину, постигая ее с помощью математических рассуждений и интуитивных догадок. Идеальный мир Платона рассматривался как отличный от нашего материального мира — более совершенный, но при этом столь же реальный. (Вспомним сказанное в главах 3 и 4, с. 89, 101 о платоновской реальности математических понятий.) Таким образом, хотя идеальные объекты чистой евклидовой геометрии можно исследовать с помощью мысли, логически выводя при этом их свойства — отсюда вовсе не следует, что для «несовершенного» физического мира, воспринимаемого нашими органами чувств, неукоснительное следование этому идеалу является необходимостью. Располагая в свое время достаточно скудными данными, Платон, по-видимому благодаря какому-то чудесному озарению, смог предугадать, что, с одной стороны, математику следует изучать и понимать ради самой математики, и что нельзя требовать полного и точного соответствия математических объектов объектам физического опыта; а с другой — что функционирование реального внешнего мира в конечном счете может быть понято только в терминах точной математики, т. е. в терминах платоновского идеального мира, «доступного через интеллект»!

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

В евклидовой геометрии есть одна очень важная и тонкая составляющая, которая, на самом деле, является очень существенной и которую сегодня мы вряд ли вообще отнесли бы к геометрии! (Математики охотнее назвали бы это «анализом», чем «геометрией».) Речь идет о введении действительных чисел. Евклидова геометрия использует длины и углы. Чтобы иметь возможность использовать такую геометрию, нам необходимо понимать, какого рода «числа» нужны для описания этих самых длин и углов. И здесь новая идея была предложена Евдоксом (ок. 408–335 гг. до н. э.) в IV веке до н. э.[104]) Греческая геометрия переживала «кризис» из-за открытия пифагорейцами таких чисел, как √2 (последнее необходимо для того, чтобы выразить длину диагонали квадрата через длины его сторон), не представимых в виде дроби, т. е. отношения двух целых чисел. Для древних греков было важно иметь возможность формулировать их геометрические меры (отношения) в терминах (отношений) целых чисел, чтобы оперировать геометрическими величинами в соответствии с правилам арифметики. В основном, идея Евдокса заключалась в том, чтобы дать метод описания отношений длин (т. е. действительных чисел!) в терминах целых чисел. Евдоксу удалось сформулировать в рамках операций над целыми числами такие критерии, которые позволяли решать, является ли одно из отношений длин больше другого или их можно считать в точности равными.

В общих чертах идея Евдокса сводится к следующему: если a, b, c и d — четыре длины, то критерием, позволяющим утверждать, что отношение а/b больше отношения c/d, будет существование таких целых чисел М и N, что длина а, сложенная сама с собой N раз, больше длины b, сложенной сама с собой М раз, — тогда как длина d, сложенная сама с собой М раз, больше длины с, прибавленной к самой себе N раз[105]). Соответствующий критерий можно аналогичным образом использовать для установления противоположного неравенства а/b < c/d. А искомый критерий равенства а/b = c/d просто отвечает случаю, когда ни один из двух критериев (а/b > c/d и а/b < c/d) не может быть выполнен!

Совершенно точная абстрактная математическая теория действительных чисел была построена только в XIX веке такими математиками, как Дедекинд и Вейерштрасс. Но в действительности, предложенная ими процедура опиралась на те же идеи, которые были открыты Евдоксом примерно двадцатью двумя столетиями раньше! Сейчас нам не обязательно заниматься подробным изучением этой современной теории. Я кратко коснулся ее основных моментов в главе 3 (подглава «Действительные числа»), где для большей наглядности изложения предпочел использовать более привычное десятичное разложение действительных чисел. (В действительности, десятичное разложение была введено Стевином в 1585 году.) Следует также заметить, что хорошо знакомая нам десятичная запись была неизвестна древним грекам.

Однако, между теориями, предложенными Евдоксом с одной стороны, и Дедекиндом и Вейерштрассом — с другой, существует важное различие. Древние греки рассматривали действительные числа как изначально данные — в терминах (отношений) геометрических величин — т. е. как свойства «реального» пространства. Древним грекам было необходимо иметь возможность описывать геометрические величины арифметически, чтобы затем в рамках законов и правил арифметики проводить строгие рассуждения над этими геометрическими величинам, а также их суммами и произведениями — существенными составляющими столь многих замечательных геометрических теорем древних. (На рис. 5.3 в качестве иллюстрации приведена знаменитая теорема Птолемея, хотя Птолемей открыл ее гораздо позже эпохи, в которую жил Евдокс. Теорема Птолемея устанавливает соотношение, которому удовлетворяют расстояния между четырьмя точками на окружности; в ее формулировке с необходимостью используются как понятие суммы, так и понятие произведения.) Критерии Евдокса оказались необычайно плодотворными и, в частности, позволили древним грекам строго вычислять площади и объема.

Новый ум короля

Рис. 5.3. Теорема Птолемея

Но для математиков XIX века — и, разумеется, для современных математиков роль геометрии изменилась. Для древних греков и, в частности, для Евдокса, «действительные» числа были объектами, извлеченными из геометрии физического пространства. Ныне мы предпочитаем считать, что действительные числа логически более первичны, чем геометрия. Это позволяет нам конструировать всевозможные различные типы геометрии, каждый из которых исходит из понятия числа. (Ключевой идеей была идея координатной геометрии, введенная в XVII веке Ферма и Декартом. Координаты можно использовать для определения других типов геометрии.) Любая такая «геометрия» должна быть логически непротиворечивой, но не обязательно должна иметь прямое отношение к физическому пространству нашего эмпирического опыта. Конкретную физическую геометрию мы, по-видимому, постигаем через идеализацию эмпирического опыта (т. е. в зависимости от наших экстраполяций на бесконечно большие или бесконечно малые размеры, — см. главу 3, подглава «„Действительность“ действительных чисел»). Проводимые ныне эксперименты достаточно точны и приводят нас с необходимостью к заключению, что наша «извлеченная из эмпирического опыта» геометрия в действительности отличается от евклидова идеала (см. гл.5, конец подглавы «Общая теория относительности Эйнштейна») и согласуется с геометрией, требуемой в общей теорией относительности Эйнштейна. Однако, несмотря на изменения в наших взглядах на геометрию физического мира, возникших в настоящее время, понятие действительного числа, выдвинутое Евдоксом двадцать три столетия назад, по существу осталось неизменным и является существенным ингредиентом как теории Эйнштейна, так и теории Евклида. В действительности это понятие служит существенным ингредиентом всех современных серьезных физических теорий!

Пятая книга Начал Евклида бьша, по существу, изложением описанной выше «теории пропорций», введенной Евдоксом. Эта книга имела принципиально важное значение для всего многотомного сочинения Евклида в целом. На самом деле, Начала Евклида, впервые увидевшие свет около 300 года до н. э., должны считаться одним из сочинений, оказавших наибольшее влияние в истории человечества. Именно Начала Евклида установили эталон для почти всего последующего естественнонаучного и математического мышления. Методы Начал были дедуктивными, изложение начиналось с четко сформулированных аксиом, которые предполагались «самоочевидными» свойствами пространства; из аксиом выводились многочисленные следствия, многие из которых были важными и поразительными, и совсем не самоочевидными. Не подлежит сомнению, что Начала Евклида имели огромное значение для последующего развития естественнонаучного мышления.

Величайшим математиком древности несомненно был Архимед (287–212 гг. до н. э.). Остроумно используя теорию пропорций Евдокса, Архимед вычислил площади и объемы многих фигур и тел различной формы, например, сферы и более сложных геометрических форм, в том числе парабол или спиралей. Ныне для этих целей мы использовали бы дифференциальное и интегральное исчисление, но Архимед жил и творил примерно за 19 веков до создания математического анализа, разработанного Ньютоном и Лейбницем! (Можно было бы сказать, что добрая половина — «интегральная» половина — математического анализ была известна еще Архимеду!) Степень математической строгости, достигнутой Архимедом в своих рассуждениях, была безупречной даже по современным стандартам. Работы Архимеда оказали глубокое влияние на математиков и естествоиспытателей последующих веков, в частности, в значительной мере на Галилея и Ньютона. Архимед также ввел (ПРЕВОСХОДНУЮ?) физическую теорию статики (т. е. теорию, занимающуюся изучением законов поведения тел, находящихся в состоянии равновесия, например, законов рычага и законов плавающих тел) и развил статику как дедуктивную науку, аналогично тому, как Евклид изложил науку о геометрическом пространстве и геометрию твердых тел.

Современником Архимеда, которого я также считаю необходимым отметить, был Аполлоний (ок. 262–200 гг. до н. э.), великий геометр, отличавшийся глубиной озарений и остроумием. Ему мы обязаны исследованием теории конических сечений (т. е. эллипсов, парабол и гипербол), которая оказала весьма сильное влияние на Кеплера и Ньютона. Оказалось, что именно эти кривые, что весьма примечательно, необходимы для описания планетных орбит!

Динамика Галилея и Ньютона

Глубоким прорывом, принесенным в естествознание XVII веком, стало понимание движения. Древние греки достигли замечательного понимания статики вещей — твердых геометрических тел или тел, находящихся в состоянии равновесия (т. е. в состоянии, в котором все действующие на тело силы уравновешены, и движения нет), но не имели хорошего представления о законах, управляющих поведением реально движущихся тел. Чего недоставало древним грекам, это хорошей теории динамики, т. е. теории, описывающей тот красивый способ, каким природа управляет изменениями положения тел от одного момента времени к другому. Частично (но отнюдь не полностью) это объясняется тем, что у древних греков не было никаких сколь-нибудь точных средств измерения времени, т. е. достаточно хороших «часов». Такие часы необходимы для точного хронометрирования изменений в положении тел. Это позволило бы точно определить скорости и ускорения тел. Наблюдения, произведенные Галилеем в 1583 году, показали, что в качестве надежного средства хранения точного времени можно было бы использовать маятник. Этот факт имел далеко идущие последствия для самого Галилея (и для развития всего естествознания в целом!), так как позволял осуществить точное[106] хронометрирование движения. Примерно через сорок пять лет — с публикацией в 1638 году Бесед и математических доказательств, касающихся двух новых отраслей науки Галилея — начал развиваться новый предмет — динамика, и началась трансформация от древнего мистицизма к современной науке!

Позвольте мне выделить всего лишь четыре наиболее важные физические идеи, введенные Галилеем. Первая идея Галилея заключалась в том, что сила, действующая на тела, определяет ускорение, а не скорость. Что в действительности означают термины «ускорение» и «скорость»? Скорость частицы — или какой-нибудь точки тела — это темп изменения во времени положения этой частицы или точки. Скорость обычно принято считать векторной величиной, иначе говоря, необходимо принимать во внимание не только величину, но и направление скорости (в противном случае мы используем термин «величина скорости», см. рис. 5.4).

Новый ум короля

Рис. 5.4. Скорость, величина

скорости и ускорение

Ускорение (также векторная величина) — это темп изменения, скорости во времени. Таким образом, ускорение в действительности есть скорость изменения скорости изменения положения во времени! (Древним было трудно понять сущность понятия «ускорение», так как у них не было адекватных «часов», и они не располагали соответствующими математическими идеями относительно «темпа изменения».) Галилей установил, что сила, приложенная к телу (в случае, исследуемом Галилеем — сила тяжести), управляет ускорением этого тела, но не управляет непосредственно его скоростью, как полагали древние, например, Аристотель.

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

Тела в свободном движении продолжают сохранять состояние равномерного прямолинейного движения, и для того, чтобы они пребывали в этом состоянии, никакой силы не требуется. Действительно, одно из следствий из выведенных Галилеем и Ньютоном законов движения состояло в том, что равномерное прямолинейное движение физически полностью неотличимо от состояния покоя (т. е. отсутствия движения): не существует локального способа, позволяющего отличить равномерное прямолинейное движение от покоя! Галилей особенно четко сформулировал это утверждение (даже более четко, чем Ньютон) и дал ему весьма наглядное описание, использовав образ корабля в море (см. Дрэйк [1953], с. 186–187):

«Закройтесь вместе с вашим приятелем в кают-компании под палубой большого судна, прихватив с собой мух, бабочек и каких-нибудь других мелких летающих существ. Возьмите также с собой большой сосуд с водой, в котором бы плавала рыбка; подвесьте бутылку, из которой вода капля за каплей вытекала бы в подставленный снизу широкий сосуд. Пока судно будет стоять, внимательно присмотритесь к тому, как мелкие твари летают в каюте с одинаковой быстротой по всем направлениям. Рыбка также плавает одинаково охотно по всем направлениям; капли из бутылки падают в подставленный снизу сосуд… Внимательно пронаблюдав все эти явления, вы пускаетесь в плавание. Судно идет с любой скоростью, какая вам будет угодна. До тех пор и поскольку движение судна будет прямолинейным и равномерным без рысканья то в одну, то в другую сторону, вы не обнаружите ни малейших изменений в наблюденных ранее явлениях и не сможете отличить ни по одному из них, движется ли судно или стоит на месте… Капли будут, как и прежде, падать в подставленный снизу сосуд, ничуть не отклоняясь к корме, хотя пока капли находятся в воздухе, судно успевает пройти значительное расстояние. Рыбка в воде будет плавать вперед (по ходу движения судна) так же часто, как и назад, и с одинаковой легкостью подплывать к корму, в каком бы месте у стенок сосуда он бы ни был насыпан. Наконец, мухи и бабочки будут по-прежнему летать по всем направлениям, не отдавая предпочтения ни одному из них, не скапливаясь ближе к корме, как бы от усталости, будучи вынужденными следовать курсу судна, от которого они будут отделены на протяжении продолжительных интервалов времени, в течение которых они находятся в воздухе».

Этот замечательный факт, получивший название принципа относительности Галилея, имеет в действительности решающее значение для наполнения копернианской точки зрения динамическим смыслом. Николай Коперник (1473–1543) и древнегреческий астроном Аристарх (ок. 310–230 гг. до н. э.; не путать с Аристотелем!) за восемнадцать веков до Коперника выдвинули гипотезу о том, что Солнце покоится, а Земля движется, вращаясь вокруг своей собственной оси и обращаясь по орбите вокруг Солнца. Почему мы не ощущаем этого движения, которое происходит со скоростью около нескольких сотен тысяч километров в час? До того, как Галилей выдвинул свою динамическую теорию, этот вопрос действительно представлял настоящую и глубокую загадку для сторонников копернианской картины мироздания. Если бы была верна более ранняя «аристотелевская» версия динамики, согласно которой реальная скорость системы в ее движении сквозь пространство влияла бы на динамическое поведение системы, то движение Земли заведомо было бы чем-то непосредственно очевидным для нас. Относительность Галилея позволяет понять, каким образом Земля может находиться в движении, хотя это движение не будет чем-то воспринимаемым нами непосредственно[107]).

Заметим, что в рамках галилеевой относительности не существует локального физического смысла, который можно было бы придать понятию «в покое». Это приводит к важным следствиям относительно того, как надлежит рассматривать пространство и время. Интуитивная картина пространства и времени состоит в том, что «пространство» представляет собой своего рода арену, на которой происходят физические события. Физический объект может в один момент времени находиться в одной точке пространства, а в более поздний момент времени может оставаться в той же точке или оказаться в другой точке пространства. Представим себе мысленно, что точки пространства каким-то образом могут сохранять свое положение от одного момента времени до следующего момента так, что имеет смысл говорить о том, изменил ли некоторый объект свое положение в пространстве или не изменил. Но галилеева относительность учит нас, что «состояние покоя» не имеет абсолютного характера и поэтому невозможно придать смысл выражению «одна и та же точка пространства в два различных момента времени». Какая точка евклидова трехмерного пространства физической реальности в один момент времени является «той же» точкой евклидова трехмерного пространства в другой момент времени? На этот вопрос невозможно ответить. Создается впечатление, что для каждого момента времени нам необходимо иметь совершенно «новое» евклидово пространство! Этому можно придать смысл, если рассмотреть четырехмерную пространственно-временну́ю картину физической реальности (рис. 5.5).

Новый ум короля

Рис. 5.5. Галилеево пространство-время: частицы, движущиеся равномерно и прямолинейно, изображены в виде прямых

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

Третья из великих догадок Галилея стала ключом к началу понимания закона сохранения энергии. Галилея главным образом интересовало движение объектов под действием силы тяжести. Он заметил, что если тело стартует из состояния покоя, то идет ли речь о свободно падающем теле, или о колеблющемся маятнике произвольной длины, или о теле, соскальзывающем по наклонной плоскости, скорость движения всегда зависит только от расстояния по вертикали, пройденного телом от начального положения. Кроме того, достигнутая скорость всегда в точности достаточна для возвращения тела на ту высоту, с которой оно начало двигаться. Теперь мы должны были бы сказать, что энергия, запасенная телом на исходной высоте над поверхностью земли (гравитационная потенциальная энергия), может превращаться в энергию движения тела (кинетическую энергию, которая зависит от величины скорости тела), а та, в свою очередь, — в потенциальную энергию, причем в целом энергия не утрачивается и не приобретается.

Закон сохранения энергии — очень важный физический принцип. Это — не независимое физическое требование, а следствие из законов движения Ньютона, до которых мы скоро дойдем. На протяжении столетий все более понятные формулировки закона сохранения энергии делались Декартом, Гюйгенсом, Лейбницем, Эйлером и Кельвином. Позднее в этой главе и в главе 7 мы еще вернемся к закону сохранения энергии. Оказывается, что в сочетании с галилеевским принципом относительности закон сохранения энергии приводит к другим законам сохранения, имеющим немалое значение: закону сохранения массы и закону сохранения количества движения (импульса). Количество движения частицы равно произведению ее массы и ее скорости. Знакомые примеры сохранения количества движения возникают при рассмотрении реактивного движения, когда увеличение направленного вперед количества движения ракеты в точности уравновешивается направленным назад количеством движения выхлопных газов (обладающих меньшей массой, но зато большей скоростью). Отдача ружья при выстреле — еще одно проявление закона сохранения количества движения. Еще одним следствием из законов движения Ньютона служит закон сохранения углового момента (момента количества движения), описывающий постоянство вращения системы вокруг собственной оси. Вращение Земли вокруг собственной оси, равно как и вращение теннисного мяча вокруг собственной оси, не затухают благодаря закону сохранения их угловых моментов. Каждая частица, образующая любое тело, вносит свой вклад в полный угловой момент тела, причем величина этого вклада равна произведению количества движения частицы на расстояние ее от оси вращения (длину перпендикуляра, опущенного из точки, где находится частица, на ось вращения). (Следовательно, угловую скорость свободно вращающегося объекта можно увеличить, сделав объект более компактным. Это приводит к поразительному, но хорошо знакомому действию, часто исполняемому спортсменами на льду и воздушными гимнастами на трапеции. Прижав к себе руки или поджав ноги, они резко увеличивают скорость вращения просто вследствие закона сохранения углового момента!) Как будет показано в дальнейшем, масса, энергия, количество движения (импульс) и угловой момент принадлежат к числу важных для нас понятий. Наконец, мне следовало бы напомнить читателю о пророческой догадке Галилея, понявшего, что в отсутствие атмосферного сопротивления все тела под действием силы тяжести падают с одной и той же скоростью. (Возможно, читатель вспомнит известную легенду о том, как Галилей сбрасывал с наклонной башни в Пизе по несколько предметов одновременно.) Три столетия спустя то же самое озарение привело Эйнштейна к обобщению принципа относительности на ускоренные системы отсчета и стало, как мы увидим в конце этой главы, краеугольным камнем его необычайной общерелятивистской теории относительности.

На мощном фундаменте, заложенном Галилеем, Ньютону удалось возвести величественнейший храм. Он сформулировал три закона, управляющие поведением материальных тел. Первый и второй законы Ньютона по существу совпадали с законами, открытыми Галилеем: если на тело не действует никакая сила, то тело продолжает равномерно двигаться по прямой; если на тело действует какая-нибудь сила, то произведение массы тела на ускорение (т. е. скорость изменения количества движения тела) равно этой силе. Заслуга собственно Ньютона состояла в осознании необходимости третьего закона движения: сила, с которой тело А действует на тело В, в точности равна по величине и противоположна по направлению силе, с которой тело В действует на тело А (иными словами, «для каждого действия всегда существует равное по величине противодействие»), Три закона движения Ньютона образуют основу основ. «Ньютоновская вселенная» состоит из частиц, движущихся в пространстве, где действуют законы евклидовой геометрии.

Новый ум короля

Рис. 5.6. Сложение векторов по правилу параллелограмма

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

Новый ум короля

Рис. 5.7. Сила, действующая между двумя частицами, направлена по прямой между ними (и по третьему закону Ньютона сила, действующая на частицу А со стороны частицы В, всегда равна по величине и противоположна по направлению силе, действующей на В со стороны А)

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

Великий Иоганн Кеплер (1571–1630), современник Галилея, заметил, что орбиты планет, описываемые ими вокруг Солнца, имеют форму эллипсов, а не окружностей (причем Солнце всегда находится в фокусе, а не в центре эллипса), и сформулировал два других закона, задающих скорости, с которыми планеты движутся по орбитам. Ньютон сумел показать, что три закона Кеплера следуют из его собственной общей модели (с учетом силы притяжения, обратно пропорциональной квадрату расстояния между телами). Кроме того, Ньютон внес многие поправки к кеплеровским эллиптическим орбитам, а также объяснил ряд других эффектов (например, медленное движение оси вращения Земли, замеченное задолго до Ньютона еще древними греками). Чтобы прийти к таким результатам, Ньютону, помимо дифференциального исчисления, пришлось разработать немало дополнительных математических методов. Феноменальный успех, увенчавший эти усилия, во многом объясняется его высочайшим искусством математика и великолепной физической интуицией.

Механистический мир динамики Ньютона

С введением определенного закона для силы (как обратного квадрата расстояния между телами) ньютоновская модель превращается в точную и определенную систему динамических уравнений. Если положения, скорости и массы различных частиц заданы в некоторый момент времени, то их положения и скорости (равно как и массы, которые считаются постоянными) автоматически определены для всех последующих моментов времени. Эта форма детерминизма, которой удовлетворяет мир механики Ньютона, оказала (и все еще продолжает оказывать) глубокое влияние на философскую мысль. Попробуем изучить природу ньютонианского детерминизма чуть более подробно. Что он может сказать нам о «свободе воли»? Мог бы в строго ньютонианском мире существовать разум? Найдется ли в нем место хотя бы компьютерам?

Давайте попытаемся представить более конкретно «ньютонианскую» модель мира. Например, мы можем предположить, что частицы материи допустимо считать математическими точками, т. е. объектами, не имеющими никакой пространственной протяженности. В качестве альтернативы все частицы можно считать твердыми сферическими шариками. И в том, и в другом случае нам придется предположить, что законы действия сил, как в случае ньютоновского закона всемирного тяготения, известны. Мы хотим промоделировать и другие встречающиеся в природе силы, такие как электрические и магнитные взаимодействия (впервые подробно исследованные в 1600 году Уильямом Гильбертом), или сильные ядерные взаимодействия, которые, как ныне известно, связывают частицы (протоны и нейтроны), образующие атомные ядра. Электрическое взаимодействие похоже на гравитационное, поскольку тоже удовлетворяет закону обратных квадратов, но при этом одинаково заряженные частицы отталкивают (а не притягивают, как в случае гравитационного взаимодействия) друг друга, и величину электрического взаимодействия определяют не массы, а электрические заряды частиц. Магнитное взаимодействие, так же как и электрическое, «обратно пропорционально квадрату расстояния»[108], но ядерное взаимодействие имеет совершенно другую зависимость от расстояния: оно очень велико на очень малых расстояниях, сравнимых с внутриатомными, и пренебрежимо мало на бо́льших расстояниях.

Предположим, что мы остановили свой выбор на модели твердых сферических шариков, потребовав, чтобы при столкновении частиц шарики просто идеально упруго отражались. Иначе говоря, они должны разлетаться после столкновения без какой бы то ни было потери энергии (или полного количества движения (импульса)), как если бы они были идеальными бильярдными шарами. Нам необходимо также точно задать, какие силы должны действовать между шариками. Для простоты мы можем положить, что сила, с которой один шарик действует на любой другой, направлена по прямой, соединяющей центры шариков, а величина силы определяется длиной отрезка между центрами шариков. (Для ньютоновской гравитации это предположение выполняется автоматически в силу замечательной теоремы, доказанной Ньютоном; а для других видов сил оно может быть наложено в качестве дополнительного требования.) Если шарики сталкиваются только попарно, а тройные столкновения, как и столкновения более высокого порядка, не происходят, то все вполне определено, и исход столкновения непрерывно зависит от начального состояния (т. е. достаточно малые изменения в начальном состоянии приводят лишь к малым изменениям в конечном). Скользящие столкновения рассматриваются как предельный случай прохождения шариков в непосредственной близости друг от друга. Проблема возникает при рассмотрении тройных столкновений и столкновений более высоких порядков. Например, если происходит одновременное столкновение трех шариков А, В и С, то вся картина значительно меняется в зависимости от того, какое из попарных соударений мы рассматриваем сначала: шарика А с шариком В, а сразу же после этого — С с В; или же мы считаем, что сначала сталкиваются шарики А и С, а затем шарик В сталкивается с шариком А (рис. 5.8).

Новый ум короля

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

В нашей модели существует индетерминизм, когда происходит тройное столкновение! Если угодно, то мы можем просто исключить тройные столкновения и столкновения более высокого порядка как «в высшей степени (бесконечно) невероятные». Это дает вполне непротиворечивую схему, но потенциальная проблема тройных столкновений означает, что результирующее поведение частиц может не зависеть непрерывным образом от начального состояния.

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

Подчеркнем (игнорируя проблему столкновения нескольких шариков), что ньютонианская[109] бильярдная картина реальности в действительности является детерминистской моделью. Слово «детерминистская» надлежит понимать в том смысле, что физическое поведение системы с математической точки зрения полностью определено во все моменты времени в будущем (или в прошлом) положениями и скоростями шариков (во избежание некоторых проблем предположим, что число шариков конечно) в какой-то один момент времени. Таким образом, создается впечатление, будто в таком бильярдном мире нет места для разума, который своей «свободной волей» мог бы влиять на поведение материальных объектов. Если мы верим в «свободу воли», то, по-видимому, вынуждены будем усомниться в возможности описания нашего реального мира в рамках бильярдной модели.

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

Вычислима ли жизнь в бильярдном мире?

Позвольте мне сначала показать на умышленно абсурдном искусственном примере, что вычислимость и детерминизм — понятия различные. Для этого я продемонстрирую «игрушечную модель вселенной», которая детерминистична, но не вычислима. Пусть «состояние» этой вселенной в любой «момент времени» описывается как пара натуральных чисел (m, n). Пусть Тu — фиксированная универсальная машина Тьюринга, например, та, которая описана в главе 2 («Универсальная машина Тьюринга»). Чтобы решить, какое состояние этой вселенной наступит в следующий «момент времени», нам необходимо спросить, остановится ли действие машины Тьюринга Тu на m или не остановится (в обозначениях главы 2, «Неразрешимость проблемы Гилберта» Тu(m) ≠ □ или Ти(m) = □). Если машина Тьюринга Ти останавливается, то состояние в следующий момент времени есть (m + 1, n). Если же машина Тьюринга не останавливается, то состояние в следующий момент времени должно быть (n+1, m). В главе 2 было показано, что не существует алгоритма для решения проблемы остановки машины Тьюринга. Следовательно, не может быть алгоритма предсказания «будущего» в рассматриваемой модели вселенной, несмотря на то, что эта модель вполне детерминистична[110].

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

Вопрос о физической вычислимости отчасти зависит от того, какого рода информацию о данной системе мы хотим получить. Я могу придумать целый ряд вопросов о конкретной физической системе, на которые — как мне кажется — в случае ньютоновской бильярдной модели не существует вычислимого (т. е. алгоритмически получаемого) ответа. Одним из таких вопросов мог бы быть следующий: столкнется ли когда-нибудь шарик А с шариком В? Имеется в виду, что в качестве начальных условий нам в некоторый момент времени (t = 0) задаются положения и скорости всех шариков; и задача состоит в том, чтобы, исходя из этих данных, выяснить, сталкиваются или не сталкиваются шарики А и В в некоторый последующий момент времени (t > 0). Чтобы придать задаче бо́льшую конкретность (хотя и сделав ее при этом не особенно реалистичной), мы можем предположить, что все шарики имеют одинаковый радиус и одинаковую массу и что, скажем, сила, действующая между шариками, обратно пропорциональна квадрату расстояния между ними. Одна из причин, по которой я сделал предположение о невозможности алгоритмически получить ответ на этот вопрос, заключается в том, что сама модель несколько напоминает «бильярдную модель для вычисления», предложенную Эдвардом Фредкином и Томмазо Тоффоли (Фредкин, Тоффоли [1982]). В их модели шарики (вместо того, чтобы попарно взаимодействовать по закону обратных квадратов) были ограничены различными «стенками», но упруго отражались при столкновениях друг с другом — по аналогии с теми ньютоновскими шариками, которые я только что описывал (рис. 5.9).

Новый ум короля

Рис. 5.9. «Переключатель» (конструкции А. Ресслера) в компьютере Фредкина — Тоффоли на бильярдных шарах. Если шар попадает в переключатель через вход В, то в дальнейшем он покидает переключатель через выход D или Е в зависимости от того, попадает ли другой шар в переключатель через вход А (предполагается, что шары попадают в переключатель через входы А и В одновременно)

В модели Фредкина — Тоффоли все основные логические операции компьютера могут выполняться с помощью шариков. Модель позволяет имитировать вычисления, производимые любой машиной Тьюринга: конкретный выбор машины Тьюринга Тu определяет конфигурацию «стенок» и т. д. в машине Фредкина — Тоффоли; начальное состояние движущихся шариков соответствует информации на входной ленте машины Тьюринга; а содержимое на выходной ленте соответствует конечному состоянию шариков. Таким образом, можно, в частности, спросить: останавливается ли когда-нибудь такая-то и такая-то машина Тьюринга? «Остановка» может быть сформулирована как состояние при котором шарик А сталкивается, в конце концов, с шариком В. То, что на этот вопрос невозможно ответить алгоритмически (см. гл.2 «Неразрешимость проблемы Гильберта»), по крайней мере наводит на мысль о том, что ньютоновский вопрос «сталкивается ли когда-нибудь шарик А с шариком В?», который был поставлен мной первоначально, тоже не может быть разрешен алгоритмически.

В действительности, ньютоновская задача является гораздо более каверзной, чем задача, поставленная Фредкином и Тоффоли. Эти авторы могли задавать состояние своей модели с помощью дискретных параметров (т. е. при помощи утверждений «да или нет» типа «шарик либо находится в данном туннеле, либо не находится»). Но в полной ньютоновской задаче начальные положения и скорости шариков необходимо задавать с бесконечной точностью в терминах координат, которые являются действительными числами, а не принимают дискретные значения. Таким образом, мы снова сталкиваемся со всеми проблемами, которые нам уже приходилось рассматривать, когда в главе 4 мы пытались ответить на вопрос, рекурсивно ли множество Мандельброта. Что означает «вычислимость», когда в качестве входных и выходных данных допускаются непрерывно изменяющиеся параметры?[111] Проблему можно слегка облегчить, предположив, что все начальные положения и скорости заданы рациональными числами (хотя нельзя ожидать, что координаты и компоненты скорости останутся рациональными в более поздние рациональные моменты времени t). Напомним, что рациональное число представимо в виде отношения двух целых чисел и, следовательно, определяется в дискретных конечных терминах. Используя рациональные числа, мы можем сколь угодно точно аппроксимировать любые наборы начальных данных, которые собираемся использовать в своих вычислениях. И предположение о том, что при рациональных начальных данных может не существовать алгоритма, позволяющего определить, столкнутся в конце концов или нет шарики А и В, — отнюдь не лишено смысла.

Однако на самом деле, когда говорят: «Ньютонианский бильярдный мир не вычислим», имеют в виду совсем другое. Та модель, которую я сравниваю с ньютонианским бильярдным миром — а именно, «бильярдный компьютер» Фредкина — Тоффоли — действует как вычислительный алгоритм. В конечном счете, это и было квинтэссенцией идеи Фредкина и Тоффоли — что их модель должна вести себя как (универсальный) компьютер! Вопрос, который я пытаюсь сейчас прояснить, сводится к следующему: можно ли представить себе, что человеческий мозг, используя некоторые подходящие «невычислимые» физические законы, работает в определенном смысле «лучше», чем машина Тьюринга? Бесполезно пытаться использовать что-нибудь вроде следующего утверждения:

«Если шарик А никогда не сталкивается с шариком В, то ответ на Ваш вопрос будет: „нет“».

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

На самом деле, существуют, по-видимому, достаточно весомые указания в пользу своего рода вычислимости ньютонианского бильярдного мира (по крайней мере, если оставить в стороне проблему множественных столкновений). Способ, которым мы пользуемся для того, чтобы рассчитать поведение такого мира, сводится к введению аппроксимаций. Мы могли бы предположить, что центры шариков по определению располагаются в узлах некоторой точечной решетки, причем координаты узлов измерены, например, с точностью до сотых долей единицы. Время также можно считать «дискретным»: все допустимые моменты времени должны быть кратными некоторой небольшой единице (обозначаемой, скажем, Δt). Это приводит к разным дискретным возможностям для «скоростей» (разностей между значениями положений точек на решетке В два последовательных разрешенных момента времени, деленных на Δt). Соответствующие приближения для. ускорений вычисляются с использованием закона силы, и, в свою очередь, используются для получения значений «скоростей». После чего с требуемой точностью вычисляются новые положения шариков в узлах решетки в следующий допустимый момент времени. Вычисления производятся до тех пор, пока сохраняется указанная точность. Вполне может оказаться, что точность будет потеряна раньше, чем мы успеем рассчитать состояние системы для достаточно большого числа моментов времени. В этом случае процедура начинается снова со значительно более мелкой пространственной решеткой и более частыми допустимыми моментами времени. Это позволяет достичь большей точности — и рассчитать поведение системы в более отдаленном будущем. Такой прием дает возможность математически описывать ньютоновский бильярдный мир (игнорируя множественные столкновения) сколь угодно точно, и в этом смысле можно сказать, что ньютонианский мир действительно вычислим.

Но в то же время можно сказать и обратное: что в некотором (практическом) смысле этот мир «невычислим», поскольку точность, с которой могут быть известны начальные данные, всегда ограничена. Действительно, такого рода задачам всегда присуща некоторая (и весьма значительная) «нестабильность». Очень небольшое изменение в начальных условиях может привести к возникновению чудовищных изменений в конечном состоянии. (Всякий, кто пытался загнать в лузу бильярдный шар, стремясь ударить его промежуточным шаром, поймет, что я имею в виду!) Сказанное становится очевидным, когда происходят (последовательные) столкновения, но такие неустойчивости в поведении могут встречаться и в случае действия ньютоновского тяготения на расстоянии (если гравитирующих тел больше двух). Для обозначения этого типа неустойчивости часто используется термин «хаос», или «хаотическое поведение». Например, хаотическое поведение важно, когда речь заходит о погоде. Хотя ньютоновские уравнения, управляющие стихиями, хорошо изучены, долговременный прогноз погоды печально известен своей ненадежностью!

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

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

Гамильтонова механика

Своими успехами ньютоновская механика обязана не только своей способности исключительно точно описывать физический мир, но и обилию порожденных ею математических теорий. Замечательно, что все ПРЕВОСХОДНЫЕ теории природы оказались весьма щедрыми источниками математических идей. В этом кроется глубокая и прекрасная тайна: все наиболее точные теории в то же время необычайно плодотворны и с точки зрения математики. Не подлежит сомнению, что это свидетельствует о каких-то глубоких связях между реальным окружающим нас миром и платоновским миром математики. (Далее, (в главе 10, «Взгляд на физическую реальность») я постараюсь еще раз вернуться к этому вопросу.) Возможно, ньютоновская механика в этом отношении не имеет себе равных, так как ее рождение привело к возникновению дифференциального и интегрального исчисления. Кроме того, специфическая ньютонианская схема дала рождение массе замечательных математических идей, составляющих классическую механику. Имена многих великих математиков XVIII и XIX веков связаны с развитием этой науки: Эйлер, Лагранж, Лаплас, Лиувилль, Пуассон, Якоби, Остроградский, Гамильтон. То, что принято называть «гамильтоновой теорией»[112] включает в себя многое из проделанной ими работы. Сейчас мы вкратце коснемся Общих положений этой теории. Разносторонний и самобытный ирландский математик Уильям Роуан Гамильтон (1805–1865), автор гамильтоновых циклов (обсуждаемых в гл.4, подгл. «Теория сложности»), придал этой теории такую форму, которая особо подчеркивала аналогию с распространением волн. Это указание на существование взаимосвязи между волной и частицей (равно как и форма самих уравнений Гамильтона) сыграло важную роль в последующем развитии квантовой механики. К этой стороне дела я еще вернусь в следующей главе.

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

Грубо говоря, первая система гамильтоновых уравнений выражает второй, самый важный закон движения Ньютона (быстрота изменения импульса = силе), тогда как вторая система уравнений Гамильтона говорит нам о том, чему равны импульсы, выраженные в терминах скоростей (быстрота изменения положения = импульс/массу). Напомним, что в формулировках законов движения Галилея — Ньютона использовались ускорения (или быстрота изменения быстроты изменения положения, т. е. уравнения «второго порядка»), тогда как в гамильтоновой формулировке нам достаточно говорить только о быстроте изменения величин (уравнения «первого порядка»). Все гамильтоновы уравнения выводятся всего лишь из одной важной величины: функции Гамильтона Н, представляющую собой полную энергию системы, выраженную в переменных, описывающих положения и импульсы.

Гамильтонова формулировка дает весьма изящное и симметричное описание механики. Выпишем здесь гамильтоновы уравнения просто для того, чтобы понять, как они выглядят, хотя многие читатели, возможно, и не знакомы с принятыми в математическом анализе обозначениями, необходимыми для полного понимания — впрочем, оно сейчас и не требуется. Все, что нам сейчас действительно нужно знать о дифференциальном исчислении, ограничивается пониманием смысла «точки» в левых частях уравнений Гамильтона — она означает быстроту изменения по времени (в первом случае — импульса, во втором случае — положения):

Новый ум короля

Индекс i здесь использован просто для того, чтобы отличать все различные координаты импульсов (р1, p2p3p4…) и положений (х1, х2, x3, x4…). Для n частиц, не ограниченных наложенными на них связями, мы получаем 3n координат импульсов и 3n координат положений (по одной координате для каждого из трех независимых направлений в пространстве). Символ относится к операции «частного дифференцирования» (взятию производной по одной переменной при сохранении постоянных значений всех остальных переменных), а Н, как сказано выше, означает функцию Гамильтона. (Если Вы ничего не знаете о «дифференцировании» — не стоит беспокоиться. Просто рассматривайте правые части уравнений Гамильтона как некие вполне определенные математические выражения, записанные через xi и pi.)

Координаты x1, x2… и, р1, p2,…. могут на самом деле использоваться для обозначения более общих вещей, а не только обычных декартовых координат для частиц (т. е. когда xi — обычные расстояния, измеряемые по трем различным направлениям, расположенным под прямыми углами друг к другу). Например, некоторые из xi в гамильтоновом случае можно считать углами — тогда соответствующие рi превращаются в угловые моменты (см. гл.6, подгл. «Уравнение Шредингера; уравнение Дирака») вместо импульсов — или вообще какими-нибудь совершенно абстрактными величинами. Замечательно, что при этом гамильтоновы уравнения по-прежнему сохраняют в точности ту же форму. Действительно, при подходящем выборе функции Гамильтона Н гамильтоновы уравнения остаются в силе для любой системы классических уравнений, а не только для уравнений Ньютона. В частности, они выполняются для теории Максвелла(—Лоренца), к рассмотрению которой мы вскоре приступим. Гамильтоновы уравнения можно записать и для специальной теории относительности. Даже общую теорию относительности (при соблюдении должной осторожности) можно представить в гамильтоновой форме. Кроме того, как мы убедимся в дальнейшем при знакомстве с уравнением Шредингера (см. гл.6, подгл. «Уравнение Шредингера; уравнение Дирака»), гамильтонова формулировка служит отправным пунктом для вывода уравнений квантовой механики. Такое единство формы в структуре динамических уравнений, сохранившееся несмотря на все революционные новшества, введенные в физические теории за минувшие столетия, поистине удивительна!

Фазовое пространство

Форма гамильтоновых уравнений позволяет нам «наглядно представить» эволюцию классической системы, используя весьма мощный и универсальный подход. Попытаемся вообразить «пространство» большого числа измерений, по одному измерению

на каждую из координат x1, x 2pi, p2

(Математические пространства часто имеют размерность выше трех.) Такое пространство называется фазовым пространством (рис. 5.10).

Новый ум короля

Рис. 5.10. Фазовое пространство. Каждая точка Q фазового пространства описывает полное состояние некоторой физической системы, включающее в себя мгновенные движения всех ее частей

Для n свободных частиц размерность фазового пространства равна 6n (по три координаты положения и по три координаты импульса для каждой частицы). Читателя может обеспокоить то, что даже для одной-единственной частицы размерность фазового пространства оказывается вдвое большей, чем мы обычно привыкли представлять! Но секрет успеха заключается в том, чтобы не пасовать перед трудностями. Конечно, шестимерное пространство действительно имеет бо́льшую размерность, чем та, которую можно с ходу (!) представить — но даже если бы могли себе его представить, то пользы от этого оказалось бы немного. Например, всего лишь для комнаты, полной молекул газа, размерность фазового пространства могла бы равняться, например, такой величине:

10 000 000 000 000 000 000 000 000 000.

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

А как теперь наглядно представить себе уравнения Гамильтона для фазового пространства? Прежде всего следует помнить о том, что на самом деле изображает одна точка Q фазового пространства. Она соответствует некоторому конкретному набору значений всех координат положений х 1, х2…. и всех координат импульсов р1p2, …. То есть, точка Q представляет всю нашу физическую систему в определенном состоянии движения, заданного для каждой из образующих ее частиц в отдельности. Уравнения Гамильтона говорят нам о степени быстроты изменения всех этих координат, если их текущие значения известны, т. е. управляют движениями всех отдельных частиц. В переводе на язык фазового пространства уравнения Гамильтона описывают дальнейшее поведение точки Q в этом пространстве, если нам задано ее текущее положение. Таким образом, в каждой точке фазового пространства мы имеем маленькую стрелку (точнее: вектор), которая говорит нам о том, как движется точка Q — а это позволяет описывать эволюцию во времени всей нашей системы. Совокупность всех стрелок образует так называемое векторное поле (рис. 5.11). Следовательно, уравнения Гамильтона определяют векторное поле в фазовом пространстве.

Новый ум короля

Рис. 5.11. Векторное поле в фазовом пространстве, представляющее эволюцию системы во времени в соответствии с уравнениями Гамильтона

Выясним, как можно интерпретировать в терминах фазового пространства физический детерминизм. В качестве начальных условий при t = 0 мы имели бы конкретный набор значений, заданных для всех координат положений и импульсов, т. е. некоторую определенную точку Q фазового пространства. Чтобы вычислить эволюцию системы во времени, надо просто следовать стрелкам. Таким образом, все поведение нашей системы (независимо от степени ее сложности) описывается в фазовом пространстве всего лишь одной точкой, движущейся по стрелкам, которые она встречает на своем пути. Мы можем считать, что стрелки указывают «скорость» нашей точки Q в фазовом пространстве. Если стрелка «длинная», то точка Q движется быстро, а если «короткая» — то медленно. Чтобы узнать, что наша система делает в момент времени t, мы просто смотрим, куда к этому времени переместилась точка Q, следуя указаниям попутных стрелок. Ясно, что это — детерминистская процедура. Характер движения точки Q полностью определяется гамильтоновым векторным полем.

А как обстоит дело с вычислимостью? Если мы стартовали из вычислимой точки фазового пространства (т. е. из точки, у которой все координаты положения и импульсов являются вычислимыми числами, см. главу 3, «Страна Тор'Блед-Нам»), и с момента начала движения прошло вычислимое время t — то закончим ли мы с необходимостью в точке, которая может быть вычислимым образом получена из t и исходных значений координат? Ответ, очевидно, зависит от выбора функции Гамильтона Н. Действительно, в функцию Н могут входить физические константы — такие, как ньютоновская постоянная тяготения или скорость света, величина которых зависит от выбора единиц; или другие, описывающиеся точными числовыми выражениями — и поэтому, чтобы положительно ответить на поставленный вопрос, необходимо сначала убедиться в том, что все эти постоянные вычислимы. В таком случае я осмелюсь предположить, что для обычных гамильтонианов (т. е. функций H), встречающихся в физике, ответ может быть утвердительным. Но это — всего лишь догадка, и вопрос — интересный вопрос! — остается пока открытым. Надеюсь, что со временем он будет изучен более основательно.

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

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

Тем не менее, создается впечатление, что даже все возрастающая точность в определении физического параметра неудобна в качестве способа кодирования информации. Гораздо предпочтительнее было бы получать нашу информацию в «дискретной» (или «цифровой») форме. В этом случае ответы на вопросы, расположенные все дальше и дальше от начала списка, могли бы быть получены путем рассмотрения все большего количества дискретных единиц или, быть может, путем повторного рассмотрения некоторого фиксированного набора дискретных единиц, где требуемая неограниченная информация распределялась бы по все более длинным временным интервалам. (Мы могли бы представить себе, что эти дискретные единицы построены из частей, каждая из которых может находиться в одном из двух состояний — «вкл.» или «выкл.» — подобных единицам и нулям в описании машины Тьюринга, приведенном в главе 2.) Для этого нам, как представляется, требуются такие устройства, которые могли бы принимать (отличимые) дискретные состояния и, совершив определенные эволюции в соответствии с динамическими законами, снова перейти в один из наборов дискретных состояний. Если бы это было так, то мы могли бы избежать необходимости изучать каждое устройство с произвольно высокой степенью точности.

Возникает вопрос: действительно ли гамильтоновы системы ведут себя подобным образом? Необходимым условием для этого, видимо, должна быть некоторая устойчивость в поведении системы, позволяющая четко устанавливать, в каком из таких дискретных состояний находится наше устройство. При этом желательно будет зафиксировать это состояние (по крайней мере на некоторый достаточно продолжительный период времени) и добиться того, чтобы оно (устройство) не дрейфовало из одного состояния в другое. Кроме того, если система оказывается в этих состояниях с небольшой погрешностью, то нам бы не хотелось, чтобы погрешности накапливались; наоборот: мы будем требовать, чтобы такие погрешности со временем сглаживались. К тому же, наше искомое устройство должно было бы состоять из частиц (или каких-то других подэлементов), которые с необходимостью описывались бы в терминах непрерывных параметров, причем каждое отличимое «дискретное» состояние покрывало бы некоторый диапазон значений этих непрерывных параметров. (Например, можно представлять разные дискретные состояния с помощью частицы, лежащей либо в одном, либо в другом ящике. Чтобы указать, что частица действительно находится в одном из них, мы будем говорить, что координаты положения частицы принадлежат определенному диапазону значений.) С точки зрения фазового пространства это означает, что каждая из «дискретных» альтернатив должна соответствовать некоторой области в фазовом пространстве так, чтобы различные точки фазового пространства, принадлежащие одной и той же области, отвечали бы одному и тому же состоянию нашего устройства (рис. 5.12).

Новый ум короля

Рис. 5.12. Область в фазовом пространстве соответствует диапазону возможных значений пространственных координат и импульсов всех частиц. Такая область может представлять отдельное отличимое состояние (т. е. «альтернативу») какого-нибудь устройства

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

Новый ум короля

Рис. 5.13. С течением времени область R0 фазового пространства, увлекаемая вдоль векторного поля, переходит в новую область Rt. Это может служить описанием эволюции во времени некоторого определенного состояния нашего устройства

Вопрос об устойчивости (в том смысле, в каком мы трактуем устойчивость здесь) сводится к вопросу о том, остается ли с ростом t область Rt локализованной или начинает расплываться по всему фазовому пространству. Если область Rt со временем сохраняет конечный объем, то мы будем говорить, что наша система демонстрирует устойчивое поведение. Точки фазового пространства, близкие друг к другу (настолько, что они соответствуют конкретным физическим состояниям системы, которые существенно похожи друг на друга), остаются близкими, и погрешности в указании их положения со временем не увеличиваются. Любое чрезмерно сильное расплывание начальной области R0 в результате приводит к появлению непредсказуемой составляющей в поведении системы.

А что вообще можно сказать о гамильтоновых системах? Стремятся ли области фазового пространства расплываться со временем или все-таки нет? Казалось бы, при такой общей постановке проблемы сказать о ней можно будет немного. Однако для гамильтоновых систем существует весьма красивая теорема, принадлежащая выдающемуся французскому математику Жозефу Лиувиллю (1809–1882), которая утверждает, что объем любой области фазового пространства должен оставаться постоянным при любых изменениях состояния системы, происходящих в соответствии с уравнениями Гамильтона. (Разумеется, размерность «объема» следует понимать в смысле размерности фазового пространства.) Следовательно, объем каждой области Rt должен быть таким же, как объем исходной области R0. На первый взгляд теорема Лиувилля позволяет утвердительно ответить на вопрос об устойчивости гамильтоновых систем. В силу того, что размер исходной области (в смысле ее объема в фазовом пространстве) не может возрастать, создается впечатление, будто наша исходная область не может со временем расплываться по всему фазовому пространству.

Однако такое впечатление обманчиво, и, немного поразмыслив над этим, мы поймем, что в действительности может произойти прямо противоположная ситуация! На рис. 5.14 я попытался наглядно изобразить такое поведение системы, которое можно было бы ожидать в общем случае.

Новый ум короля

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

Представим себе, что начальная область R0 невелика и имеет «приемлемую» форму — достаточно гладкую, лишенную причудливых выступов — которая указывает на то, что при описании состояний, принадлежащих этой области, чрезмерно высокая точность совсем необязательна. Но с течением времени область Rt начинает деформироваться и растягиваться — сначала принимая форму, напоминающую амебу, а затем образуя причудливые отростки, которые простираются далеко в стороны, замысловато извиваясь то в одном, то в другом направлении.

Объем при этом действительно сохраняется, но тот же самый объем может теперь истончиться и распределиться по обширной области фазового пространства. Практически аналогичная картина будет наблюдаться в случае с капелькой чернил, попавшей в большую емкость с водой. В то время, как реальный объем чернильной жидкости остается неизменным, она постепенно истончается, распределяясь по всему объему емкости. Вероятно, подобным образом ведет себя и исходная область R0 в фазовом пространстве. Она не обязательно должна расплываться по всему фазовому пространству (эта предельная ситуация известна под названием «эргодической») — но вполне может в конце концов занять область, значительно превышающую ее первоначальный объем. (Дальнейшее обсуждение см. в книге: Дэвис [1974].)

Трудность заключается в том, что сохранение объема отнюдь не влечет за собой сохранение формы : малые области имеют тенденцию деформироваться, и их деформации простираются на большие расстояния. В многомерных пространствах проблема расплывания начальной области гораздо более серьезна, чем в пространствах малой размерности, так как «направлений», по которым расплываются отдельные части нашей области, гораздо больше. На самом деле, вместо того, чтобы «помочь» нам держать область Rt под контролем, теорема Лиувилля создает фундаментальную проблему! Не будь теоремы Лиувилля, можно было бы представить, что бесспорная тенденция к расплыванию области в фазовом пространстве могла бы (при соответствующих обстоятельствах) компенсироваться уменьшением полного объема. Но теорема Лиувилля говорит нам, что такое уменьшение невозможно, и нам остается только мириться с таким поразительным свойством — универсальным для всех классических динамических (гамильтоновых) систем нормального типа![113]

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

Чем же в таком случае объяснить явный успех ньютоновской механики? Говоря о небесной механике (т. е. движении небесных тел под действием сил гравитации), в качестве наиболее вероятной причины можно назвать, наверное, то, что, во-первых, небесная механика занимается изучением сравнительно небольшого числа связанных тел (Солнца, планет и их естественных спутников — лун), между которыми имеется большой разброс по массе, поэтому в первом приближении возмущающим действием менее массивных тел на более массивные можно пренебречь и рассматривать только взаимодействие нескольких массивных тел друг на друга; во-вторых, законы движения, применимые к отдельным частицам, образующим эти тела, как нетрудно видеть, работают и на уровне самих тел, вследствие чего с очень хорошим приближением Солнце, планеты и луны можно, в свою очередь, рассматривать как частицы и не беспокоиться по поводу малых движений отдельных составляющих небесных тел![114] И снова нам удается свести все к рассмотрению системы из «небольшого» количества тел, где расплывание начальной области в фазовом пространстве становится несущественным.

Помимо небесной механики и поведения запущенных тел (камней, пуль, ядер, и т. д.), что можно рассматривать как ее частный случай, а также изучения простых систем, содержащих небольшое число частиц, — основные методы, использовавшиеся ньютоновской механикой, очевидно, не могут быть вообще отнесены к разряду «детерминистско-предсказуемых» в том смысле, о котором мы говорили выше. Общую ньютоновскую схему используют скорее для построения моделей, изучение которых позволяет делать выводы о поведении системы в целом. Некоторые точные следствия из законов движения, такие, как законы сохранения энергии, импульса и углового момента, действительно выполняются на любых масштабах. Кроме того, существуют статистические свойства, которые можно комбинировать с динамическими законами, управляющими отдельными частицами, и использовать их для общего прогнозирования поведения системы. (См. обсуждение термодинамики в главе 7; эффект расплывания в фазовом пространстве, рассмотрением которого мы занимались выше, находится в достаточно тесной взаимосвязи со вторым началом термодинамики — и при соблюдении надлежащей осторожности эти идеи действительно можно использовать для прогнозирования.) Искусно проделанное самим Ньютоном вычисление скорости звука в воздухе (слегка подправленное столетие спустя Лапласом) — хороший тому пример. Но весьма редко случается, чтобы детерминизм, присущий ньютоновской (или, в более широком смысле, гамильтоновой) динамике, реально использовался на практике.

Эффект расплывания начальной области в фазовом пространстве приводит к еще одному замечательному следствию. Только подумайте: ведь он свидетельствует о том, что классическая механика, на самом деле, не в состоянии адекватно описать наш с вами мир! Я несколько преувеличиваю — но не так уж сильно. Классическая механика может достаточно точно описывать поведение жидких тел — главным образом газов, хотя (с приемлемой степенью точности) и собственно жидкостей — в том случае, когда интерес представляют общие «усредненные» свойства систем частиц; но она испытывает затруднения при попытке объяснить структуру твердых тел, которая отличается более высокой организацией. Проблемой здесь становится невозможность описать феномен сохранения твердым телом своей формы несмотря на то, что оно состоит из мириадов точечноподобных частиц, структура относительного расположения которых постоянно нарушается из-за расплывания начальной области в фазовом пространстве. Как мы теперь знаем, для того, чтобы разобраться в строении твердых тел, необходима квантовая теория, поскольку квантовые эффекты могут каким-то образом предотвратить расплывание портрета системы в фазовом пространстве. Это — весьма важный вопрос, к которому мы еще вернемся в дальнейшем (см. главы 8 и 9).

Затронутая нами тема имеет не менее важное значение и для вопроса о построении «вычислительной машины». Эффект расплывания в фазовом пространстве относится к разряду явлений, которые необходимо контролировать. Нельзя позволить слишком сильно расплываться той области фазового пространства, которая соответствует «дискретному» состоянию вычислительного устройства (такой, например, как описанная выше область R0). Напомним, что даже в «бильярдном компьютере» Фредкина— Тоффоли требовались некоторые специально вводимые извне твердые стенки, необходимые для правильной работы компьютера. Объяснить «цельность» объекта, состоящего из множества частиц, можно в действительности только с помощью квантовой механики. Создается впечатление, что даже «классическая» вычислительная машина должна заимствовать некоторые принципы из квантовой физики — иначе она просто не сможет работать эффективно!

Электромагнитная теория Максвелла

В ньютоновской картине мира мы представляем, что крохотные частицы влияют друг на друга с помощью сил, действующих на расстоянии, причем если частицы не совсем точечные, то они способны отскакивать друг от друга в результате прямого физического контакта. Как уже упоминалось раньше (Глава 5. «Механистический мир динамики Ньютона»), электрические и магнитные силы (которые были известны еще с античных времен и впервые подробно изучены Уильямом Гильбертом в 1600 году и Бенджамином Франклином в 1752 году) действуют аналогично гравитационным силам, поскольку также обратно пропорциональны квадрату расстояния — хотя обе представляют собой скорее силы отталкивания, чем притяжения, действуя в соответствии с принципом «подобное отталкивает подобное»; а вместо массы мерой интенсивности их воздействия служит электрический заряд и сила магнитного полюса, соответственно. На этом уровне не существует никаких трудностей, которые препятствовали бы включению электричества и магнетизма в ньютоновскую схему. Поведение света может быть сравнительно легко описано в общем виде с позиций ньютоновской механики (хотя определенные проблемы при этом все же возникают): либо путем рассмотрения света как субстанции, состоящей из отдельных частиц («фотонов», как теперь их принято называть); либо с помощью представления его в виде волнового процесса, распространяющегося в некоторой среде (в последнем случае эту среду — «эфир» — следует считать состоящей из отдельных частиц).

То, что движущиеся электрические заряды могут создавать магнитные силы, вызывает некоторые дополнительные затруднения, но не разрушает целиком всю ньютонианскую схему. Многие математики и физики (в том числе Гаусс) предлагали системы уравнений для описания эффектов, создаваемых движущимися электрическими зарядами. В рамках общей ньютонианской схемы эти уравнения казались вполне удовлетворительными. Первым, кто бросил серьезный вызов «ньютонианской» картине мира, был, по-видимому, великий английский физик-экспериментатор Майкл Фарадей (1791–1867).

Чтобы понять суть этого вызова, необходимо прежде всего разобраться в смысле термина физическое поле. Начнем с магнитного поля. Большинству читателей случалось наблюдать за поведением железных опилок, рассыпанных на листке бумаги, который положили поверх магнита. Железные опилки поразительным образом выстраиваются вдоль так называемых «магнитных силовых линий». Представим себе, что силовые линии присутствуют в пространстве, даже если нет железных опилок. Эти силовые линии и образуют то, что мы называем магнитным полем. В каждой точке пространства это «поле» ориентировано в определенном направлении, а именно — в направлении силовой линии, проходящей через данную точку. В действительности, мы имеем в каждой точке пространства вектор, т. е. магнитное поле является примером векторного поля. (Мы можем сравнить магнитное поле с гамильтоновым векторным полем, которое было рассмотрено нами в предыдущем разделе, но теперь мы имеем векторное поле в обычном, а не фазовом пространстве.) Точно так же и тела, несущие электрический заряд, оказываются окруженными полем, только несколько иного рода, которое известно под названием электрического поля; а любое массивное тело создает вокруг себя так называемое гравитационное поле. Все это — векторные поля в обычном пространстве.

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

Столкнувшись с обнаруженными Фарадеем экспериментальными фактами, а также с более ранними открытиями замечательного французского физика Андре Мари Ампера (1775–1836) и других исследователей, великий шотландский физик и математик Джеймс Клерк Максвелл (1831–1879) задумался над математической формой уравнений, описывающих электрические и магнитные поля с учетом обнаруженных экспериментальных фактов. В результате поразительного интуитивного озарения Максвелл предложил внести в уравнения незначительную на первый взгляд поправку, что привело к поистине фундаментальным последствиям. Эта поправка в принципе не могла быть подсказана ему никакими из известных экспериментальных фактов (хотя и находилась в согласии с ними). Выводы Максвелла были результатом собственных теоретический постулатов Максвелла — отчасти физических, отчасти математических, а где-то — даже эстетических. Одно из следствий уравнений Максвелла говорило о том, что электрическое и магнитное поля действительно «проталкивают» друг друга сквозь пустое пространство. Осциллирующее магнитное поле должно было бы порождать осциллирующее электрическое поле (о чем свидетельствовали экспериментальные факты, полученные Фарадеем); а это осциллирующее электрическое поле, в свою очередь, должно создавать осциллирующее магнитное поле (в согласии с теоретическими выводами Максвелла); последнее снова порождает осциллирующее электрическое поле и т. д. (См. рис. 6.26, 6.27 гл. 6, где схематически изображен этот волновой процесс.)

Максвеллу удалось вычислить скорость, с которой этот процесс должен был бы распространяться в пространстве, и она в результате оказалась равной скорости света! Кроме того, эти так называемые электромагнитные волны интерферировали и обладали удивительной способностью поляризоваться, как и свет (последнее свойство на тот момент было уже давно известно, а мы еще вернемся к нему в главе 6). Помимо объяснения свойств видимого света, для которого длины электромагнитных волн должны были бы лежать в диапазоне 4–7 х 10-7 м, Максвелл предсказал существование электромагнитных волн других длин, порождаемых электрическими токами в проводниках. Существование таких волн было экспериментально установлено замечательным немецким физиком Генрихом Герцем в 1888 году. Вдохновенная надежда Фарадея воплотилась в чудесные уравнения Максвелла!

Хотя нам совсем не обязательно вдаваться в подробности уравнений Максвелла, давайте все же окинем их быстрым взглядом:

Новый ум короля

Здесь Е, В и j — векторные поля, описывающие, соответственно, электрическое поле, магнитное поле и электрический ток; ρ — плотность электрического заряда, а с — постоянная — скорость света[115]. Не стоит огорчаться, если вам не известен смысл обозначений «rot» и «div». Они просто означают различные пространственные вариации полей В и Е. (Обозначения «rot» и «div» представляют собой определенные комбинации частных производных по пространственным координатам. Напомним, что операции взятия «частной производной», обозначаемой символом , мы коснулись в связи с уравнениями Гамильтона.) Операторы /∂t, стоящие в левых частях двух первых уравнений, по существу означают то же самое, что «точки» в уравнениях Гамильтона (различие в обозначениях вызвано чисто техническими причинами). Таким образом, ∂E /∂t означает «скорость изменения во времени электрического поля», a ∂B /∂t означает «скорость изменения во времени магнитного поля».

Первое уравнение[116] связывает изменения электрического поля с текущими значениями магнитного поля и электрического тока; тогда как второе, наоборот, описывает изменения магнитного поля в зависимости от величины электрического поля. Третье уравнение, грубо говоря, представляет собой закодированную форму закона обратных квадратов, показывающую, как электрическое поле (в данный момент времени) должно быть связано с распределением зарядов. Что же касается четвертого уравнения, то оно говорит то же самое о магнитном поле (с той лишь разницей, что «магнитные заряды» — отдельные «северные» и «южные» полюсы частиц — не существуют).

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

Принципиально новой составляющей в той картине нашего физического мира, которая выстраивалась на основе теории Максвелла (помимо и сверх того, что было известно ранее), стала необходимость рассматривать поля уже не как математические придатки к «реальным» частицам, или корпускулам, в ньютоновской теории — но как самостоятельно существующие объекты. Действительно, Максвелл показал, что когда поля распространяются в виде электромагнитных волн, они переносят с собой определенное количество энергии. Ему удалось получить даже явное выражение для этой энергии. То есть оказалось, что энергию, на самом деле, могли переносить с места на место «нематериальные» электромагнитные волны. Этот факт был экспериментально подтвержден Герцем, сумевшим зарегистрировать электромагнитные волны. То, что радиоволны действительно могут переносить энергию, до сих пор представляется удивительным даже тем, кто в той или иной степени знаком с этим феноменом!

Вычислимость и волновое уравнение

Непосредственно из своих уравнений Максвелл сумел вывести, что в областях пространства, где нет ни зарядов, ни токов (т. е. там, где в приведенных выше уравнениях j = 0, ρ = 0) все компоненты электрического и магнитного полей должны удовлетворять так называемому волновому уравнению.[118] Волновое уравнение можно рассматривать как «упрощенный вариант» уравнений Максвелла, так как оно записано для одной-единственной величины, а не для всех шести компонент электрического и магнитного полей. Решения уравнения Даламбера дают пример волнообразного движения без дополнительных усложняющих свойств наподобие «поляризации» в теории Максвелла (направления вектора электрического поля, см. гл. 6 «Спин фотона»).

Волновое уравнение представляет сейчас для нас тем больший интерес, что оно было предметом целенаправленного изучения именно в связи с его свойствами вычислимости. Действительно, Мариану Б. Пур-Элю и Яну Ричардсу (Пур-Эль, Ричардс [1979, 1981, 1982], см. также [1989]) удалось показать, что, даже несмотря на детерминистское (в обычиом смысле) поведение решения волнового уравнения — при котором данные в начальный момент времени однозначно определяют решение во все остальные моменты времени — существуют вычислимые начальные данные некоего «особого» рода, обладающие тем свойством, что для них однозначно рассчитать значения поля в более поздний (вычислимый) момент времени — невозможно. Таким образом, уравнения вполне допустимой физической теории поля (хотя и отличающейся от теории Максвелла, которая действительно «работает» в нашем мире) могут, согласно Пур-Элю и Ричардсу, породить невычислимую эволюцию!

На первый взгляд это кажется весьма удивительным результатом, который вроде бы противоречит тому, о чем я говорил в предыдущем разделе относительно возможной вычислимости «разумных» гамильтоновых систем. Однако, несмотря на то, что поразительный результат Пур-Эля — Ричардса исполнен, несомненно, глубокого математического смысла, он все же не противоречит высказанной выше гипотезе — причем по причине, имеющей глубокий физический смысл. Причина же эта состоит в том, что начальные условия «особого» рода не относятся к «плавно изменяющимся»[119], а именно это свойство обычно требуется от каждого поля, имеющего физический смысл. Пур-Эль и Ричардс в действительности доказали, что невычислимость не может возникнуть в случае волнового уравнения, если мы не будем рассматривать поля «особого» рода. С другой стороны, даже если бы такие поля считались допустимыми, было бы трудно понять, как может использовать подобную «невычислимость» любое физическое «устройство» (например, головной мозг человека)? Она могла бы иметь существенное значение только при наличии возможности производить измерения со сколь угодно высокой степенью точности (которые, как я объяснял выше, нереальны с физической точки зрения). Тем не менее, результаты Пур-Эля— Ричардса открывают интригующую область знания, которая до сих пор остается практически нетронутой.

Уравнение движения Лоренца; убегающие частицы

Система уравнений Максвелла в том виде, как мы ее выписали, не является, на деле, полной. Эти уравнения великолепным образом описывают распространение электрических и магнитных полей при наличии заданного распределения электрических зарядов и токов. Эти заряды физически нам даны в виде заряженных частиц — в основном, электронов и протонов, как нам сейчас известно — а токи порождаются движением этих частиц. Если мы знаем, где находятся заряженные частицы и как они движутся, то уравнения Максвелла позволяют определить поведение электромагнитного поля. Но вот что уравнения Максвелла нам не говорят — это как должны себя вести сами частицы. Частичный ответ на этот вопрос был известен еще во времена Максвелла, но удовлетворительной системы уравнений не было до тех пор, пока в 1895 году замечательный голландский физик Хендрик Антон Лоренц, воспользовавшись идеями, близкими к идеям специальной теории относительности, не вывел уравнения движения заряженной частицы, известные ныне как уравнения Лоренца (см. Уиттекер [1910]). Эти уравнения позволяют описывать непрерывные изменения скорости заряженной частицы под действием электрического и магнитного полей в той точке, где она в данный момент находится[120]. Присоединив уравнения Лоренца к уравнениям Максвелла, мы получаем систему уравнений, описывающих эволюцию во времени и заряженных частиц, и электромагнитного поля.

Но эта система уравнений, в свою очередь, тоже не безукоризненна. Она дает превосходные результаты, если поля однородны вплоть до масштабов порядка диаметра самих частиц (за единицу измерения диаметра принимается «классический радиус» электрона — около 10-15 м), а движения частиц не слишком интенсивны. Однако здесь имеется принципиальная трудность, обойти которую при других обстоятельствах становится невозможно. Дело в том, что уравнения Лоренца подразумевают измерения электромагнитного поля в той самой точке, где находится заряженная частица (по существу, такое измерение должно дать нам значение «силы», действующей в этой точке со стороны электромагнитного поля на нашу частицу). Но где следует выбирать эту точку, если частица имеет конечные размеры? Следует ли принять за нужную точку «центр» частицы, или поле («силу») необходимо усреднить по всем точкам поверхности частицы? Если поле неоднородно в масштабе порядка размера частицы, то разный выбор точки может привести к отличающимся результатам. Есть и другая, более серьезная проблема: каково на самом деле электромагнитное поле на поверхности частицы (или в ее центре)? Напомним, что мы рассматриваем заряженную частицу. Следовательно, электромагнитное поле, обусловленное самой частицей, необходимо добавить к «фоновому полю», в котором находится частица. Вблизи самой «поверхности» частицы ее собственное поле становится чрезвычайно интенсивным и легко поглощает все остальные поля в окрестности частицы. Кроме того, собственное поле частицы всюду вокруг нее направлено преимущественно наружу (или вовнутрь), вследствие чего результирующее истинное поле, на которое по предположению реагирует частица, вовсе не однородно, а в каждой точке на «поверхности» частицы направлено в свою сторону, не говоря уже о «внутренности» частицы (рис. 5.15).

Новый ум короля

Рис. 5.15. Как можно строго применить уравнения движения Лоренца? Сила, действующая на заряженную частицу, не может быть получена измерением поля в точке нахождения частицы, так как здесь доминирует собственное поле частицы

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

Возможно, нам стоило бы рассматривать частицу как материальную точку. Но такой подход приводит к проблемам другого рода, ибо в непосредственной окрестности точечной частицы ее собственное электрическое поле становится бесконечным. Если, как это следует из уравнений Лоренца, частица должна реагировать на электромагнитное поле в той точке, где она находится, то точечная частица должна испытывать действие со стороны бесконечно большого поля! Чтобы формула Лоренца для величины силы имела смысл, необходимо найти способ, который позволил бы вычитать собственное поле частицы и оставлять конечное фоновое поле, которое бы однозначно определяло поведение частицы. Такой метод был предложен в 1938 году Дираком (о котором мы еще услышим в дальнейшем). Однако решение Дирака приводило к определенным следствиям, которые не могли не вызывать тревогу. Дирак обнаружил, что для однозначного определения поведения частиц и полей исходя из соответствующих начальных данных, необходимо знать не только начальное положение и скорость каждой частицы, но и ее начальное ускорение (в контексте стандартных динамических теорий такую ситуацию нельзя не признать несколько аномальной). Для большинства значений начального ускорения частица ведет себя самым «сумасшедшим» образом, спонтанно ускоряясь в пространстве до скорости, весьма близкой к световой! Эти «убегающие решения» Дирака не соответствуют ни одному природному явлению. Необходимо найти способ, который позволил бы исключать убегающие решения и правильно выбирать начальные ускорения. Такой выбор возможен всегда, но только при условии, что мы будем пользоваться неким «априорным знанием», т. е. будем задавать начальное ускорение так, будто нам уже известно, какие решения в конце концов станут убегающими, и стараться избавляться от них. Однако в стандартной детерминистской физической задаче начальные данные задаются по-другому — произвольно и без каких-либо ограничений и требований относительно будущего поведения решений. В нашем же случае не только будущее полностью определено данными, заданными в некоторый момент времени в прошлом, но и сам способ задания этих данных весьма жестко ограничен требованием, накладываемым на будущее («допустимое») поведение частиц и полей!

Так обстоит дело, пока мы рассматриваем фундаментальные классические уравнения. Читатель легко поймет, что вопрос о детерминизме и вычислимости в законах классической физики носит раздражающе неясный характер. Действительно ли в физических законах есть телеологическая составляющая, которая заставляет будущее каким-то образом оказывать влияние на происходящее в прошлом? На самом деле, физики обычно не рассматривают подобные следствия из классической электродинамики (теории классических заряженных частиц, а также электрического и магнитного полей) как соответствующие реальности. Стандартный ответ физиков на упомянутые выше трудности сводится к утверждению, что «отдельные заряженные частицы» относятся к области квантовой электродинамики, и что нельзя ожидать получить разумные ответы на подобные вопросы, если использовать строго классическую теорию. Такое утверждение, безусловно, верно — но, как мы увидим в дальнейшем, в самой квантовой теории здесь также возникают проблемы. На самом деле, Дирак исследовал классическую задачу движения заряженной частицы именно потому, что надеялся обнаружить там какие-нибудь новые идеи, способные помочь в разрешении еще более фундаментальных трудностей, возникающих при рассмотрении (физически более адекватной) квантовой задачи. С проблемами квантовой теории нам еще придется столкнуться позднее!

Специальная теория относительности

Эйнштейна и Пуанкаре

Напомним принцип относительности Галилея, который гласит, что физические законы Ньютона и Галилея останутся совершенно неизменными, если от покоящейся системы отсчета мы перейдем в другую, движущуюся равномерно и прямолинейно. Из этого принципа следует, что, просто наблюдая динамическое поведение объектов вокруг нас, мы не можем установить, находимся ли мы в состоянии покоя или движемся равномерно и прямолинейно в каком-то направлении. (Вспомним пример Галилея с кораблем в море, гл.5 «Динамика Галилея и Ньютона») Предположим теперь, что к законам Ньютона и Галилея мы присоединили уравнения Максвелла. Останется ли при этом в силе принцип относительности Галилея? Напомним, что электромагнитные волны Максвелла распространяются с фиксированной скоростью с — скоростью света. Казалось бы, здравый смысл подсказывает, что если мы будем двигаться очень быстро в каком-нибудь направлении, то должно создаться впечатление, что скорость света в этом направлении стала меньше с (поскольку мы «догоняем свет»); а скорость света в противоположном направлении — больше с (так как при этом мы движемся «от света»). Видно, что и тот, и другой результат отличны от фиксированного значения с скорости света в теории Максвелла. И здравый смысл не подвел бы нас: комбинация уравнений Ньютона и Максвелла не удовлетворяет принципу относительности Галилея.

Обеспокоенность этими проблемами привела Эйнштейна в 1905 году — а Пуанкаре даже несколько раньше (в 1898–1905 годах), — к созданию специальной теории относительности. Пуанкаре и Эйнштейн независимо обнаружили, что уравнения Максвелла тоже удовлетворяют некоторому принципу относительности (см. Пайс [1982]), т. е. остаются неизменными при переходе от неподвижной системы отсчета к движущейся, хотя правила такого перехода несовместимы с физикой Галилея-Ньютона! Чтобы сделать их совместимыми, необходимо видоизменить либо одну, либо другую систему уравнений — или же отказаться от принципа относительности. Эйнштейн не собирался отказываться от принципа относительности. Его великолепная физическая интуиция настойчиво подсказывала ему, что принцип относительности должен выполняться для физических законов нашего мира. Кроме того, Эйнштейну было хорошо известно, что практически для всех известных явлений физика Галилея-Ньютона была экспериментально проверена только при скоростях ничтожно малых по сравнению со скоростью света, при которых отмеченная выше несовместимость была несущественной. Только сам свет, как было известно, способен развивать скорости достаточно большие для того, чтобы упомянутые выше «несоответствия» начинали заметно сказываться. Следовательно, именно поведение света могло бы подсказать, какой принцип относительности следует избрать; при этом уравнения, которыми описывается свет — это уравнения Максвелла. Таким образом, выбор следовало бы остановить на принципе относительности для теории Максвелла, а законы Галилея — Ньютона — соответственно, модифицировать!

Лоренц еще до Пуанкаре и Эйнштейна тоже заинтересовался этими вопросами и даже нашел на них частичные ответы. К 1895 году Лоренц пришел к заключению, что силы, связывающие частицы материи, имеют электромагнитную природу (как в действительности и оказалось), поэтому поведение реальные материальных тел должно удовлетворять законам, вытекающим из уравнений Максвелла. Отсюда, в частности, следовало, что тело, движущееся со скоростью, сравнимой со скоростью света, должно претерпевать небольшое сокращение в направлении движения («сокращение Фитцджеральда — Лоренца»). Это вывод Лоренц использовал для объяснения удивительного экспериментального факта, установленного в 1897 году Майкельсоном и Морли, который свидетельствовал о том, что электромагнитные явления нельзя использовать для определения «абсолютной» покоящейся системы отсчета. (Майкельсон и Морли показали, что на скорость света, измеряемую на поверхности Земли, движение Земли вокруг Солнца — вопреки ожиданиям — не влияет.) Всегда ли материя ведет себя так, что ее (равномерное прямолинейное) движение не мож