Computer Science
Tel-Aviv University

0368.41670
Sublinear time algorithms

Instructor: Ronitt Rubinfeld
Fall 2015


Brief Course Description

This course will focus on the design of algorithms that are restricted to run in sublinear time, and thus can view only a very small portion of the data. The study of sublinear time algorithms has been applied to problems from a wide range of areas, including algebra, graph theory, geometry, string and set operations, optimization and probability theory. This course will introduce many of the various techniques that have been applied to analyzing such algorithms.

Grading

Will be based on the solutions to homework exercises, a class project and class participation.

Prerequisites

Algorithms. Exposure to computational complexity is helpful but not required.

Time and location

The course will take place on Mondays, 13:00-16:00, in Shenkar 104.

Course Information Handout

More details on syllabus, grading, etc. (pdf) (see also "useful pointers" below)

Announcements


Lecture notes and VERY tentative plan

  1. Lecture 1 (19/10): Introductory remarks. Property testing. Diameter. Monotonicity. Element distinctness. Quick probability review. scribe notes (25/10)
  2. Lecture 2 (26/10): Property testing of element distinctness. Testing properties of distributions. Uniformity. scribe notes
  3. Lecture 3 (2/11): More testing properties of distributions. scribe notes
  4. Lecture 4 (9/11): More testing properties of distributions. Estimating the number of connected components. scribe notes
  5. Lecture 5 (Since I had scanned in the wrong pages, these notes are from last year -- will fix it on Sunday 21/11) (16/11): Approximating Minimum Spanning Tree. A connectiong between distributed algorithms and sublinear time algorithms. Approximating vertex cover. scribe notes
  6. Lecture 6 (23/11): Sublinear time algorithms via simulating the greedy algorithm: Approximating vertex cover (thru maximal matching). Approximating the average degree. scribe notes.
  7. Lecture 7 (30/11): Approximating the average degree. scribe notes.
  8. Lecture 8 (7/12): Property testing in dense graphs: bipartiteness. scribe notes.
  9. Lecture 9 (14/12): Property testing in dense graphs: triangle-freeness, Szemeredi's regularity lemma. scribe notes.
  10. Lecture 10 (21/12): Property testing in dense graphs: a lower bound in epsilon. scribe notes.
  11. Lecture 11 (28/12): Testing boolean functions: Fourier basics. Testing linearity. scribe notes.
  12. Lecture 12 (4/1): Testing boolean functions: dictatorships. Testing approximate correctness of delegated computations. scribe notes.
  13. Lecture 13 (11/1): No class -- will have project presentations instead on the week of January 24. See announcement for project requirements.

Homework


Useful Pointers