Матлог / Mashiny_Tyuringa-kor_may_2019
.pdfМашины Тьюринга
При построении математической модели алгоритма Пост и Тьюринг исходили из того, что все действия, которые может производить любой алгоритм, можно разложить на некоторые канонические элементарные шаги, выполняемые подходяще устроенными вычислительными машинами. Такие машины строго математически определяются следующим образом.
Определение. Машина Тьюринга Т представляет собой алгебраическую систему Т=(Σ,Q,δ, qS , qF ), работающую в дискретные моменты времени t =0,1,2,... и состоящую из следующих частей:
•конечное множество Σ = {0,1,...} - называется внешним алфавитом,
• |
конечное |
множество |
Q = {qS , qF ,...} |
- |
называется |
||||
|
внутренним |
|
алфавитом, |
элементы |
|
Q называются |
|||
|
состояниями машины, |
|
|
|
|
|
|||
• |
отображение |
|
δ : Q × Σ → Q × Σ × {R, L, S}, |
которое |
|||||
|
определяет |
|
список |
команд |
T (q, a) = qa → q' a' X – |
||||
|
символическое обозначение образов δ (q, a) = (q', a', X ) |
||||||||
|
отображения |
δ |
для |
q Q \ {qF }, |
a Σ |
и |
X {R, L, S} , |
||
|
множество |
всех |
команд |
Π = {T (q, a) : q Q \ {qF } a Σ} |
называется программой машины,
•состояние qS называется начальным и означает начало работы машины,
•состояние qF называется заключительным и означает завершение работы машины.
109
Схематическое описание работы машины Тьюринга:
1)символы внешнего алфавита Σ записываются в ячейки конечной ленты, которая называется внешней памятью машины, при необходимости в ячейки записывается символ , который называются пустым
2)символы внутреннего алфавита обозначают состояния
управляющего устройства машины (УУ) с
просматривающей головкой, которая может перемещаться вдоль ленты и в каждый момент времени t просматривать одну ячейку,
3)в зависимости от состояния машины q и символа a в
просматриваемой |
ячейке |
УУ |
по |
команде |
T (q, a) = qa → q' a' X |
заменяет в ячейке букву a на букву a' , |
состояние q на состояние q' и в зависимости от значения
X {R, L, S} сдвигает просматривающую головку либо в соседнюю правую ячейку при X = R , либо в соседнюю
левую ячейку при X = L , либо оставляет головку на месте
X = S . При необходимости на ленте достраиваются справа или слева ячейки с пустым символом .
Математическое описание работы машины Тьюринга:
Работа машины Тьюринга Т происходит под действием ее команд и заключается в изменении ее конфигураций, описывающих состояния ленты и управляющего устройства, а также положение головки относительно ячеек ленты. Если лента находится в состоянии, которое описывается словом αaβ над алфавитом Σ, и
головка в состоянии q просматривает на ленте ячейку с состоянием a, то соответствующая конфигурация K машины Т описывается выражением , которое называется машинным словом.
При этом К называется начальной конфигурацией, если описывающее ее машинное слово содержит символ начального состояния qS , и заключительной конфигурацией, если
110
описывающее ее машинное слово содержит символ заключительного состояния qF .
Программа указывает, что машина делает в каждый момент времени в зависимости от ее настоящей конфигурации К: если К - заключительная конфигурация, то машина заканчивает работу, если же К не является заключительной конфигурацией и описывается машинным словом M = αqaβ , то в программе Π
машина находит команду T(q,a) с левой частью qa (по определению программы в ней есть точно одна такая команда) и в зависимости от вида правой части такой команды T(q,a) машина выполняет описанные в п.3) действия.
Изменение конфигураций К0,К1,К2,… машины Т под действием команд происходит в дискретные моменты времени t = 0,1,2,... и описывается преобразованием соответствующих машинных слов M0,M1,M2,…по следующему правилу. За один шаг работы машины Т ее машинное слово M = αqaβ под действием
команды T(q,a) преобразуется в новое машинное слово М' по формулам:
если T (q, a) = qa → q' a' S , то ,
если T (q, a) = qa → q' a' R и M = αqabβ ′ , то M ′ = αa' q' bβ ′ ,
если T (q, a) = qa → q' a' R и M = αqa , то M ′ = αa' q' ,
если T (q, a) = qa → q' a' L и M = α ′bqaβ , то M ′ = α ′q' ba' β ,
если T (q, a) = qa → q' a' L и M = qaβ , то M ′ = q' a' β .
Символически такое одношаговое преобразование машинных слов обозначается M →T M ′ .
Если существует такая последовательность преобразований
машинных слов M i |
→T M i +1 |
(где i = 0,1,..., k − 1), для которой M 0 = M и |
M k = M ′ , то пишут |
M T |
M ′ и говорят, что машинное слово М' |
получается из машинного слова М с помощью машины Т.
111
Вход машины: слово w Σ* на ленте машины Т в начальном
состоянии qS .
Выход машины: слово w' Σ* на ленте машины Т в
заключительном состоянии qF .
В этом случае говорят, что машина Т принимает слово w и выдает значение w' = T (w) . Таким образом, машина Т определяет язык L(T ) Σ* , который состоит за всех принимаемых машиной Т слов.
Определение. Язык L Σ* принимается машиной Тьюринга,
если L = L(T ) для некоторой машины Тьюринга Т.
Таким образом, любая машина Тьюринга Т определяет частичную функцию f из Σ в Σ , область определения которой Df
состоит из всех слов алфавита Σ , к которые принимает машина Т, и значения которой для слов w D f определяются по формуле:
f (w) = T (w) .
Определение. Частичная функция f из Σ в Σ называется
вычислимой по Тьюрингу, если она определяется некоторой машиной Тьюринга.
Пример. Пусть машина Тьюринга Т имеет внешний алфавит
Σ = {0,1} , внутренний алфавит Q = {qS , qF , q} и программу Π, которая
состоит из команд: 1 → 1 , 1 → 1 , → 1 . Тогда слово α=11 машиной Т перерабатывается в слово β=111, так как
qS 11 →T 1q1 →T 11q →T 11qF 1 и T (11) = 111. .
Легко видеть, что любое слово α=1n над алфавитом Σ = {0,1}
машиной Т перерабатывается в слово β=α1=1n+1. Это означает, что
машина Т к любому слову |
над алфавитом A = {1} |
приписывает |
||
справа символ 1. |
|
|
|
|
Определение. Частичная словарная функция |
f |
: (Σ )n → Σ |
над |
|
алфавитом Σ1 называется |
вычислимой по |
Тьюрингу, |
если |
|
|
112 |
|
|
|
существует машина Тьюринга Т с внешним алфавитом Σ , для которой при любых w1 ,..., wn Σ условие (w1 ,..., wn ) D f равносильно тому, что машина Т применима к слову α = w1 ... wn и результат переработки машиной Т такого слова равен значению
функции f (w1 ,..., wn ) .
113