Чи існує CFG полінома розміру, який описує цю кінцеву мову?


9

Чи існують перестановки та поліноміальний розмір (у ) контекстна вільна граматика, яка описує кінцеву мову над алфавітом ?π1,π2|w|=n{wπ1(w)π2(w)}{0,1}

ОНОВЛЕННЯ: Для однієї перестановки можливо. - обернення або відносно незначна модифікація реверсу.ππ


5
Також запитують на math.stackexchange. Що він має на увазі: чи є послідовність перестановок такою, що мови мають CFG розмірів полінома? π1n,π2nSnLn={wπ1(w)π2(w):w{0,1}n}
Yuval Filmus


1
Чи знаємо ми, чи є CFG для L=nLn ?
Каве

4
@Kaveh: Відповідь ні, для будь-якої послідовності хімічних речовин. Якщо ваша мова L була без контексту, то вона має довжину накачування p . Застосуйте накачувальну лему для CFG до рядка L, пов'язаного з w=0p1p . Лемма накачування для CFG також скажемо, що якщо OQ має позитивну відповідь, то CFG для Ln повинен використовувати принаймні Ω(n/logn) змінних, оскільки нам потрібно 3n менше довжини накачування. , так що наша CFG для Ln не приймає жодних рядків довжиною >3n . Я ще не бачу, як це використовувати, щоб виключити позитивну відповідь на ОК, але це можливо.
Джошуа Грохов

1
@Kaveh: (Крім того, якщо послідовність лікарських засобів можна вибирати довільно, то ваша мова навіть не повинна бути обчислена ... ОК, здається, за своєю суттю неоднакова.)L
Джошуа Грохов

Відповіді:


13

Хомська нормальна форма

CFG знаходиться у CNF (нормальна форма Хомського), якщо єдині постановки мають форму та ; граматику можна донести до CNF лише з квадратичним видувом.AaABC

Для граматики в КНФ, ми маємо славне подсловной Лемма: Якщо генерує слово , то для кожного , є подсловом з довжини , який породжується деяким не-терміналу . Доказ: Спустіть (бінарне) синтаксичне дерево, завжди переходячи до дитини, яка породжує довше підслову. Якщо ви почали з підслова розміром принаймні , ви не можете піти нижче .GGwwxw/2|x|<G/2

Рішення

Не втрачаючи загальності, можна припустити, що граматика для (така мова із специфікою ) знаходиться у звичайній формі Хомського. Мова складається зі слів для всіх .Lnπ1,π2SnLnw(x)=xπ1(x)π2(x)x{0,1}n

Використовуючи лемму підслова, для кожного ми можемо знайти підрядку довжини породжується деяким символом і виникає в положенні .w(x)s(x)

n2|s(x)|<n
A(x)p(x)

Припустимо, що і . Так , подслова може не перетинаються як частини і частини ; ми можемо вважати, що це відмежовано від частини. Таким чином, має вигляд . Це означає, що генерує рівно один рядок, а саме . Тому .p(x)=p(y)A(x)=A(y)|s(x)|<ns(x)xπ2(x)w(x)xw(x)xαs(x)βA(x)s(x)s(x)=s(y)

Тепер перетинає або або принаймні місця, і таким чином визначає щонайменше біт . Тому максимум рядки можуть мати і . Оскільки для існує максимум можливостей , ми отримуємо, що у граматиці є принаймні різні нетермінали.s(y)π1(y)π2(y)n/4n/4y23n/4y{0,1}np(x)=p(y)A(x)=A(y)3np(y)

2n/43n

Коментар: той самий доказ працює, якщо , тобто довільні перестановки на множині всіх бітних слів. З огляду на біт , існує рівно прообрази .π1,π2S{0,1}nnn/4πi(y)23n/4y

Більше прикладів

Використовуючи той самий метод, можна довести, що мова, де кожен символ з'являється рівно двічі, вимагає CFG експоненціального розміру в розмірі алфавіту. Ми можемо замінити "двічі" на будь-яку підмножину крім чотирьох тривіальних (ігноруючи , або не містить жодного або всього цього).N0N1

Буду вдячний для цього методу доказування.


2
Ювал, ви можете скопіювати рішення також тут.
Kaveh

Дякую, Ювал. Якщо ваш метод є правильним і новим, я би радий прочитати статтю, яка розглядає більш загальні випадки з позитивними або негативними результатами полісистематичних CFG для кінцевих або нескінченних мов.
jerr18

3
Ось такий запис: cs.toronto.edu/~yuvalf/cfg.pdf .
Yuval Filmus

Я гадаю, за винятком N1ви маєте на увазі "принаймні одне виникнення терміналу". Чи означає це, що ви можете створити всі перестановки шляхом перетину зΣ|Σ|?
jerr18

1
Дивіться відповідне запитання cstheory.stackexchange.com/q/5014, де Юваль розмістив відповідь з опублікованою посиланням.
Андрас Саламон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.