Tentative schedule (it will be updated if changes occur):
|days and tasks||Lecture Contents:||textbook|
|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)
|NP-completeness and reducibility.|
CIRCUIT-SAT is NP-hard.
|CLR2 34.3 (CLR1 36.3)|
|Oct 01 (A1 out)|
|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)|
|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)|
|Backtracking for graph colouring, hamiltonian path, knapsack.||NN 5.5, 5.6, 5.7|
|Nov 22 |
|The branch-and-bound (B&B) technique|
(breadth-first and best-first).
B&B for the 0-1 knapsack.
|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)