{ww | ...} 문맥이 없습니까?


15

언어 을 . 즉, 은 일부 단어를 두 번 반복하여 표현할 수없는 단어를 포함합니다. 컨텍스트 가 없는가 ?L = { a , b } ∗ − { w w ∣ w ∈ { a , b } ∗ } L LLL={a,b}∗−{ww∣w∈{a,b}∗}LL

을 와 교차하려고 했지만 여전히 아무것도 입증 할 수 없습니다. 나는 또한 파리 크의 정리를 보았지만 도움이되지 않습니다.a * b * a * b *La∗b∗a∗b∗


답변:


29

컨텍스트가 없습니다. 문법은 다음과 같습니다.

A → a | 의 | a A b | b A b | b A a B → b | a B a | a B b | b B b | b B aS→A|B|AB|BA
A→a|aAa|aAb|bAb|bAa
B→b|aBa|aBb|bBb|bBa

경우 → B의 BA 로 홀수 길이의 단어를 생성 중심이다. 와 동일합니다 .aBb

이 문법이 정확하다는 증거를 제시하겠습니다. 하자 (질문의 언어).L={a,b}∗∖{ww∣w∈{a,b}∗}

정리. 입니다. 즉,이 문법은 문제의 언어를 생성합니다.L=L(S)

증명. 이 문법은 처럼 모든 홀수 길이의 단어를 생성하기 때문에 이것은 확실히 모든 홀수 길이의 단어에 적용됩니다 . 따라서 짝수 단어에 초점을 맞추겠습니다.L

길이가 짝수 라고 가정하십시오 . 보여 드리겠습니다 . 특히, 는 형식으로 쓸 수 있다고 주장합니다 . 여기서 와 는 길이가 홀수이고 다른 중심 문자가 있습니다. 따라서 는 또는 에서 파생 될 수 있습니다 ( 의 중심 문자가 인지 인지에 따라 ). 제의 정당성 : 송출 의 번째 문자 표시 될 되도록, . 그런 다음 부터x ∈ L ( G ) x x = u v u v x A B B A u a b i x x i x = x 1 x 2 ⋯ x n x { w w ∣ w ∈ { a , b } n / 2 } i x i ≠ x i + nx∈Lx∈L(G)xx=uvuvxABBAuabixxix=x1x2⋯xnx아닌 일부 인덱스가 존재해야 되도록 . 결과적으로 우리는 및 취할 수 있습니다 . 중앙 문자 것이다 , 그리고 중앙 문자 것 때문에 공사에 의해 가 다른 중앙 편지.{ww∣w∈{a,b}n/2}i u=x1⋯x 2 i − 1 v=x 2 i ⋯xnuxivx i + n / 2 u,vxi≠xi+n/2u=x1⋯x2i−1v=x2i⋯xnuxivxi+n/2u,v

다음으로 길이가 같다고 가정하자 . 이 있어야 함을 보여줄 것입니다 . 길이가 짝수 이면 또는 에서 파생 될 수 있어야합니다 . 일반성을 잃지 않고 에서 파생 되고 여기서 는 에서 파생 되고 는 에서 파생 될 수 있다고 가정합니다 . 만약 의 길이가 같으면, 우리는 (중앙 문자가 다르기 때문에)를 가져야합니다. 그래서 . 그래서 가정x ∈ L x A B B A A B x = u v u A v B u , v u ≠ v x ∉ { w w ∣ w ∈ { a , b } ∗ } u , v ℓ n − ℓ u ( ℓ + 1 ) / 2 vx∈L(G)x∈LxABBAABx=uvuAvBu,vu≠vx∉{ww∣w∈{a,b}∗}u,v길이 과 과 같이 길이가 다릅니다 . 그런 다음 중심 문자는 및 입니다. 중심 문자가 다르다는 사실은 입니다. 이후 이 의미 . 를 로 분해하려고하면 , 의 길이가 같으면 임을 알게됩니다 즉, 이므로ℓn−ℓu(ℓ+1)/2 u,v u ( ℓ + 1 ) / 2 ≠ v ( n − ℓ + 1 ) / 2 x=uv x ( ℓ + 1 ) / 2 ≠ x ( n + ℓ + 1 ) / 2 xx=w w ′ wv(n−ℓ+1)/2u,vu(ℓ+1)/2≠v(n−ℓ+1)/2x=uvx(ℓ+1)/2≠x(n+ℓ+1)/2xx=ww′w ( ℓ + 1 ) / 2 = x ( ℓ + 1 ) / 2 ≠ x ( n + ℓ + 1 ) / 2 = w ′ ( ℓ + 1 ) / 2 w ≠ w ′ x ∉ { w w ∣ w ∈ { a , b } ∗ } xw,w′w(ℓ+1)/2=x(ℓ+1)/2≠x(n+ℓ+1)/2=w(ℓ+1)/2′w≠w′x∉{ww∣w∈{a,b}∗} . 특히, 옵니다 .x∈L


2
나는 Evgeny Eltishev가 제공 한 힌트 / 스케치를 기반 으로이 문법에 대한 정확한 증거를 제공하기 위해 답변을 편집했습니다. 이것이 왜 이것이 효과가 있는지 분명히 알기를 바랍니다.
— DW

"aabb"를 생성 할 수 있습니까?
— manasij7479

1
@ manasij7479 예 : . S→AB→aB→a(aBb)→aabb
— J.-E.

3

이 언어는 컨텍스트가 없으므로 다음 백서에서 입증되었습니다.

토마스 제 스키, Zach. "반복 된 문자열에 대한 문맥이없는 문법" 정보 및 컴퓨터 과학 저널 , 2012 ( PDF ).

문법은 다음과 같습니다.

S→E∣U∣ϵE→AB∣BAA→ZAZ∣aB→ZBZ∣bU→ZUZ∣ZZ→a∣b

8
어서 오십시오! 다음은 이 답변에 대한 비판 이 아닙니다 . 정보 및 컴퓨터 과학 저널 에 "세계 대학 연합"에 의해 게시 Beall의 목록 약탈 오픈 액세스 게시자의. 학부 수준의 연습 문제를 해결하는 것 외에는 아무것도하지 않는 논문을 출판하기 위해 상대적으로 많은 사람들의 돈을 필요로하는 회사가 전 세계에 있다는 것은 슬픈 일입니다.
— David Richerby 2016 년

위의 답변에 대해 언급할만한 평판이 없습니다. 그러나 그 문법은 나에게 잘못된 것 같습니다. 언어로 된 "aaab"를 생성 할 수 없습니다.
— A. Mashreghi

1
수행 한 후 , (당신이 그것을 시도해야합니다) , 생성 할 수 있습니다 보인다 있도록 . S → A BCFG→CNF→CYKBS→AB→aAaB→aaaB→aaabaaab
— Evil

당신이
— 그렇습니다
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.