사비치의 정리
Savitch's theorem계산 복잡성 이론에서, 1970년 월터 사비치(Walter Savitch)에 의해 증명된 사비치(Savitch)의 정리는 결정론적 공간 복잡성과 비결정론적 공간 복잡성 사이의 관계를 제공한다.\\log(n 함수 f((n)})에 대해
즉, 비결정론적 튜링 시스템이 ( 공간을 사용하여 문제를 해결할 수 있는 경우, 결정론적 튜링 시스템은 해당 공간 바인딩의 사각형에서 동일한 문제를 해결할 수 있다.[1]비록 비결정론이 시간에 기하급수적인 이득을 가져올 수 있는 것처럼 보이지만, 이 정리는 그것이 공간 요건에 현저하게 더 제한적인 영향을 미친다는 것을 보여준다.[2]
증명
증명서는 지시된 그래프에서 두 정점 사이에 경로가 있는지 여부를 결정하는 문제인 STCON 알고리즘에 의존한다. 이 두 은N {\n} 에대해O ( ( ( ) ) n 공간으로 실행된다.알고리즘의 기본 개념은 다소 일반적인 문제를 재귀적으로 해결하는 것으로, 대부분의 k 에지에서 사용하는 정점 s에서 다른 정점 t까지의 경로의 존재를 시험하는 것이다. 여기서 k는 재귀 알고리즘에 입력으로 주어지는 매개변수다.STCON은 k를 n으로 설정하여 이 문제를 해결할 수 있다.s에서 t까지의 k-edge 경로에 대해 시험하기 위해 s에서 u, u에서 t까지의 길이의 절반의 경로를 재귀적으로 검색하여 각 꼭지점 u가 s-t 경로의 중간점이 될 수 있는지 여부를 시험할 수 있다.Python 구문(Python 구문)에서 유사코드를 사용하여 이 알고리즘을 다음과 같이 표현할 수 있다.
반항하다 k_edge_path(s, t, k) -> 바가지 긁다: """k는 처음에는 n(정점 수)과 같다"""" 만일 k == 0: 돌아오다 s == t 만일 k == 1: 돌아오다 (s, t) 에 가장자리 을 위해 u 에 정점: 만일 k_edge_path(s, u, 마루를 깔다(k / 2)) 그리고 k_edge_path(u, t, 천장을 치다(k / 2)): 돌아오다 진실의 돌아오다 거짓의
This search calls itself to a recursion depth of levels, each of which requires bits to store the function arguments and local variables at that level: k and all vertices (s, t, u) require bits each.따라서 보조 공간 복잡성은 O(( ) ){\O\ n이다[Note 1] 위에서 고수준 언어로 프로그램 형태로 설명하였지만 튜링 시스템에 동일한 점증적 공간을 바인딩하여 동일한 알고리즘을 구현할 수 있다.
이 알고리즘이 정리를 암시하는 이유를 보려면 다음을 고려하십시오.For any language , there is a Turing machine which decides in space . Assume w.l.o.g. the alphabet is a binary alphabet (viz., ∗ 입력 단어 x 에 대해 입력 에서 실행할 때 정점이 의 구성인 방향 그래프 G 이 있다그러한 구성은 무한히 많을 수 있다. 예를 들어, 이(가) 테이프에 기호를 계속 쓰고 머리를 오른쪽으로 움직이는 경우, ad infinitum.그런 다음 구성이 임의로 커진다.그러나, 는 x L x L의 여부를 결정하려면 (){\ L의 공간이 필요하다는 것을 알고 있으므로, 그러한 구성은 허용된다There are finitely many admissible configurations; namely . Therefore, the induced subgraph of containing (exactly) the admissible configurations has 오른쪽정점.For each input , has a path from the starting configuration to an accepting configuration if and only if . Thus by deciding connectivity in , we can decide membership of in . By the above algorithm this can be done deterministically in space 따라서 은는) S A E(( ) 2}\}에 있다
Since this holds for all and all , we get the statement of the theorem:
- For all functions , .
코롤러리
정리의 일부 중요한 윤곽은 다음과 같다.
참고 항목
메모들
참조
- Arora, Sanjeev; Barak, Boaz (2009), Computational complexity. A modern approach, Cambridge University Press, ISBN 978-0-521-42426-4, Zbl 1193.68112
- Papadimitriou, Christos (1993), "Section 7.3: The Reachability Method", Computational Complexity (1st ed.), Addison Wesley, pp. 149–150, ISBN 0-201-53082-1
- Savitch, Walter J. (1970), "Relationships between nondeterministic and deterministic tape complexities", Journal of Computer and System Sciences, 4 (2): 177–192, doi:10.1016/S0022-0000(70)80006-X, hdl:10338.dmlcz/120475
- Sipser, Michael (1997), "Section 8.1: Savitch's Theorem", Introduction to the Theory of Computation, PWS Publishing, pp. 279–281, ISBN 0-534-94728-X
외부 링크
- 랜스 포트나우, 복잡성의 기초, 제 18장: 사비치의 정리.09/09/09 액세스.
- 리처드 J. 립튼, 새비치의 정리.증거가 어떻게 발견되었는지에 대한 역사적 설명을 제공한다.