Next: 3. Сложность и сложностные
Up: 2. Способы решения задач
Previous: 2.1. Исполнитель
Contents: Содержание
2.2. Машины Тьюринга
Приведем формальное определение алгоритма, согласованное с предыдущим
неформальным обсуждением.
Машина Тьюринга (сокращенно МТ)
однозначно
задается указанием набора
,
где
Состояние
МТ задается тройкой ,
где - бесконечное слово в алфавите ,
т. е. произвольная последовательность
элементов ;
- неотрицательное целое число;
.
Символы слова будем, как это принято, представлять
записанными на
ленте,
разбитой на ячейки, по ячейке на символ.
На ленте также имеется головка,
которая расположена
над ячейкой с номером .
Наглядно это
изображается так:
Помимо ленты машина Тьюринга имеет управляющее устройство,
состояние которого задается элементом множества .
Состояния МТ меняются дискретно.
За один такт работы
управляющее устройство выполняет следующие
действия (полагаем, что МТ находится в состоянии ):
читает
символ, находящийся под головкой (т. е. определяет );
вычисляет
значение функции переходов:
(если функция переходов на паре
не определена, то останавливает машину Тьюринга);
записывает
на ленту в ячейку символ , сдвигает головку на и
переходит в состояние (другими словами, новое состояние машины
задается тройкой
);
если , то останавливает машину.
Работа машины Тьюринга начинается из
состояния
, где за конечным
словом , состоящим из символов внешнего
алфавита, (множество таких слов обозначается
) следует
бесконечное слово, целиком состоящее из пустых символов. Слово
будем называть входом МТ. В любой момент времени
слово, записанное на ленте, однозначно записывается в виде
, где последний символ слова - не
пустой, а за ним идут только пустые символы. Будем называть слово
используемой частью ленты.
Выполняя один такт работы за другим,
машина Тьюринга порождает
последовательность состояний
Если МТ останавливается, используемая часть ленты в достигнутом перед
остановкой состоянии называется результатом работы МТ.
Каждая
машина Тьюринга вычисляет
частичную функцию
из
в
, отображающую
вход в результат работы МТ на
входе при условии, что результат работы является словом
во внешнем алфавите. Для входов, на которых машина не останавливается
или результат содержит символы из
,
функция не определена. Из определения ясно, что любая МТ
вычисляет ровно одну функцию (быть может, нигде не определенную).
Определение 1.
Частичная функция из
в
называется
вычислимой, если существует машина Тьюринга ,
для которой .
При этом будем говорить, что вычислима на .
Не все функции вычислимы. Это ясно из сравнения мощности множества
функций (континуум) и мощности множества машин Тьюринга (счетное
множество). Есть и явные примеры невычислимых функций.
Один из важнейших -
проблема остановки: дана машина Тьюринга и входное слово;
нужно проверить, останавливается ли эта машина Тьюринга на данном
входе.
Упражнение 1.
Определите функцию на множестве слов в конечном алфавите, отвечающую
проблеме остановки машины Тьюринга.
Подсказка: хотя машина Тьюринга реализует функцию на бесконечном
множестве, она может быть описана конечным словом.
Next: 3. Сложность и сложностные
Up: 2. Способы решения задач
Previous: 2.1. Исполнитель
Contents: Содержание
Написать комментарий
|