P의 문제만을 고려한다면, 가장 빠른 알려진 워드 -RAM 알고리즘과 특정 문제에 대한 가장 빠른 알려진 Turing machine 알고리즘 사이에 큰 차이가 있습니까? 나는 일반적인 관심의 자연 문제에 대해 넓은 차이가 있다면 특히 관심이 있습니다.
P의 문제만을 고려한다면, 가장 빠른 알려진 워드 -RAM 알고리즘과 특정 문제에 대한 가장 빠른 알려진 Turing machine 알고리즘 사이에 큰 차이가 있습니까? 나는 일반적인 관심의 자연 문제에 대해 넓은 차이가 있다면 특히 관심이 있습니다.
답변:
시간에 RAM 시스템에서 계산할 수있는 모든 문제는 시간 내에 Turing Machine에서 수행 할 수있는 것으로 알려져 있습니다 . 당신이 사용하는 메모리의 전체 크기가보다 더 할 수 없음을 통지 할 필요가 그건 당신이보다 더 쓰기 작업을했다는 것을 의미하기 때문에, 는 RAM 메모리, 튜링에서 뭔가를 가져올 때마다 그래서, 기계는 최악의 경우 시간이 소요되어 테이프에서 원하는 요소를 순차적으로 찾습니다. 메모리 액세스 외에도 나머지 작업에는 거의 시간이 걸립니다. 따라서 당신은 결박을 얻습니다.
아래 예는 워드 램의 문제를 해결하기 위해 을 사용 하는 알고리즘 가 1 테이프 튜링 머신 (TM 에서 을 필요로 할 수 있음을 증명합니다 )는 표시된 모든 계산을 정확하게 실행합니다 . 나는 질문이 1 테이프 TM과 관련이 있다는 것을 이해하고, 나는 이것의 응답에서만 이것을 사용합니다. Emil Jeřábek의 발언을 수정하기위한 편집입니다.
우리는 다음과 같은 더 일반적인 결론을 찾을 것 입니다. TM이 에서 RAM 의 알고리즘 에 의해 에서 해결 된 문제를 해결할 수 있음을 증명하기 위해 TM에서 를 실행 것만으로 는 충분 하지 않습니다 . 영리한 알고리즘이 필요할 수 있습니다. 오버 헤드 를 증명하려는 경우에도 동일하게 적용됩니다 . 필요할 때마다 영리한 알고리즘의 존재를 입증하는 것은 즉각적으로 멀리 떨어져있는 것처럼 보입니다. 이것은 기본적으로 TM에 대해 ( 알고리즘 ) 모든 RAM 계산 을 시뮬레이션 / 실행하여 TM 과 같은 TM 복잡성을 발표하는 다른 응답과 일치 하지 않습니다 . 또는 입니다.
문제 : 각각 비트 에 저장된 정수 의 배열 / 테이블 이 제공 됩니다 . 위치를 가진 두 번째 배열 가 주어지며 , 각각은 비트를 기록합니다 . 임의의 경우 , 우리는 정의 의 경우 MOD MOD . 그렇지 않으면 입니다. 출력 . 입력이 테이프로 제공되는 것으로 간주합니다 Emil Jeřábek의 의견을 해결하기 위해 이진수.
알고리즘 RAM의 워드 크기의 RAM 필요 = 바이너리 스트링 입력을 읽어 데이터. 그러나 데이터를 읽은 후에는 크기의 단어 만 사용할 수 있습니다 . 알고리즘 모든 을 통해 조건을 테스트하여 모든 를 계산합니다 . 의 메인 루프 는 FOR : 계산 . 총 복잡도는 (데이터 읽기) +(계산 수행), 는 RAM의 에서 모두 할 수 있습니다 .
1 테이프 TM의 알고리즘 : 1 테이프 TM 은 고정 시간이 필요하다고 주장합니다 . TM의 관점에서, 결정 것은 길이가 인 2 개의 이진 문자열의 동등성을 테스트하는 것과 같습니다 . 예를 들어, MOD 작업 MOD 는 의 비트 을 제거하는 것과 같습니다 . 이러한 경우 결정 하는 것은 길이 비트 문자열에 대한 동등성 테스트와 같습니다 . 길이가 인 두 스트링의 동등성을 테스트하는 것이 잘 알려져 있습니다.1 테이프 TM에서 가 필요 하지만 지금은 실제로 참조를 찾을 수 없습니다. 그러나 나는 ps에 증거를 제공합니다. TM 이 의 메인 루프 를 실행하는 경우, 각각에 대해 이상을 소비 해야합니다. 입니다.
추신. I 함께 비트 열을 해당 어떤지 테스트 표시 비트 수 없다 와 문자열에 palyndrome는 테스팅보다 더 빠를 수 (palyndrome가 적어도 취할 알려진 비트 시간). 우리는 동일성 테스트를 위해 TM 알고리즘을 수정하여 회문을 해결할 수 있습니다. 동등성 테스트 TM이 두 개의 정수로 시작한다고 가정합니다. 하나는 헤드 왼쪽에, 다른 하나는 오른쪽에 있습니다 (이것은 TM에 대한 가장 간단한 입력 양식입니다). 왼쪽 위치로의 각 이동은 오른쪽 위치로 미러링 (반사) 될 수 있습니다. 초기 TM이 (왼쪽) 위치에있을 때마다 미러링 된 TM은 (오른쪽) 위치에 있습니다. TM이 미만에서 동등성 테스트를 해결 한 경우이 수정 된 미러 TM은 미만의 회문을 해결 합니다.
또한 일부 평등 테스트 TM 알고리즘이 있으며 지그재그가 필요하기 때문에 2 차 시간이 필요합니다. 예를 들어 course.cs.washington.edu/courses/cse431/14sp/scribes/ 에서 Turing Machine Example 2를 참조하십시오. lec3.pdf