Существуют ли множества,
неявляющиеся счетными? Несмотря на расширение натуральной системы чисел сначала целыми, а затем и рациональными числами, общее число рассматриваемых объектов не увеличилось. Как мы убедились, число объектов во всех случаях осталось счетным. У читателя теперь может создаться впечатление, что
всебесконечные множества счетны. Это не так, поскольку ситуация меняется коренным образом при переходе к действительным числам. Одним из замечательных достижений Кантора явилось доказательство того, что действительных чисел больше, чем натуральных. При этом Кантор применил так называемый
диагональный процесс, который упоминался в главе 2 и который Тьюринг использовал в своем доказательстве неразрешимости
проблемы остановкиДля машин Тьюринга. Доказательство Кантора, как и более позднее доказательство Тьюринга, — это
доказательство от противного. Предположим, что утверждение, справедливость которого мы хотим установить, на самом деле ложно, то есть множество действительных чисел счетно. Тогда множество действительных чисел в интервале от
0до
1должно быть заведомо счетным и должен существовать
какой-нибудьсписок, устанавливающий взаимно-однозначное соответствие между рассматриваемым множеством действительных чисел и множеством натуральных чисел, наподобие вот этого:
Жирным шрифтом выделены диагональные десятичные знаки. В данном случае эти цифры равны:
1, 4, 1, 0, 0, 3, 1, 4, 8, 5, 1…..
Метод диагонального процесса состоит в построении действительного числа (в интервале от 0 до 1), чье десятичное разложение (после десятичной запятой) отличается в каждом разряде от соответствующего числа приведенной выше последовательности. Для определенности положим, что цифра данного разряда равна 1, если цифра соответствующего разряда на диагонали отлична от 1, и равна 2, если цифра на диагонали равна 1. Таким образом, в рассматриваемом случае получается такое действительное число:
0,21211121112…
Это действительное число не может быть в списке, поскольку оно отличается от первого числа в первом десятичном разряде (после десятичной запятой), от второго числа — во втором разряде, от третьего числа — в третьем разряде и т. д. Таким образом, мы приходим к противоречию, поскольку полагали, что рассматриваемый список содержит
вседействительные числа в интервале от 0 до 1. Из этого противоречия следует истинность утверждения, которое нам требовалось доказать, — а именно, что не существует взаимно-однозначного соответствия между множеством действительных чисел и множеством натуральных чисел и, соответственно, что число действительных чисел
большечисла рациональных чисел и
неявляется счетным.Число действительных чисел равно бесконечному числу, обозначаемому
С. (Здесь
Сявляется сокращенным обозначением слова континуум — другого названия системы действительных чисел.) Может возникнуть вопрос, почему мы не обозначаем это число, например,
N
1. Символ
N
1на самом деле обозначает следующее за
N
0бесконечное число, а вопрос о том, верно ли утверждение
С=
N
1— это так называемая
континуум-гипотеза, — представляет собой знаменитую и пока что нерешенную проблему.При этом следует отметить, что множество
вычислимыхчисел счетно. Пересчитать их можно просто перечислив по порядку машины Тьюринга, порождающие действительные числа (то есть машины, последовательно порождающие цифры каждого разряда действительных чисел). При этом можно исключить из списка любую машину Тьюринга, порождающую действительное число, которое уже встречалось ранее в списке. Поскольку множество машин Тьюринга счетно, то, следовательно, счетным также должно быть и множество вычислимых действительных чисел. Почему же нельзя применить диагональный процесс к этому списку с тем, чтобы породить новое
невключенное в список вычислимое число? Ответ состоит в том, что в общем случае невозможно с помощью вычислений решить, следует ли ту или иную машину Тьюринга включать в список, поскольку для этого мы должны были бы иметь возможность решить проблему остановки. Некоторые машины Тьюринга, начав порождение цифр действительного числа, могут зависнуть и оказаться уже не в состоянии выдать очередную цифру (поскольку они «не остановятся»). Не существует вычислимого способа, который позволил бы решить, какие именно машины Тьюринга зависнут таким образом. Это, в сущности, и есть проблема остановки. Значит, хотя метод диагонального процесса и породит некоторое действительное число, последнее не будет вычислимым. На самом деле, это рассуждение может использоваться
для доказательствасуществования невычислимых чисел. Именно в этом ключе выдержано описанное в предыдущей главе тьюринговское доказательство существования классов алгоритмически неразрешимых задач. Другие области применения диагонального процесса будут рассмотрены дальше.«Действительность» действительных чисел