lecture4 - Notes on Complexity Theory Last updated:...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
Notes on Complexity Theory Last updated: September, 2011 Lecture 4 Jonathan Katz 1 Diagonalization In this lecture and the next one, we discuss two types of results that are related by the technique used in their proofs. Both kinds of results are also fundamental in their own right. The common proof technique is called diagonalization . It is somewhat difficult to formally define the term, but roughly the idea is that we want to show the existence of some language L (with certain properties) that cannot be decided by any Turing machine within some set S = { M 1 ,... } . 1 We do so by starting with some L 0 (with the property we want) and then, for i = 1 ,... changing L i - 1 to L i such that none of M 1 ,...,M i decide L i . Of course part of the difficulty is to make sure that L i has the property we want also. Actually, one can also prove the existence of an undecidable language using this technique (though not quite as explicitly as stated above). Consider an enumeration x 1 ,... of all binary strings, and an enumeration M 1 ,... of all Turing machines. 2 Define L as follows: x i 6∈ L iff M i ( x i ) = 1. (A picture really helps here. For those who have seen it before, this is exactly analogous to the proof that there is no bijection from the integers to the reals. In fact, that gives a 1-line proof of the existence of undecidable languages: the set of languages is uncountable, while the set of Turing machines is countable.) Say some machine M decides L , and let i be such that M = M i . But then consider x i : if M ( x i ) = 1 then x i 6∈ L and so M is wrong; if M ( x i ) rejects or doesn’t halt then x i L and M is again wrong! 1.1 Hierarchy Theorems It is natural to wonder whether additional resources actually give additional power. We show that this is the case (at least to a certain extent) for space and time. We first give a definitions of “well-behaved” functions. Definition 1 A function f : N N is space constructible if it is non-decreasing and there exists a Turing machine that on input 1 n outputs the binary representation of f ( n ) using O ( f ( n )) space. Note that if f is space constructible, then there exists a Turing machine that on input 1 n marks off exactly f ( n ) cells on its work tapes (say, using a special symbol) without ever exceeding O ( f ( n )) space. For space bounds, it is often assumed that
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 01/13/2012 for the course CMSC 652 taught by Professor Staff during the Fall '08 term at Maryland.

Page1 / 4

lecture4 - Notes on Complexity Theory Last updated:...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online