Second Semester 2017-18 Second Semester 2017-18 Second Semester 2017-18
Second Semester 2017-18 Second Semester 2017-18 Second Semester 2017-18
Pilani Campus
Instruction Division
In addition to Part-I (General Handout for all courses appended to the time table) this portion gives
further specific details regarding the course.
Email:[email protected]
Email:[email protected]
Course Objectives:To learn about some basic algorithm design techniques like Divide and
Conquer, Greedy Algorithms, Dynamic Programming, and Network Flow Algorithms.
To learn about Computational Complexity. To learn about some advanced algorithm design
techniques like Approximation Algorithms, and Randomized Algorithms. To learn about
Number Theoretic Algorithms.
Text Book:
[T1] T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduction to Algorithms, 3rd Edition,
PHI, 2012.
Reference Books:
[R1] J.Kleinberg, E. Tardos, Algorithm Design, Pearson, 2013. Lecture slides of the book are
available online at: http://www.cs.princeton.edu/~wayne/kleinberg-tardos/pearson/
[R2] D.P. Williamson, D.B. Shmoys, The Design of Approximation Algorithms, Cambridge
University Press, 2010. Available online at: http://www.designofapproxalgs.com/book.pdf
Lecture Plan:
_
Lectures Topics
1 The Defective Chessboard Problem.
2 Karatsuba’s Multiplication Algorithm.
3 Strassen’s Matrix Multiplication Algorithm.
4 Fast Fourier Transform.
5 The Fractional Knapsack Problem.
6 Huffman Encoding.
7 Matroids.
8 Application of Matroids.
9 The 0/1 Knapsack Problem.
10 The Traveling Salesman Problem.
11 Matrix Chain Multiplication.
12 Longest Common Subsequence.
13 Optimal Binary Search Trees.
14 Comparison of Divide and Conquer, Greedy and Dynamic Programming.
15 The Maximum Flow Problem and the Ford-Fulkerson Algorithm.
16 Maximum Flows and Minimum Cuts in a Network.
17 The Bipartite Matching Problem.
18 Disjoint Paths in Directed and Undirected Graphs.
19 The Complexity Class P.
20 The Complexity Class NP.
21 Polynomial Time Reductions. The Complexity Classes NP-Complete and NP-Hard. The
Satisfiability Problem.
22 Cook-Levin Theorem.
23 NP-Completeness of 3SAT, 0/1 Integer Programming and Independent Set.
24 NP Optimization Problems. Definition of Approximation Algorithms. A 2-
approximation Algorithm for the Cardinality Vertex Cover Problem. A 2-approximation
Algorithm for the Weighted Vertex Cover Problem.
25 LP-Rounding Algorithm for Set Cover. Primal LP, Dual LP, LP-Duality Theorem, Weak
Duality Theorem and Complementary Slackness Conditions.
26 Dual-Rounding Algorithm for Set Cover. Primal-Dual Algorithm for Set Cover.
Evaluation:
Mid Semester Exam Closed Book 30% 90 minutes 5/3 9:00 - 10:30 AM
Open Book Policy: Only hard copies are allowed (lecture notes, text book, or reference books).
Make-up Policy: Make-up exam may be arranged only in genuine cases with prior permission.