Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
automats.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
5.12 Mб
Скачать

2.5. Машина тьюринга [ 5, 8 ]

Универсальный способ задания алфавитного преобразования – алгоритмический, т.е. основанный на понятии алгоритма [12] . Под алгоритмом обычно понимается точное предписание, определяющее процесс переработки исходных данных в требуемый результат.

При этом требуется : 1) чтобы исходные данные были заданы в конкретном алфавите и могли принимать значения из некоторого множества, т.е. носили массовый характер; 2) чтобы процесс переработки данных состоял из отдельных дискретных шагов и был детерминированным; 3) чтобы были чётко указаны условия остановки процесса и что следует считать результатом процесса.

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

Было предложено несколько точных математических моделей, уточняющих понятие алгоритма, - система рекурсивных функций Клини, машина Тюринга, нормальный алгоритм А.А. Маркова, схема Колмогорова-Успенского, лямбда- конверсии Черча, финитные комбинаторные процессы Поста.

А. Черч впервые обосновал положение о том, что все уточнения понятия алгоритма эквивалентны (“Тезис Чёрча”), т.е. правильно отражают интуитивное представление об алгоритмах, сложившиеся в математике.

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

В каждой ячейке может быть записан один символ из алфавита А. Головка может находиться в одном из внутренних состояний, принадлежащих конечному множеству S. Работа машины происходит в дискретном времени. В зависимости от состояния головки sS и символа а А, против которого она стоит, головка записывает на ленте новый символ а+ (или оставляет старый), переходит в новое состояние s+ (или остается в старом) и передвигается: вправо (R), влево (L) или остается в прежнем положении (N).

В табл. 11 приведен пример команд машины Тьюринга, имеющих вид (а,s) → (a+, D, s+), где а {_, +, 1}, s {s1, s2, s3, !}, D {R, L, N}.

Таблица 11

a

s

s1

s2

s3

1

_

+

_R s3

_R s1

_N !

1 L s2

_R s1

+ Ls2

1 R s3

1 N s2

+ R s3

Данная машина выполняет сложение чисел, представленных в унитарном коде. Например, сложение чисел 111+11 (три плюс два) осуществляется за три цикла:

111+11

11+111

1+1111

+11111

11111

Начальное состояние головки s1. Состояние s3 соответствует перемещению головки вправо с «перетаскиванием» единицы. Состояние s2 соответствует перемещению головки влево. Состояние ! означает остановку машины. На рис. 18 показан начальный этап вычислений.

Л … _ 11 + 111 _ …

Г s1

Л … _ _ 1 + 111 _ …

Г s3

Л … _ _ 1 + 111 _ …

Г s3

Л … _ _ 1 + 111 _ …

Г s3

Л … _ _ 1 + 111 _ …

Г s3

Л … _ _ 1 + 111 _ …

Г s3

Л … _ _ 1 + 111 _ …

Г s3

Л … _ _ 1+1111 _ …

Г s2

Рис. 18

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]