This course is (mostly) about how to solve problems that are computationally intractable. We will see how to take advantage of different input assumptions and structures to get better algorithms that you would for the most general inputs. Much of this will center around approximation algorithms and different techniques for the design and analysis of approximation algorithms.

Prof. Borradaile will be available after class for 15 minutes for quick questions. Otherwise, office hours are by appointment; please email me and suggest a couple of times between 1 and 5 during weekdays that work for you.

There is no textbook to buy for this course. Unless explicitly directed to, you need not read anything before a lecture. I will try to post (free) material that covers what I cover in lecture as a back-up source. You may be directed to read something to help you with the problem-solving session questions.

We will refer to the following freely available textbook Design of Approximation Algorithms as DAA below.

## Schedule

**Tuesday January 3 and Thursday January 5**- TSP and Hamiltonian cycle, hardness of approximation and simple approximation algorithms. (See Section 2.4 of DAA.)
**Tuesday January 10 - Problem solving session A**- Questions 2.1 and 2.7 from DAA and the following question: Give an algorithm for
*Given an undirected tree T = (V, E) and a subset M ⊆ V of even cardinality, find a pairing (perfect matching) of the nodes in M such that the paths in T between the matched pairs are edge-disjoint.*and prove that your algorithm is correct. **Thursday January 19 - Tuesday January 31**- Linear programming and semi-definite programming techniques for approximation algorithms. Refer to Jeff Erickson's notes on Linear Programming for a review of LP duality, Chapters 1, 5, and 6.2 of DAA for the material covered in class.
**Thursday February 2 - Problem solving session B**- Questions 1.1, 5.3 and 6.7. Try to solve these problems without using the Internet ...
**Tuesday February 7 - Tuesday February 14**- Fixed parameter tractablity. Refer to these slides from Daniel Marx.
**Thursday February 16 - Problem solving session C**- Three questions (you will be required to submit written solutions to two of these questions):

- Give an O(2^k + n^2) time algorithm for k-vertex cover in a graph with n vertices.
- Show that the dominating set problem for graphs with maximum vertex degree bounded from above by a constant is FPT using the method of bounded search trees.
- Give a kernel of size polynomial in k and d for the closest string problem: Given k strings s1, s2, ..., sk, each of length n, find a string s such that the Hamming distance between s and si for every i is at most d.

**Tuesday February 21 - Tuesday February 28**- Review: Maximum independent set and dynamic programming over paths, trees and beyond.

Refer to Section 5.7 of Jeff Erickson's notes on Dynamic Programming

Tree decompositions and dynamic programming over them.

Refer to Sections 11.1 and 11.2 of Jeff Erickson's notes on Treewidth

DP for TSP over branch decompositions, refer to: Scribe notes: TSP on graphs of bounded branch width, Hung Le **Thursday March 2 - Problem solving session D**- Two questions:

- Prove that a chordal graph with maximum clique of size k+1 has treewidth k.
- Give a dynamic program for the following problem in a graph G with a given tree decomposition of width k or a given branch decomposition of width k (you may use whichever decomposition you prefer): Find an assignment of at most 3 colors to each of the vertices that maximizes the number of edges that have endpoints of different colors.

**Tuesday March 7 - Tuesday March 14**- PTASes for planar graphs.

Refer to this and Section 11.3 of Jeff Erickson's notes on Treewidth **Thursday March 16**- A PTAS for Euclidean TSP.

## Final deadlines

First drafts of required solutions for all problem solving sessions (up to and including PSSD) should be submitted by **Tuesday March 14**.

Your final submission should be submitted to KEC 3071 by **Wednesday March 22**. The final submission includes:

- A first draft for your assigned question from the last problem solving session.
- For each of the problem solving sessions (except the last problem solving session):
- The first draft you submitted earlier in the quarter with Prof. Borradaile's comments on it.
- A second draft of the write-up, taking into account Prof. Borradaile's comments.
- A latexdiff between the first and second drafts. Make sure to get the order of arguments right for latexdiff! (You may email a pdf of the diffs rather than printing, if you prefer.)

## Evaluation

All drafts and submissions must use the provided template for Latex.

### Problem Solving Sessions

There will be 5 or 6 problem sets of 2-3 questions each. At least one lecture slot ('problem solving session') will be set aside for mutual aid on the problems. This will be organized as follows:

- Attempt the problems (on your own or together) before the problem solving session.
- During the problem solving session, ensure that you have all the details for
**correct**solutions to all the problems. Prof. Borradaile will not provide solutions, but will make sure big issues are not overlooked, provide guidance, etc. - Each student will be assigned one or two problems to write up the solution to. This is the
**first draft**. You will submit a printed copy of your first draft to Prof. Borradaile**before the next problem solving session**. - Students will receive feedback from Prof. Borradaile on their first drafts. Students use this feedback to prepare a
**final draft**of their solution in lieu of a final exam as described below. - Note that any resources (textbooks, papers, websites) that you used in preparing your solutions (outside of help from fellow students during the problem solving session) must be cited. Not doing so will be considered an act of plagiarism.

### Final Submisssions

In lieu of a final exam, you will submit:

- A first draft for your assigned question from the last problem solving session.
- For each of the problem solving sessions (except the last problem solving session):
- The first draft you submitted earlier in the quarter with Prof. Borradaile's comments on it.
- A second draft of the write-up, taking into account Prof. Borradaile's comments.
- A latexdiff between the first and second drafts. Make sure to get the order of arguments right for latexdiff!

### Final Grade

Your final grade is determined by:

- The correctness of your solutions. Since you can work together as much as you want to get your solutions written down, there is no excuse for solutions that make no sense and have big logical flaws. To earn a B or better in this class, your solutions must be correct.
- Improvement in your writing. Did you take into account suggestions on your first draft in producing your second draft?

I will provide some feedback on your final grade mid-way through quarter.

resources

courses

- CS523, Winter 2017
- CS523, Spring 2016
- CS325H, Winter 2016
- CS325, Fall 2015
- CS507, ECE507, Fall 2015
- CS523, Spring 2015
- CS325, Winter 2015
- CS325, Fall 2014
- CS523, Spring 2014
- CS325, Fall 2013
- CS515, Fall 2013
- CS523, Spring 2013
- CS325, Fall 2012
- CS523, Spring 2012
- CS515, Fall 2011
- CS523, Spring 2011
- CS325, Winter 2011
- CS515, Fall 2010
- CS521, Spring 2010
- CS325, Winter 2010