# Computational and Metric Geometry

 Instructor: Yury Makarychev Course: TTIC 31100 and CMSC 39010-1 Textbook: Computational Geometry by M. de Berg, O. Cheong, M. van Kreveld, M. Overmars. Requirements: There will be 3 or 4 homework assignments. There will be no exams. 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

## Tentative Schedule

• Lecture 1: Convexity I
convex sets, convex hulls, different definitions and basic properties, extreme points, Caratheodory's theorem, Radon's theorem
• Lecture 2: Convexity II
extreme points, Krein-Milman theorem, Helly's theorem, separating hyperplanes
• Lecture 3: 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)
• Lecture 4: Orthogonal Range Searching
binary search, kd-trees, range trees (Chapter 5)
• Lecture 5: Voronoi Diagrams
Voronoi diagrams, Fortune's algorithm (Chapter 7)
• Lecture 6: Delaunay Triangulations I
triangulations, Delaunay and locally Delaunay triangulations: definitions, existence and equivalence (Chapter 9)
• Lecture 7: 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)
• Lecture 8: Normed Spaces, Low Distortion Metric Embeddings
normed spaces, Lipschitz maps, distortion, embeddings into Lp and lp (see lecture notes)
• Lecture 9: Bourgain's Theorem
Bourgain's theorem
• Lecture 10: Sparsest Cut
approximation algorithm for Sparsest Cut (see lecture notes)
• Lecture 11: 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
• Lecture 12: Minimum Multiway Cut, Minimum Multicut
approximation algorithms for Minimum Multiway Cut and Minimum Multicut (see lecture notes)
• Lecture 13: Minimum Multiway Cut, Padded Decomposition
padded decomposition, HST (see lecture notes)
• Lecture 14: Padded Decomposition, Tree Metrics, Hierarchically Separated Trees (HST)
padded decomposition, embedding into distributions of dominating trees, HST, applications (see lecture notes)
• Lecture 15: Games, von Neumann's Minimax Theorem, Multiplicative Weight Update Method
two player zero-sum games, von Neumann's minimax theorem, multiplicative weight update method
• Lecture 16: Räcke's Framework, Semidefinite Programming
Räcke's framework, approximation algorithm for Minimum Bisection, positive semidefinite matrices, semidefinite programming, Goemans–Willaimson algorithm for Max Cut
• Lecture 17: Dimension Reduction, Nearest Neighbor Search
dimension reduction, approximate nearest neighbor search, locality sensitive hashing
• Lecture 18: Locality Sensitive Hashing, p-Stable Random Variables
locality sensitive hashing, p-stable random variables