단일 테이프 튜링 알파벳


40

크기가 인 알파벳을 사용하여 단일 테이프 Turing 기계 에서 시간 로 계산할 수있는 모든 함수 을 다음과 같이 계산할 수 있습니다. 크기가 인 알파벳 (예 : 및 공백)을 사용하는 단일 테이프 튜링 기계에서 시간 )?f:{0,1}{0,1}tk=O(1)O(t)30,1,

(OP의 아래 주석에서) 입력은 사용하여 기록 되지만 크기의 알파벳을 사용하는 튜링 기계 는 입력 기호를 더 큰 알파벳의 기호로 덮어 쓸 수 있습니다. 시간 가 소요되는 입력을 이동할 필요없이 더 작은 알파벳으로 더 큰 알파벳의 기호를 인코딩하는 방법을 보지 못했습니다 .0,1kn2


8
입력은 사용하여 작성 되지만 크기의 알파벳을 사용하는 Turing 머신 은 입력 기호를 더 큰 알파벳의 기호로 덮어 쓸 수 있습니다. 시간 가 소요되는 입력을 이동할 필요없이 더 작은 알파벳으로 더 큰 알파벳의 기호를 인코딩하는 방법을 보지 못했습니다 . 0,1kn2
Manu

4
@Emanuele : 질문을 편집하고이 부분을 강조해야합니다. 그렇지 않으면 그것은 표준 교과서 연습과 똑같이 들립니다 ...
Jukka Suomela

3
@ 쓰요시, 당신은 그 질문을 오해했다고 생각합니다.
Suresh Venkat

4
@Jukka : 1 테이프 튜링 머신에서 시간에 계산할 수있는 모든 것은 실제로 일반 언어입니다. o(nlogn)
Kristoffer Arnsfelt Hansen

6
@Abel : Arora와 Barak에서 인용 한 결과는 모델 (다중 테이프 TM의 표준)에 별도의 읽기 전용 입력 테이프가 있기 때문에 주요 문제를 해결합니다.
Joshua Grochow

답변:


5

TM이 에서 실행되면 부분 응답o(|x|log|x|)

TM4가 을 계산 하는 4 기호 TM (알파벳 ) 인 경우 , 즉 언어 에서Σ4={ϵ,0,1,2}f:{0,1}{0,1}L={x|f(x)=1}(o(|x|log|x|))

하나의 테이프 결정적 선형 시간 복잡도는1DLIN=1DTime(O(n))

  • Hennie는 (1) 임을 증명REG=1DLIN
  • 고바야시는 임을 증명했습니다 (2REG=1DTime(o(nlogn))

따라서 은 규칙적이며 알파벳 여전히 규칙적입니다.LΣ3={ϵ,0,1}

따라서 L을 결정하고 기호 만 사용하는 DFA가 있습니다. 단일 테이프 3- 심볼 TM3은 DFA에서 직접 구축 할 수 있으며 원본 TM4의 동일한 패딩되지 않은 입력을 사용하여 L 결정 합니다.Σ3

... TM4에서 직접 빌드 할 수 없지만 TM3이 존재합니다.

TM4가 에서 실행 되면 입력을 이동하고 TM4에서 TM3으로 직접 변환 할 수 있습니다.Ω(n2)

주석에서 알 수 있듯이 TM4가 에서 실행될 때 어려운 경우 입니다 .Ω(nlogn)o(n2)


(1) Hennie, 단일 테이프, 오프라인 Turing 기계 계산 (1965)

(2) 고바야시, 1 테이프 비 결정적 튜링 기계 시간 계층 구조 (1985)


1
Kristoffer Arnsfelt Hansen 은 에 대한 요점을 이미 아래 질문에 언급했습니다. 정말 흥미로운 경우는 입니다. o(nlogn)Ω(nlogn)o(n2)
Kaveh

내가 Kristoffer의 의견을 눈치 채지 못했을 것입니다. 흥미로운 사례를 잘못 표현했습니다 (증명 방법을 모르겠습니다). 답변을 업데이트했습니다.
Marzio De Biasi

1
@Kaveh : 약속 문제 에 대한 타임 머신은 어떻습니까? 예를 들어 시간 에 약속 문제를 해결하는 기계를 변환하는 방법을 이미 알고 있습니까? 나는 그것을하는 방법을 보지 못하고 일반 언어와의 연결이 더 이상 유지되지 않습니다 (잘못 잘못 잘못하지 않는 한). o(nlogn)O(n)
Jukka Suomela

1
@Kaveh : 당신은 단순히 문제 걸릴 수 없습니다 입니다 하지 , 예를 들면, 일반 언어 만에 튜링 기계로 해결 될 수 라운드를 다음과 같이 약속의 문제를 정의 : 예 - 인스턴스 구성 문자열 과 비트의 패딩이 뒤 따른다 ; 인스턴스 없음은 문자열 과 비트의 패딩으로 구성됩니다. 약속 문제는 시간에 해결할 수 있으며 유한 상태 기계를 사용하여 해결할 수 없습니다. LO(n2)xL|x|2xL|x|2O(n)
Jukka Suomela

1
@Kaveh : 다음과 같은 이유로 직관적 인 주장이 실패한다고 생각합니다. 그렇습니다. 같은 기계로 해결할 수있는 비 약속 문제가 있습니다. 그러나 기계의 작동 시간은 특정 입력에 대해 만큼 높을 수 있습니다 . (직관적으로, 기계는 충분한 패딩이 있는지 검증 할 수 없으므로 "안전하게 재생"하려면 접두사 뒤에 충분한 패딩이 있다고 가정해야합니다 . 그러면 시간이 낭비되어 , 예를 들어 비트 만 패딩 한 경우이 값이 너무 큽니다 .)Θ(n2)xΘ(|x|2)xLΘ(|x|)
Jukka Suomela

-4

보다 큰 모든 알파벳 크기의 경우 , 모든 대해 이후의 런타임은 상수 인자만큼만 변경됩니다 .1logk(x)Θ(logl(x))k,l>1

정교화 : 에서는 시간 단계는 튜링 기계가 대부분 처리 할 수있는 것으로 위치 / 비트. 비트는 nary 알파벳 wlog 에서 가져옵니다 . 모든 전환을 전환 으로 교체하여 새 Turing 머신을 만듭니다 . 모든 이전 비트는 비트로 인코딩됩니다 (공백은 사용되지 않은 셀을 표시하도록 예약되어 있음). 이것은 본질적으로 이진 코드 숫자입니다.ttk{0,1,,k1}log2(k)log2(k){0,1}

결과적으로 튜링 머신은 최대 단계로 실행됩니다.log2(k)tO(t)

추가 : 없는 비트로 입력 기호를 덮어 쓰는 조작을 직접 변환 할 수 없으므로 위의 인수가 중단 됩니다. 입력을 이동해야합니다. 계산을 시작하기 전에 원래 입력을 변환하여 수정하면됩니다 (필수 패딩). 이는 시간 내에 수행 될 수 있으며 , 총 런타임은 입니다.O ( n 2 ) O ( n 2 ) + log 2 ( k ) t{0,1}O(n2)O(n2)+log2(k)t

결과적으로 인 경우 중간 결과를 인코딩하는 데 두 개의 기호 만 사용하면 점근 적으로 영향을받지 않지만 전처리가 더 빠른 알고리즘을 지배합니다. 가장 흥미로운 함수는 (예 : 두 숫자 추가)에 있기 때문에 문제를 무시할 수 있습니다.Ω ( n 2 )t(n)Ω(n2)Ω(n2)


3
왜 이런 일이 일어나야하는지 설득 할 때까지, 나는 그 공감대를 유지할 것입니다.
Andrej Bauer

1
귀하의 주장에 대한 증거를 듣고 싶습니다. 이 모든 것이 단 하나의 주장 일뿐입니다.
Andrej Bauer

2
오, 당신이 말하는 것을 봅니다. 알았어 미안해. 그러나, 질문에 대해하지 않습니다 . 약간의 변화입니다.
Andrej Bauer

6
입력 문자열을 전환하는 데 시간을 할애 할 수 있기 때문에 t = Ω (n ^ 2) 인 경우가 쉬운 경우라고 생각합니다. 필수적인 경우는 t = o (n ^ 2) 일 때입니다. o (n ^ 2) 시간의 단일 테이프 TM을 고려하는 것이 얼마나 중요한지 모르겠지만 문제는 그것에 관한 것입니다.
Tsuyoshi Ito

3
원래 질문은 이미 가 쉽다는 것을 암시합니다 . 따라서 나는이 답변이 새로운 것을 어떻게 추가하는지 Ω(n2)
알지 못한다
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.