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

Теория формальных грамматик

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

Порождающая грамматика состоит из четырех компонент: Г = (V, W, J, R), где V и W - непересекающиеся конечные множества, называющиеся основным и вспомогательнымалфавитами (или словарями); элементы этих множеств называются соответственно основными (или терминальными) и вспомогательными (или нетерминальными) символами; J - выделенный вспомогательный символ, называемый начальным символом; R - конечный набор правил вывода, имеющих вид j (r) y, где j  и y - цепочки, состоящие из основных и вспомогательных символов.

Основные символы интерпретируются как слова языка, вспомогательные - как имена классов слов и словосочетаний, начальный символ - как символ предложения (т.е. имя класса словосочетаний, являющихся предложениями). Правила вывода описывают связи между частями предложения. Применение правила j  (r) y к цепочке, имеющей вид a j b, означает преобразование ее в цепочку ay b (здесь a и b - цепочки, одна из которых или обе могут быть пустыми). Вывод в порождающей грамматике есть конечная последовательность цепочек, в которой каждая следующая цепочка получается из предыдущей использованием каких-либо правил вывода. Последняя цепочка вывода называется выводимой из первой. Цепочка основных символов, выводимая из начального символа, называется предложением, а множество всех предложений - языком, порожденным данной грамматикой.

Пример. В грамматике с основным алфавитом {a, b, c}, вспомогательным алфавитом {a, b}, начальным символом a и набором правил {a(r) aab, a(r) bc, (r) b} одним из выводов будет последовательность a, aab, abcb, abcb, abcb; цепочка abcb - предложение.

В зависимости от вида правил выделяется ряд основных классов порождающих грамматик. Наиболее важны для лингвистических приложений грамматики составляющих (грамматики непосредственно составляющих - НС-грамматики, контекстные грамматики), правила вывода которых имеют вид c aw (r) c yw , где a - вспомогательный символ, y - непустая цепочка, c и - произвольные цепочки. Важнейший подкласс грамматик составляющих - бесконтекстные грамматики (контекстно-свободные грамматики - КС-грамматики), у которых правила имеют вид a (r) y . Частный случай бесконтекстной грамматики - автоматная грамматика(грамматика с конечным числом состояний) с правилами вывода a(r) ab и a(r) a, где a - основной символ, a и b - вспомогательные символы. Языки, порождаемые грамматиками перечисленных классов, называются соответственно НС-языками (контекстными языками) и КС-языками (бесконтекстными, автоматными).

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

Еще один важный класс формальных грамматик - доминационые грамматики, позволяющие порождать цепочки, одновременно строя для них деревья подчинения.

Для описания естественных языков наиболее адекватны трансформационные грамматики, в которых преобразуются не цепочки, а непосредственно синтаксические структуры - деревья составляющих или деревья подчинения.