46
типов:
1) записывает на ленту вместо текущей буквы новую;
2) сдвигается по ленте на одну ячейку влево или вправо;
3) прекращает вычисление (операция остановки).
Новое состояние и выполняемое действие однозначно определяются текущим
состоянием и считываемой с ленты буквой. Детерминированная машина Тьюринга
(ДМТ) представляет по сути черный ящик, умеющий выполнять только заданное
множество элементарных операций: +, -, *, /, или, и, читать, писать, если …, то …,
повторять. Она находится в заданный момент в строго определенном состоянии, за
один шаг она совершает единственное действие определяемое этим состоянием, а затем
переходит в следующее состояние и все начинается сначала.
Обозначим z
с,
z
n
соответственно текущее и следующее состояния машины Тьюринга,
x
r
- буква, читаемая с ленты, y
p
– выполняемая операция. Тогда при заданной на ленте
начальной строке букв (строка не должна содержать пробелов) и определенном
состоянии работа машины Тьюринга определяется упорядоченным множеством
четверок:
〈z
c
, x
r
, z
n
, y
p
〉 (8)
Машина называется детерминированной, если запрещается, чтобы любые две
четверки из этого множества начинались с одной и той же пары z
c
, x
r
, в противном
случае машина Тьюринга называется недетерминированной. Общепринятая гипотеза
известная как тезис Черча, утверждает, что если функцию можно вычислить на
детерминированной машине Тьюринга то она считается вычислимой. Таким образом,
машины Тьюринга дают аппарат позволяющий формально определить существование
алгоритмов решения различных задач. Задача считается неразрешимой, если не
существует алгоритма ее решения. Для доказательства неразрешимости задачи
достаточно доказать, что ее нельзя решить на машине Тьюринга. Неразрешимые задачи
образуют один из
трех классов задач. Во 2-й класс входят задачи, про которые не доказано, что они
неразрешимы, но для которых не найдены решающие алгоритмы. Остальные задачи
образуют класс разрешимых, т. е. они в принципе разрешимы
. Однако их решение
может потребовать больших затрат времени поэтому вычислительная сложность
изучается с позиций этого ресурса. На практике разрешимость задачи зависит от
применяемого алгоритма, конкретной системы, имеющихся вычислительных
мощностей. При заданном алгоритме время ее решения удобно представлять как
переменную, зависящую от размера рассматриваемых систем. Эта переменная,
называемая размерностью варианта задачи
задает объем входной информации,
необходимой для описания этих систем. Так как любой метод (алгоритм) позволяет
решать несколько однотипных задач с различными исходными данными, то критерием
качества метода в целом является решение наихудшего возможного случая из всех,
допускающих применение данного алгоритма. При этом определяющим является
общее число элементарных операций (время), как функция размерности входных
данных. Таким образом, сложностью алгоритма называется выраженная в виде
функции от размерности входных данных верхняя граница числа операций (времени),
необходимого для выполнения алгоритма, решающего вариант задачи. Функция
называется временной функцией сложности (
ƒ
). Можно выделить три класса задач,
отличающихся скоростью роста их функций сложности.