이 언어는 O (n log n)에서 3 개의 기호 TM로 인식 할 수 있습니까?


10

나는 매우 흥미롭고 여전히 열린 질문 " 단일 테이프 Turing machine의 알파벳 "(Emanuele Viola) 을 가지고 놀고 있었고 다음 언어를 생각해 냈습니다.

={엑스{0,1} 성 |엑스|==2미디엄 과 영형1(엑스)=케이미디엄;,미디엄,케이1}

여기서 의 개수를 문자열 내의 X들.1영형1(엑스)1

예를 들어, x = 01101111이면 n = 8, m = 3, k = 2; 그래서엑스

L은 단일 테이프와 단계 에서 알파벳 의 3 개 기호로 Turing Machine에서 인식 할 수 있습니까 ? {ϵ,0,1}영형(로그)

4 개의 기호를 사용하면 대답은 '그렇다'입니다.

  • 체크하면 교체 과 S 과 로들 과 동시에 저장에서 우측 S;|x|=2m0ϵ12m 1
  • 다음의 숫자 카운트 의 모듈로 에 .2mO(nlogn)

예를 들면 다음과 같습니다.

....01101111....... input x  (|x| = 8 = 2^3)
000.021.1212.0001.. div 2, first sweep (000. can safely be used as a delimiter)
000.022.1222.00011. div 2, second sweep
000.022.2222.000111 div 2, third sweep --> m = 3 (= log(n) )
000..22.2222....111 cleanup (original 1s are preserved as 2)
000..22.2221102.... start modulo m=3 calculation
000..22.2210022.... mod 3 = 2
000..22.2000222.... mod 3 = 0
000..22.0012222.... mod 3 = 1
000..20112.2222.... mod 3 = 2
000..11122.2222.... ACCEPT

만약 이 보다 표시되는 자연수 는 항상 1 과 같으므로 L = { 10 } ? |x|=n=2m엑스영형1(엑스)1={10}
Marc Bury

죄송합니다 | x | 문자열 x의 길이를 의미합니다. 예 : x = 01101111, n = 8, m = 3, k = 2, 따라서 x
Marzio De Biasi

1
그건 그렇고, 그것은 Emanuele의 질문에 대한 훌륭한 후보입니다. 왜냐하면 그것이 이기 때문에 : 펌핑 보조에 의해 규칙적이지 않으므로 o ( n log n ) 일 수는 없지만 O ( n log입니다 n ) . Θ(로그)영형(로그)영형(로그)
Joshua Grochow

답변:


10

다음과 같이 수정하여 4 개의 기호에 대해 가지고 있는 것과 동일한 아이디어를 사용할 수 없습니다 .

  • 항상 한 쌍의 심볼을 동시에 처리하십시오.
  • (00,01,10,11)(ϵ0,ϵ1,0ϵ,1ϵ)ϵϵ
  • "mod 2"단계에 유사한 트릭을 사용하십시오.

영형(1)


네가 옳아! ... 이제 나는 에마누엘레의 질문에 대한 대답이 '예'라고 생각하지만 ... 여전히 열려 있기 때문에 공식적으로 증명하기가 너무 쉽지 않을 것입니다 :-( 감사합니다!
Marzio De Biasi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.