Resources: Note 1, Appendix A, Exercise Sheet 1.
Slides: The first 5 pages of these
Brief history. Discussion of general issues and notation for a general theory of computing. Proof that non-termination is an inherent feature of such a theory. Proof that the halting problem is unsolvable. Discussion of Cantor's technique of diagonalization.
Slides: The rest of these and the first few of these.
Recap of Cantor's diagonalization proof that there are fewer natural numbers than real numbers. Use of diagonalization to show that, in general, the powerset of a set is larger than the set itself. Discussion of various paradoxes, including the paradox of the Heap, Eubulides' Paradox and Russell's paradox. Brief discussion of Goedel's incompleteness theorem. Requirements of a formal model of computing. Turing's thesis. Introduction to Turing machines.
Virtual Handouts: Note 2, Note 3.
Turing machines (intuitive and formal definition), configurations, computation, TMs as acceptors and transducers. Example of a TM design (recognizing the language of binary strings of form 0^n1^n for all n>=0).
Virtual Handouts: Note 4.
Variations on standard Turing machines: doubly infinite tape, several tapes and heads, two-dimensional page rather than a tape, several scanning heads on the same tape. Detailed proof that TM's with doubly infinite tape are equivalent to standard ones, sketch proof for the version with several tapes.
Virtual Handouts: Note 5, Appendix B , Appendix C .
Random access machines (RAMs), syntax, semantics, state, configuration. Convention for encoding alphabets. Examples: recognizing a^nb^n, where n>=0; recognizing palindromes. Bounded RAMs cannot recognize palindromes. Equivalence of Turing Machines and RAMs (discussion of results, no proofs). Recursively enumerable languages.
Virtual Handouts: Note 6
Universal Turing machines (i.e., TMs as stored program computers): binary TMs, encoding of these, design af a UTM to simulate an arbitrary encoded binary TM on an arbitrary input for it.
Virtual Handouts: Note 7
The halting problem: simulation of a TM by a binary one, encoding of binary TM as a binary word, halting problem expressed as a language recognition problem, proof that the halting problem is unsolvable. Division of languages into recursive, r.e. and non-r.e. An explosive function (grows faster than any computable function).
Virtual Handouts: Note 8
Reductions and their use in extending our knowledge of non-recursive languages; discussed as pre-processors for software re-use. The uniform halting problem, the non-emptyness problem for r.e. languages. Number theory: a simple first order arithmetic and Goedel's Incompleteness theorem.
Virtual Handouts: Note 9
Results about recursive and r.e. languages and connections. Proof that L_loop is not r.e. The uniform halting problem, discussion of why it is not so easy to prove that it is not r.e., proof that it is not r.e. by a reduction from L_loop. Discussion of proof systems for the uniform halting problem and why there cannot be one that is both sound and complete.
Virtual Handouts: Note 10.
Computing against the clock, polynomial time bounded TMs, the class P, brief discussion of its significance. Polynomial time reductions, the problems Sat and Clique, reduction of Sat to Clique.
Virtual Handouts: Note 11.
Properties of polynomial time reductions, relevance to P. Discussion of naive search, examples that avoid this, general question and how to phrase this precisely, leading to nondeterministic Turing Machines. Detailed example of a NTM illustrating all possible computations on an input as a tree. Simulating NTMs by (deterministic) TMs. The language class NP and its significance, examples of languages in NP.
Virtual Handouts: Note 12.
Recapitulation of NP and the reasons for studying it as well as P. Statement and preparatory work for Cook's Theorem. Proof of Cook's Theorem with examples illustrating various parts.
Virtual Handouts: none
Slides: First 4 of these
More NP-complete problems. Discussion of proofs of NP-completeness for Independent Set and Vertex Cover.
Handouts: none
More NP-complete problems. Discussion of proofs of NP-completeness for 3-SAT, Directed Hamiltonian Cycles (statement only), Undirected Hamiltonian Cycles.
Handouts: None.
Slides: Last 5 of these
NP-completeness of Colourability, Integer Programming, Subset Sum. Discussion of NP-intermediate problems.
Handouts: Note 14
First order logic and graphs. Sketch of proof that all first order logic problems on graphs are in P. Proof that Reachability is not expressible in FO.
Handouts: Guide to revision
Existential second order logic. Expressing Reachability and DHC. Fagin's Theorem.
|
Informatics Forum, 10 Crichton Street, Edinburgh, EH8 9AB, Scotland, UK
Tel: +44 131 651 5661, Fax: +44 131 651 1426, E-mail: school-office@inf.ed.ac.uk Please contact our webadmin with any comments or corrections. Unless explicitly stated otherwise, all material is copyright © The University of Edinburgh |