Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1курс / 2 сем / МЛиТА / лекции (сборник през / МАТ ЛОГИКА ЛЕК 4.pptx
Скачиваний:
12
Добавлен:
09.07.2024
Размер:
1.16 Mб
Скачать

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

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

Попытки формализировать понятие алгоритма привели к понятию и созданию машины Тьюринга.

Машина Тьюринга - абстрактное устройство, состоящее из

бесконечной ленты

считывающей головки и печатывающей головки

управляющего устройства.

Лента может передвигаться влево и вправо.

Лента разбита на ячейки.

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

Считывающая и пчатавающая головка перемещается ввдоль ленты так, что в каждый дискретный момент времени она обозревает только одну ячейку.

В ячейках могут находиться символы некоторого алфавита.

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