Матричная грамматика
Матричная грамматика — это формальная грамматика, в которой правила вывода группируются в конечные последовательности. Правила вывода не могут применяться по отдельности, а только в последовательности. При применении такой последовательности, замена производится в соответствии с каждым правилом в последовательности, с первой по последнюю. Последовательности называют матрицами. Матричная грамматика является расширением контекстно-свободной грамматики.
Формальное определение
Матричная грамматика — это упорядоченная четвёрка
где
- — конечное множество нетерминальных символов
- — конечное множество терминальных символов
- — начальный символ
- — конечное множество непустых последовательностей упорядоченных пар
Пары называются правилами вывода, и записываются как . Последовательности называются матрицами, и записываются как
Пусть — множество всех правил вывода в матрицах матричной грамматики . Тогда грамматика является грамматикой типа , неукорачивающей, линейной, -свободной, контектсно-свободной или контекстно-зависимой тогда и только тогда, когда грамматика обладает этим свойством.
Для матричной грамматики определяется двоичное отношение , также обозначаемое . Для любых , выполнено тогда и только тогда, когда существует целое число такое, что существуют слова
над множеством V и
- и
- и
Если указанные условия выполнены, также говорят, что выполнено со спецификацией .
Пусть — рефлексивное транзитивное замыкание отношения . Тогда, язык, порождаемый матричной грамматикой опредеяется следующим образом:
Пример
Рассмотрим матричную грамматику
где — совокупность следующих матриц:
Эти матрицы, содержащие лишь контекстно-свободные правила, порождают контекстно-зависимый язык