Есть ли перестановки и полиномиальный размер (в ) контекстно-бесплатная грамматика, описывающая конечный язык по алфавиту ?
ОБНОВЛЕНИЕ: для одной перестановки это возможно. является разворотом или относительно незначительной модификацией разворота.
Есть ли перестановки и полиномиальный размер (в ) контекстно-бесплатная грамматика, описывающая конечный язык по алфавиту ?
ОБНОВЛЕНИЕ: для одной перестановки это возможно. является разворотом или относительно незначительной модификацией разворота.
Ответы:
CFG находится в CNF (нормальная форма Хомского), если единственные производства имеют форму а также ; грамматика может быть перенесена в CNF только с квадратичной раздувкой.
Для грамматики в CNF у нас есть хорошая лемма подслов: если генерирует слово то для каждого есть подслово из длины который генерируется некоторым нетерминалом , Доказательство: опуститесь (двоичное) синтаксическое дерево, всегда обращаясь к потомку, который генерирует более длинное подслово. Если вы начали с подсловом размера по крайней мере, ты не мог пойти ниже ,
Без ограничения общности можно предположить, что грамматика для (такой язык с конкретными ) в нормальном состоянии. Язык состоит из слов для всех ,
Используя лемму подслова, для каждого мы можем найти подстроку длины
Предположим, что а также , посколькуПодслово не может пересекать оба часть и часть ; мы можем предположить, что это не пересекается счасть. таким образом имеет форму , Это подразумевает, что генерирует ровно одну строку, а именно , Следовательно,
Сейчас же пересекается либо или по крайней мере места, и, таким образом, определяет, по крайней мере, биты , Поэтому самое большее строки может иметь а также , Так как есть максимум возможности для мы получаем что есть хотя бы
Комментарий: то же самое доказательство работает, если т.е. произвольные перестановки на множестве всех слова. Данный биты Точно прообразы ,
Используя тот же метод, можно доказать, что язык, где каждый символ появляется ровно дважды, требует CFG экспоненциального размера в размере алфавита. Мы можем заменить «дважды» на любое подмножество кроме четырех тривиальных (игнорируя либо не содержит ни одного из или все это).
Я был бы признателен за ссылку на этот метод доказательства.