Final Project

[Note: this webpage last modified Thursday, 17-Feb-2011 14:00:01 EST]

For the project, you will choose a "hard" problem that is not known to be in P and investigate everything that is known about it - what complexity classes is it known to be in, are there approximation algorithms for the problem, what are the best-known algorithms, are there restricted versions that are in P, etc. I will provide more details as we get into the semester. Here is the preliminary information.

Project rules and grading

Project Ideas

The easiest project idea is to pick some problem not known to be in P and do a survey of what is known about this problem - give proofs of completeness, explain the best-known algorithms (both exact and approximation), explain what the best-known "hardness of approximation" result is known for the problem. If you want to focus on the practical side, you can focus your efforts on implementing an algorithm or algorithms for the problem you choose (whether to do one or multiple algorithms depends on how complicated the algorithm is, and how much work it is to implement it). You could also try the algorithm(s) out on real-world situations that need to be solved.

Here are some interesting "hard" problems that you could look at.