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


9

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

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


5
또한 math.stackexchange에 대해 질문했습니다. 그가 의미하는 바 : 순열 순서가 있습니까?π1n,π2n∈Sn 언어가 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/log⁡n) 변수가 필요하기 때문에 3n 펌핑 길이보다 작아야합니다. Ln 길이가 긴 문자열을 허용하지 않습니다 >3n. OQ에 대한 긍정적 인 답변을 배제하기 위해 이것을 사용하는 방법을 아직 보지 못했지만 가능할 수도 있습니다.
— Joshua Grochow

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

답변:


13

촘스키 일반 형태

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

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

해결책

일반성을 잃지 않으면 서 문법은 Ln (특정 언어 π1,π2∈Sn)은 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/4 줄 y∈{0,1}n 가질 수있다 p(x)=p(y) 과 A(x)=A(y). 최대가 있기 때문에3n 가능성 p(y)우리는 적어도

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

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

더 많은 예

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

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


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

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


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

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