
- •Машина Тьюринга
- •Машина Тьюринга
- •Машина Тьюринга
- •Машина Тьюринга
- •Машина Тьюринга
- •Машина Тьюринга
- •Пример (Машина Тьюринга )
- •Решение
- •Пример (машина Тьюринга)
- •Пример (машина Тьюринга)
- •Пример (машина Тьюринга)
- •Алгоритмы
- •Конечные автоматы
- •Алгоритмы
- •Алгоритмы Конечные автоматы
- •Алгоритмы Конечные автоматы
- •Алгоритмы Конечные автоматы
- •Алгоритмы Конечные автоматы
- •Алгоритмы Конечные автоматы
- •Алгоритмы Конечные автоматы
- •Алгоритмы
- •Алгоритмы
- •Алгоритмы
- •Конечные автоматы
- •Алгоритмы
- •Алгоритмы
- •Алгоритмы

Машина Тьюринга

Машина Тьюринга
Попытки формализировать понятие алгоритма привели к понятию и созданию машины Тьюринга.
Машина Тьюринга - абстрактное устройство, состоящее из
бесконечной ленты
считывающей головки и печатывающей головки
управляющего устройства.
Лента может передвигаться влево и вправо.
Лента разбита на ячейки.

Машина Тьюринга
Считывающая и пчатавающая головка перемещается ввдоль ленты так, что в каждый дискретный момент времени она обозревает только одну ячейку.
В ячейках могут находиться символы некоторого алфавита.
A= { a1 , a2 .... ak}
Устройство обладает некоторым набором состояний
Q = { q0 , q1 ... qn}

Машина Тьюринга
Программа представляет собой набор команд
типа:
q a → q’ a’ D
где
D - символ , указывающий напрвление передвижения ленты
D € { R , L , S} R - вправо
L - влево
S - стоп

Машина Тьюринга
Команда расшифровается так:
если машина находиться в состоянии q и считанный с ленты символ равен a , то
машина переходит в состояние q’ и затем печатает символ a’ и затем лента перемещается или вправо (если D=R) или влево (если D=L) или останавливается (если D=S )
Порядок раположения команд (в отличии от обычных законов программирования ) может быть произвольным

Машина Тьюринга
Изначально машина находиться в состоянии q1.
Если машина перешла в состояние q0 , то она останавливается.
Машина называется применимой к данной комбинации , если после конечного числа шагов машина останавливается.
Если машина никогда не остановиться , то такая машина является неприменимой к данной комбинации.

Пример (Машина Тьюринга )
Найти результат применения машины Тьюринга , если программа работы машины имеет вид:
q1 0 → q1 0 R (команда читается так: машина считала символ 0 и переходит из состояния q 1 в состояние q1 c новым значением в ячейке 0 и лента смещается вправо)
q1 1 → q2 0 R ( машина считала символ 1 и переходит из состояния q 1 в состояние q2 c новым значением 0 и лента смещается вправо)
q2 0 → q0 1 S (машина считала символ 0 и переходит из состояния q2 в состояние q0 c новым значением 1 и лента останавливается , т.к. перешли в состояние q0 )
q2 1 → q1 0 R (машина считала символ 1 и переходит из состояния q2 в состояние q1 с новым значением 0 и лента смещается вправо)
Машину проверить к комбинации типа P1 = 0111010

Решение
1 шаг.
0111010 → 0 0 11 010 ( т.е. 1 в 6 разряде заменилась на 0 и лента сдвинула число вправо , добавив 0 )
q1 q2 т.о. выполнили команду 2
q1 1 → q2 0 R

Пример (машина Тьюринга)
2 шаг 0 0 1 1 0 1 0 → 0 0 0 1 0 1 0
q2 q1
машина считала 1 заменив на 0 и перешла из состояния q2 в состояние q1 и сдвинула ленту вправо
т.е. выполнилась команда 4 q2 1 → q1 0 R

Пример (машина Тьюринга)
3 шаг
0 0 0 1 0 1 0 → 0 0 0 0 0 1 0 q1 q 2
машина считала 1 заменив на 0 и перешла из состояния q1 в состояние q2 и сдвинула ленту вправо
т.е. выполнилась команда 4 q2 1 → q1 0 R