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

на главную

Жанры

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

Читатель легко может убедиться, что если сгруппировать каждое слагаемое с тем, что записано под ним, их сумма всегда будет равна n + 1. Так как этот процесс повторяется раз, результатом сложения будет n(n + 1). Однако в этой сумме каждое число учитывается дважды: один раз — в первом ряду, один раз — во втором. Следовательно, полученную сумму нужно разделить на два:

Читатель

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

и что сумма первых кубов рассчитывается по формуле

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

* * *

Вычислимые функции

Первым успехом Тьюринга стало определение вычислимой функции. Далее всякий раз, когда мы будем говорить о функции, мы будем иметь в виду функцию, определенную на множестве натуральных чисел и принимающую натуральные значения. Напомним, что функция — это не более чем способ сопоставить каждому числу другое число, которое мы будем называть отображением первого. Чтобы лучше понять изложенное ниже, читатель может представить функцию как машину, которая придает форму закладываемому в нее материалу. Так, наша функция превращает число 3 в другое число, которое мы будем обозначать f(3), где f — первая буква латинского слова «функция». Процесс получения f(n) по известному n может описываться последовательностью алгебраических операций или более сложной словесной формулировкой. Например, если эта функция сопоставляет каждому числу следующее за ним (как вы уже знаете из предыдущих глав, эта функция используется в аксиомах Пеано), то мы можем записать f(n) = n + 1, и результатом будет f(3) = 3 + 1 = 4. Если же, напротив, функция определяет n– е простое число, то f(3) будет равно 3, а f(4) будет равно 7, так как первыми простыми числами являются 2, 3, 3, 7, 11. В этом случае функция задается словесным описанием, а не простой формулой, определяющей значение функции в каждой точке.

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

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

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

Принцип действия машины Тьюринга

 (источник: «Complexity» Мелани Митчелл).

Как мы уже упоминали, инструкции нумеруются начиная с 1, используются символы 0 и 1, а допустимыми операциями являются запись 0 (0), запись 1(1), переход на ячейку вправо (R), переход на ячейку влево (L) или останов (N). Таким образом, любую инструкцию можно описать всего четырьмя параметрами. Если первая инструкция звучит так: «Если считан символ 1, сместиться влево и перейти к третьей инструкции», достаточно записать (#1, 1, L, #3). Читатель уже наверняка понял, что для каждой ячейки требуются две инструкции: одна указывает, что нужно делать, если считан символ 0, другая указывает, что нужно делать, если считан символ 1. Если в предыдущем примере третья инструкция указывает только действие, выполняемое в случае, если считан 0, но в действительности считан символ 1, то машина не сможет продолжить работу. Возможное решение этой проблемы может выглядеть так: в случае когда машина Тьюринга не имеет четких инструкций (а сама по себе она не способна «придумать», что делать дальше), она останавливается.

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

Инструкция № 1: Если считан 0, записать 1 и перейти к инструкции № 3.

Инструкция № 1: Если считан 1, сместиться вправо и перейти к инструкции № 2.

Инструкция № 2: Если считан 0, записать 1 и перейти к инструкции № 3.

Инструкция № 2: Если считан 1, остановить выполнение.

Инструкция № 3: Если считан 0, записать 1 и перейти к инструкции № 1.

Инструкция № 3: Если считан 1, остановить выполнение.

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

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

Программа начинает выполнение первой инструкции. Так как считан 0, а инструкция гласит «Если считан 0, записать 1 и перейти к инструкции № 3», достаточно заменить 0 на 1 и посмотреть, как звучит третья инструкция.

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

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

Клан

Русич Антон
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