Нумерационная теорема Хомского – Шютценбергера. - Chomsky–Schützenberger enumeration theorem

В формальная теория языка, то Нумерационная теорема Хомского – Шютценбергера. это теорема, полученная Ноам Хомский и Марсель-Пауль Шютценбергер о количестве слов заданной длины, созданных однозначная контекстно-свободная грамматика. Теорема обеспечивает неожиданную связь между теорией формальные языки и абстрактная алгебра.

Заявление

Чтобы сформулировать теорему, необходимы несколько понятий из алгебры и теории формального языка.

Позволять обозначают множество неотрицательных целых чисел. А степенной ряд над является бесконечная серия формы

с коэффициентами в . В умножение двух официальных степенной ряд и определяется ожидаемым образом как свертка последовательностей и :

В частности, мы пишем , , и так далее. По аналогии с алгебраические числа, степенной ряд называется алгебраический над , если существует конечный набор многочленов каждый с рациональный коэффициенты такие, что

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

Теорема Хомского – Шютценбергера.. Если это контекстно-свободный язык допущение однозначной контекстно-свободной грамматики, и это количество слов длины в , тогда это степенной ряд над что алгебраически над .

Доказательства этой теоремы даются Куич и Саломаа (1985), и по Панхольцер (2005).

использование

Асимптотические оценки

Теорема может быть использована в аналитическая комбинаторика оценить количество слов длины п генерируется заданной однозначной контекстно-свободной грамматикой, как п становится большим. Следующий пример дается Грубер, Ли и Шаллит (2012): недвусмысленная контекстно-свободная грамматика грамм над алфавитом {0,1} имеет начальный символ S и следующие правила

SM | U
M → 0M1M | ε
U → 0S | 0M1U.

Чтобы получить алгебраическое представление степенного ряда связанный с заданной контекстно-свободной грамматикой грамм, грамматика преобразуется в систему уравнений. Это достигается заменой каждого символа терминала на Икс, каждое появление ε на целое число «1», каждое вхождение «→» на «=» и каждое вхождение «|» на '+' соответственно. Операция конкатенации в правой части каждого правила соответствует операции умножения в полученных таким образом уравнениях. Это дает следующую систему уравнений:

S = M + U
M = M²Икс² + 1
U = Sx + MUx²

В этой системе уравнений S, M, и U являются функциями Икс, так что можно также написать , , и . Система уравнений может быть решена после S, в результате чего получается одно алгебраическое уравнение:

.

Это квадратное уравнение имеет два решения для S, одним из которых является алгебраический степенной ряд . Применяя методы комплексного анализа к этому уравнению, число слов длины п создано грамм можно оценить, как п становится большим. В этом случае получаем но для каждого . Видеть (Грубер, Ли и Шаллит 2012 ) для подробного изложения.

Присущая двусмысленность

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

Сравнительно легко показать, что язык не зависит от контекста (Berstel & Boasson, 1990 г. ). Сложнее показать, что не существует однозначной грамматики, которая порождает . Это можно доказать следующим образом: если обозначает количество слов длины в , то для соответствующего степенного ряда выполняется. Используя методы из комплексный анализ, можно доказать, что эта функция не алгебраична над . По теореме Хомского-Шютценбергера можно заключить, что не допускает однозначной контекстно-свободной грамматики. Видеть (Berstel & Boasson, 1990 г. ) для подробного отчета.

Рекомендации

Берстель, Жан; Боассон, Люк (1990). «Контекстно-свободные языки» (PDF). В ван Леувен, Ян (ред.). Справочник по теоретической информатике, Том B: Формальные модели и семантика. Elsevier и MIT press. С. 59–102. ISBN  0-444-88074-7.CS1 maint: ref = harv (связь)
Хомский, Ноам; Шютценбергер, Марсель-Поль (1963). «Алгебраическая теория контекстно-свободных языков» (PDF). В P. Braffort and D. Hirschberg, eds., Компьютерное программирование и формальные системы (стр. 118–161). Амстердам: Северная Голландия.CS1 maint: ref = harv (связь)
Флажоле, Филипп; Седжвик, Роберт (2009). Аналитическая комбинаторика. Кембридж: Издательство Кембриджского университета. ISBN  978-0-521-89806-5.CS1 maint: ref = harv (связь)
Грубер, Германн; Ли, Джонатан; Шаллит, Джеффри (2012). «Перечисление регулярных выражений и их языков». arXiv:1204.4982 [cs.FL ].CS1 maint: ref = harv (связь)
Куич, Вернер; Саломаа, Арто (1985). Полукольца, Автоматы, Языки. Берлин: Springer-Verlag. ISBN  978-3-642-69961-0.CS1 maint: ref = harv (связь)
Панхольцер, Алоис (2005). "Основы Грёбнера и определяющий полином контекстно-свободной грамматической производящей функции". Журнал автоматов, языков и комбинаторики. 10: 79–97.CS1 maint: ref = harv (связь)