Неконтактная грамматика - Noncontracting grammar
В формальная теория языка, а грамматика является неконтрактный (или монотонный), если все его продукционные правила имеют вид α → β, где α и β - струны из нетерминальный и терминальные символы, а длина α меньше или равна длине β, | α | ≤ | β |, то есть β не короче α. Грамматика - это по существу неконтрактный если может быть одно исключение, а именно правилоS → ε, где S это начальный символ и ε - пустая строка, и, кроме того, S никогда не встречается в правой части любого правила.
Ни одно из правил грамматики без сжатия не уменьшает длину перезаписываемой строки. Если каждое правило даже должным образом увеличивает длину, грамматика называется растущая контекстно-зависимая грамматика.
История
Хомский (1963) назвал несжимающую грамматику грамматика типа 1; в той же работе он назвал контекстно-зависимая грамматика "грамматика типа 2", и он доказал, что эти два слабо эквивалентный (контекстно-свободные грамматики в данной работе обозначены как «тип 4»).[1] Схема нумерации шрифтов в этой работе Хомского 1963 года не совпадает с более ранней, известной сегодня как Иерархия Хомского потому что он пытался подчеркнуть различие между слабой [генеративной] и сильной [структурной] эквивалентностью; в своей работе 1959 года он использовал «грамматику типа 1» для обозначения контекстно-зависимой грамматики и «тип 2» для обозначения контекстно-независимой.[2][3]
пример
S | → | abc |
S | → | aSBc |
cB | → | До н.э |
bB | → | bb |
Эта грамматика с начальным символом S, генерирует язык { апбпcп : п ≥ 1 },[4]который не контекстно-свободный из-за лемма о накачке.
Показана контекстно-зависимая грамматика для того же языка. ниже.
Преобразование в контекстно-зависимую грамматику
Каждая неконтактная грамматика (N, Σ, п, S) можно преобразовать в контекстно-зависимая грамматика (N’, Σ, п’, S) следующим образом:
- Для каждого терминального символа а ∈ Σ, введем новый нетерминальный символ [а] ∈ N’И новое правило ([а] → а) ∈ п’.
- В правилах п, замените каждый терминальный символ а соответствующим нетерминальным символом [а]. В результате все эти правила имеют вид Икс1...Иксм → Y1...Yп для нетерминалов Икся, Yj и м≤п.
- Заменить каждое правило Икс1...Иксм → Y1...Yп с участием м> 1 на 2м правила:[примечание 1]
Икс1 Икс2 ... Иксм-1 Иксм → Z1 Икс2 ... Иксм-1 Иксм Z1 Икс2 ... Иксм-1 Иксм → Z1 Z2 ... Иксм-1 Иксм : Z1 Z2 ... Иксм-1 Иксм → Z1 Z2 ... Zм-1 Иксм Z1 Z2 ... Zм-1 Иксм → Z1 Z2 ... Zм-1 Zм Yм+1 ... Yп Z1 Z2 ... Zм-1 Zм Yм+1 ... Yп → Y1 Z2 ... Zм-1 Zм Yм+1 ... Yп Y1 Z2 ... Zм-1 Zм Yм+1 ... Yп → Y1 Y2 ... Zм-1 Zм Yм+1 ... Yп : Y1 Y2 ... Zм-1 Zм Yм+1 ... Yп → Y1 Y2 ... Yм-1 Zм Yм+1 ... Yп Y1 Y2 ... Yм-1 Zм Yм+1 ... Yп → Y1 Y2 ... Yм-1 Yм Yм+1 ... Yп
Например, над неконтактная грамматика для { апбпcп | п ≥ 1} приводит к следующей контекстно-зависимой грамматике (с начальным символом S) для того же языка:
[а] | → | а | с шага 1 | ||||
[б] | → | б | с шага 1 | ||||
[c] | → | c | с шага 1 | ||||
S | → | [а] | [б] | [c] | с шага 2, без изменений | ||
S | → | [а] | S | B | [c] | с шага 2, без изменений | |
из шага 2, дополнительно измененный ниже | |||||||
[c] | B | → | Z1 | B | изменено выше на шаге 3 | ||
Z1 | B | → | Z1 | Z2 | изменено выше на шаге 3 | ||
Z1 | Z2 | → | B | Z2 | изменено выше на шаге 3 | ||
B | Z2 | → | B | [c] | изменено выше на шаге 3 | ||
из шага 2, дополнительно измененный ниже | |||||||
[б] | B | → | Z3 | B | изменено выше на шаге 3 | ||
Z3 | B | → | Z3 | Z4 | изменено выше на шаге 3 | ||
Z3 | Z4 | → | [б] | Z4 | изменено выше на шаге 3 | ||
[б] | Z4 | → | [б] | [б] | изменено выше на шаге 3 |
Выразительная сила
Эта статья или раздел может содержать вводящие в заблуждение части. |
Точно так же существует простая процедура для внесения любой несжимающей грамматики в Курода нормальная форма.[7][8]И наоборот, каждая контекстно-зависимая грамматика и каждая грамматика нормальной формы Куроды тривиально также является неконтактной грамматикой. Следовательно, неконтактные грамматики, грамматики в нормальной форме Куроды и контекстно-зависимые грамматики имеют одинаковую выразительную силу. точно описать контекстно-зависимые языки которые не включают пустую строку, в то время как существенно не сжимающие грамматики точно описывают набор контекстно-зависимые языки.
Смотрите также
Заметки
- ^ Для удобства неконтекстная часть левой и правой части выделена жирным шрифтом.
использованная литература
- ^ Ноам Хомский (1963). «Формальные свойства грамматики». В R.D. Luce, R.R. Bush и E. Galanter (ed.). Справочник по математической психологии. II. Нью-Йорк: Вили. стр.323 –418. Здесь: стр. 360–363 и 367.
- ^ Хомский, Н. 1959а. О некоторых формальных свойствах грамматик. Информация и контроль 2: 137–67. (141–42 для определений)
- ^ Виллем Дж. М. Левелт (2008). Введение в теорию формальных языков и автоматов. Издательство Джона Бенджамина. С. 125–126. ISBN 978-90-272-3250-2.
- ^ Матееску и Саломаа (1997), Пример 2.1, с. 188
- ^ Матееску и Саломаа (1997), Теорема 2.1, с. 187
- ^ Джон Э. Хопкрофт, Джеффри Д. Уллман (1979). Введение в теорию автоматов, языки и вычисления. Эддисон-Уэсли. ISBN 0-201-02988-X. Упражнение 9.9, стр. 230. В издании 2003 г. была опущена глава, посвященная неконтрактным / контекстно-зависимым языкам.
- ^ Сигэ-Юки Курода (июнь 1964 г.). «Классы языков и линейно-ограниченные автоматы». Информация и контроль. 7 (2): 207–223. Дои:10.1016 / с0019-9958 (64) 90120-2.
- ^ Матееску и Саломаа (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.