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

§8.2. Связь линейно ограниченных автоматов

сконтекстно-зависимыми языками

Наш интерес к линейно ограниченным автоматам проистекает из того факта, что класс множеств, принимаемых ими, является в точности классом контекстнозависимых языков.

11

Связь lba с csl

Теорема 8.1. Если L контекстнозависимый язык, то язык L принимается некоторым линейно ограниченным автоматом.

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

— контекстно-зависимая грамматика.

Мы построим lba M, такой, что язык, принимаемый lba M, есть L(G). Мы не будем вдаваться в детальное построение автомата M, поскольку оно технически сложно, а просто опишем, как он работает.

12

Связь lba с csl

Входная лента будет иметь две дорожки. Нижная будет содержать входную строку w (w ) с концевыми маркерами, а верхняя используется во время работы.

На первом шаге lba M помещает символ S на верхнюю дорожку ячейки, справа от маркера ¢.

S

¢ a1 a2 a3 … … … … … … … … an $

w

Затем автомат входит в порождающую подпрограмму, которая выполняет следующие шаги:

13

Связь lba с csl

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

xi

xi+1

 

 

xi+m

xi+m+1

 

 

xi+m+p

 

 

 

 

 

 

¢

a1

ai

ai+1

 

ai+m

ai+m+1

 

ai+m+p

an

$

1.Подпрограмма выбирает последовательные подстроки символов на верхней дорожке, такие, что P.

2.Подстроки заменяются на , сдвигая

вправо, если необходимо, символы, расположенные справа от . Если эта операция заставляет символ быть вытолкнутым за правый маркер, автомат останавливается.

14

Связь lba с csl

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

15

Связь lba с csl

3.Подпрограмма недерминированно вы-

бирает, возвращаться ли к шагу 1, либо идти на выход.

4.При выходе из подпрограммы нижняя дорожка всё ещё будет содержать строку w, в то время как верхняя дорожка будет содер-

жать некоторую строку , такую, что

S * G

.

16

Связь lba с csl

Автомат M сравнивает посимвольно цепочки w и .

Если окажется, что w , то автомат останавливается, не принимая;

если же окажется, что w = , то он останавливается, принимая входную цепочку.

Ясно, что если w L(G), то найдется такая последовательность движений lba M, которая сгенерирует цепочку w на верхней дорожке, и тогда автомат остановится, принимая её.

17

Связь lba с csl

Аналогично, если lba M принимает цепочку w, то должна существовать последовательность движений, генерирующих цепочку w на верхней дорожке. Только при таком условии lba M принимает цепочку w.

Но, по построению lba M, процесс генерации цепочки w на верхней дорожке автоматом M воспроизводит вывод в G

этой цепочки из S. Следовательно, S * w.

Теорема доказана.

G

18

Связь lba с csl

Теорема 8.2. Если язык L принимается линейно ограниченным автоматом, то L контекстно-зависимый язык.

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

19

Связь lba с csl

Нетерминалы контекстно-зависимой грамматики должны представлять не только первоначальное содержание некоторой ячейки ленты lba, но также и то, является ли эта ячейка смежной с концевым маркером слева или справа. Такие ячейки в обозначении нетерминалов мы будем снабжать маркерами ¢ и $, обозначающими, что ячейка граничит соответственно с левым, правым или обоими концевыми маркерами.

20

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