Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
125
Добавлен:
16.04.2015
Размер:
761.33 Кб
Скачать

Машины Тьюринга и грамматики типа 0

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

Доказательство. Пусть G = (VN, VT, P, S)

— грамматика типа 0 и L = L(G).

Опишем неформально недетерминированную машину Тьюринга T, распознающую язык L.

71

Машины Тьюринга и грамматики типа 0

Положим T = (Q, VT, , , q0, F), где

= VN VT {B, #, X}, причём

B, #, X VN VT.

Мы не задаём всех состояний во множестве Q сразу, но назначаем их, как только в них возникает потребность при построении .

Мы разрешаем T печатать пробел B, если необходимо.

72

Машины Тьюринга и грамматики типа 0

Сначала T имеет на ленте w VT*. Затем, сдвигая цепочку w на одну ячейку вправо, она вставляет на освободившееся перед w место символ #. Следом за w печатается цепочка # S #.

Содержание ленты в этот момент имеет вид # w # S #.

С этого момента Tm T будет недетерминированно моделировать вывод в грамматике G, начиная с символа S. Каждая сентенциальная форма будет появляться по очереди между двумя последними ограничителями # (рабочее пространство).

73

Машины Тьюринга и грамматики типа 0

Если некоторый выбор движений приводит к цепочке терминалов на рабочем пространстве, то она сравнивается с w. Если эти две цепочки равны, то Tm T принимает.

Более детально, пусть в какой-то момент Tm T имеет на своей ленте цепочку вида

#w#A1A2 ... Ak#. Машина T передвигает свою головку по цепочке A1A2 ... Ak, недетерминированно выбирая позицию i и константу r между 1 и максимальной длиной левой части любого правила из множества P.

74

Машины Тьюринга и грамматики типа 0

Затем Tm T исследует подцепочку

Ai Ai + 1... Ai + r – 1.

Если она является левой частью (lhs) некоторого правила, то она заменяется правой частью (rhs) этого же правила.

75

Машины Тьюринга и грамматики типа 0

При этом, если = | rhs | | lhs |, и 0, то

если 0 (правая часть правила короче

левой), то Tm T сдвигает последний символ # влево на | |, заполняя ячейки справа от него пробелами B;

если 0 (правая часть правила длиннее

левой), то Tm T слева от последнего символа

# временно вставляет заполнителей X, чтобы дать место для длинной правой части правила.

76

Машины Тьюринга и грамматики типа 0

Из этого простого моделирования выводов в грамматике G должно быть ясно, что Tm T

будет печатать на своей ленте строку

вида

*

*

.

# w # #, где V , точно тогда, когда S

 

G

Кроме того, если = w, то Tm T принимает.

Заметим, что для реализации проверки этого равенства опять пригодится символ X.

Что и требовалось доказать.

77

Машины Тьюринга и грамматики типа 0

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

Доказательство. Пусть язык L распознается машиной Тьюринга

T = (Q, , , , q0, F).

Мы построим грамматику G, которая недетерминированно порождает две копии представления некоторого слова из множества *, а затем моделирует действие Tm T на одной из этих копий.

78

Машины Тьюринга и грамматики типа 0

Если Tm T принимает слово, то грамматика G превращает вторую копию в терминальную строку.

Если Tm T не принимает слово, вывод никогда не даёт в результате терминальную строку.

Снова мы предполагаем без потери общности рассуждений, что для каждого q F и X значение (q, X) не определено.

79

Машины Тьюринга и грамматики типа 0

Формально положим G = (VN, , P, A1), где

VN = {[X, Y] X { }, Y } Q{A1, A2, A3}, а

P= {(1) A1 q0A2;

(2)A2 [a, a]A2 для каждого a ;

(3)A2 A3;

(4)A3 [ , B]A3 ;

(5)A3 ;

Правила (1) – (5) порождают образ начальной конфигурации Tm T, включая рабочее пространство на её ленте.

80

Соседние файлы в папке lectures