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

на главную

Жанры

Сон разума. Математическая логика и ее парадоксы
Шрифт:

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

Начнем с первой инструкции: так как считан символ 1, нужно сместиться вправо и перейти к инструкции № 2. Никакой загадки нет.

Теперь, согласно инструкции № 2, если считан 0, машина Тьюринга должна заменить его на 1 и перейти к инструкции № 3. Последуем этой инструкции.

И

вновь, согласно инструкции № 3, машина Т должна остановиться, если считан 1, следовательно, программа прекратит выполнение, а результатом ее работы будет лента, на которой записаны две единицы посреди бесконечного множества нулей, при этом устройство чтения-записи будет располагаться рядом с единицей, записанной справа. Если мы вновь запустим эту машину Тьюринга, в результате получим ленту, на которой будет записано три единицы, таким образом Т вычисляет не что иное, как значение функции f(n) = n + 1. В общем случае функция является вычислимой, если существует машина Тьюринга, вычисляющая каждое из ее значений.

Допустим, что натуральное число n закодировано, как мы показали в предыдущем примере, путем ввода бумажной ленты, на которой записано единиц посреди бесконечного множества нулей справа и слева, при этом устройство чтения-записи расположено на ячейке с последней единицей. Функция f будет вычислимой, если существует такая машина Тьюринга, что при вводе произвольного значения n описанным способом ее выходным значением будет f(n). Мы доказали, что функция «прибавить единицу» является вычислимой на машине Тьюринга. Так как для вычисления функции f(n) = n + 2 достаточно выполнить это же множество инструкций два раза, а для вычисления f(n) = n + 3 — трижды, операция сложения является вычислимой. Вычислимой является и операция умножения, поскольку умножить 3 на 3 означает сложить число 3 с самим собой три раза или сложить число 3 с самим собой пять раз. Мы указали, что функция является вычислимой, если существует машина Тьюринга, вычисляющая каждое из ее значений, но это не означает, что мы всегда можем найти такую машину. Рассмотрим, например, функцию, которая принимает в качестве входных и выходных значений только нули и единицы. Следовательно, достаточно определить значение f(0), которое может равняться 0 или 1, и f(1), которое также будет иметь одно из этих значений.

Читателю несложно убедиться, что существует всего четыре функции с подобными свойствами: та, которая всегда возвращает значение 0; та, значение которой всегда равно 1; та, которая при входном значении 0 принимает значение 0, при входном значении 1–1, и та, которая сопоставляет числу 0–1 и наоборот, числу 1–0.

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

Пусть на множестве чисел от 1 до 9 определена некая функция, которая ставит в соответствие n значение 1, если десятичная запись числа содержит n последовательных цифр n (например, число 4444 для n = 4), и 0 в противном случае. Согласно этому определению f(1) равно 1, так как десятичная запись , которая начинается с 3,141592 …, содержит 1 (это первый знак после запятой).

Аналогично f(2) также равно 1, однако чтобы найти первую последовательность цифр 22, нужно просмотреть 135 первых знаков : …44609550582231725359408.

Следующая таблица была составлена с помощью программы для подобных экспериментов, которая находится на сайте http://www.angio.net/pi/bigpi.cgi.

Из таблицы видно, что наша функция принимает значение 1 для первых восьми натуральных чисел, так как запись числа содержит последовательности цифр 333, 4444, 55555, 666666, 7777777 и 88888888. Чтобы вычислить значение f(9), можно написать программу, которая будет обходить все знаки , пока не будет найдена искомая последовательность из девяти девяток подряд. Если такая последовательность в записи действительно существует, то программа обязательно обнаружит ее, и функция примет значение 1. Время выполнения программы в данном случае не имеет значения, поскольку, как мы неоднократно указывали, речь идет об идеальной машине, не имеющей физических ограничений, свойственных компьютерам. Однако если последовательность из девяти девяток подряд в записи отсутствует, программа никогда не остановится, и мы не сможем определить значение f(9). Следовательно, мы никогда не сможем узнать, является ли функция f вычислимой, если только не докажем, что в записи числа присутствует последовательность из девяти девяток подряд. Однако в этом случае программа будет бесполезной, так как из нашего доказательства будет следовать, что f(9) равно 1. Эта функция является вычислимой, хотя на первый взгляд может показаться, что это не так.

* * *

А ЧТО, ЕСЛИ ВСЕ ЕСТЬ ЧИСЛО?

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

* * *

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

Другим классом вычислимых функций являются рекурсивные функции, то есть такие функции, в которых значение f(n) можно вычислить на основе значений, которые принимает эта функция для других чисел, меньших n. Большинство функций, постоянно используемых в математике, являются рекурсивными, но все ли они вычислимы? Алан Тьюринг моментально дал отрицательный ответ на этот вопрос: существует множество функций, значение которых не сможет вычислить ни одна машина Тьюринга, более того, если выбрать функцию произвольным образом, то она почти наверняка не будет вычислимой. В то же время по другую сторону Атлантики логик Алонзо Чёрч (1903–1995) из Принстонского университета пришел к тем же выводам, разработав формальную систему, которую он назвал лямбда-исчислением. Обе эти идеи были столь новаторскими, что единственным, кого смогли найти редакторы журнала Proceedings of the London Mathematical Society для рецензирования статьи Тьюринга, оказался именно Чёрч. Так началось их плодотворное сотрудничество, прервавшееся на время войны, результатом которого стал принцип, сегодня известный под названием «тезис Чёрча — Тьюринга». Возможны и другие определения вычислимой функции, но если принять этот тезис, то все они будут эквивалентны существованию машины Тьюринга, вычисляющей значения функции.

Алонзо Чёрч, коллега Тьюринга и создатель лямбда-исчисления.

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

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

Клан

Русич Антон
2. Долгий путь домой
Фантастика:
боевая фантастика
космическая фантастика
5.60
рейтинг книги
Клан

Не кровный Брат

Безрукова Елена
Любовные романы:
эро литература
6.83
рейтинг книги
Не кровный Брат

На границе империй. Том 9. Часть 2

INDIGO
15. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 2

Последний Паладин. Том 2

Саваровский Роман
2. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 2

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

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

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

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

Как я строил магическую империю 2

Зубов Константин
2. Как я строил магическую империю
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Как я строил магическую империю 2

Вдова на выданье

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Вдова на выданье

Пустоши

Сай Ярослав
1. Медорфенов
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Пустоши

Последний попаданец 5

Зубов Константин
5. Последний попаданец
Фантастика:
юмористическая фантастика
рпг
5.00
рейтинг книги
Последний попаданец 5

Заставь меня остановиться 2

Юнина Наталья
2. Заставь меня остановиться
Любовные романы:
современные любовные романы
6.29
рейтинг книги
Заставь меня остановиться 2

Курсант: Назад в СССР 7

Дамиров Рафаэль
7. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Курсант: Назад в СССР 7

Эволюция мага

Лисина Александра
2. Гибрид
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эволюция мага

Болотник 3

Панченко Андрей Алексеевич
3. Болотник
Фантастика:
попаданцы
альтернативная история
6.25
рейтинг книги
Болотник 3