Lecture Log - UG3 Computability and Intractability


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.

Slides

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.

Slides

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 .

Slides

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

Slides

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

Slides

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

Slides

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

Slides

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.

Slides

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.

Slides

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.

Slides

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

Slides: Last 4 of these and first 2 of these

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

Slides

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

Slides

Existential second order logic. Expressing Reachability and DHC. Fagin's Theorem.


Home : Teaching : Courses : Ci 

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