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):
das and tasks  Lecture Contents: textbook
Sep 04
Sep 08
Sep 11
Sep 15
Sep 18 (A1 out)
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 22 
Sep 25
NP-completeness and reducibility.
CLR2 34.3 (CLR1 36.3) 
Sep 29 (A1-A in) 
Oct 02
NP-completeness proofs : SAT and 3-CNF. CLR2 34.4 (CLR1 36.4)
Oct 06 NP-complete problems: clique and vertex cover. CLR2 34.5.1,34.5.2 (CLR1 36.5.1,36.5.2)
Oct 09 (A1-B in) NP-complete problems: TSP. CLR2 34.5.4 (CLR1 36.5.5)
Oct 13 thanksgiving holiday -
Oct 16  NP-complete problems: hamiltonian cycle CLR2 34.5.3 (CLR1 36.5.4 different!)
Oct 20 Midterm Test Review -
Oct 23 (A2 out) MIDTERM TEST -
Oct 27  Approximation algorithms.
An approximation algorithm for the vertex-cover.
CLR2 intro35, 35.1 (CLR1 intro37,37.1)
Oct 30  An approximation algorithm for the 
TSP with triangle inequality. 
CLR2 35.2 (CLR1 37.2) 
Nov 03  Non-approximabiblity for general TSP CLR2 35.2 (CLR1 37.2) 
Nov 06 Midterm Test Solution -
Nov 10,
Nov 13 (A2 in/ A3 out)
An approximation algorithm for the set-covering problem.
Course evaluation questionaire.
CLR2 35.3 (CLR1 37.3)
Nov 17 An approximation algorithm for the weighted 
vertex cover using linear programming
CLR2 35.4 (not in CLR1)
Nov 20 The backtracking approach and the n queens. NN 5.1, 5.2
Nov 24 Backtracking for graph colouring, hamiltonian path. NN 5.5, 5.6, 5.7
Nov 27 (A3 in) 
Dec 01
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)