Математическая логика и теория алгоритмов. Анкудинов Г.И - 64 стр.

UptoLike

Рубрика: 

q
q q q q q
1 2 3 4 5 6
Λ
1Нq
ΛЛq ΛПq ΛПq
2 4 0 0
1
ΛЛq 1Лq ΛПq 1Лq ΛПq
1Пq
1 3 3 1 5 6
1Лq Лq ΛПq
Пq
1 5 3 6
Например, вычитание 1111¬111 (три минус два) начинается тремя
циклами, в результате каждого из которых стираются крайние единицы
содержимого ленты. Начальное состояние q
1
поддерживает перемещение
головки вправо до разделителя Λ:
Λq
1111111Λ . . . Λ1111111q Λ… .
1 1
стирается самая правая единица и в состоянии q
Затем в состоянии q
2 3
происходит перемещение головки влево до разделителя Λ:
Λ1111111q
ΛΛ111111q ΛΛ11111q 1Λ
1 2 3
11Λ . . . …Λq
Λ1111q
Λ111111Λ… .
3 3
Затем в состоянии q
4
стирается самая левая единица и начинается второй цикл:
в состоянии q
1
повторяется перемещение головки вправо до разделителя Λ и
т.д.:
q
Λ111111ΛΛq 111111ΛΛq 11111Λ … .
3 4 1
Четвертый и последний цикл отличается тем, что, обозревая символ в
состоянии q
, головка заменяет его на “1” и переходит в состояние q
2 5
,
обеспечивающее корректное завершение программы:
Λq
1−ΛΛ1q −ΛΛ1q ΛΛ1q −Λ
1 1 1 2
11Λq Λ11Λq
Λ q
11Λ… .
5 5 0
Состояние q
6
предусмотрено для случая, когда вычитаемое больше
уменьшаемого. В этом состоянии головка очищает ленту: перемещается вправо
и стирает все единицы. Встретив разделитель Λ в состоянии q
6
, головка
заменяет его единицей, остается на месте и переходит в заключительное
состояние q
.
0
Приемы программирования машины Тьюринга
Цель настоящего разделапродемонстрировать универсальные
вычислительные возможности машин Тьюринга. Для этого покажем,
148