Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
§ 13.3. Вычисления на машинах ТьюрингаПокажем, что, каков бы ни был алгоритм, всегда существует машина Тьюринга, выполняющая этот алгоритм. Для того чтобы это утверждение точно сформулировать, необходимо воспользоваться какой-либо формализацией понятия алгоритма. Мы воспользуемся тезисом Чёрча, сводящим каждый алгоритм к вычислению рекурсивной функции. Поэтому нам придется сначала дать определение того, что означает «вычислять» арифметические функции на машине Тьюринга. Условимся, как мы будем представлять натуральные числа и нуль на ленте машины Тьюринга. Воспользуемся кодом, согласно которому числа записываются в натуральной («единичной») системе счисления и число Будем говорить, что два числа расположены рядом, если между записями кодов этих двух чисел имеется ровно одна пустая ячейка. В табл. 13.31 рядом с числом 3 справа расположено число 0, а рядом с числом 0 справа — число 2. Таблица 13.31
В этом случае мы скажем, что числа 3, 0 и 2 расположены подряд. Условимся теперь, как будут записываться и считываться с ленты аргументы и значения вычисляемых функций. Пусть машина Т должна вычислить значение функции Вспомним, что в нашей «конструкции» машины Тьюринга имеется самая левая (первая) ячейка ленты. Оставим пустыми первые две ячейки ленты, а начиная с третьей ячейки, запишем в принятом нами коде Таблица 13.32.
В тех случаях, когда это не будет приводить к недоразумениям, мы в дальнейшем одними и теми же буквами Будем говорить, что считывающая и записывающая головка воспринимает систему чисел
Пусть Т начинает работать, отправляясь от описанной начальной ситуации. Мы скажем, что Т вычисляет функцию а) машина Т достигнет состояния покоя б) на ленте будет представлена система в) все ячейки, расположенные правее той, напротив которой находится головка, пусты. Если же для какой-либо системы чисел Приведем пример, поясняющий определение вычислений на машине Тьюринга. Пусть Таблица 13.33
Теперь мы в состоянии показать, что, какова бы ни была рекурсивная функция, можно построить машину Тьюринга, вычисляющую эту функцию. Для того, чтобы подобное доказательство провести, достаточно показать, что существуют машины Тьюринга, способные вычислять функцию следования, функции-константы и функции-тождества, а также машины, производящие операцию суперпозиции, вычисление по индукции и взятие оператора наименьшего числа (см. § 12.10). Предварительно нам понадобится ввести в рассмотрение еще несколько специальных машин Тьюринга. Машина
Основная таблица этой машины имеет вид табл. 13.34. Машина Р начинает работать, воспринимая самую правую заполненную ячейку представления какого-либо числа. Результатом ее работы является ситуация, в которой это число «перегоняется» налево и ставится рядом с ближайшим слева числом. Рассмотрение табл. 13.34 показывает, что тот же самый результат может дать несколько другая машина, имеющая не 12, а 6 состояний, основной таблицей которой является табл. 13.35. Таблица 13.34 Машина Р
Таблица 13.35 Машина Р
Поскольку нам в дальнейшем безразлично устройство машины, а важен лишь результат ее работы, то, говоря о машине Р, можно иметь в виду как табл. 13.34, так и табл. 13.35. Вариант работы машины Р представлен в соответствии с табл. 13.35 в табл. 13.36. Машина
Таблица 13.36
Таблица 13.37
Где индекс
Воспринимая в начальный момент времени систему чисел Можно показать, что Таблица 13.38
Машина
Начальная и конечная ситуации работы машины Таблица 13.39
Перейдем теперь непосредственно к доказательству того, что для любой рекурсивной функции найдется машина Тьюринга, ее вычисляющая. Покажем это сначала для «исходных» рекурсивных функций — следования, константы и тождества. I. Функцию следования II. Функцию-константу III. Функцию тождества Дальнейшее доказательство ведем по индукции по глубине рекурсивного описания рекурсивной функции. Функции I, II, III имеют по определению глубину нуль. Таблица 13.40
Применение операций суперпозиции, индукции и оператора наименьшего числа приводит к функциям, глубина которых на единицу больше, чем наибольшая глубина функций, к которым эти операции применяются. Поскольку каждая из рекурсивных функций может быть получена из исходных применением конечного числа этих операций, то остается только доказать существование машин Тьюринга, способных эти операции совершать. Таблица 13.41
Для простоты изложения мы не будем давать точных конструкций машин Тьюринга, выполняющих эти операции, а ограничимся рассмотрением более простых частных случаев; например, вместо суперпозиции по IV. Операция суперпозиции. Пусть заданы машины Тьюринга
V. Операция индукции. Пусть задана машина
Такой машиной является
VI. Оператор наименьшего числа. Пусть задана машина
Машина Приведем примеры вычисления по индукции и взятия оператора наименьшего числа, поясняющие схемы машин V и VI. Таблица 13.42 (см. оригинал) Таблица 13.43 (см. оригинал) Пример вычисления по индукции. Пусть
так
В табл. 13.42 машина М вычисляет значение Идея вычисления заключается в повторном вычислении функции Результат вычисления: Пример взятия оператора наименьшего числа. Пусть
и надо вычислить Идея вычисления заключается в определении последовательных значений Заметим еще, что все машины, выполняющие I — VI, сконструированы так, что они никогда не заходят за левый край ленты. Таким образом, мы показали, что любая рекурсивная: функция может быть вычислена на машине Тьюринга. Можно показать, что на машинах Тьюринга вычисляются только рекурсивные функции. Этот факт доказывается при помощи гёделизации ситуаций на ленте и проверки того обстоятельства, что любое изменение ситуации может быть описано с помощью рекурсивных функций (см. доказательство в [42]). В силу эквивалентности понятий «рекурсивная функция» и «функция, вычислимая на машине Тьюринга», а также в силу тезиса Чёрча можно дать и следующее определение понятия алгоритм: алгоритмом называется любая процедура, сводящаяся к вычислению значений целочисленной функции на соответствующей машине Тьюринга.
|
1 |
Оглавление
|