Неконтактная грамматика - Noncontracting grammar

В формальная теория языка, а грамматика является неконтрактный (или монотонный), если все его продукционные правила имеют вид α → β, где α и β - струны из нетерминальный и терминальные символы, а длина α меньше или равна длине β, | α | ≤ | β |, то есть β не короче α. Грамматика - это по существу неконтрактный если может быть одно исключение, а именно правилоS → ε, где S это начальный символ и ε - пустая строка, и, кроме того, S никогда не встречается в правой части любого правила.

Ни одно из правил грамматики без сжатия не уменьшает длину перезаписываемой строки. Если каждое правило даже должным образом увеличивает длину, грамматика называется растущая контекстно-зависимая грамматика.

История

Хомский (1963) назвал несжимающую грамматику грамматика типа 1; в той же работе он назвал контекстно-зависимая грамматика "грамматика типа 2", и он доказал, что эти два слабо эквивалентный (контекстно-свободные грамматики в данной работе обозначены как «тип 4»).[1] Схема нумерации шрифтов в этой работе Хомского 1963 года не совпадает с более ранней, известной сегодня как Иерархия Хомского потому что он пытался подчеркнуть различие между слабой [генеративной] и сильной [структурной] эквивалентностью; в своей работе 1959 года он использовал «грамматику типа 1» для обозначения контекстно-зависимой грамматики и «тип 2» для обозначения контекстно-независимой.[2][3]

пример

Sabc
SaSBc
cBДо н.э
bBbb

Эта грамматика с начальным символом S, генерирует язык { апбпcп : п ≥ 1 },[4]который не контекстно-свободный из-за лемма о накачке.

Показана контекстно-зависимая грамматика для того же языка. ниже.

Преобразование в контекстно-зависимую грамматику

Каждая неконтактная грамматика (N, Σ, п, S) можно преобразовать в контекстно-зависимая грамматика (N’, Σ, п’, S) следующим образом:

  1. Для каждого терминального символа а ∈ Σ, введем новый нетерминальный символ [а] ∈ N’И новое правило ([а] → а) ∈ п’.
  2. В правилах п, замените каждый терминальный символ а соответствующим нетерминальным символом [а]. В результате все эти правила имеют вид Икс1...ИксмY1...Yп для нетерминалов Икся, Yj и мп.
  3. Заменить каждое правило Икс1...ИксмY1...Yп с участием м> 1 на 2м правила:[примечание 1]
Икс1Икс2...Иксм-1 ИксмZ1Икс2...Иксм-1 Иксм
Z1Икс2...Иксм-1 ИксмZ1Z2...Иксм-1 Иксм
:
Z1Z2...Иксм-1 ИксмZ1Z2...Zм-1 Иксм
Z1Z2...Zм-1 ИксмZ1Z2...Zм-1 ZмYм+1...Yп
Z1Z2...Zм-1 ZмYм+1...Yп      →      Y1Z2...Zм-1 ZмYм+1...Yп
Y1Z2...Zм-1 ZмYм+1...YпY1Y2...Zм-1 ZмYм+1...Yп
:
Y1Y2...Zм-1 ZмYм+1...YпY1Y2...Yм-1 ZмYм+1...Yп
Y1Y2...Yм-1 ZмYм+1...YпY1Y2...Yм-1 YмYм+1...Yп
где каждый ZяN’- это новый нетерминал, нигде больше не встречающийся.[5][6]

Например, над неконтактная грамматика для { апбпcп | п ≥ 1} приводит к следующей контекстно-зависимой грамматике (с начальным символом S) для того же языка:

[а]ас шага 1
[б]бс шага 1
[c]cс шага 1
S[а][б][c]с шага 2, без изменений
S[а]SB[c]      с шага 2, без изменений
[c]BB[c]из шага 2, дополнительно измененный ниже
[c]BZ1Bизменено выше на шаге 3
Z1BZ1Z2изменено выше на шаге 3
Z1Z2      →      BZ2изменено выше на шаге 3
BZ2B[c]изменено выше на шаге 3
[б]B[б][б]из шага 2, дополнительно измененный ниже
[б]BZ3Bизменено выше на шаге 3
Z3BZ3Z4изменено выше на шаге 3
Z3Z4[б]Z4изменено выше на шаге 3
[б]Z4[б][б]изменено выше на шаге 3

Выразительная сила

Точно так же существует простая процедура для внесения любой несжимающей грамматики в Курода нормальная форма.[7][8]И наоборот, каждая контекстно-зависимая грамматика и каждая грамматика нормальной формы Куроды тривиально также является неконтактной грамматикой. Следовательно, неконтактные грамматики, грамматики в нормальной форме Куроды и контекстно-зависимые грамматики имеют одинаковую выразительную силу. точно описать контекстно-зависимые языки которые не включают пустую строку, в то время как существенно не сжимающие грамматики точно описывают набор контекстно-зависимые языки.

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

Заметки

  1. ^ Для удобства неконтекстная часть левой и правой части выделена жирным шрифтом.

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

  1. ^ Ноам Хомский (1963). «Формальные свойства грамматики». В R.D. Luce, R.R. Bush и E. Galanter (ed.). Справочник по математической психологии. II. Нью-Йорк: Вили. стр.323 –418. Здесь: стр. 360–363 и 367.
  2. ^ Хомский, Н. 1959а. О некоторых формальных свойствах грамматик. Информация и контроль 2: 137–67. (141–42 для определений)
  3. ^ Виллем Дж. М. Левелт (2008). Введение в теорию формальных языков и автоматов. Издательство Джона Бенджамина. С. 125–126. ISBN  978-90-272-3250-2.
  4. ^ Матееску и Саломаа (1997), Пример 2.1, с. 188
  5. ^ Матееску и Саломаа (1997), Теорема 2.1, с. 187
  6. ^ Джон Э. Хопкрофт, Джеффри Д. Уллман (1979). Введение в теорию автоматов, языки и вычисления. Эддисон-Уэсли. ISBN  0-201-02988-X. Упражнение 9.9, стр. 230. В издании 2003 г. была опущена глава, посвященная неконтрактным / контекстно-зависимым языкам.
  7. ^ Сигэ-Юки Курода (июнь 1964 г.). «Классы языков и линейно-ограниченные автоматы». Информация и контроль. 7 (2): 207–223. Дои:10.1016 / с0019-9958 (64) 90120-2.
  8. ^ Матееску и Саломаа (1997), Теорема 2.2, с. 190
  • Книга, Р. В. (1973). «О структуре контекстных грамматик». Международный журнал компьютерных и информационных наук. 2 (2): 129–139. Дои:10.1007 / BF00976059. HDL:2060/19710024701.
  • Матееску, Александру; Саломаа, Арто (1997). «Глава 4: Аспекты теории классического языка». В Розенберге, Гжегоже; Саломаа, Арто (ред.). Справочник формальных языков. Том I: Слово, язык, грамматика. Springer-Verlag. С. 175–252. ISBN  3-540-61486-9.