Time: WeFr 11:00AM~12:20PM

Location: Filmore 319

Credits: 3

Please sign up the course on Piazza.

Shi Li

Office: 328 Davis Hall

Email: [first name][last name initial][at][buffalo][dot][edu]

Homepage: http://www.cse.buffalo.edu/~shil/

Office hours for the course: Wed 2:00pm-3:00pm and Fri 4:00pm-5:00pm.

This course will mainly focus on approximation algorithms, which is the theoretical study of efficient heuristic algorithms for NP-hard problems with provable guarantee on the quality of the solutions. It not only provides practical algorithms for many applications, but also provides a way to measure different levels of hardness these problems exhibit. The course will present various techniques in designing approximation algorithms, such as greedy algorithm, dynamic programming, linear and semi-definite programming rounding, dual fitting, local search and metric embedding.

A prerequisite of CSE 431/531 is required. A basic knowledge of probability theory, linear programming and graph theory is expected.

There are no required textbooks, but most of the contents we will discuss are covered in the following two books:

- The Design of Approximation Algorithms, David Williamson and David Shmoys, Cambridge University Press, 2011.
- Approximation Algorithms, Vijay Vazirani, Springer-Verlag, Berlin, 2001.
- Links to Similar Courses: Ola Svensson, Chandra Chekuri, Mohammad Salavatipour, Anupam Gupta and R. Ravi.

Your final grade will be computed as follows:

- Participation: 10%.
- Scribe: 10%. Each student in the course is required to provide scribe notes for two lectures. A scribe note is due a week after the lecture. Scribe notes must be typed in LaTex. Here are the tex file containing the macros, a sample tex file for a lecture and a figure included in the tex file.
- Homework: 50%. There are 5 homeworks, each worth 10 points.
- Project: 30%.

No late homeworks will be accepted. You are allowed to discuss with classmates on homework problems. However, it is highly recommended that you first think about each problem for enough time before the discussion. You must write your solutions by yourself, in your own words. You need to write down the names of the students you collaborated with. Those who fail to follow these rules will be treated as cheating and violation of academic integrity. Other than getting an immediate F for the course, further actions consistent with the Department Academic Integrity Policy will be taken.

A project can be one of the following forms:

- A survey of several papers on a topic.
- A research paper on some old problem or new problem you introduced. In either case, you need to have some new result.
- Design and implement an approximation algorithm for a problem rising in applied area of your interest. You need to give a theoretical analysis of the algorithm you implemented, describe the engineering tricks you used to make the implementation faster and/or the solutions better and give an experimental evaluation of the algorithm in terms of the running time and approximation factors. If the approximation factors the are better than those guaranteed by the theoretical analysis, briefly explain why.

If you are using the course to satisfy the master project requirement, you need to do either 2 or 3.

Homeworks | Post Dates | Due Dates |
---|---|---|

Homework 1 | 9/22/2017 | 10/6/2017 |

Homework 2 | 10/11/2017 | 10/25/2017 |

Homework 3 | 10/30/2017 | 11/13/2017 |

Homework 4 | 11/22/2017 | 12/6/2017 |

Homework 5 | 12/9/2017 | 12/22/2017 |

Week | Date | Topics | Contents | Reading | Notes |
---|---|---|---|---|---|

1 | Aug 30 | No class today due to CSE50 celebration | |||

Sep 1 | Fall Recess | ||||

2 | Sep 6 |

- Ipe is a drawing editor for creating figures in PDF or (encapsulated) Postscript format. It supports making small figures for inclusion into LaTeX-documents as well as making multi-page PDF presentations.