Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книги / TURIN / ЛЕКЦИИ10.DOC
Скачиваний:
42
Добавлен:
10.12.2013
Размер:
151.04 Кб
Скачать

3. А®аS; 4. А®вАа; 5. А®а; 6. В®вS; 7. В®аВв; 8. В®в}.

Типичные выводы предложений:

1. .

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

2. .

3. .

4. .

Граф такой порождающей грамматики изображен на рис.10.1.

Пример 2. Пусть грамматика задана следующим образом:

Т={выводит, доставляет, аппарат, груз, ракета, мощная, твердотопливная, красивая};

N={с -(сказуемое), П - (подлежащее), О - (определение), Д - (дополнение), ГП - (группа подлежащего), ГС - (группа сказуемого), ПР - (предложение)};

S = {ПР - предложение}.

Рис.10.1. Граф порождающей грамматики

Построим некоторые цепочки языка:

ПР(ГП)(ГС)(О)(П)(ГС)(О)(П)(С)(Д)

МОЩНАЯ (П)(С)(Д)МОЩНАЯ РАКЕТА (С)(Д)

МОЩНАЯ РАКЕТА ДОСТАВЛЯЕТ (Д)МОЩНАЯ РАКЕТА ДОСТАВЛЯЕТ ГРУЗ

Очевидно, что последняя цепочка вывода является заключительной и представляет собой предложение естественного языка. Аналогично можно вывести цепочку КРАСИВАЯ РАКЕТА ВЫВОДИТ АППАРАТ и ряд других. Заметим, что в этом примере нетерминальными символами являются синтаксические категории.

Вывод можно также описать так называемым структурным деревом, удовлетворяющим следующим требованиям:

1) каждая вершина дерева имеет в качестве метки символ из V=ТUN;

2) корень дерева, т.е. вершина, в которую не входит ни одно ребро, имеет метку S (начальный символ, аксиома грамматики);

3) если вершина с некоторой меткой Dимеет хотя бы одну подчиненную вершину, тоDÎN;

4) если некоторые nвершин с меткамиD1,D2,...,Dnподчинены непосредственно вершине с меткойD, то в Р существует правилоD®D1...Dn.

Структурное дерево для примера 2 изображено на рис.10.2.

Рис.10.2. Структурное дерево

10.3. Классификация формальных грамматик

Итак, формальные грамматики могут быть распознающими, порождающими, преобразующими. Кроме того, в теории формальных грамматик различают четыре типа языков, порождаемых четырьмя типами грамматик. Грамматики выделяются путем положения последовательно усиливающихся ограничений на систему правил Р.

Общепринятой классификацией грамматик и порождаемых ими языков является иерархия Хомского, содержащая четыре типа грамматик.

Грамматика типа О - это грамматики, в которых не накладывается никаких ограничений на правила вывода j®y, гдеjиyмогут быть любыми цепочками изV. Такая грамматика может быть реализована машиной Тьюринга. При этом состояние машины Тьюринга соответствуют нетерминальным (вспомогательным) символам, а символы на ленте - терминальными. Правила порождения цепочек описываются системой команд.

Грамматика типа 1 - это грамматика, все правила которой имеют вид aАb®awb, гдеwÎТUN, А - нетерминальный символ. Цепочкиaиb- контекст правил. Они не изменяются при его применении. Таким образом, в грамматиках типа 1 отдельный терминальный символ А переходит в непустую цепочкуw(А можно заменить наw) только в контекстеaиb. Грамматики типа 1 называюконтекстнымииликонтекстно-зависимыми.

Контекстные грамматики реализуются устройствами типа автомата Майхилла с правилами вида (i,j,k,l,p): если автомат находится в состоянииj, а считывающая головка напротив клетки с символомi, то автомат переходит в состояниеk, в то время как лента продвигается наlклеток влево, и рассматриваемый символ заменяется на символ р.

Грамматика типа 2 - это грамматики, в которых допустимы лишь правила вида А®a, гдеaÎТUN, т.е.a- непустая цепочка изV. Грамматика типа 2 называют бесконтекстными или контекстно-свободными (КС).

Язык, порождающий бесконтекстной грамматикой, реализуется автоматом Майхилла специального вида, в котором используется магазинная память (магазинные автоматы). В таком автомате имеются три магазина, каждый из которых представляет бесконечную в одну сторону ленту. На ленте записано слово, первая буква которого записана в первой ячейке, второе - во второй и т.д. При чтении воспринимается первая буква слова, затем она стирается, а оставшаяся часть слова сдвигается к первой ячейке. При записи в магазин слова длины kпервыеkячеек освобождаются в результате записанного ранее сдвига слева наkячеек. Входной магазин связан с входными каналами управляющего автомата, выходной - с выходными каналами, внутренний - как с входными, так и с выходными каналами. Множество внутренних состояний разбито на два подмножества: А и В. Если автомат находится в состоянии, принадлежащему подмножеству А, то происходит считывание из входного и внутреннего магазина. Если автомат находится в состоянии, принадлежащем В, то происходит считывание только из внутреннего магазина, при этом автомат переходит в следующее состояние и зависит во внутренний или выходной магазин слова.

Грамматики типа 3 имеют правила вида А®аВ, либо А®в, где А,ВÎN; а,вÎТ.

Здесь А,В,а,в - одиночные символы (не цепочки) соответствующих словарей. Языки, которые задаются грамматиками этого типа называются автоматнымиили регулярными. Материал последующих лекций будет и посвящен автоматам.

Примеры:

1) Грамматика унарного представления чисел ³1 порождает множество цепочек вида а, аа, ааа, ааа. Она задается грамматикойG=<T,N,P,I>, гдеT={a}, N={I},I- начальный символ, а Р содержит правила:

Тогда

Ia;

IaIaa;

IaIaaIaaaи т.д.

Ясно, что 1 - всегда заключительное правило.

Из вида правил следует, что это грамматика типа 3, автоматная грамматики.

Язык, порождаемый этой грамматикой имеет вид {an}.

2) Язык булевых формул с переменными а,в порождается КС - грамматикой (типа 2), где T={а,в,×,-,(,)}, N={I}, I - начальный символ, Р содержит

Получим, например, константу 0:

I(I×I)(a×I)(a×)(a×).

т.е. получили константу 0.

Получим константу 1:

I,

т.е. получили константу 1.

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

10.4. Алгоритмические проблемы для грамматик

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

В частности, неразрешима проблема распознавания эквивалентности двух грамматик (разрешим лишь ее частный случай, когда обе грамматики имеют тип 3).

Для языков типа 0 справедлив аналог теории Райса: ни для какого нетривиального свойства языков типа 0 не существует алгоритма, который по произвольной грамматике Gвыяснял бы, обладает ли этим свойством языкL(G).

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