이 유한 언어를 설명하는 다항식 크기 ​​CFG가 있습니까?


9

순열이 있습니까 π1,π2 다항식 크기 |w|=n유한 언어를 설명하는 문맥 자유 문법 {wπ1(w)π2(w)} 알파벳 이상 {0,1}?

업데이트 : 한 순열 π 것이 가능하다. π 반전의 반전 또는 비교적 작은 수정입니다.


5
또한 math.stackexchange에 대해 질문했습니다. 그가 의미하는 바 : 순열 순서가 있습니까?π1n,π2nSn 언어가 Ln={wπ1(w)π2(w):w{0,1}n}다항식 크기 ​​CFG가 있습니까?
Yuval Filmus


1
CFG가 있는지 알고 있습니까? L=nLn?
Kaveh

4
@Kaveh : 정답 순서는 '아니요'입니다. 당신의 언어L 문맥이 없으면 펌핑 길이가 있습니다. p. CFG에 대한 펌핑 보조기구를 L에 연결된 문자열에 적용w=0p1p. CFG의 펌핑 보조는 또한 OQ에 긍정적 인 대답이 있다면 CFG는Ln 최소한 사용해야합니다 Ω(n/logn) 변수가 필요하기 때문에 3n 펌핑 길이보다 작아야합니다. Ln 길이가 긴 문자열을 허용하지 않습니다 >3n. OQ에 대한 긍정적 인 답변을 배제하기 위해 이것을 사용하는 방법을 아직 보지 못했지만 가능할 수도 있습니다.
Joshua Grochow

1
@Kaveh : (또한 파마의 순서를 임의로 선택할 수 있다면, 당신의 언어 L도 계산 가능한 일 필요는 없다 ... OQ는 본질적으로 균일하지 않은 것 같다).
여호수아 Grochow

답변:


13

촘스키 일반 형태

CFG는 유일한 프로덕션 형식 인 경우 CNF (Chomsky 일반 형식)입니다. AaABC; 문법은 2 차 블로우 업만으로 CNF로 가져올 수 있습니다.

문법 GCNF에, 우리는 좋은 Subword 보조 정리가 : 만약G 단어를 생성 w그런 다음 각각에 대해 w, 하위 단어가 있습니다 xw 길이의 /2|x|< 비 터미널에 의해 생성되는 G. 증명 : (바이너리) 구문 트리를 내립니다. 항상 더 긴 하위 단어를 생성하는 자식으로 이동합니다. 최소한 크기의 하위 단어로 시작한 경우아래로 갈 수 없습니다 /2.

해결책

일반성을 잃지 않으면 서 문법은 Ln (특정 언어 π1,π2Sn)은 Chomsky Normal Form입니다. 언어Ln 단어로 구성 w(x)=xπ1(x)π2(x) 모든 x{0,1}n.

각각에 대해 서브 워드 Lemma 사용 w(x) 우리는 부분 문자열을 찾을 수 있습니다 s(x) 길이의

n2|s(x)|<n
일부 기호로 생성 A(x) 위치에서 발생 p(x).

한다고 가정 p(x)=p(y)A(x)=A(y). 이후|s(x)|<n, 하위 단어 s(x) 둘 다 교차 할 수 없습니다 x 부분과 π2(x) 부분의 w(x); 우리는 그것이 분리되어 있다고 가정 할 수있다x부품. 그러므로w(x) 형태이다 xαs(x)β. 이것은A(x) 정확히 하나의 문자열, 즉 s(x). 따라서s(x)=s(y).

지금 s(y) 둘 중 하나와 교차 π1(y) 또는 π2(y) 적어도 n/4 장소를 결정하고 최소한 결정 n/4 조금 y. 따라서 기껏해야23n/4y{0,1}n 가질 수있다 p(x)=p(y)A(x)=A(y). 최대가 있기 때문에3n 가능성 p(y)우리는 적어도

2n/43n
문법의 다른 비 터미널.

의견 : 다음과 같은 증거가 작동하는 경우 π1,π2S{0,1}n즉, 모든 집합에 대한 임의의 순열입니다. n비트 단어. 주어진n/4 조금 πi(y), 정확히있다 23n/4 사전 이미지 y.

더 많은 예

동일한 방법을 사용하면 각 문자가 정확히 두 번 나타나는 언어에 알파벳 크기의 지수 크기 CFG가 필요하다는 것을 증명할 수 있습니다. "두 번"을 하위 집합으로 대체 할 수 있습니다N 사소한 것 이외의 것 (무시) 0을 포함하지 않는 N1 또는 전부).

이 증명 방법에 대한 참조를 부탁드립니다.


2
Yuval, 여기에 솔루션을 복사하십시오.
Kaveh February

유발 감사합니다. 귀하의 방법이 정확하고 참신한 경우 유한 또는 무한 언어의 폴리 사이즈 CFG에 대해 긍정적 또는 부정적 결과를 갖는보다 일반적인 사례를 조사하는 기사를 읽어 드리겠습니다.
jerr18


나는 예외로 생각한다 N1"최소한 한 번의 터미널 발생"을 의미합니다. 이것은 다음과 교차하여 모든 순열을 생성 할 수 있음을 의미합니까?Σ|Σ|?
jerr18

1
Yuval이 게시 된 참조로 답변을 게시 한 관련 질문 cstheory.stackexchange.com/q/5014를 참조하십시오.
András Salamon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.