{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

lecture4

lecture4 - Notes on Complexity Theory Last updated...

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

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 diﬃcult to formally deﬁne 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 diﬃculty 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 Deﬁne L as follows: x i 6∈ L iﬀ 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 ﬁrst give a deﬁnitions of “well-behaved” functions. Deﬁnition 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 oﬀ 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

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

View Full Document
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

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
Ask a homework question - tutors are online