Jump to content

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

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

Определение

[ редактировать ]

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

г знак равно ( N , Σ, Z , п ),

где

  • N — конечное множество нетерминалов,
  • Σ — ранговый алфавит (т. е. алфавит, символы которого имеют соответствующую арность ), не пересекающийся с N ,
  • Z — начальный нетерминал, при этом Z N и
  • P — конечное множество продукций формы A t , где A N и t T Σ ( N ) , где T Σ ( N ) — ассоциированная алгебра терминов , т.е. набор всех деревьев, составленных из символов в Σ ∪ N в соответствии с их арностью, где нетерминалы считаются нулевыми.

Происхождение деревьев

[ редактировать ]

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

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

  • t 1 = S [ A ], и
  • т 2 знак равно S [ т ].

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

Древовидным языком, порожденным G , является язык L ( G ) знак равно { t T Σ | Z Г * т } .

Здесь 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 — наш стартовый нетерминал, а
  • набор П 1 состоит из следующих продукций:
    • Логическое значение ложь
    • Бул правда
    • BList ноль
    • BList минусы ( Bool , BList )

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

BList минусы ( Bool , BList ) ⇒ минусы ( ложь , минусы ( Bool , BList )) ⇒ минусы ( ложь , минусы ( истина , ноль )).

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

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

  datatype Bool
    = false
    | true
  datatype BList
    = nil
    | cons of Bool * BList

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

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

  • BList 1 минусы ( истина , BList )
  • BList 1 минусы ( ложь , BList 1 )

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

Список 1 минусы ( ложь , BList 1 ) ⇒ минусы ( ложь , минусы ( правда , BList )) ⇒ минусы ( ложь , минусы ( истина , ноль )).

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

[ редактировать ]

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

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

[ редактировать ]

Приложения

[ редактировать ]

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

См. также

[ редактировать ]
  1. ^ «Регулярные древовидные грамматики как формализм для занижения области видимости». CiteSeerX   10.1.1.164.5484 .
  2. ^ Комон, Хьюберт; Доше, Макс; Гиллерон, Реми; Лёдинг, Кристоф; Жакмар, Флоран; Лужье, Денис; Тисон, Софи; Томмаси, Марк (12 октября 2007 г.). «Техника и применение древовидных автоматов» . Проверено 25 января 2016 г.
  3. ^ Алур, Р.; Мадхусудан, П. (2004). «Языки с видимым нажатием вниз» (PDF) . Материалы тридцать шестого ежегодного симпозиума ACM по теории вычислений - STOC '04 . стр. 202–211. дои : 10.1145/1007352.1007390 . ISBN  978-1581138528 . S2CID   7473479 . Раздел 4, Теорема 5,
  4. ^ Алур, Р.; Мадхусудан, П. (2009). «Добавление вложенности к словам» (PDF) . Журнал АКМ . 56 (3): 1–43. CiteSeerX   10.1.1.145.9971 . дои : 10.1145/1516512.1516518 . S2CID   768006 . Раздел 7
  5. ^ Эммельманн, Хельмут (1991). «Выбор кода путем регулярно контролируемого переписывания терминов». Генерация кода — концепции, инструменты, методы . Семинары по информатике. Спрингер. стр. 3–29.
  6. ^ Комон, Хьюберт (1990). «Уравнения в алгебрах с порядковой сортировкой». Учеб. ИКАЛП .
  7. ^ Гиллерон, Р.; Тайсон, С.; Томмаси, М. (1993). «Решение систем множественных ограничений с использованием древовидных автоматов». 10-й ежегодный симпозиум по теоретическим аспектам информатики . ЛНКС. Том. 665. Спрингер. стр. 505–514.
  8. ^ Бургхардт, Йохен (2002). «Аксиоматизация конечных алгебр». Достижения в области искусственного интеллекта . ЛНАИ. Том. 2479. Спрингер. стр. 222–234. arXiv : 1403.7347 . Бибкод : 2014arXiv1403.7347B . ISBN  3-540-44185-9 .
  9. ^ Зив-Укельсон, Смолы (2016). Алгоритмы поиска в сети по регулярной древовидной грамматике и их применение для анализа закономерностей вирусных инфекций человека . Дж. Комп. Био. [1]

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

[ редактировать ]
  • Регулярные древовидные грамматики были описаны еще в 1968 году:
  • Книга, посвященная древовидным грамматикам: Ниват, Морис; Подельски, Андреас (1992). Древовидные автоматы и языки . Исследования в области компьютерных наук и искусственного интеллекта. Том. 10. Северная Голландия.
  • Алгоритмы на основе регулярных древовидных грамматик обсуждаются с точки зрения эффективности в: Эйкен, А.; Мерфи, Б. (1991). «Реализация регулярных древовидных выражений». Конференция ACM по функциональным языкам программирования и архитектуре компьютеров . стр. 427–447. CiteSeerX   10.1.1.39.3766 .
  • Учитывая отображение деревьев в веса, Дональда Кнута обобщение алгоритма кратчайшего пути Дейкстры может быть применено к грамматике обычного дерева для вычисления для каждого нетерминала минимального веса выводимого дерева. Основываясь на этой информации, легко перечислить его язык в порядке возрастания веса. В частности, любой нетерминал с бесконечным минимальным весом порождает пустой язык. Видеть: Кнут, DE (1977). «Обобщение алгоритма Дейкстры». Письма об обработке информации . 6 (1): 1–5. дои : 10.1016/0020-0190(77)90002-3 .
  • Обычные древесные автоматы были обобщены, чтобы допускать проверки равенства между одноуровневыми узлами в деревьях. Видеть: Богерт, Б.; Тайсон, Софи (1992). «Ограничения равенства и неравенства на прямых подчленах в древовидных автоматах». Учеб. 9-й СТАКС . ЛНКС. Том. 577. Спрингер. стр. 161–172.
  • Разрешение проверок равенства между более глубокими узлами приводит к неразрешимости. Видеть: Томмаси, М. (1991). Древовидные автоматы с проверками связи между двоюродными братьями . ЛИВЛ-ИТ.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d0e0018a5b73c7a234e59311f3791f22__1721005020
URL1:https://arc.ask3.ru/arc/aa/d0/22/d0e0018a5b73c7a234e59311f3791f22.html
Заголовок, (Title) документа по адресу, URL1:
Regular tree grammar - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)