단일 테이프 튜링 머신에서 입력 길이 계산


13

이 질문 과 관련 하여 단일 테이프 단일 헤드 Turing 기계가 입력 길이를 계산하는 데 시간이 얼마나 복잡합니까? 구체적으로, 테이프 알파벳이 이고 입력이 ( 0 + 1 ) 안에있는 문자열이라고 가정합니다. * 공백으로 둘러싸인 기계는 가장 왼쪽에있는 입력 기호에서 시작하며 문자열의 가장 왼쪽 심볼 ( 0 + 1 ) *{0,1,b}(0+1)(0+1)입력 길이의 이진 표현을 제공하는 (공백으로 둘러싸여 있음). 이것은 또한 숫자를 단항에서 이진수로 변환하는 문제로 생각할 수 있습니다.

2 테이프 머신 또는 2 헤드 머신에서 선형 시간으로이 문제를 쉽게 해결할 수 있습니다 (다른 헤드를 사용하여 카운터를 반복적으로 증가시키는 동안 한 헤드로 입력을 스캔하기 만하면 증가는 일정한 상각 시간 연산입니다). 그러나 내가 올릴 수있는 단일 헤드 솔루션은 (예 : 카운터를 반복적으로 증가시킨 다음 테이프를 따라 한 위치 씩 이동). 일치하는 하한이 있습니까?O(nlogn)

몇 가지 검색을 시도했지만 "1 헤드"및 "입력 길이"와 같은 문구는 일반적으로이 문제에 대한 알려진 결과를 문헌에서 검색하기 어렵게 만듭니다.


흥미 롭군요. 이것은 생각보다 덜 분명합니다. 이것에 대한 하한과 명백한 TM 시뮬레이션의 하한 사이에 관계가 있는지 궁금합니다. (이 문제를 해결하는 TM은 정의상
명백

답변:


11

o(nlgn)

Mxx

M

Mo(nlgn)o(nlgn)DTime(nlgn)

L={0ik i=2k}
DTime(o(nlgn))=RegLMo(nlgn)

DTime(o(nlgn))=Reg

DTime(nlgn)=Reg

포인터에 감사드립니다. "Classic Recursion Theory"vol. II. 그것이 바뀌 었다는 사실 때문에 나에게는 분명하지 않습니다. 예를 들어, Sipser의 책은 단일 테이프 TM을 사용하여 시간 복잡도 클래스를 정의하지만 Hopcroft-Ullman의 책과 가장 최근의 Arora-Barak 및 Goldreich는 멀티 테이프 TM을 사용합니다.
Bruno

1
@Bruno, 나는의 일반적인 정의는 어떻게 생각 DTime은 더 복잡하다. 예를 들어, "시간 계층 정리가 빡빡한 것으로 알려져 있지 않다"고 일반적으로 언급 된 주장은 단일 테이프 기계, 1982 년 이래로 꽉 찬 것으로 알려진 2 테이프 기계에 대해서만 사실입니다.
Kaveh

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