Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике В этом разделе формализуется доказательство предыдущего раздела. Показывается, что если имеется обычная машина Тьюринга $S$, то можно построить обратимую трехленточную машину Тьюринга $R$, которая ничем не хуже $S$ при любых стандартных входных данных и в конце вычислений даже превосходит ее, оставляя только эти входные данные и требуемые выходные. Машина $R$, как описано выше, производит вычисления в три стадии, третья стадия посвящена описанию работы первой стадии. Если читателя не интересуют подробности доказательства, он может опустить оставшуюся часть этого раздела. Обычная одноленточная машина Тьюринга [3] состоит из контрольного модуля, головки чтения-записи и бесконечной ленты, разделенной на клетки. Ее поведение определяется конечным набором формул перехода (обычно называемых пятерками) типа ввод-вывод-сдвиг. Пятерки выглядят так: это означает, что если контрольный модуль находится в состоянии $A$ и головка сканирует на ленте символ $T$, то головка сначала запишет $T^{\prime}$ на месте $T$, затем сдвинется на одну клетку влево, на одну клетку вправо или останется на месте в соответствии со значением $\sigma(-,+$, или 0 соответственно); наконец контрольный модуль перейдет в состояние $A^{\prime}$. В обычном обобщении на $n$-ленточные машины все $-T, T^{\prime}$ и $\sigma$ в пятерке представляют собой совокупности $n$ индексов $-n$-плеты. Каждая пятерка определяет (частичное) взаимно однозначное отображение настоящего состояния машины (т.е. содержимого ленты, положения головки и состояния контрольного модуля) на ее последующее состояние, и это отображение – детерминированное и обратимое. Чтобы сделать машину Тьюринга обратимой, мы должны добавить переходы, которые напоминают инверсии уже имеющихся переходов. Однако, поскольку операции записи и сдвига не коммутируют, инверсия пятерки ввод-вывод-сдвиг хотя и существует, но имеет другой вид, а именно: сдвиг-ввод-вывод. При конструировании обратимой машины необходимо иметь пятерки обоих типов или использовать формализм, в котором переходы и их инверсии имеют одну и ту же форму. Здесь будет использована вторая возможность – в обратимой машине использован простой тип формулы перехода, в которой во время данного перехода каждая лента подвергается операции ввода-вывода или операции сдвига, но ни одна лента не подвергается обеим операциям одновременно. Определение. Квадруплетом (для $n$-ленточной машины Тьюринга, имеющей по одной головке на ленту) называется выражение вида где $A$ и $A^{\prime}$ – положительные целые числа (обозначающие внутренние состояния контрольного модуля до и после перехода соответственно); каждое $t_{k}$ может быть или положительным целым числом, обозначающим символ, который должен быть прочитан на $k$-й ленте, или косой чертой (/), обозначающей, что при переходе считывания с $k$-й ленты не происходит; каждое $t_{k}^{\prime}$ является или положительным целым числом, обозначающим символ, который должен быть написан на $k$-й ленте, или элементом набора $(-, 0,+)$, который обозначает левый, нулевой или правый сдвиг головки на $k$-й ленте. Для каждой ленты $k, t_{k}^{\prime} \in(-, 0,+)$ тогда и только тогда, когда $t_{k}=/$. Таким образом, машина записывает на ленту в том и только в том случае, если она только что прочитала что-то, и сдвигает ленту в том и только в том случае, если она ничего не читала перед этим. где $A^{\prime \prime}$ – новое состояние контрольного модуля, отличное от $A$ и $A^{\prime}$. Когда различные пятерки разбиты таким образом, для каждого надо использовать различные связанные состояния $A^{\prime \prime}$, чтобы избежать трудностей, связанных с неопределенностью ввода. Квадруплеты имеют важные свойства, справедливость которых можно проверить непосредственно. Пусть и Определение. Входные или выходные данные называются стандартными, если они размещены на пустой до этого ленте и не содержат вставленных пробелов, когда головка ленты сканирует пробел непосредственно слева от нее и когда они включают только буквы, принадлежащие алфавиту ленты сканирующей машины. Определение. Стандартной машиной Тьюринга называется набор одноленточных пятерок удовлетворяющих следующим условиям. и контрольные состояния $A_{1}$ и $A_{f}$ больше ни в каких других пятерках не встречаются. Таким образом, эти два состояния выполняются первым и последним, соответственно, в любом законченном вычислении при стандартных выходных данных. Буква $b$ обозначает пробел. Более того, если $S$ имеет $f$ контрольных состояний, $N$ пятерок и алфавит ее ленты состоит из $z$ букв, включая пробелы, то $R$ будет иметь $2 f+2 N+4$ состояний, $4 N+2 z+3$ квадрулета и алфавиты лент из $z, N+1$ и $Z$ букв соответственно. Наконец, если при каком-нибудь вычислении на $S$ требуется $ выше. В этом случае $m$-я пятерка превратится в Дополнительные состояния $A_{m}^{\prime}$ отличаются от старых состояний и друг от друга: каждое $A^{\prime}$ появляется только в одной паре квадруплетов. Затем добавляются две дополнительные ленты: одна для записи истории, другая для дублирования выходных данных. Лента вывода (третья) остается пустой и не сдвигается на настоящий момент, а лента истории (вторая) служит для записи индекса $m$, как только выполнена пара переходов. Заметим, что лента записи истории (вторая) не совпадает по фазе с двумя другими – запись на нее идет, когда те сдвигаются, и наоборот. Такая корреляция фаз необходима, чтобы обеспечить обратимость она служит для сбора информации, которая в противном случае была бы потеряна, когда специфическое контрольное состояние $A_{m}^{\prime}$ переходит в более общее состояние $A_{k}$. Положительный (+) сдвиг ленты истории обеспечивает готовность пустой клетки воспринять следующую величину $m$. Если вычисления $S$, равно как и вычисления $R$, не остановлены, машина будет продолжать печать ленты истории неограниченно. С другой стороны, если (при стандартном вводе) $S$ останавливается, то $R$ в конце концов выполнит $N$-ю пару квадруплетов, находясь в состоянии $A_{f}$, со стандартным выводом на ленту 1 . Головка истории будет сканировать номер $N$, который был только что записан в самую крайнюю правую позицию ленты истории 2 (см. таблицу 1). Контрольное состояние для этой стадии обозначено через $B^{\prime}$ и отличается от всех контрольных состояний типа $A$. Заметим, что процесс копирования можно сделать обратимым, при этом на ленте истории больше ничего писать не нужно. Это показывает, что создание (или уничтожение) дубликата данных не требует отбрасывания информации. Таблица 1. ${ }^{1}$ Структура и действие трехленточной обратимой машины Тьюринга. Вычисления производятся в три стадии с использованием различных наборов квадруплетов и контрольных состояний, связь проявляется через состояния $A_{f}$ и $C_{f}$. Справа символически показано содержимое лент в начале и конце каждой стадии. Подчеркивание показывает положение головки. Начальное состояние – $A_{1}, C_{1}$ – конечное состояние для выполненного вычисления. На второй стадии маленькие скобки обозначают набор квадруплетов для каждой непустой литеры ленты $x$. Как показано в таблице 1 , общее число контрольных состояний равно $2 N+2 f+4$, число квадруплетов $4 N+2 z+3$, при этом вычисление требует столько времени и столько клеток, сколько было упомянуто в начале доказательства. Неперекрываемость областей определения и значения для всех квадруплетов обеспечивает детерминизм и обратимость машины $R$. На первой стадии верхние переходы каждой пары не перекрываются в их областях определений из-за принятой за аксиому детерминированности машины Тьюринга $S$, чьи пятерки также начинаются с $A_{j} T \rightarrow$. Области значений верхних квадруплетов (как и области определений нижних) предохраняются от перекрывания единственностью состояния $A_{m}^{\prime}$. Наконец, область значений нижних квадруплетов защищена от перекрывания единственностью выходных данных $m$ на ленте истории. Состояние $A_{f}$ не доставляет хлопот, даже если оно появляется как на стадии 1 , так и на стадии 2 , потому что по определению машины $S$ оно не появляется слева на стадии 1 ; то же относится и к состоянию $C_{f}$. Неперекрываемость на стадии 2 можно проверить, в то время как детерминизм и обратимость стадии 3 следуют из этих свойств стадии 1.
|
1 |
Оглавление
|