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 26 – Space Complexity Oliver Kreylos Friday, June 1st, 2001 The last couple of lectures, we analyzed the time complexity of Turing Machines; in other words, we counted the number of computation steps a Turing Machine performs of an input word of given length. Another impor tant property of Turing Machines is the amount of space they use, or, more exactly, the number of tape cells they ever look at during a computation. If this number is known in advance, it is not necessary to actually give a machine an infinitely long tape, but to only give it as many tape cells as it really needs. 1 Space Complexity The definition of the space complexity of a Turing Machine is very similar to the definition of time complexity (just replace every occurrence of “time” by “space:” Definition 1 (Space Complexity) Let f : N → N be a function, and let M be a deterministic Turing Machine. If, on an input word of length n , the machine never moves its tape head past the first f ( n ) cells on its tape, the space complexity of M is f ( n ) . We also say that M runs in space f ( n ) , or that M is an f ( n ) space Turing Machine . If N is a nondeterministic Turing Machine, and no branch of computation of N on input word w scans past the first f ( n ) tape cells, then the space complexity of N is f ( n ) . We also say that N runs in space f ( n ) , or that N is an f ( n ) space nondeterministic Turing Machine . In our discussion of time complexity, we also introduced the complex ity classes TIME ( f ( n ) ) as the set of all problems that can be decided by 1 O ( f ( n ) ) time Turing Machines. We define a classification of problems based on space complexity in the same way: Definition 2 (Space Complexity Classes) Let f : N → N be a function. Then the class SPACE ( f ( n ) ) is the set of all problems that can be solved by deterministic Turing Machines with space complexity O ( f ( n ) ) , and the class NSPACE ( f ( n ) ) is the set of all problems that can be solved by nonde terministic Turing Machines with space complexity O ( f ( n ) ) . 2 Space Complexity Analysis To analyze the space complexity of Turing Machines, we use the same tech niques introduced in the chapter about time complexity: Counting of tape cells and asymptotic analysis using the bigO notation. As an example, let us reconsider the satisfiability problem for boolean formulas and analyze its space complexity. To recall, the algorithm to decide SAT is as follows: Algorithm SAT On input h φ i , 1. Create all possible assignments of the variables of φ to the values true/false....
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