(Topics : Complexity classes, Lower Bounds, Streaming, Sublinear, Cache Oblivious Algo.)

You can collect your Assignment 3 from the TA (Pradeesha Ashok, Room 112) between 10:30-12:30

on Friday, Dec 5th morning

# | Date |
Topics Covered |
References |

0 | Aug 7 | Organizational meeting Linear time Order Statistics |
CLRS 9.3 |

Greedy Algorithms |
|||

1 | Aug 14 | Interval Scheduling | KT 4.1 |

2 | Aug 16 | Dijkstra's Algorithm Minimum Spanning Tree |
KT 4.4, 4.5 CLRS 23, 24.3 |

Dynamic Programming |
|||

3 | Aug 21 | Matrix chain Multiplication | CLRS 15.2, 15.3 |

4 | Aug 23 | Weighted Interval Scheduleing Knapsack problem |
KT 6.1,6.2,6.4 |

5 | Aug 28 | Single source : Bellman-Ford All pair Shortest paths |
KT 6.8,6.10,CLRS 24.1 CLRS 25.1,25.2,25.3 |

Maximum Flows |
|||

6 | Aug 30 | Ford Fulkerson Algorithm | KT 7.1, 7.2, CLRS 26.1, 26.2 |

7 | Sep 4 | Max Flow - Min Cut Theorem | KT 7.1, 7.2, CLRS 26.1, 26.2 |

8 | Sep 6 | Applications of Max-Flow | KT 7.5-7.10, CLRS 26.3 |

Randomized Algorithms |
|||

9 | Sept 11 | Checking Equality of polynomials Checking Matrix Multiplication |
Wikipedia ref. on polynomial testing Wikipedia ref. on Matrix Multiplication KT 13.2 |

10 | Sep 18 | Linearity of expectation, Randomized Selection Quicksort, Hashing (part I) |
KT 13.5, 13.6 |

11 | Sept 20 | Binomial Random Variables, Markov Inequality Chebyshev Inequality, Lazy Median Algorithm Karger's Min-Cut Algorithm |
Lecture Notes Pages 7-13 of Lecture Notes Section 3.3 of Randomized Algorithms book by Motwani and Raghavan Karger's Algorithm |

Linear Programming based Algorithms |
|||

12 | Sept 25 | Introduction to Linear Programming Polynomial time algorithms using LP: Max Flow, Line Fitting Max Weight Perfect Matching in bipartite graphs |
CLRS 29.1, 29.2, pgs 1-3 of Lecture Notes |

13 | Sept 27 | Introduction to Approximation Algorithms 2-Approximation for Vertex Cover using Linear Programming Introduction to LP Duality |
CLRS 29.4, Section 1 and 3 of Lecture Notes |

14 | Oct 4 | Max Flow = Min Cut by LP duality | Lecture Notes |

15 | Oct 9 | Max Flow = Min Cut by LP duality (Contd.) | Lecture Notes |

16 | Oct 11 | Set Cover - greedy algorithm and randomized rounding | KT Section 11.3, Section 1 of Lecture Notes |

Complexity Classes and Lower Bounds |
|||

17 | Oct 18 | Introduction to complexity classes Classes P,NP, NP-Complete Reductions, Cook-Levin Theorem and its proof |
CLRS 34.1 to 34.3 |

18 | Oct 23 | Reduction between NP-Complete problems | CLRS 34.4, 34.5 Lecture Notes |

19 | Oct 25 | NP-hardness of ZERO-ONE-EQUATION, INTEGER-LINEAR-PROGRAMMING, and SUBSET-SUM Decision tree model. Lower bound for dictionary problem and sorting in decision tree model Lower bound for finding max using adversarial argument |
CLRS 34.4, 34.5 Lecture Notes for Reductions Lecture Notes for Lower Bounds |

Streaming, Sublinear and Cache-Oblivious algo. |
|||

20 | Nov 6 | Data Streaming algorithms for reservoir sampling, frequent item, and number of distinct elements. |
Scribe Notes(by Arshed Nabeel)
Lecture Notes Lecture Notes |

21 | Nov 13 | More data streaming algorithms Count-min sketch and analysis of frequency estimation AMS sketch for F_2 estimation. |
Scribe Notes(by Puneet Pahuja)
Lecture Notes Lecture Notes(Section 2.2) |

22 | Nov 15 | Sublinear algorithms Analysis of sampling. Testing monotonicity. Testing connectedness of graph in adjacency list representation. |
Lecture Notes |

23 | Nov 20 | Cache-oblivious algorithms. External memory model Cache-aware algorithms and B-trees. Cache-oblivious algorithms. Analysis of scanning and static cache-oblivious search tree. |
Paper introducing Cache-oblivious model
Paper on Cache-oblivious search trees |