Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lekcii_dm.doc
Скачиваний:
31
Добавлен:
08.11.2018
Размер:
11.89 Mб
Скачать

Определение.

Формально машина Тьюринга определяется как следующая шестёрка:

Т = (V1, V2, Q, δ, q0, F),

где V1 = {a1, ..., an} – входной алфавит (конечное множество символов);

V2 = {А1, ..., Аk, B} – конечное множество ленточных символов, которое в качестве своего подмножества содержит входной алфавит;

Q = {q0 , q1, ..., qn-1} – конечное множество состояний;

q0 ∈ Q – начальное состояние;

F ⊆ Q – множество заключительных состояний;

δ – функция, отображающая Q . V2 в Q . V2 – {B} . {Л, П}.

(Л и П – специальные символы, указывающие на направление движения головки, лево и право).

Отображение (функцию) δ удобно задавать совокупностью команд вида: (q, A) → (q′, A′, Л) либо (q, A) → (q′, A′, П).

Определение.

Ситуация машины Тьюринга Т – это тройка вида (q, β, i),

где q ∈ Q;

β = A1, ..., An – часть ленты, не содержащая символов В (непустая часть ленты);

i = (0 ≤ i ≤ n+1) – расстояние ленточной (пишущей - читающей) головки от левого конца β; при i = 0 головка находится левее самого левого символа β, при i = n+1 – правее самого правого.

Рассмотрим произвольную ситуацию машины Т:

(q, A1 ... Ai .... An, i), 1 ≤ i ≤ n.

Пусть среди команд отображения δ имеется следующая:

(q, Ai) → (q′, X, Л).

При этом возможно следующее движение (или элементарное действие) машины Тьюринга: головка стирает символ Аi, записывает вместо него символ Х и перемещается на одну ячейку влево.

Между старой и вновь возникшей ситуациями в этом случае существует отношение, которое записывается следующим образом:

(q, A1 ... Ai .... An, i) ├ (q′, A1 ... Ai-1 Х Ai+1.... An, i -1).

Символ означает – «утверждается».

Аналогично для команды (q, Ai) → (q′, X, П) движение машины Тьюринга записывается как

(q, A1 ... Ai .... An, i) ├ (q′, A1 ... Ai-1 Х Ai+1.... An, i+1).

Кроме рассмотренной ситуации возможны и такие:

(q, A1 ... An, 0);

(q, A1 ... An, n+1).

К ним применимы команды вида:

(q, В) → (q′, X, Л) либо

(q, В) → (q′, X, П).

Первая из этих команд меняет указанные ситуации соответственно следующим образом:

(q, A1 ... An, 0) ├ (q′, X A1 ... An, 0);

(q, A1 ... An, n+1) ├ (q′, A1 ... An X, n).

Вторая из этих команд меняет их так:

(q, A1 ... An, 0) ├ (q′, X A1 ... An, 2);

(q, A1 ... An, n+1) ├ (q′, A1 ... An X, n+2).

Определение.

Если ситуации (q1, β1, i1) и (q2, β2, i2) связаны между собой некоторым числом элементарных действий, то между ними имеет место отношение:

(q1, β1, i1) ├* (q2, β2, i2).

Определение.

Язык, допускаемый машиной Тьюринга Т, это:

L(Т) = {α | α∈ V1* ∧ (q0, α, 1) ├* (qf, β, i)},

где qf = F, β ∈ V2*, i ≥ 0.

Другими словами, если, преобразуя входную цепочку α, машина Т окажется в одном из своих заключительных состояний, эта цепочка допускается данной машиной.

Определение.

Так же как для автоматов введем понятие недетерминированной машины Тьюринга. Её отличие от детерминированной заключается в том, что функция δ отображает множество Q x V2 в множество подмножеств

Q x (V2 – {B}) x {Л, П}.

Определение.

Если язык L порождается грамматикой типа 0, то L допускается некоторой машиной Тьюринга. Верно и обратное, если язык L допускается некоторой машиной Тьюринга, то L порождается грамматикой типа 0.

    1. Машины Тьюринга и линейно-ограниченные автоматы.

Рассмотренные типы автоматов и машин Тьюринга часто используются для построения автоматно-лингвистических моделей, предназначенных для распознавания языков. Необходимо знать, разрешима ли для них так называемая проблема распознавания или нет.

Определение.

Проблема разрешимости заключается в следующем. Пусть есть некоторая цепочка α на входе машины Тьюринга, которая допускает язык L. Всегда ли можно установить принадлежность цепочки α к языку L за конечное число элементарных действий этой машины?

Однако не для всех языков типа 0 эта проблема разрешима.

Другими словами, можно подобрать такой язык типа 0, что соответствующая ему машина Тьюринга для некоторой цепочки α за конечное число элементарных действий не сможет установить принадлежность ее к данному языку. Поэтому машина Тьюринга в общем виде не нашла применения в реальных кибернетических моделях; языки типа 0 также не используются.

Наибольший интерес представляют различные специальные классы машин Тьюринга, к которым можно отнести автоматы, рассмотренные выше, а также так называемые линейно-ограниченные автоматы, допускающие языки типа 1 (НС-языки).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]