This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: ECS 120 Lesson 23 – The Class P Oliver Kreylos Wednesday, May 23th, 2001 We saw last time how to analyze the time complexity of Turing Ma- chines, and how to classify languages into complexity classes. We also saw that the complexity class of a language depends on the underlying model of computation. Today we are going to investigate the relationship between different models, and how this relationship leads to the definition of the class of tractable problems . 1 Time Complexity Relationship Between Computation Models In general, the time complexities of languages depend on the underlying computation model. But as it turns out, they do not differ too much: As long as only deterministic models are considered, the running times are related by polynomials: Theorem 1 (Time Complexity Equivalence) Let f : N → N be a func- tion, with f ( n ) ≥ n . Then every f ( n ) time multitape Turing Machine has an equivalent single-tape Turing Machine that runs in time O ( t 2 ( n ) ) . This theorem can be proved easily by analyzing the algorithm that sim- ulates a multitape Turing Machine using a single-tape machine: For each step the multi-tape machine M performs, the single-tape simulator S has to perform up to t M ( n ) steps. In total, this means that the running-time of S is t S ( n ) = t M ( n ) · O ( t M ( n ) ) = O ( t 2 M ( n ) ) . In the case that the running- time of M is bounded by a polynomial, say O ( n k ), the running-time of S is also bounded by a polynomial: O ( ( n k ) 2 ) = O ( n 2 k ). This polynomial rela- tionship between multitape and single-tape Turing Machines also holds for 1 other (deterministic) machine classes. Without proof, we state the following theorem: Theorem 2 (Polynomial Equivalence of Deterministic Models) If a problem P is decided in polynomial time by some reasonable model of de- terministic computation M 1 , it is also decided in polynomial time by any other reasonable model of deterministic computation M 2 . In other words, if t M 1 ( n ) = O ( n k 1 ) , then t M 2 ( n ) = O ( n k 2 ) for constants k 1 ,k 2 . This theorem shows that deterministic models of computation are roughly equivalent to each other in terms of running-time. What about non-determi- nistic models? Are they also related by polynomial factors? Before we can answer this question, we have to define running-time for a non-deterministic model, for example non-deterministic Turing Machines. Going back to com- plexity analysis for deterministic Turing Machines, we defined running-time as the maximum number of steps a machine performs on an input of given size. In other words, we defined running-time as the maximum length of all computation chains for a word of length n . In a deterministic machine, there is exactly one computation chain for every word, as shown in the upper part of Figure 1. In non-deterministic computation, however, there are multiple chains, because computation can branch at each step, see the lower part of Figure 1. In order to define running-time for non-deterministic machines inFigure 1....
View Full Document
This note was uploaded on 05/20/2010 for the course ECS 120 taught by Professor Filkov during the Spring '07 term at UC Davis.
- Spring '07