Машина Тьюринга — математическое понятие алгоритма.
Покажем, что машина Тьюринга — математическое понятие, т. е. она может получить точное математическое определение. Затем покажем, что этот математический объект обладает всеми свойствами, характеризующими любой алгоритм, т. е. машина Тьюринга является математическим уточнением (одним из возможных) интуитивного понятия алгоритма. Что есть в каждой машине Тьюринга? Есть три конечных множества A, Q и Т и программа, полностью определяющую работу машины Тьюринга. Что же представляет собой программа? Каждой паре вида (si, qi), где siÎА и qiÎQ\{q0}, соответствует тройка (sj, t, qj), где sjÎA, tÎT и qjÎQ (q0 не участвует в парах (si, qi), так как паре (si, q0) уже ничего не соответствует, машина останавливается в заключительном состоянии q0).
Множество всех пар вида (si, qi), где siÎA и qiÎQ\{q0}, называется произведением множеств А и Q\{q0} и обозначается А´Q\{q0}. Аналогично, множество всех троек вида (sj, t, qj), где sjÎA, tÎT и qjÎQ, называется произведением множеств А, Т и Q и обозначается А´Т´Q.
Таким образом, программа машины Тьюринга представляет собой функцию с областью определения А´Q\{q0}, принимающую значения из множества А´Т´Q, или отображение первого множества во второе: А´Q\{q0}®A´T´Q
Машиной Тьюринга (МТ) называется система вида (A, s0, Q, q1, q0, T, t), где А - конечное множество - алфавит МТ, s0ÎA и называется пустой буквой алфавита, Q - конечное множество, элементы которого называются состояниями МТ (Q - множество состояний МТ), q1ÎQ, q1 - начальное состояние МТ, q0ÎQ, q0 - пассивное или заключительное состояние МТ, Т={Л, Н, П} - множество сдвигов МТ, t:А´Q\{q0}®A´T´Q, t - программа МТ.
Нетрудно убедиться в том, что в этом определении фигурируют только математические и логические термины (или символы): множество, конечное множество, элемент множества, отношение принадлежности (Î), функция (®), произведение множеств, есть (—), равно (=). И никакие другие, нематематические или нелогические понятия в приведенной формулировке не используются.
Машина Тьюринга перерабатывает слова в алфавите машины согласно программе этой машины.
Какую бы МТ, имеющую алфавит A={s0, s1,..., sk}, состояния q0, q1,..., qp и программу t, мы ни взяли, можем считать, что имеется алгоритм, исходными объектами, промежуточными и окончательными результатами которого являются слова в алфавите А. Предписанием, задающим этот алгоритм, является программа t.
Другими словами, с математической точки зрения МТ — это алгоритм для переработки слов в алфавите этой машины (ради удобства отождествляем МТ с ее программой).
Проиллюстрируем основные свойства алгоритмов на примере МТ.
|