Грамматика конкатенации диапазонов (RCG) — это грамматический формализм, разработанный Пьером Булье [1] в 1998 году как попытка охарактеризовать ряд явлений естественного языка, таких как китайские числа и перестановка порядка слов в немецком языке , которые выходят за рамки языков с умеренной контекстной зависимостью . [2]
С теоретической точки зрения любой язык, который может быть проанализирован за полиномиальное время , принадлежит к подмножеству RCG, называемому грамматиками конкатенации положительного диапазона, и наоборот. [4]
Хотя они и задуманы как вариант грамматик буквального движения Грёнинка (LMG), RCG рассматривают грамматический процесс скорее как доказательство, чем как порождение. В то время как LMG производят конечную строку из начального предиката, RCG стремятся свести начальный предикат (который предикат конечной строки) к пустой строке, что составляет доказательство принадлежности конечных строк к языку.
Описание
Формальное определение
Грамматика конкатенации положительного диапазона (PRCG) представляет собой кортеж , где:
, и являются непересекающимися конечными множествами (соответственно) предикатных имен , терминальных символов и имен переменных . Каждое предикатное имя имеет связанную арность, заданную функцией .
это имя начального предиката и проверка .
представляет собой конечный набор предложений вида , где являются предикатами вида с и .
Грамматика конкатенации отрицательного диапазона (NRCG) определяется как PRCG, но с добавлением того, что некоторые предикаты, встречающиеся в правой части предложения, могут иметь форму . Такие предикаты называются отрицательными предикатами .
Грамматика конкатенации диапазонов может быть положительной или отрицательной. Хотя технически PRCG являются NRCG, эти термины используются для выделения отсутствия (PRCG) или наличия (NRCG) отрицательных предикатов.
Диапазон в слове — это пара , с , где — длина . Переменные привязываются к диапазонам, а не к произвольным строкам нетерминалов. Два диапазона и могут быть объединены , если и только если , и тогда мы имеем: . При создании экземпляра предложения, где аргумент состоит из нескольких элементов из , их диапазоны должны быть объединены.
Для слова с точками запись диапазонов выглядит так: .
Распознавание строк
Строки предикатов, которые переписываются, представляют собой ограничения, которым должна удовлетворять проверяемая строка (если она положительная), или не удовлетворять в случае отрицательных предикатов. Порядок предикатов не имеет значения. Шаги переписывания сводятся к замене одного ограничения нулем или более простыми ограничениями.
Как и LMG, предложения RCG имеют общую схему , где в RCG — это либо пустая строка, либо строка предикатов. Аргументы состоят из строк терминальных символов и/или переменных символов, которые сопоставляются с фактическими значениями аргументов, как в LMG. Смежные переменные составляют семейство соответствий с разделами, так что аргумент с двумя переменными сопоставляется с буквальной строкой тремя различными способами: . Это приведет к трем различным инстанциациям предложения, содержащего этот аргумент .
Предикатные термины бывают двух видов: положительные (которые при успехе производят пустую строку) и отрицательные (которые при неудаче производят пустую строку/если положительный термин не производит пустую строку). Отрицательные термины обозначаются так же, как и положительные термины, с чертой сверху, как в .
Семантика перезаписи для RCG довольно проста, идентична соответствующей семантике LMG. Если задана строка предикатов , где символы являются терминальными строками, если в грамматике есть правило , что строка предикатов соответствует, строка предикатов заменяется на , подставляя сопоставленные переменные в каждом .
Например, если задано правило , где и являются переменными символами, а и являются терминальными символами, предикатную строку можно переписать как , поскольку соответствует, когда . Аналогично, если бы было правило , можно было бы переписать как .
Доказательство/распознавание строки выполняется путем демонстрации того, что создает пустую строку. Для отдельных шагов переписывания, когда возможны несколько альтернативных совпадений переменных, рассматривается любое переписывание, которое может привести к успешному завершению всего доказательства. Таким образом, если есть хотя бы один способ создать пустую строку из исходной строки , доказательство считается успешным, независимо от того, сколько других способов потерпеть неудачу существует.
Пример
RCG способны распознавать язык нелинейного индекса следующим образом:
Пусть x, y и z будут переменными символами: Тогда
доказательство для abbabbabb выглядит так:
Или, используя более правильную точечную запись для диапазонов:
Для строки букв существуют различные реализации этого первого предложения, но только та, которая делает все буквы каждой, позволяет достичь вывода .
Для каждого нетерминала CFG в RCG имеется предикат арности .
Для каждого правила CFG в RCG есть .
Для каждого правила CFG (если оно конечное) RCG имеет .
Пересечение и объединение двух языков конкатенации диапазонов — это тривиальные языки конкатенации диапазонов:
Для пересечения и имеем .
Для объединения и имеем и .
Языки конкатенации с возможным отрицательным диапазоном также закрыты относительно дополнения множеств.
Следствием вышесказанного является то, что невозможно решить , является ли (положительный) язык конкатенации диапазонов непустым, поскольку невозможно решить, является ли пересечение двух контекстно-свободных языков непустым. Следовательно, грамматики конкатенации диапазонов не являются генеративными.
Ссылки
^ Булье, Пьер (январь 1998 г.). Предложение по синтаксической основе обработки естественного языка (PDF) (технический отчет). Том 3342. INRIA Rocquencourt (Франция).
^ Пьер Булье (1999). «Китайские числа, MIX, скремблирование и грамматика конкатенации диапазонов» (PDF) . Proc. EACL . стр. 53–60 . Архивировано из оригинала (PDF) 2003-05-15.
^ Эберхард Берч и Марк-Ян Недерхоф (октябрь 2001 г.). «О сложности некоторых расширений анализа RCG» (PDF) . Труды Седьмого международного семинара по технологиям анализа (Пекин) . стр. 66–77 .
^ Лора Каллмейер (2010). Анализ за пределами контекстно-свободных грамматик . Springer Science & Business Media. стр. 37. ISBN978-3-642-14846-0.цитируя Берча, Недерхофа (2001) [3]