Грамматика регулярных деревьев


Из Википедии, бесплатной энциклопедии
  (Перенаправлено из обычного дерева )
Перейти к навигации Перейти к поиску

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

Определение

Регулярная древовидная грамматика G определяется набором

G = ( N , Σ, Z , P ),

куда

  • N - конечное множество нетерминалов,
  • Σ - это ранжированный алфавит (т. Е. Алфавит, символы которого имеют ассоциированную арность ), не пересекающийся с N ,
  • Z - начальный нетерминал, где ZN , и
  • P - конечное множество продукций вида At , где AN , и tT Σ ( N ), где T Σ ( N ) - ассоциированная термальная алгебра , т. Е. Множество всех деревьев, составленных из символов в Σ ∪ N согласно их арности, где нетерминалы считаются нулевыми.

Вывод деревьев

Грамматика G неявно определяет набор дерев: любое дерево , которое может быть получено из Z с использованием правила набора P , как говорят, описываются с помощью G . Этот набор деревьев известен как язык из G . Более формально отношение ⇒ G на множестве T Σ ( N ) определяется следующим образом:

Дерево t 1T Σ ( N ) может быть преобразовано за один шаг в дерево t 2T Σ ( N ) (короче: t 1G t 2 ), если существует контекст S и продукция ( At ) ∈ P такая, что:

  • t 1 = S [ A ], и
  • t 2 = S [ t ].

Здесь контекст означает дерево с ровно одной дырой в нем; если S такой контекст, S [ т ] обозначает результат заполнения дерева т в отверстие S .

Язык деревьев, порожденный G, - это язык L ( G ) = { tT Σ | ZG * t }.

Здесь Т Σ обозначает множество всех деревьев , состоящих из символов Е, в то время как ⇒ G * обозначает последовательные приложения ⇒ G .

Язык, порожденный некоторой регулярной древовидной грамматикой, называется регулярным древовидным языком .

Примеры

Пример дерева вывода из G 1 в линейной (верхняя левая таблица) и графическом (основное изображение) обозначении

Пусть G 1 = ( N 1 , Σ 1 , Z 1 , P 1 ), где

  • N 1 = { Bool , BList } - наш набор нетерминалов,
  • Σ 1 = { true , false , nil , cons (.,.)} - наш ранжированный алфавит, арности обозначены фиктивными аргументами (т.е. символ cons имеет арность 2),
  • Z 1 = BList - наш начальный нетерминал, и
  • множество P 1 состоит из следующих производств:
    • Boolложь
    • Booltrue
    • BListноль
    • BListпротив ( Bool , BList )

Пример вывода из грамматики G 1 :

BListcons ( Bool , BList ) ⇒ cons ( false , cons ( Bool , BList )) ⇒ cons ( false , cons ( true , nil )).

На изображении показано соответствующее дерево вывода ; это дерево деревьев (основное изображение), тогда как дерево производных в грамматиках слов - это дерево строк (верхняя левая таблица).

Язык деревьев, порожденный G 1, - это набор всех конечных списков логических значений, то есть L ( G 1 ) оказывается равным T Σ1 . Грамматика G 1 соответствует объявлениям алгебраических типов данных (на языке программирования Standard ML ):

 тип данных  Bool  =  false  |  истинный  тип данных  BList  =  nil  |  минусы  от  Bool  *  Blist

Каждый член L ( G 1 ) соответствует значению Standard-ML типа BList.

В качестве другого примера, пусть G 2 = ( N 1 , Σ 1 , BList1 , P 1P 2 ), используя нетерминальный набор и алфавит сверху, но расширяя производственный набор с помощью P 2 , состоящий из следующих продуктов:

  • BList1cons ( истина , BList )
  • BList1cons ( ложь , BList1 )

Язык L ( G 2 ) - это набор всех конечных списков логических значений, которые хотя бы один раз содержат истину . Набор L ( G 2 ) не имеет аналога типа данных ни в Стандартном ML, ни в каком-либо другом функциональном языке. Это собственное подмножество L ( G 1 ). Вышеупомянутый примерный член тоже находится в L ( G 2 ), как показывает следующий вывод:

BList1cons ( false , BList1 ) ⇒ cons ( false , cons ( true , BList )) ⇒ cons ( false , cons ( true , nil )).

Свойства языка

Если L 1 , L 2 и регулярные языки дерева, то множества деревьев L 1L 2 , L 1L 2 и L 1 \ L 2 также регулярные языки дерева, и она разрешима ли L 1L 2 , и является ли L 1 = L 2 .

Альтернативные характеристики и отношение к другим формальным языкам

Приложения

Применения регулярных древовидных грамматик включают:

Смотрите также

  • Установить ограничение - обобщение регулярных древовидных грамматик
  • Грамматика, примыкающая к дереву

использованная литература

  1. ^ "Регулярные древовидные грамматики как формализм для недостаточной спецификации области". CiteSeerX  10.1.1.164.5484 . Цитировать журнал требует |journal=( помощь )
  2. ^ Комон, Хьюберт; Дауше, Макс; Гиллерон, Реми; Лёдинг, Кристоф; Жакемар, Флоран; Лужие, Денис; Тисон, Софи; Томмази, Марк (12 октября 2007 г.). «Методы и приложения древовидных автоматов» . Проверено 25 января +2016 .
  3. ^ Alur, R .; Мадхусудан, П. (2004). «Языки с явным раскрытием» (PDF) . Материалы тридцать шестого ежегодного симпозиума ACM по теории вычислений - STOC '04 . С. 202–211. DOI : 10.1145 / 1007352.1007390 . ISBN  978-1581138528. Раздел 4, теорема 5,
  4. ^ Alur, R .; Мадхусудан, П. (2009). «Добавление структуры вложенности к словам» (PDF) . Журнал ACM . 56 (3): 1–43. CiteSeerX 10.1.1.145.9971 . DOI : 10.1145 / 1516512.1516518 .   Раздел 7
  5. ^ Emmelmann, Helmut (1991). «Выбор кода путем регулярно контролируемого переписывания терминов». Генерация кода - концепции, инструменты, методы . Семинары по вычислительной технике. Springer. С. 3–29.
  6. Перейти ↑ Comon, Hubert (1990). "Формулы уравнений в упорядоченных алгебрах". Proc. ИКАЛП .
  7. ^ Gilleron, R .; Tison, S .; Томмази, М. (1993). «Решение систем заданных ограничений с использованием древовидных автоматов». 10-й ежегодный симпозиум по теоретическим аспектам информатики . LNCS. 665 . Springer. С. 505–514.
  8. ^ Бургхардт, Йохен (2002). «Аксиоматизация конечных алгебр». Достижения в области искусственного интеллекта . LNAI. 2479 . Springer. С. 222–234. arXiv : 1403,7347 . Bibcode : 2014arXiv1403.7347B . ISBN 3-540-44185-9.
  9. ^ Зив-Ukelson, Смолы (2016). Алгоритмы поиска в сети регулярной древовидной грамматики и их применение для выявления паттернов вирусных инфекций человека . J. of Comp. Bio. [1]

дальнейшее чтение

  • Регулярные древовидные грамматики были описаны еще в 1968 году:
    • Брейнерд, WS (1968). «Минимизация древовидных автоматов» . Информация и контроль . 13 (5): 484–491. DOI : 10.1016 / s0019-9958 (68) 90917-0 .
    • Тэтчер, JW; Райт, JB (1968). «Обобщенная теория конечных автоматов с приложением к решающей задаче логики второго порядка». Математическая теория систем . 2 (1): 57–81. DOI : 10.1007 / BF01691346 .
  • Книга, посвященная грамматике деревьев: Ниват, Морис; Подельски, Андреас (1992). Древовидные автоматы и языки . Исследования в области компьютерных наук и искусственного интеллекта. 10 . Северная Голландия.
  • Алгоритмы на регулярных древовидных грамматиках обсуждаются с точки зрения эффективности в: Aiken, A .; Мерфи, Б. (1991). «Реализация регулярных древовидных выражений». Конференция ACM по языкам функционального программирования и компьютерной архитектуре . С. 427–447. CiteSeerX 10.1.1.39.3766 . 
  • Учитывая отображение деревьев в веса, обобщение Дональда Кнута алгоритма кратчайшего пути Дейкстры может быть применено к грамматике регулярных деревьев для вычисления для каждого нетерминала минимального веса выводимого дерева. Основываясь на этой информации, легко перечислить его язык в порядке возрастания веса. В частности, любой нетерминал с бесконечным минимальным весом порождает пустой язык. См .: Knuth, DE (1977). «Обобщение алгоритма Дейкстры». Письма об обработке информации . 6 (1): 1–5. DOI : 10.1016 / 0020-0190 (77) 90002-3 .
  • Обычные древовидные автоматы были обобщены, чтобы допускать проверки на равенство между родственными узлами в деревьях. См .: Bogaert, B .; Тисон, Софи (1992). «Ограничения равенства и неравенства для прямых подпунктов в древовидных автоматах». Proc. 9-й СТАНДАРТ . LNCS. 577 . Springer. С. 161–172.
  • Разрешение проверки равенства между более глубокими узлами приводит к неразрешимости. См .: Tommasi, M. (1991). Automates d'Arbres avec Tests d'Egalités entre Cousins ​​Germains . LIFL-IT.
Источник « https://en.wikipedia.org/w/index.php?title=Regular_tree_grammar&oldid=1033171445 »