Описание машины Тьюринга

Математическая модель машины Тьюринга имеет вид:

Т = < vt; Q; W; j; y; x >,

где: VT = {ai; a2;... an} – множество символов внешнего алфавита;
Q = {qi; q2;... qm} – множество символов внутреннего алфавита;
W = {R; L; S} – множество символов алфавита перемещения головки;
j: Q Ä vt => vt – функция выхода машины Тьюринга;
y: Q Ä vt => vt – функция переходов машины Тьюринга.
x: Q Ä vt => vt – функция перемещения головки машины Тьюринга.

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

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

K = a qi b, где a – слово, расположенное слева от головки;

b – слово, расположенное вправо от головки;

qi – текущее состояние машины Тьюринга.

Введенное понятие «состояние» машины Тьюринга определяет ее «память», т. е. учет всех тех конфигураций, которые привели машину в текущее qi состояние. Следует обратить внимание, что символ, находящийся в ячейке под считывающей головкой, является первым символом слова b, т.е. b=(aj g).

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

Для удобства анализа вычислительных алгоритмов рекурсивных функций математик Пост предложил ограничить множество символов внешнего алфавита vt двумя символами, т.е. vt = {|; #}, где "|" (палочка) есть символ унарного кода числа, а "#" – символ пробела между числами. При этом любое целое неотрицательное число может быть представлено на информационной ленте последовательностью палочек, как это представлено в табл. 2.

Запись числа «x» эквивалентно «| x + 1».

Таблица 2

Число в десятичной системе счисления «Слово» в унарном коде на информационной ленте
  |
  ||
 

I Для упорядочения составления протоколов машины Тьюринга информационную ленту ограничивают полулентой бесконечной длины только в одну сторону. Алгоритмы допустимо исследовать на левой полуленте бесконечной в левую сторону и правой полуленте бесконечной в правую сторону. В зависимости от используемой полуленты приняты различные схемы записи стандартных конфигураций машины Тьюринга (табл. 3). Таблица 3 Стандартная Информационная полулента конфигурация правая левая Началь-ная qí | x 1+ 1# | x 2+ 1 #... #| x n+ 1 | x 1+ 1# | x 2+ 1 #... #| x n qí | Конечная qk | y + 1 | y qk | Работу машины Тьюринга удобно представлять протоколом, таблицей и графом. При протокольной записи все команды должны быть записаны упорядоченным списком. Например, 1) ai qí® ajqiW 2) ak qi ® ai qj W ................................. n) am q| ® an qk S. При табличном представлении строки описывают текущее состояние машины, а столбцы – содержимое обозреваемой ячейки. Тогда элементами матрицы этой таблицы являются правые части команд (aiqjW) для соответствующей пары текущего состояния машины (акqi). Табличная форма описания машины более компактна и позволяет применить матричные методы анализа для оптимизации структуры алгоритма (табл. 4). Таблица 4 Текущее Символы vt состояние аi ак ... am q1 ajqiW ... qi ... aiqjW ... ... ... ... ... ... q0 ... ... ... anqkS


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: