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) |