Tentative schedule (it will be updated if changes occur):
days and tasks | Lecture Contents: | textbook sections |
---|---|---|
Sep 06 Sep 10 Sep 13 Sep 17 Sep 20 |
Introduction to the course. Introduction to the theory of NP completeness. Turing machines and the RAM model. Review of formal languages. Polynomial time and the class P. Polynomial time verification and the class NP. | my notes (pdf,ps) CLR2 34.1, 34.2 (CLR1 36.1,36.2) |
Sep 24 Sep 27 | NP-completeness and reducibility. CIRCUIT-SAT is NP-hard. | CLR2 34.3 (CLR1 36.3) |
Oct 01 (A1 out) Oct 04 | NP-completeness proofs (SAT and 3-CNF). NP-complete problems: subset-sum | CLR2 34.4 (CLR1 36.4) CLR2 34.5.5 (CLR1 36.5.3 different!) |
Oct 08 | thanksgiving holiday | - |
Oct 11 | NP-complete problems: clique and vertex cover. | CLR2 34.5.1,34.5.2 (CLR1 36.5.1,36.5.2) |
Oct 15 | NP-complete problems: hamiltonian cycle and TSP. | CLR2 34.5.3 (CLR1 36.5.4 different!) CLR2 34.5.4 (CLR1 36.5.5) |
Oct 18 (A1 in) | Approximation algorithms. An approximation algorithm for the vertex-cover. | CLR2 intro35, 35.1 (CLR1 intro37,37.1) |
Oct 22 | Midterm Test Review | - |
Oct 25 | MIDTERM TEST | - |
Oct 29 (A2 out) | An approximation algorithm for the TSP with triangle inequality, non-approximabiblity for general TSP |
CLR2 35.2 (CLR1 37.2) |
Nov 01 | An approximation algorithm for the set-covering problem. |
CLR2 35.3 (CLR1 37.3) |
Nov 05 | An approximation algorithm for the weighted
vertex cover using linear programming | CLR2 35.4 (not in CLR1) |
Nov 08 Nov 12 | The backtracking approach and the n queens. Backtracking for the subset-sum | NN 5.1, 5.2, 5.4 |
Nov 15 (A2 in, A3 out) Nov 19 | Backtracking for graph colouring, hamiltonian path, knapsack. | NN 5.5, 5.6, 5.7 |
Nov 22 Nov 26 | The branch-and-bound (B&B) technique (breadth-first and best-first). B&B for the 0-1 knapsack. | NN 6.1 |
Nov 29 (A3 in) | B&B for the TSP | NN 6.2 |
Dec 01 | Final Review. | - |
Background references: | textbook sections |
---|---|
Basic notions: Sets, relations, functions, graphs Growth of functions Representations of graphs | CLR2 App.B (CLR1 5) CLR2 3 (CLR1 2) CLR2 22.1 (CLR1 23.1) |