Design and Analysis of Algorithms

0510.6401

 

Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: image002Administrative Information.

Course site (this page):  http://www.eng.tau.ac.il/algs

Lectures: Mondays 4-7, kitot 103.

Final exam: February 13, 2pm (in-class exam)

Lecturer: Boaz Patt-Shamir,  boaz@eng.tau.ac.il.

Course mailing list (see instructions):
     
http://listserv.tau.ac.il/archives/0510-6401-01.html

 

Objective of the Course.

This course aims at three targets. First, to cover some basic algorithmic techniques most engineering students did not study in their undergraduate courses. Another is to get the students acquainted with a selection of the advanced techniques in algorithmic theory. Finally, we try to let the students experience what is the spirit in contemporary algorithmic research. Namely, what problems are considered interesting, and how to evaluate possible solutions. The intention is to equip students with some tools that will help them in more advanced courses, be it in algorithms or another area of study. The topics are selected in light of these guidelines.

 

Topics. The course will include topics from the following list.

·      Classical optimization: graph algorithms, dynamic programming, flows, linear programming.

·      Approximation algorithms: NP Hardness, approximation ratio and approximation schemes, load balancing, vertex and set cover, traveling salesman.

·      Randomized algorithms: Basic analyses, coupon collector, median; randomized rounding; random sampling.

·      Online problems: ski rental, self-organizing lists, best-expert and bandit, paging, load balancing, call admission and routing in communication networks.

·      Distributed and parallel computation: models and algorithms. Algorithms include Bellman-Ford, maximal matching and maximal independent set, coloring, minimum-weight spanning tree.

 

Requirements.

1.     Homework will assigned every week or two. The final grade will consist of 10% homework grades and 90% final exam. Every student may skip one homework submission.

2.     Each lecture, one of the students will be assigned as a scribe. This means that the student will be responsible to taking careful notes and publishing them in electronic form. The idea is to help all students to have a “standard” notebook for the course. 

 

Bibliography.

1.     Introduction to Algorithms, 3rd ed.  Cormen, Leiserson, Rivest and Stein (CLRS). MIT Press, 2009. Comprehensive. A Hebrew version of the first edition was published by the Open University in two parts.

2.    Algorithm Design. Modern approach. Kleinberg and Tardos (KT). Addison-Wesley, 2005. Half of the book was translated into Hebrew and adapted to an Open University course.

3.    Online Algorithms and Competitive Analysis. Borodin and El-Yaniv (BE). Cambridge University Press, 1998.

4.    Distributed Computing: A Locality-Sensitive Approach. Best source on network algorithms. D. Peleg (P). SIAM, 2000.

5.    Probability and Computing: Randomized Algorithms and Probabilistic Analysis. Mitznmacher and Upfal (MU). Cambridge University Press, 2005.

Additional bibliography may be provided during the course.

 

Lecture notes

1.     Lecture 1 (load balancing, subset sum).

2.     Lecture 2 (P, NP, NP-hardness)

3.     Lecture 3 (Approximation algorithms)

4.     Old notes for the material in Lecture 4 (Set Cover, weighted Vertex Cover)

5.     Lecture 5 (k centers, dynamic programming)

6.     Old notes for the material in Lecture 6 (secretary problem, coupon collector, birthday paradox)

7.     Lecture 7 (conflict resolution, median, Chernoff bound, parameter estimation)

8.     Lecture 8 (balls and bins)

9.     Lecture 9 (online algorithms: ski rental, related machines, restricted assignment)

10.   Old notes for lecture 10 and more (self-organizing lists, cache replacement)

11.   Lecture 11 (Randomized online algorithms: ski rental, repeated doubling, cache replacement)

12.   Lecture 12 (Randomized lower bounds on the competitive ratio, and the Best Expert algorithm).

13.   Lecture 13 (Distributed algorithms 1: coloring, leader election on a ring)

14.   Lecture 14 (Distributed algorithm 2: lower bounds for leader election and 3-coloring on rings)

 

Homework assignments and solutions.

1.     Problem set 1 (due November 7). Solutions

2.     Problem set 2 (due November 14). Solutions

3.     Problem set 3 (due December 12 19). Solutions.

4.     Problem set 4 (due December 19 26). Solutions.

5.     Problem set 5 (due January 2). Solutions

6.     Problem set 6 (due January 9). Solutions

7.     Problem set 7 (due January 23). Solutions.

 

 

Grades

·         summary

1.     PS1

2.     PS2

3.     PS3

4.     PS4

5.     PS5

6.     PS6

7.     PS7

 

Past Exams

2005, 2006, 2008, 2010

 

Miscellaneous references

 

1.   Useful inequalities

2.   Bounds on the binomial coefficients (including proofs).

3.   A Compendium of NP-Complete Problems.

4.   A variety of Chernoff bounds.

5.   Solving first-order ordinary differential equations.

6.   Daniel Sleator’s Splay Trees demo