Computational and Metric Geometry

Winter Quarter 2017

Instructor: Yury Makarychev
Course: TTIC 31100 and CMSC 39010-1
Lectures: Monday & Wednesday, 1:30–2:50 pm, TTIC, room 530
Mailing list: . To subscribe to the course mailing list, send an email to (with any subject and body). You should get a confirmation email in a few minutes; reply to this email or click on a link inside. If you cannot subscribe to the mailing list, please contact me.
Textbook: Computational Geometry by M. de Berg, O. Cheong, M. van Kreveld, M. Overmars.
Requirements: There will be 3 or 4 homework assignments.
Description: The course covers fundamental concepts, algorithms and techniques in computational and metric geometry. Topics covered include: convex hulls, polygon triangulations, range searching, segment intersection, Voronoi diagrams, Delaunay triangulations, metric and normed spaces, low-distortion metric embeddings and their applications in approximation algorithms, padded decomposition of metric spaces, Johnson–Lindenstrauss transform and dimension reduction, approximate nearest neighbor search and locality-sensitive hashing.
W. Kandinsky: Mild Tension, 1923
W. Kandinsky: Mild Tension, 1923


Lecture Notes and References

Tentative Schedule

  1. January 4: Convexity
    convex sets, convex hulls, vertices, supporting lines, edges, different definitions and basic properties, Caratheodory's theorem
  2. January 9: Convex Hulls and Line Segment Intersections
    Jarvis March, Andrew's algorithm (Chapter 1.2), sweep line algorithms, line segment intersection, Bentley–Ottmann algorithm (Chapter 2.1)
  3. January 11: Planar Graphs and Overlays
    graphs, graph drawings, plane and planar graphs, Euler's formula, data structure for plane graphs, computing overlays (Chapter 2)
  4. January 16: Martin Luther King Jr. Day. TTIC is closed.
  5. January 18: SODA 2017. No lecture.
  6. January 23: Orthogonal Range Searching
    binary search, kd-trees, range trees (Chapter 5)
  7. January 25: Point Location
    trapezoidal maps, randomized algorithm (Chapter 6)
  8. January 30: Voronoi Diagrams
    Voronoi diagrams, Fortune's algorithm (Chapter 7)
  9. February 1: Delaunay Triangulations I
    triangulations, Delaunay and locally Delaunay triangulations: definitions, existence and equivalence (Chapter 9)
  10. February 6: Delaunay Triangulations II. Metric Spaces.
    duality between Delaunay triangulations and Voronoi diagrams, angle optimality (Chapter 9); metric and normed spaces–basic definitions (see lecture notes, Section 1.1)
  11. February 8: Normed Spaces. Low Distortion Metric Embeddings.
    normed spaces, Lipschitz maps, distortion, embeddings into Lp and lp (see lecture notes)
  12. February 13: Bourgain's Theorem
    Bourgain's theorem
  13. February 15: Sparsest Cut
    approximation algorithm for Sparsest Cut (see lecture notes)
  14. February 20: Minimum Balanced Cut, Minimum Linear Arrangement, Sparsest Cut with Non-Uniform demands. Expanders.
    polylog approximation algorithms for Balanced Cut and Minimum Linear Arrangement, expander graphs, integrality gap for Sparsest Cut, Sparsest Cut with non-uniform demands
  15. February 22: Minimum Multiway Cut, Minimum Multicut
    approximation algorithms for Minimum Multiway Cut and Minimum Multicut (see lecture notes)
  16. February 27: Padded Decomposition, Tree Metrics, Hierarchically Separated Trees (HST)
    padded decomposition, HST (see lecture notes)
  17. March 1: Padded Decomposition, Tree Metrics, Applications. Semi-definite Programming.
    padded decomposition, HST, applications (see lecture notes), semi-definite programming
  18. March 6: Dimension Reduction, Nearest Neighbor Search
    dimension reduction, approximate nearest neighbor search, locality sensitive hashing
  19. March 8: Locality Sensitive Hashing, p-Stable Random Variables
    locality sensitive hashing, p-stable random variables