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 singletape 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 singletape machine: For each step the multitape machine M performs, the singletape simulator S has to perform up to t M ( n ) steps. In total, this means that the runningtime 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 runningtime of S is also bounded by a polynomial: O ( ( n k ) 2 ) = O ( n 2 k ). This polynomial rela tionship between multitape and singletape 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 runningtime. What about nondetermi nistic models? Are they also related by polynomial factors? Before we can answer this question, we have to define runningtime for a nondeterministic model, for example nondeterministic Turing Machines. Going back to com plexity analysis for deterministic Turing Machines, we defined runningtime as the maximum number of steps a machine performs on an input of given size. In other words, we defined runningtime 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 nondeterministic computation, however, there are multiple chains, because computation can branch at each step, see the lower part of Figure 1. In order to define runningtime for nondeterministic 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
 Filkov

Click to edit the document details