Матричная грамматика
![]() | Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( Апрель 2024 г. ) |
Матричная грамматика — это формальная грамматика , в которой вместо отдельных произведений продукции группируются в конечные последовательности. Продукция не может применяться отдельно, ее необходимо применять последовательно. При применении такой последовательности продукций перезапись производится в соответствии с каждой продукцией в последовательности: первой, второй и т. д. до тех пор, пока последняя продукция не будет использована для перезаписи. Последовательности называются матрицами .
Матричная грамматика — это расширение контекстно-свободной грамматики и один из примеров контролируемой грамматики .
Формальное определение
[ редактировать ]Матричная грамматика представляет собой упорядоченную четверку где
- представляет собой конечное множество нетерминалов
- представляет собой конечный набор терминалов
- является особым элементом , а именно. стартовый символ
- — конечное множество непустых последовательностей, элементами которых являются упорядоченные пары где
Пары называются продукцией и записываются как . Последовательности называются матрицами и могут быть записаны как
Позволять быть набором всех продукций, фигурирующих в матрицах матричной грамматики . Тогда матричная грамматика имеет тип- , возрастающая по длине , линейная , -free , контекстно-свободный или контекстно-зависимый тогда и только тогда, когда грамматика имеет следующее свойство.
Для матричной грамматики , бинарное отношение определяется; также представлен как . Для любого , выполняется тогда и только тогда, когда существует целое число такое, что слова
над V существуют и
- и
- является одной из матриц
- и для всех такой, что
Позволять — рефлексивное транзитивное замыкание отношения . Тогда язык, порожденный матричной грамматикой дается
Примеры
[ редактировать ]Рассмотрим матричную грамматику
где представляет собой коллекцию, содержащую следующие матрицы:
Эти матрицы, содержащие только контекстно-свободные правила, генерируют контекстно-зависимый язык.
Ассоциативное слово является и .
Этот пример можно найти на страницах 8 и 9 книги. [1] в следующей форме:Рассмотрим матричную грамматику
где представляет собой коллекцию, содержащую следующие матрицы:
Эти матрицы, содержащие только контекстно-регулярные правила, генерируют контекстно-зависимый язык.
Ассоциативное слово является и .
Характеристики
[ редактировать ]Позволять — класс языков, созданных с помощью матричных грамматик, а MAT — класс языков, созданных с помощью матричных грамматик. -свободные матричные грамматики.
- Тривиально, MAT включен в .
- Все контекстно-свободные языки находятся в MAT , а все языки в являются рекурсивно перечислимыми .
- MAT замкнут при объединении , конкатенации , пересечении с обычными языками и перестановке.
- Все языки в MAT могут быть созданы с помощью контекстно-зависимой грамматики .
- Существует контекстно-зависимый язык, не принадлежащий [2] .
- Каждый язык, созданный с помощью матричной грамматики только с одним терминальным символом, является регулярным.
Открытые проблемы
[ редактировать ]Неизвестно, существуют ли языки на которых нет в МАТ , и неизвестно, есть ли содержит языки, которые не являются контекстно-зависимыми [3] .
Ссылки
[ редактировать ]- ^ Саломаа, Арто (март 1972 г.). «Матричные грамматики с крайним левым ограничением» (PDF) . Информация и контроль . 20 (2): 143–149. дои : 10.1016/S0019-9958(72)90332-4 .