Элементы теоретического программирования Машина Тьюринга – математическое понятие алгоритма
Каждой паре вида (s i, q i ), где s i А и q i Q\{q 0 }, соответствует тройка (s j, t, q j ), где s j A, t T и q j Q (q 0 не участвует в парах (s i, q i ), так как паре (s i, q 0 ) уже ничего не соответствует, машина останавливается в заключительном состоянии q 0 ).
Машина Тьюринга – математическое понятие алгоритма Множество всех пар вида (s i, q i ), где s i A и q i Q\{q 0 }, называется произведением множеств А и Q\{q 0 ) и обозначается А Q\{q 0 ). Аналогично, множество всех троек вида (s j, t, q j ), где s j A, t T и q j Q, называется произведением множеств А, Т и Q и обозначается А Т Q
Машина Тьюринга – математическое понятие алгоритма Таким образом, программа машины Тьюринга представляет собой функцию с областью определения А Q\{q 0 }, принимающую значения из множества А Т Q, или отображение первого множества во второе: А Q\{q 0 } A T Q
Машина Тьюринга – математическое понятие алгоритма Машиной Тьюринга (МТ) называется система вида (A, s 0, Q, q 1, q 0, T, ), где А конечное множество алфавит МТ, s 0 A и называется пустой буквой алфавита, Q конечное множество, элементы которого называются состояниями МТ (Q множество состояний МТ), q 1 Q, q 1 начальное состояние МТ, q 0 Q, q 0 пассивное или заключительное состояние МТ, Т={Л, Н, П} множество сдвигов МТ, :А Q\{q 0 } A T Q, программа МТ.
Машина Тьюринга – математическое понятие алгоритма Машина Тьюринга перерабатывает слова в алфавите машины согласно программе этой машины.
Машина Тьюринга – математическое понятие алгоритма Какую бы МТ, имеющую алфавит A={s 0, s 1,..., s k }, состояния q 0, q 1,..., q p и программу, мы ни взяли, можем считать, что имеется алгоритм, исходными объектами, промежуточными и окончательными результатами которого являются слова в алфавите А. Предписанием, задающим этот алгоритм, является программа.
Машина Тьюринга – математическое понятие алгоритма Другими словами, с математической точки зрения МТ это алгоритм для переработки слов в алфавите этой машины (ради удобства отождествляем МТ с ее программой).
Машина Тьюринга – математическое понятие алгоритма Массовость алгоритма. Множество исходных данных для алгоритма множество всевозможных слов в алфавите А машины. Это множество бесконечно, его элементы записываются на ленте машины.
Машина Тьюринга – математическое понятие алгоритма Результативность алгоритма. Алгоритм по любому исходному данному позволяет в конечное число шагов получить результат. Программа МТ применяется единообразно ко всевозможным исходным данным и не меняется в процессе работы машины над исходным словом. Программа описывает переход от одного состояния к другому. Некоторое состояние опознается как заключительное. Появившееся при этом на ленте слово в алфавите А является результатом переработки слова, записанного на ленте в начальном состоянии машины.
Машина Тьюринга – математическое понятие алгоритма Конструктивность объектов. Исходные объекты, промежуточные и окончательные результаты для МТ слова в алфавите А машины. Такие объекты являются конструктивными.
Машина Тьюринга – математическое понятие алгоритма Детерминированность (определенность) алгоритма. Программа составлена таким образом, что ее исполнение однозначно осуществимо. Действительно, программа это совокупность команд вида s i q j s m Tq p, причем любые две различные команды не содержат одинаковых левых частей. При этом условии система команд не может требовать двух или более различных действий в одно и то же время.
Машина Тьюринга – математическое понятие алгоритма Детерминированность (определенность) алгоритма. Свойство детерминированности означает также, что применение программы к одному и тому же слову в алфавите А приводит к одному и тому же результату с одной и той же последовательностью состояний ленты.
Машина Тьюринга – математическое понятие алгоритма Конечность предписания, задающего алгоритм. Программа представляет собой конечное предписание, причем процесс вычислений протекает только согласно программе и исходным данным, ничего более не используется.
Машина Тьюринга – математическое понятие алгоритма Нельзя ли задавать посредством МТ и другие известные нам алгоритмы, задаваемые обычно с помощью предписаний. Другими словами, насколько «богат» класс МТ? Быть может он включает все алгоритмы?
Машина Тьюринга – математическое понятие алгоритма Тезис Тьюринга: Всякий алгоритм может быть задан посредством МТ
Машина Тьюринга – математическое понятие алгоритма В тезисе Тьюринга речь идет, с одной стороны, о понятии алгоритма, которое не является точным математическим понятием; с другой стороны, о точном математическом понятии МТ. Значение этого тезиса и заключается в том, что он уточняет понятие алгоритма через математическое понятие машину Тьюринга
Классы задач не имеющих разрешающего алгоритма 1.Существует ли алгоритм, позволяющий по произвольному уравнению с целыми коэффициентами выяснить, имеет оно целочисленное решение или нет?
Классы задач не имеющих разрешающего алгоритма 2.Существует ли алгоритм, позволяющий по любому ассоциативному исчислению выяснить, разрешима в нем проблема эквивалентности слов или нет?
Машина Тьюринга ~ Нормальный алгоритм Маркова Класс алгоритмов в форме машин Тьюринга и класс нормальных алгоритмов совпадают, эти алгоритмы равносильны.
Машина Тьюринга ~ Нормальный алгоритм Маркова Иными словами, для каждого алгоритма из класса машин Тьюринга существует равносильный ему алгоритм в классе нормальных алгоритмов, и наоборот.
Машина Тьюринга ~ Нормальный алгоритм Маркова В этом смысле две математические теории алгоритмов: теория нормальных алгоритмов и теория машин Тьюринга, считаются эквивалентными (равносильными).