Матричная грамматика — это формальная грамматика, в которой правила вывода группируются в конечные последовательности. Правила вывода не могут применяться по отдельности, а только в последовательности. При применении такой последовательности, замена производится в соответствии с каждым правилом в последовательности, с первой по последнюю. Последовательности называют матрицами.
Матричная грамматика является расширением контекстно-свободной грамматики.
Формальное определение
Матричная грамматика — это упорядоченная четвёрка
где
— конечное множество нетерминальных символов
— конечное множество терминальных символов
— начальный символ
— конечное множество непустых последовательностей упорядоченных пар
Пары называются правилами вывода, и записываются как
. Последовательности называются матрицами, и записываются как
Пусть
— множество всех правил вывода в матрицах
матричной грамматики
.
Тогда грамматика
является грамматикой типа
, неукорачивающей, линейной,
-свободной, контектсно-свободной или контекстно-зависимой тогда и только тогда, когда грамматика
обладает этим свойством.
Для матричной грамматики
определяется двоичное отношение
, также обозначаемое
. Для любых
,
выполнено тогда и только тогда, когда существует целое число
такое, что существуют слова
над множеством V и
и
и
Если указанные условия выполнены, также говорят, что
выполнено со спецификацией
.
Пусть
— рефлексивное транзитивное замыкание отношения
. Тогда, язык, порождаемый матричной грамматикой
опредеяется следующим образом:
Пример
Рассмотрим матричную грамматику
где
— совокупность следующих матриц:
Эти матрицы, содержащие лишь контекстно-свободные правила, порождают контекстно-зависимый язык
Этот пример можно найти на страницах 8 и 9 .
Примечания
- ↑ Ábrahám, S. Some questions of language theory. International Conference on Computational Linguistic, 1965. pp 1–11. (недоступная ссылка с 13-05-2013 [1899 дней] — история)