Научная литература
booksshare.net -> Добавить материал -> Лингвистика -> Гросс М. -> "Теория формальных грамматик " -> 49

Теория формальных грамматик - Гросс М.

Гросс М., Лантен А. Теория формальных грамматик — М.: Мир, 1971. — 296 c.
Скачать (прямая ссылка): teoriyaformalnihgrammatik1971.djvu
Предыдущая << 1 .. 43 44 45 46 47 48 < 49 > 50 51 52 53 54 55 .. 101 >> Следующая


Пусть &*— свободная полугруппа с базой % = {xit ..., хп) и 33* — свободная полугруппа с базой 33 = {а,Ь, ..., /}. Рассмотрим следующее отображение 91* в (или, быть может, на) 33*: каждое вхождение буквы Xi в цепочках множества 91* заменяется на определенную цепочку /,• из 93*. Такое отображение называется кодированием (а образ цепочки при этом отображении — кодом), если каждая из получаемых цепочек в алфавите 33 допускает только одну интерпретацию (т. е. только одно разложение на образы элементов 91).

Пример. 91 = {1, 2,0}; 93 = [а, Ь}\ 1 ->Ьа 2-* baa 0-*6 1 -*а 2-*аа 0-* b .

— кодирование;

— не кодирование,

поскольку 11 —> аа и 2—*аа.

Теперь ясно, что минимальная линейная грамматика

[S-^flSgl I

S-+c

будет однозначной, если хотя бы одно из двух отображений {t-*fi, і-*gi і 142

Часть II. Некоторые замечательные классы языков

является кодированием. Из определения видно, что вывод любой цепочки в такой грамматике восстанавливается по ней однозначно.

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

Пример. Пусть имеется грамматика

S -> aaSa S->bbSb S—>aSbb . S-> b Saa S -> с

Множество цепочек ft, а именно {аа, bb, а, Ь), совпадает с множеством gi и не дает кодирования. Однако грамматика однозначна: достаточно рассмотреть одновременно первую и последнюю букву произвольной цепочки, чтобы однозначно установить, какое правило было применено первым, вторым и т. д. Глава IX

АВТОМАТЫ С МАГАЗИННОЙ ПАМЯТЬЮ

В § 7.1 главы VII мы показали, что класс рекурсивно перечислимых языков связан с классом машин Тьюринга; однако для описания естественных языков целесообразно рассмотреть языки более частного вида.

Таким более частным классом языков являются, например, контекстно-свободные языки. Они связываются не с самым общим классом комбинаторных систем (эквивалентным классу произвольных машин Тьюринга), а с некоторым весьма специальным классом полутуэвских систем. Имеется и специальный класс автоматов, соответствующий контекстно-свободным языкам. Это так называемые автоматы с магазинной памятью (англ. push-down store automata).

Мы не сможем теперь ограничиваться рассмотрением лишь детерминированных автоматов, как мы поступали до сих пор; начиная с этой главы, слово «автомат» будет использоваться в качестве сокращения для выражения «недетерминированный (точнее, не обязательно детерминированный) автомат».

Строгое доказательство эквивалентности автоматов с магазинной памятью и КС-грамматик можно найти у Хомского [1963] или Гинзбурга [1966, § 2.5]; ср. также § 15.3.

§ 9.1. АВТОМАТЫ, ДОПУСКАЮЩИЕ ЯЗЫКИ

Излагаемая ниже концепция автомата представляет собой формализацию хорошо известного программистам понятия «магазинная память» (англ. push-down stack/store).

9.1.1. Содержательное описание автоматов с магазинной памятью

Автомат с магазинной памятью (сокращенно: МП-автомат) — это система, состоящая из следующих трех компонентов:

1) Входная лента Е, разделенная на ячейки и потенциально неограниченная в обе стороны.

2) Рабочая лента, или лента (магазинной) памяти М, ограниченная с одной стороны (условимся считать, что слева), но потенциально неограниченная с другой; она также разделена на ячейки.

3) Управляющее устройство А, имеющее две головки: • входная головка читает символы на входной ленте Е\ 144

Часть II. Некоторые замечательные классы языков

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

Каждая из головок может передвигать свою ленту определенным образом; каким именно, будет уточнено ниже.

Входная лента. До начала работы МП-автомата на входной ленте может быть записана некоторая информация — по одному символу в каждой ячейке. Для записи этой информации используется входной словарь (входной алфавит)

VE = {au а2, ..., ар).

Из соображений удобства к этому словарю присоединяется единичный символ е, имеющий особый статус (см. ниже). В результате мы получаем:

(E) В в % % aU % % В в
А
(M) а 4» А/ В в в

Единичный символ е не следует смешивать с пробелом (пустым символом), который обозначается через В. Цепочки, составленные из символов входного алфавита Ve, записываются на ленте E так, что слева и справа остаются пробелы. Запись осуществляется слева направо.

Рабочая лента. Запись на рабочей ленте осуществляется самим автоматом с помощью рабочего словаря (рабочего алфавита)

Км = Mі, A2, ..., A1

Этот словарь может включать и Ve. К словарю Vm мы присоединим единичный символ е и еще один выделенный символ а, который не используется автоматом в ходе его работы. Получаем словарь

VM-mvMU {О}.

Управляющее устройство. Управляющее устройство способно принимать конечное число внутренних состояний Sо, Su ..., Si, ..., Sj, .,,, Sn. Глава IX. Автомати с магазинной памятью

145

9.1.2. Функционирование МП-автомата
Предыдущая << 1 .. 43 44 45 46 47 48 < 49 > 50 51 52 53 54 55 .. 101 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed