CMPUT 675: Approximation Algorithms
Winter 2022, Mon/Wed 12:30-13:50:, in VVC 2-227.

Objectives:

Most interesting optimization problems are NP-hard, and therefore it is unlikely that we can find optimal solutions for them efficiently. In many situations, finding a solution that is provably close to an optimal one is also acceptable. In this course we study design and analysis of Approximation Algorithms. These are efficient algorithms that find provably good approximation of the optimum solution. We study some of the common and classical techniques in the design of approximation algorithms, followed by study of some more recent results in this field. Furthermore, we talk about the complexity of approximating these problems. This will be done by learning some classical and some more recent results on hardness of approximation.

Prerequisites:

CMPUT 304 or strong undergraduate background in theoretical computer science and mathematics. You must also have basic knowledge of graph theory, probability, and complexity.

Textbook:

There is no required text, but we will be using the following two books:

This is a theory course (no programming involved). There will be 5 take home assignments
.

Tentative topics (could change later):
• Design Techniques:
• Greedy and combinatorial methods,
• Dynamic programming and sclaing,
• Local search
• random sampling
• Linear programming (deterministic rounding, randomized rounding, primal-dual, iterative rounding)
• semi-definite programming and rounding
• metric embeddings

• Problems to discuss:
• Vertex Cover, Steiner tree. Set Cover
• TSP (symmetric and other variants)
• knapsack, bin packing
• Scheduling problems
• Facility location, k-median, k-center
• Steiner forest, Steiner network
• k-cut, multi-way cut, multi-cut, sparsest cut
• max-cut, max-sat
• Hardness of approximation (Intro to PCP, simple proofs, improved PCP's).

Lecture notes:

Assignments:

Course Policies:

Please refer to the Department Course Policies for general information about course policies.

Assignments are due at the begining of the lecture on the due dates. Late assignments up to 24 hours will be deducted 20% of full grade. After 24 hours no assignment will be accepted.