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

Грамматика конкатенации диапазонов (RCG) - это грамматический формализм, разработанный Пьером Булье [1] в 1998 году как попытка охарактеризовать ряд явлений естественного языка, таких как китайские числа и шифрование порядка слов в немецком языке, которые выходят за рамки Mildly контекстно-зависимые языки . [2]

С теоретической точки зрения любой язык, который может быть проанализирован за полиномиальное время, принадлежит подмножеству RCG, называемому грамматиками конкатенации положительного диапазона, и обратно. [3]

Хотя RCG задумывались как вариант грамматик Гроенинка Literal motion, они рассматривают грамматический процесс больше как доказательство, чем как производство. В то время как LMG создают оконечную строку из начального предиката, RCG стремятся уменьшить начальный предикат (который является предикатом конечной строки) до пустой строки, что представляет собой доказательство принадлежности терминальных строк к языку.

Описание [ править ]

Формальное определение [ править ]

Положительный диапазон Concatenation Грамматик (PRCG) является кортежем , где:

  • , и являются непересекающимися конечными наборами (соответственно) имен предикатов , терминальных символов и имен переменных . Каждое имя предиката имеет связанную арность, заданную функцией .
  • - имя начального предиката и проверить .
  • - конечный набор предложений формы , где - предикаты формы с и .

Отрицательный диапазон конкатенация Грамматика (NRCG) определяется как PRCG, но с добавлением , что некоторые предикаты , входящие в правой стороне пункта могут иметь форму . Такие предикаты называются отрицательными предикатами .

Range Concatenation Грамматика является положительным или отрицательным. Хотя группы PRCG технически являются группами NRCG, ​​эти термины используются для обозначения отсутствия (PRCG) или наличия (NRCG) отрицательных предикатов.

Диапазон в слове есть пара , с , где длина . Два диапазона и могут быть сцеплены тогда и только тогда , и мы тогда имеем: .

Для слова , с , то пунктирная обозначения для диапазонов: .

Распознавание струн [ править ]

Как и LMG, предложения RCG имеют общую схему , где в RCG - это либо пустая строка, либо строка предикатов. Аргументы состоят из строк терминальных символов и / или переменных символов, шаблон которых соответствует фактическим значениям аргумента, как в LMG. Прилегающие переменные представляют собой семейство матчей с перегородками, так что аргумент , с двумя переменными, совпадает с символьной строки тремя различными способами: .

Термины предикатов бывают двух видов: положительный (который создает пустую строку в случае успеха) и отрицательный (который создает пустую строку при неудаче / если положительный член не дает пустую строку). Отрицательные члены обозначаются так же, как положительные, с чертой сверху, как в .

Семантика перезаписи для RCG довольно проста, идентична соответствующей семантике LMG. Для заданной строки предиката , где символы являются терминальными строками, если в грамматике есть правило, которому соответствует строка предиката, строка предиката заменяется на , заменяя совпадающие переменные в каждой .

Например, с учетом правила , где и - символы переменных, а и - терминальные символы, строка предиката может быть переписана как , потому что совпадает с когда . Точно так же, если бы было правило , можно было бы переписать как .

Проверка / распознавание строки выполняется путем демонстрации пустой строки. Для отдельных шагов перезаписи, когда возможны совпадения нескольких альтернативных переменных, рассматривается любая перезапись, которая может привести к успеху всего доказательства. Таким образом, если существует хотя бы один способ создать пустую строку из начальной строки , доказательство считается успешным, независимо от того, сколько других способов потерпеть неудачу существует.

Пример [ править ]

Группы RCG способны распознавать язык нелинейных индексов следующим образом:

Пусть x, y и z - символы переменных:



Доказательство для abbabbabb тогда

Или, используя более правильное обозначение диапазонов с точками:

Ссылки [ править ]

  1. ^ Булье, Пьер (январь 1998). Предложение по синтаксической основе обработки естественного языка (PDF) (Технический отчет). 3342 . INRIA Rocquencourt (Франция).
  2. ^ Пьер Булье (1999). «Китайские числа, MIX, скремблирование и грамматики конкатенации диапазонов». Proc. EACL (PDF) . С. 53–60. Архивировано из оригинального (PDF) 15 мая 2003 года.
  3. ^ Лаура Каллмейер (2010). Анализ вне контекстно-свободных грамматик . Springer Science & Business Media. п. 37. ISBN 978-3-642-14846-0.со ссылкой на http://mjn.host.cs.st-andrews.ac.uk/publications/2001d.pdf