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

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

Формальный язык , который может быть описан с помощью контекстно-зависимой грамматики, или, что эквивалентно, с помощью несжимающих грамматики или линейного ограниченного автомата , называется контекстно-зависимым языком . Некоторые учебники фактически определяют CSG как недоговорные [2] [3] [4] [5], хотя Ноам Хомский определил их в 1959 году не так. [6] [7] Этот выбор определения не имеет значения с точки зрения сгенерированные языки (т. е. два определения слабо эквивалентны), но это действительно имеет значение с точки зрения того, какие грамматики структурно считаются контекстно-зависимыми; последний вопрос был проанализирован Хомским в 1963 году. [8] [9]

Хомский ввел контекстно-зависимые грамматики как способ описания синтаксиса естественного языка, когда часто бывает, что слово может или не может быть подходящим в определенном месте в зависимости от контекста. Уолтер Савич раскритиковал терминологию «контекстно-зависимая» как вводящую в заблуждение и предложил «не стирать» как лучшее объяснение различия между CSG и неограниченной грамматикой . [10]

Хотя хорошо известно, что некоторые особенности языков (например, кросс-последовательная зависимость ) не являются контекстно-независимыми, остается открытым вопрос, какая выразительная сила CSG необходима для улавливания контекстной чувствительности, присущей естественным языкам. Последующие исследования в этой области были сосредоточены на более легко поддающихся вычислениям и умеренно контекстно-зависимых языках . [ необходима цитата ] Синтаксис некоторых языков визуального программирования может быть описан контекстно-зависимыми грамматиками графов . [11]

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

Формальная грамматика G = ( N , Σ, P , S ), с N множество нетерминальных символов, Σ множество терминальных символов, Р набор правил производства, а S начальный символ , является контекстно-зависимой , если все правила в P имеют вид

α A β → αγβ

с AN , [примечание 1] α, β ∈ ( N ∪Σ) * [примечание 2] и γ ∈ ( N ∪Σ) + . [заметка 3]

Строка U ∈ ( N ∪Σ) * непосредственно дает , или непосредственно вытекает к , струнный V ∈ ( N ∪Σ) * , обозначается как ¯uV , если у можно записать в виде л α β г , и V может , записывается как l αγβ r для некоторого продукционного правила (α A β → αγβ) ∈ P и некоторых контекстных строк l , r ∈ ( N ∪Σ) * . В более общем смысле,U называется выходом , или получить в , V , обозначается как U* v , если у = у 1 ⇒ ... ⇒ U п = v для некоторого п ≥ 0 и некоторых строк ˙U 2 , ..., у п -1 ( N ∪Σ) * . То есть отношение (⇒ * ) является рефлексивным транзитивным замыканием отношения (⇒).

Язык грамматики G есть множество всех терминальных цепочек символов выводима из ее начального символа, формально: L ( G ) = { ш ∈ Σ * : S* ш }. Возможны производные, которые не заканчиваются строкой, состоящей только из терминальных символов, но не вносят вклад в L ( G ).

Единственное различие между этим определением Хомского и определением неограниченных грамматик состоит в том, что γ может быть пустым в неограниченном случае. [10]

Некоторые определения контекстно-зависимой грамматики требуют только, чтобы для любого продукционного правила вида u → v длина u была меньше или равной длине v. Это, казалось бы, более слабое требование на самом деле слабо эквивалентно , [12 ] см. Неконтактная грамматика # Преобразование в контекстно-зависимую грамматику .

Кроме того, правило формы

S → λ

где λ представляет собой пустую строку, а S не появляется в правой части какого-либо правила. Добавление пустой строки позволяет утверждать, что контекстно-зависимые языки являются надлежащим надмножеством контекстно-свободных языков, вместо того, чтобы делать более слабое утверждение, что все контекстно-зависимые грамматики без → λ также являются контекстно-зависимыми грамматиками.

Имя, зависящее от контекста , объясняется элементами α и β, которые формируют контекст A и определяют, можно ли заменить A на γ или нет. Это отличается от контекстно-свободной грамматики, в которой контекст нетерминала не принимается во внимание. В самом деле, каждое произведение контекстно-свободной грамматики имеет вид Vw, где V - единственный нетерминальный символ, а w - строка терминалов и / или нетерминалов; w может быть пустым.

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

В левом контексте - и правый контекст , чувствительные к грамматикам определяются путем ограничения правил только форм α → ау и просто β → γβ, соответственно. Языки, генерируемые этими грамматиками, также являются полным классом контекстно-зависимых языков. [13] Эквивалентность установлена нормальной формой Пенттонена . [14]

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

Следующая контекстно-зависимая грамматика с начальным символом S генерирует канонический неконтекстно -свободный язык { a n b n c n  : n ≥ 1}:

Правила 1 и 2 позволяют раздутие S в виде п до н.э. ( BC ) п -1 ; правила с 3 по 6 позволяют последовательно заменять каждый CB на BC ( для этого необходимо четыре правила , поскольку правило CBBC не вписывается в схему α A β → αγβ); правила 7–10 позволяют заменять нетерминалы B и C соответствующими терминалами b и c соответственно, при условии, что они находятся в нужном месте. Цепочка генерации для aaabbbccc :

S
2 АБК
2 ASBC до н.э.
1 а.о. до н.э. BCBC
3 аааБ ЦЗ ПГС
4 аааБ WZ CBC
5 аааБ WC CBC
6 аааБ BC CBC
3 аааBBC CZ C
4 аааBBC WZ C
5 аааBBC WC C
6 аааBBC BC C
3 aaaBB CZ CC
4 аааББ WZ CC
5 аааББ WC CC
6 аааББ БК СС
7 аа AB BBCCC
8 ааа bb BCCC
8 aaab bb CCC
9 ааабб до н.э. CC
10 aaabbb cc C
10 aaabbbc cc

Более сложные грамматики можно использовать для синтаксического анализа { a n b n c n d n : n ≥ 1} и других языков с еще большим количеством букв. Здесь мы покажем более простой подход с использованием не-подрядным грамматика: Пуск с ядром регулярных производств , порождающих сентенциальной формой , а затем включены не договаривающиеся производства , , , , , , , , , .

A Non - заказчик грамматика (для которых есть эквивалент ) для языка определяется и , , , , , , .

С помощью этих определений, дифференцирование для является: . [ необходима цитата ]

Несжимающая грамматика для языка { a 2 i  : i ≥ 1} построена в примере 9.5 (стр. 224) из (Hopcroft, Ullman, 1979): [15]

Нормальная форма Куроды [ править ]

Любая контекстно-зависимая грамматика, которая не генерирует пустую строку, может быть преобразована в слабо эквивалентную грамматику в нормальной форме Курода . «Слабо эквивалентный» здесь означает, что две грамматики генерируют один и тот же язык. Нормальная форма, как правило, не зависит от контекста, но будет грамматикой без ограничения . [16] [17]

Нормальная форма Курода - это фактическая нормальная форма для несогласованных грамматик.

Свойства и использование [ править ]

Эквивалентность линейно ограниченному автомату [ править ]

Формальный язык может быть описан контекстно-зависимой грамматикой тогда и только тогда, когда он принимается некоторым линейным ограниченным автоматом (LBA). [18] В некоторых учебниках этот результат приписывается исключительно Ландвеберу и Куроде . [7] Другие называют это Myhill теоремой -Landweber-Курод. [19] (Майхилл представил концепцию детерминированной LBA в 1960 году. Питер С. Ландвебер опубликовал в 1963 году, что язык, принятый детерминированной LBA, является контекстно-зависимым. Курода ввел понятие недетерминированной LBA и эквивалентность между LBA и CSG в 1964. [20] [21] ).

По состоянию на 2010 год остается открытым вопрос, может ли каждый контекстно-зависимый язык быть принят детерминированным LBA. [22]

Свойства закрытия [ править ]

Контекстно-зависимые языки закрыты для дополнения . Этот результат 1988 г. известен как теорема Иммермана – Селепсеньи . [19] Более того, они замкнуты относительно объединения , пересечения , конкатенации , подстановки , [примечание 4], обратного гомоморфизма и Клини плюс . [23]

Каждый рекурсивно перечислимый язык L может быть записан как h ( L ) для некоторого контекстно-зависимого языка L и некоторого гомоморфизма строк h . [24]

Вычислительные проблемы [ править ]

Проблема решения, которая спрашивает, принадлежит ли определенная строка s языку данной контекстно-зависимой грамматики G , является PSPACE-полной . Более того, существуют контекстно-зависимые грамматики, языки которых являются PSPACE-полными. Другими словами, существует контекстно-зависимая грамматика G, такая, что решение о том, принадлежит ли определенная строка s языку G, является PSPACE-полным (так что G фиксирован, и только s является частью входных данных проблемы). [25]

Проблема пустоты для контекстно-зависимых грамматик (для контекстно-зависимой грамматики G , является ли L ( G ) =?) Неразрешима . [26] [примечание 5]

Как модель естественного языка [ править ]

Савич доказал следующий теоретический результат, на котором он основывает свою критику CSG как основы естественного языка: для любого рекурсивно перечислимого множества R существует контекстно-зависимый язык / грамматика G, который можно использовать как своего рода прокси для проверки членство в R следующим образом: даны строка s , š в R , если и только если существует целое положительное число п , для которых подкожно п в G, где с является произвольным символом не является частью R . [10]

Было показано, что почти все естественные языки в целом могут характеризоваться контекстно-зависимыми грамматиками, но весь класс CSG кажется намного шире естественных языков. [ необходимая цитата ] Что еще хуже, поскольку вышеупомянутая проблема решения для CSG является PSPACE-полной, что делает их совершенно непригодными для практического использования, поскольку алгоритм с полиномиальным временем для PSPACE-полной задачи будет подразумевать P = NP .

Было доказано, что некоторые естественные языки не являются контекстно- зависимыми , на основе выявления так называемых кросс-последовательных зависимостей и явлений неограниченного скремблирования . Однако это не обязательно означает, что весь класс CSG необходим для улавливания «контекстной чувствительности» в разговорном смысле этих терминов на естественных языках. Например, строго более слабые (чем CSG) системы линейной бесконтекстной перезаписи (LCFRS) могут объяснять явление кросс-последовательных зависимостей; можно написать грамматику LCFRS для { a n b n c n d n | n ≥ 1} например. [27] [28] [29]

Текущие исследования в области компьютерной лингвистики были сосредоточены на формулировании других классов языков, которые « умеренно контекстно-зависимы », чьи проблемы решения возможны, таких как древовидные грамматики , комбинаторные категориальные грамматики , связанные контекстно-свободные языки и линейное контекстно-свободное переписывание. системы . Языки, генерируемые этими формализмами, правильно лежат между контекстно-независимыми и контекстно-зависимыми языками.

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

См. Также [ править ]

  • Иерархия Хомского
  • Развитие контекстно-зависимой грамматики
  • Грамматика с определенными предложениями # Неконтекстные грамматики
  • Список генераторов парсеров для контекстно-зависимых грамматик

Заметки [ править ]

  1. ^ т. е. A единственный нетерминальный
  2. ^ т. е. α и β цепочки нетерминалов и терминалов
  3. ^ т. е. γ - непустая строка нетерминалов и терминалов
  4. ^ более формально: если L ⊆ Σ * является контекстно-зависимым языком и f отображает каждый a ∈Σ на контекстно-зависимый язык f ( a ), то f ( L ) снова является контекстно-зависимым языком
  5. ^ Это также следует из (1) контекстно-свободных языков, которые также являются контекстно-зависимыми , (2) контекстно-зависимых языков, закрытых при пересечении , но (3) неразрешимости несвязности контекстно-свободных языков .

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

  1. ^ (Хопкрофт, Ульман, 1979); Раздел 9.4, стр.227
  2. ^ Линц, Питер (2011). Введение в формальные языки и автоматы . Издательство "Джонс и Бартлетт". п. 291. ISBN. 978-1-4496-1552-9.
  3. ^ Медуна, Александр (2000). Автоматы и языки: теория и приложения . Springer Science & Business Media. п. 730. ISBN 978-1-85233-074-3.
  4. ^ Дэвис, Мартин ; Сигал, Рон; Вейкер, Элейн Дж. (1994). Вычислимость, сложность и языки: основы теоретической информатики (2-е изд.). Морган Кауфманн. п. 189. ISBN. 978-0-08-050246-5.
  5. ^ Мартин, Джон С. (2010). Введение в языки и теорию вычислений (4-е изд.). Нью-Йорк, штат Нью-Йорк: Макгроу-Хилл. п. 277. ISBN. 9780073191461.
  6. ^ Левелевским, Willem JM (2008). Введение в теорию формальных языков и автоматов . Издательство Джона Бенджамина. п. 26. ISBN 978-90-272-3250-2.
  7. ^ а б Дэвис, Мартин ; Сигал, Рон; Вейкер, Элейн Дж. (1994). Вычислимость, сложность и языки: основы теоретической информатики (2-е изд.). Морган Кауфманн. С. 330–331. ISBN 978-0-08-050246-5.
  8. Хомский, Н. (1963). «Формальные свойства грамматики» . В Люсе, РД; Буш, RR; Галантер, Э. (ред.). Справочник по математической психологии . Нью-Йорк: Вили. С. 360–363.
  9. ^ Левелевским, Willem JM (2008). Введение в теорию формальных языков и автоматов . Издательство Джона Бенджамина. С. 125–126. ISBN 978-90-272-3250-2.
  10. ^ a b c Карлос Мартин Виде, изд. (1999). Проблемы математической лингвистики: Семинар по математической лингвистике, Стейт Колледж, штат Пенсильвания, апрель 1998 года. . Издательство Джона Бенджамина. С. 186–187. ISBN 90-272-1556-1.
  11. ^ Zhang, Da-Цянь, Кан Чжан и Jiannong Цао. « Контекстно-зависимый формализм грамматики графов для спецификации визуальных языков ». Компьютерный журнал 44.3 (2001): 186–200.
  12. ^ Хопкрофт, Джон Э .; Ульман, Джеффри Д. (1979). Введение в теорию автоматов, языки и вычисления . Эддисон-Уэсли.; п. 223–224; Упражнение 9, с. 230. В издании 2003 г. была опущена глава о CSG.
  13. ^ Хазевинкель, Михель (1989). Энциклопедия математики . 4 . Springer Science & Business Media. п. 297. ISBN. 978-1-55608-003-6.также на https://www.encyclopediaofmath.org/index.php/Grammar,_context-sensitive
  14. ^ Ито, Масами; Кобаяши, Юдзи; Сёдзи, Кунитака (2010). Автоматные, Формальные Языки и алгебраические системы: Труды АФЛАС 2008, Киото, Япония, 20-22 сентября 2008 . World Scientific. п. 183. ISBN. 978-981-4317-60-3.со ссылкой на Пенттонен, Марти (август 1974 г.). «Односторонний и двусторонний контекст в формальных грамматиках» . Информация и контроль . 25 (4): 371–392. DOI : 10.1016 / S0019-9958 (74) 91049-3 .
  15. ^ Они получили грамматику путем систематического преобразования неограниченной грамматики , данной в Exm. 9.4, а именно:
    1. ,
    2. ,
    3. ,
    4. ,
    5. ,
    6. ,
    7. ,
    8. .
    В контекстно-зависимой грамматике строка, заключенная в квадратные скобки, например , считается одним символом (аналогично, например, в форме Бэкуса – Наура ). Имена символов выбраны так, чтобы они напоминали неограниченную грамматику. Точно так же группы правил в контекстно-зависимой грамматике нумеруются в соответствии с правилом неограниченной грамматики, из которого они произошли.<name-part>
  16. Курода, Сигэ-Юки (июнь 1964 г.). «Классы языков и линейно-ограниченные автоматы» . Информация и контроль . 7 (2): 207–223. DOI : 10.1016 / s0019-9958 (64) 90120-2 .
  17. ^ Матееску, Александру; Саломаа, Арто (1997). «Глава 4: Аспекты теории классического языка». В Розенберге, Гжегоже ; Саломаа, Арто (ред.). Справочник формальных языков. Том I: Слово, язык, грамматика . Springer-Verlag. С. 175–252. ISBN 3-540-61486-9., Здесь: теорема 2.2, с. 190
  18. ^ (Хопкрофт, Ульман, 1979); Теорема 9.5, 9.6, с. 225–226
  19. ^ а б https://www.cs.cmu.edu/~flac/pdf/ContSens.pdf
  20. ^ Медуна, Александр (2000). Автоматы и языки: теория и приложения . Springer Science & Business Media. п. 755. ISBN 978-1-85233-074-3.
  21. ^ Левелевским, Willem JM (2008). Введение в теорию формальных языков и автоматов . Издательство Джона Бенджамина. С. 126–127. ISBN 978-90-272-3250-2.
  22. ^ Мартин, Джон С. (2010). Введение в языки и теорию вычислений (4-е изд.). Нью-Йорк, штат Нью-Йорк: Макгроу-Хилл. п. 283. ISBN. 9780073191461.
  23. ^ (Хопкрофт, Ульман, 1979); Упражнение S9.10, с. 230–231
  24. ^ (Хопкрофт, Ульман, 1979); Упражнение S9.14, с. 230–232. h отображает каждый символ в себя или в пустую строку.
  25. ^ Пример такой грамматики, предназначенной для решениязадачи QSAT , приведен в Lita, CV (2016-09-01). «О сложности проблемы обнаружения полиморфных вирусов ограниченной длины». 18-й Международный симпозиум по символьным и числовым алгоритмам для научных вычислений, 2016 г. (SYNASC) : 371–378. DOI : 10,1109 / SYNASC.2016.064 . ISBN 978-1-5090-5707-8.
  26. ^ (Хопкрофт, Ульман, 1979); Упражнение S9.13, с. 230–231
  27. ^ Kallmeyer, Лаура (2011). «Слегка контекстно-зависимые грамматические формализмы: естественные языки не зависят от контекста» (PDF) .
  28. ^ Kallmeyer, Лаура (2011). "Слегка контекстно-зависимые грамматические формализмы: линейные бесконтекстные системы перезаписи" (PDF) .
  29. ^ a b Каллмейер, Лаура (2010). Анализ вне контекстно-свободных грамматик . Springer Science & Business Media. С. 1–5. ISBN 978-3-642-14846-0.

Дальнейшее чтение [ править ]

  • Медуна, Александр ; Швец, Мартин (2005). Грамматики с условиями контекста и их приложения . Джон Вили и сыновья. ISBN 978-0-471-73655-4.

Внешние ссылки [ править ]

  • Анализ Эрли для контекстно-зависимых грамматик