ВУЗ:
Составители:
Рубрика:
56
Операции с машинами Тьюринга.
Очевидно, что некоторые алгоритмы могут быть составлены из нескольких
более простых алгоритмов, и наоборот, могут служить основой для построения
новых алгоритмов.
Точно также, удобно строить машины Тьюринга, исходя из уже построенных
машин.
Принцип двойственности.
Пусть Т – произвольная программа (машина Тьюринга). Обозначим Т*
программу, которая получается из Т заменой (во всех командах) R на L и наоборот.
Программа Т* называется
двойственной к Т.
Пример. Машина Тьюринга в произвольной записи, начиная с любой ячейки,
двигаясь вправо, находит первый нуль. Соответствующая программа имеет вид:
⎩
⎨
⎧
Rqq
Eqq
T
11
00
:
11
01
.
Возможны три случая.
1.
В начальный момент головка машины обозревает нуль. Машина
останавливается.
2.
В начальный момент головка машины обозревает единицу, и справа от
начальной ячейки есть хотя бы один нуль. Машина переместит головку через массив
единиц вправо и остановится перед первым нулем.
3.
В начальный момент головка машины обозревает единицу, и справа от
начальной ячейки запись состоит только из единиц. Машина будет перемещать
головку через массив единиц вправо, не останавливаясь.
В программе заменим символ R на L. Получим программу:
⎩
⎨
⎧
Lqq
Eqq
T
11
00
:
11
01
.
Данная программа будет двойственной к предыдушей. Непосредственной
проверкой можно убедиться, что головка машины, двигаясь влево, будет отыскивать
первый нуль.
Очевидно, что (Т*)*=Т, то есть понятие двойственности является взаимным.
Машины Тьюринга, соответствующие двойственным программам, будем называть
двойственными машинами Тьюринга.
Из примера было видно, что двойственные машины функционируют
симметричным образом.
Так, пусть в начальный момент времени имеется
конфигурация
Операции с машинами Тьюринга. Очевидно, что некоторые алгоритмы могут быть составлены из нескольких более простых алгоритмов, и наоборот, могут служить основой для построения новых алгоритмов. Точно также, удобно строить машины Тьюринга, исходя из уже построенных машин. Принцип двойственности. Пусть Т – произвольная программа (машина Тьюринга). Обозначим Т* программу, которая получается из Т заменой (во всех командах) R на L и наоборот. Программа Т* называется двойственной к Т. Пример. Машина Тьюринга в произвольной записи, начиная с любой ячейки, двигаясь вправо, находит первый нуль. Соответствующая программа имеет вид: ⎧q1 0q0 0 E T :⎨ . ⎩q11q11R Возможны три случая. 1. В начальный момент головка машины обозревает нуль. Машина останавливается. 2. В начальный момент головка машины обозревает единицу, и справа от начальной ячейки есть хотя бы один нуль. Машина переместит головку через массив единиц вправо и остановится перед первым нулем. 3. В начальный момент головка машины обозревает единицу, и справа от начальной ячейки запись состоит только из единиц. Машина будет перемещать головку через массив единиц вправо, не останавливаясь. В программе заменим символ R на L. Получим программу: ⎧q1 0q0 0 E T :⎨ . ⎩q11q11L Данная программа будет двойственной к предыдушей. Непосредственной проверкой можно убедиться, что головка машины, двигаясь влево, будет отыскивать первый нуль. Очевидно, что (Т*)*=Т, то есть понятие двойственности является взаимным. Машины Тьюринга, соответствующие двойственным программам, будем называть двойственными машинами Тьюринга. Из примера было видно, что двойственные машины функционируют симметричным образом. Так, пусть в начальный момент времени имеется конфигурация 56
Страницы
- « первая
- ‹ предыдущая
- …
- 49
- 50
- 51
- 52
- 53
- …
- следующая ›
- последняя »