back to CSI 4105 home

Lecture Contents

CLR2 refers to the second edition of the textbook by Cormen, Leiserson and Rivest (2001)
CLR1 refers to the first edition of the same book (1990)
NN refers to the textbook by Neapolitan and Naimipour.

Tentative schedule (it will be updated if changes occur):
days and tasks  Lecture Contents: textbook
sections
Sep 05
Sep 09
Sep 11
Sep 16
Sep 19
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 23 (A1 out)
Sep 26
NP-completeness and reducibility.
CIRCUIT-SAT is NP-hard.
CLR2 34.3 (CLR1 36.3) 
Sep 30 
Oct 03
NP-completeness proofs : SAT and 3-CNF. CLR2 34.4 (CLR1 36.4)
Oct 07 NP-complete problems: clique and vertex cover. CLR2 34.5.1,34.5.2 (CLR1 36.5.1,36.5.2)
Oct 10 (A1 in) NP-complete problems: TSP. CLR2 34.5.4 (CLR1 36.5.5)
Oct 14 thanksgiving holiday -
Oct 17 (A1 in) NP-complete problems: hamiltonian cycle CLR2 34.5.3 (CLR1 36.5.4 different!)
Oct 21 Midterm Test Review -
Oct 24 (A2 out) MIDTERM TEST -
Oct 28  Approximation algorithms.
An approximation algorithm for the vertex-cover.
CLR2 intro35, 35.1 (CLR1 intro37,37.1)
Oct 31  An approximation algorithm for the 
TSP with triangle inequality.
CLR2 35.2 (CLR1 37.2) 
Nov 01  Non-approximabiblity for general TSP CLR2 35.2 (CLR1 37.2) 
Nov 04 Midterm Test Solution -
Nov 11,
Nov 14 (A2 in/ A3 out)
An approximation algorithm for the set-covering problem.
Course evaluation questionaire.
CLR2 35.3 (CLR1 37.3)
Nov 18 An approximation algorithm for the weighted 
vertex cover using linear programming
CLR2 35.4 (not in CLR1)
Nov 21 The backtracking approach and the n queens. NN 5.1, 5.2
Nov 25 Backtracking for graph colouring, hamiltonian path. NN 5.5, 5.6, 5.7
Nov 28 (A3 in) 
Dec 02
All or less topics of (TBA later):
The branch-and-bound (B&B) technique
(breadth-first and best-first).
B&B for the 0-1 knapsack.
Final Review.
NN 6.1, 6.2
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)