Алекс Беллос - Алекс в стране чисел. Необычайное путешествие в волшебный мир математики
Некоторые из прибывших атакуют стойку регистрации, пытаясь выяснить, может ли гостиница их принять. Все, что для этого надо сделать администратору, — это найти способ составить список, в котором присутствовало бы каждое десятичное число между 0 и 1, поскольку, как только такой список будет составлен, расселение не составит труда. Задача не кажется нерешаемой — ведь, в конце концов, наш находчивый администратор однажды уже придумал, как организовать в список всех пассажиров из бесконечного числа автобусов, в каждом из которых было бесконечно много пассажиров. И тем не менее эта новая задача оказывается нерешаемой! Нет способа пересчитать все десятичные разложения между 0 и 1 таким образом, чтобы стало возможным внести все их в упорядоченный список. Дабы продемонстрировать это, я покажу, что для каждого бесконечного списка чисел, лежащих между 0 и 1, всегда найдется число между 0 и 1, которого в этом списке нет.
Вот как это делается. Вообразим себе, что первый из прибывших одет в футболку с разложением 0,6429657, второй — 0,0196012 и администратор отводит им номера 1 и 2. И пусть он так и продолжает назначать номера следующим, кто прибывает, в результате у него получается бесконечный список, начало которого выглядит следующим образом (не будем забывать еще, что разложения продолжаются до бесконечности):
Номер 1 0,6429657… Номер 2 0,0196012… Номер 3 0,9981562… Номер 4 0,7642178… Номер 5 0,6097856… Номер 6 0,5273611… Номер 7 0,3002981… Номер… 0…. … …Наша цель, как было сказано, состоит в том, чтобы предъявить десятичное разложение, лежащее между 0 и 1, которого нет в этом списке. Мы этого добьемся, используя следующий метод. Сначала построим число, первая десятичная цифра которого совпадает с первой десятичной цифрой из номера 1, вторая десятичная цифра — со второй из номера 2, третья — с третьей из номера 3 и т. д. Другими словами, мы выберем цифры, стоящие на диагонали. Для удобства мы их подчеркнем:
Номер 1 0,6429657… Номер 2 0,0196012… Номер 3 0,9981562… Номер 4 0,7642178… Номер 5 0,6097356… Номер 6 0,5273611… Номер 7 0,3002981… Номер… 0…. … …Полученное число такое: 0,6182811….
Мы почти у цели. Теперь, в качестве последнего действия, построим число, которого нет в списке администратора: изменим каждую цифру в только что полученном числе, прибавляя 1 к каждой цифре, так что 6 станет 7, 1 станет 2, 8 станет 9 и т. д.; в результате получится число
0,7293922….
Это оно и есть! Это то самое десятичное разложение, не включенное в список, которое мы искали. Оно не может быть в списке администратора, потому что мы искусственно построили его таким, чтобы оно там не содержалось. Это не число из номера 1, потому что его первая цифра отлична от первой цифры числа из номера 1. Наше число — не из номера 2, потому что его вторая цифра отлична от второй цифры числа из номера 2, и т. д. — откуда видно, что наше число не может относиться ни к какому номеру n, потому что его n-я цифра непременно отлична от n-й цифры в разложении из номера n. Поэтому наше хитрое разложение 0,7293922… не может быть равным никакому из разложений, написанных на футболках путешественников, расселенных по номерам отеля, ведь всегда по крайней мере одна цифра из этого десятичного разложения будет отличаться от десятичного разложения, приписанного данному номеру. В списке вполне может оказаться число, первые семь десятичных цифр которого равны 0,7293922, и, однако же, оно будет отличаться от нашего специального числа по крайней мере одной цифрой где-то дальше в разложении. Другими словами, даже если администратор все дальше и дальше будет продолжать раздавать номера, он не сможет найти номер для путешественника, на котором надета футболка с придуманным нами числом, которое начинается как 0,7293922….
Я взял список, начинающийся с произвольных чисел 0,6429657… и 0,0196012…, но равным образом я мог бы рассмотреть список, начинающийся с любых других чисел. Для каждого списка, который можно создать, всегда удастся выписать, используя предложенный выше «диагональный» метод, такое число, которое в данном списке не присутствует. Пусть в Гильбертовом отеле бесконечное число номеров, но в нем нельзя расселить такое бесконечное число людей, которое определяется десятичными разложениями всех чисел между 0 и 1. Всегда кто-то останется на улице. Отель для этого просто недостаточно вместительный[72].
* * *Сделанное Кантором открытие того, что имеется бесконечность большая, чем бесконечность натуральных чисел, было одним из величайших математических прорывов XIX столетия. Это сногсшибательный результат, и сила его не в последнюю очередь определяется тем, что его совсем несложно объяснить: некоторые бесконечности — счетные, и их размер равен ℵ0, а некоторые бесконечности — не счетные, а потому большие. И эти несчетные бесконечности тоже могут иметь различные размеры.
Самая простая для понимания несчетная бесконечность называется с, она выражает число людей, прибывших в Гильбертов отель одетыми в футболки со всеми десятичными разложениями между 0 и 1. Подобно тому, что мы делали выше, поучительно интерпретировать с, глядя на числовую прямую. Каждый персонаж с десятичным разложением между 0 и 1 на футболке можно также понимать как точку на прямой, лежащую между 0 и 1. Символ с был исходно выбран потому, что он напоминает о слове «континуум» — непрерывном множестве точек на числовой прямой.
И здесь мы подошли к еще одному странному результату. Мы знаем, что имеется с точек, лежащих между 0 и 1, но при этом мы также знаем, что имеется ℵ0 дробей на всей числовой прямой, взятой целиком. Поскольку мы доказали, что с превосходит ℵ0, получается, что на отрезке прямой между 0 и 1 помещается больше точек, чем имеется точек, представляющих дроби на всей числовой прямой.
Кантор снова завел нас в мир, противоречащий интуиции. Дроби, хоть их и бесконечно много, ответственны только за очень малую, просто крохотную часть числовой прямой. Они рассыпаны там гораздо реже, чем числа того другого типа, которые в основном и составляют числовую прямую, — числа, которые нельзя выразить в виде обыкновенной дроби, то есть наши старые друзья — иррациональные числа. Оказывается, что иррациональные числа сидят на числовой прямой настолько плотно, что в любом конечном интервале их больше, чем дробей на всей числовой прямой.
Мы определили с как число точек на числовой прямой, заключенных в интервале между 0 и 1. Сколь много точек имеется между 0 и 2 или между 0 и 100? В точности c. На самом деле между любыми двумя точками на числовой прямой имеется ровно c точек, независимо от того, насколько далеко друг от друга располагаются выбранные концы. Но еще более поразительным является то, что совокупность точек на всей числовой прямой также есть c, что видно из следующего доказательства, проиллюстрированного на рисунке.
Наша цель — показать, что имеется взаимнооднозначное соответствие между точками, лежащими между 0 и 1, и точками на всей числовой прямой. Для этого найдем для каждой точки на числовой прямой пару из отрезка от 0 до 1. Сначала нарисуем полуокружность, висящую над этим отрезком. Эта полуокружность играет роль посредника в том плане, что она организует в пары точки, лежащие между 0 и 1, и точки на всей числовой прямой. Возьмем любую точку на числовой прямой, обозначенную буквой а, и проведем прямую линию из a к центру окружности. Эта прямая пересекает полуокружность в точке, которая единственным образом определяет расстояние между 0 и 1, обозначенное a', если провести прямую вертикально вниз до пересечения с числовой прямой. Организуем пару из каждой точки a и точки a', которая однозначно определяется для нее указанным выше способом. Когда выбранная точка а устремляется к плюс бесконечности, соответствующая точка между 0 и 1 приближается к 1, а когда выбранная точка устремляется к минус бесконечности, соответствующая точка приближается к 0. Если каждую точку на числовой прямой можно соединить в пару с единственной точкой, лежащей между 0 и 1, и наоборот, то, значит, число точек на числовой прямой равно числу точек, лежащих между 0 и 1.