CSE 548-01 (#84542), AMS 542-01 (#84639): Analysis of Algorithms, Fall 2012

Lecture Time and Location. TuTh 11:30 am - 12:50 pm, Melville Library E4320, West Campus

Instructor. Rezaul A. Chowdhury (rezaul{at}cs{dot}stonybrook{dot}edu)
Office Hours. TuTh 1:30 pm - 3:00 pm, 1421 Computer Science Building

Course Description. We will explore techniques for designing and analysing efficient algorithms, including recurrence relations and divide-and-conquer algorithms, dynamic programming, graph algorithms (e.g., network flow), amortized analysis, cache-efficient and external-memory algorithms, high probability bounds and randomized algorithms, parallel algorithms and multithreaded computations, NP-completeness and approximation algorithms, the alpha technique, and FFT ( Fast Fourier Transforms ).

This course is supported by an educational grant from XSEDE (Extreme Science and Engineering Discovery Environment). We will use the computing environment provided by XSEDE for some of the homework problems.

Prerequisites. Some background in algorithms analysis (e.g., CSE 373) and programming languages (e.g., C/C++) is required (or consent of instructor).

Textbooks. Only the first one is required.

  1. Thomas Cormen, Charles Leiserson, Ronald Rivest, and Clifford Stein. Introduction to Algorithms (3rd Edition), MIT Press, 2009.
  2. Sanjoy Dasgupta, Christos Papadimitriou, and Umesh Vazirani. Algorithms (1st Edition), McGraw-Hill, 2006.
  3. Jon Kleinberg and Éva Tardos. Algorithm Design (1st Edition), Addison Wesley, 2005.
  4. Rajeev Motwani and Prabhakar Raghavan. Randomized Algorithms (1st Edition), Cambridge University Press, 1995.
  5. Vijay Vazirani. Approximation Algorithms, Springer, 2010.
  6. Joseph JáJá. An Introduction to Parallel Algorithms (1st Edition), Addison Wesley, 1992.

Course Requirements. There will be 4 homework assignments (mainly theory problems, but may include some programming assignments, too) and two in-class exams (one midterm, and one final). Each student will be responsible for scribing one lecture. The course grade will be based on the following.

Download the Latex template for scribe notes.

Blackboard. Some course documents (e.g., scribe notes, homework solutions, etc.) will be available through Blackboard. The following documents have already been uploaded.

Lecture Schedule.

Date Topic Notes / Reading Material
Tue, Aug 28 Introduction
  • Chapter 3 (Growth of Functions), Introduction to Algorithms (3rd Edition) by Cormen et al.
Thu, Aug 30 Introduction
( Continued: Growth of Functions )
Integer Multiplication & Karatsuba's Algorithm
  • Chapter 2 (Divide-and-Conquer Algorithms), Section 2.1 (Multiplication), Algorithms (1st Edition) by Dasgupta et al.
  • [optional] Anatolii A. Karatsuba, “The Complexity of Computations”, Proceedings of the Steklov Institute of Mathematics, 211:169-183, 1995.
Thu, Sep 6 Matrix Multiplication & Strassen's Algorithm
  • Chapter 4 (Divide-and-Conquer), Section 4.2 (Strassen’s Algorithm for Matrix Multiplication), Introduction to Algorithms (3rd Edition) by Cormen et al.
  • [optional] Chapter 9 (Algebraic and Numeric Algorithms), Section 9.5.2 (Strassen’s Algorithm), Introduction to Algorithms - A Creative Approach (1st Edition) by Udi Manber.
  • Volker Strassen, “Gaussian Elimination is not Optimal”, Numerische Mathematik, 13:354-356, 1969.
Tue, Sep 11 Polynomial Multiplication & the Fast Fourier Transform
  • Chapter 2 (Divide-and-Conquer Algorithms), Section 2.6 (The Fast Fourier Transform), Algorithms (1st Edition) by Dasgupta et al.
Thu, Sep 13 Polynomial Multiplication & the Fast Fourier Transform
( Continued )
Tue, Sep 18 Some Applications of the Fourier Transform & the Master Theorem
  • Chapter 4 (Divide-and-Conquer), Section 4.5 (The Master Method for Solving Recurrences) and Section 4.6 (Proof of the Master Method), Introduction to Algorithms (3rd Edition) by Cormen et al.
Thu, Sep 20 Akra-Bazzi Recurrences
Tue, Sep 25 Akra-Bazzi Recurrences ( Continued )
Linear Recurrences with Constant Coefficients
  • [optional] Chapter 7 (Advanced Counting Techniques), Section 7.2 (Solving Linear Recurrence Relations), Discrete Mathematics and Its Applications (6th Edition) by Kenneth Rosen.
  • HW1 out
Thu, Sep 27 Linear Recurrences with Constant Coefficients ( Continued )
Generating Functions
  • [optional] Chapter 7 (Generating Functions), Concrete Mathematics (2nd Edition) by Ronald Graham, Donald Knuth, and Oren Patashnik.
Tue, Oct 2 Generating Functions ( Continued )
Amortized Analysis
  • Chapter 17 (Amortized Analysis), Introduction to Algorithms (3rd Edition) by Cormen et al.
Thu, Oct 4 Amortized Analysis ( Continued )
Binomial Heaps
Tue, Oct 9 Binomial Heaps ( Continued )
  • [optional] Chapter 8 (Binomial Heaps), The Design and Analysis of Algorithms (1992) by Dexter Kozen.
  • HW1 due, HW2 out
Thu, Oct 11 Binomial Heaps ( Continued )
  • [optional] Chapter 19 (Binomial Heaps), Introduction to Algorithms (2nd Edition) by Cormen et al.
Tue, Oct 16 Midterm Exam -
Thu, Oct 18 Dijkstra's SSSP & Fibonacci Heaps
  • Chapter 19 (Fibonacci Heaps), Introduction to Algorithms (3rd Edition) by Cormen et al.
Tue, Oct 23 Dijkstra's SSSP & Fibonacci Heaps ( Continued )
Thu, Oct 25 The Alpha Technique
( Analyzing Union-Find )
  • Chapter 21 (Data Structures for Disjoint Sets), Introduction to Algorithms (3rd Edition) by Cormen et al.
  • HW2 due
Tue, Oct 30 Class Suspended ( Hurricane Sandy ) HW3 out
Thu, Nov 1 Class Suspended ( Hurricane Sandy ) -
Tue, Nov 6 The Alpha Technique
( Continued: Analyzing Union-Find )
Thu, Nov 8 The Alpha Technique
( Continued: Partial Sums )
High Probability Bounds and Randomized Algorithms
Tue, Nov 13 High Probability Bounds and Randomized Algorithms
( Continued: Coloring and Min-Cut )
  • [optional] Chapter 6 (Algorithms Involving Sequences and Sets), Section 6.9.2 (A Coloring Problem), Introduction to Algorithms - A Creative Approach (1st Edition) by Udi Manber.
  • [optional] Chapter 1 (Introduction), Section 1.1 (A Min-Cut Algorithm), Randomized Algorithms (1st Edition) by Rajeev Motwani and Prabhakar Raghavan.
Thu, Nov 15 High Probability Bounds and Randomized Algorithms
( Continued: Chernoff Bounds )
Tue, Nov 20 High Probability Bounds and Randomized Algorithms
( Continued: Quicksort and Skip Lists )
Tue, Nov 27 Analyzing Parallel Algorithms
Thu, Nov 29 Analyzing Parallel Algorithms
( Continued )
  • Chapter 27 (Multithreaded Algorithms), Introduction to Algorithms (3rd Edition) by Cormen et al.
Tue, Dec 4 Analyzing I/O and Cache Performance
Thu, Dec 6 Final Exam -

Homeworks.

Exams.