CSCI 280 - Algorithms and Problem Solving Paradigms
Spring 2010: Final Project
For your final project, select a problem that we have not studied in
the course and develop an algorithm to solve it. Send me a short description
of the problem you plan to study by Friday, April 21 at 5 pm. If you
are having trouble deciding on a problem to study, please see me at least
24 hours before that deadline.
Once I have approved your problem, your task is as follows:
- If the problem is NP-hard, prove it.
- Devise a brute-force algorithm to solve the problem. Perform a rigorous
asymptotic complexity analysis. Prove that this algorithm is correct.
- Develop an algorithm that improves upon the brute-force algorithm. It
can be an improvement of any type. It might have better time complexity,
better space utilization, or better solution quality, for example. Be sure
to prove all claims you make about the properties of this algorithm.
- If you are unable to improve upon the brute-force algorithm, document
three attempts to develop an improved algorithm.
Once your algorithms are complete, perform some research to learn about
existing algorithms for solving your problem. You may use the Internet
or the library. Try to find two other algorithms at a minimum. If you
are unable to find any (or more than one), ask me for some suggestions.
Once you have located these other algorithms, compare them with the
two algorithms you developed. Assess their relative strengths and
weaknesses.
You will write a paper containing the following:
- A description of your problem
- An NP-hardness proof, if necessary
- Your brute-force algorithm
- Either an additional algorithm or descriptions of three failed attempts
to develop it
- Any proofs you performed to justify claims about these algorithms
- A summary of two algorithms for the problem you found doing research
- The comparison between your algorithms and the algorithms you researched
- Conclusions
You will deliver an oral presentation on Tuesday, May 11 between 8:30 and
11:30 am that gives an overview of the contents of your paper. Aim for a
presentation length of approximately 20 minutes.
Deadlines
- Project proposal: Friday, April 23, 5 pm
- Rough draft of paper: Monday, May 3, 5 pm
- Final draft of paper: Friday, May 7, 5 pm
- Oral Presentation: Tuesday, May 11, 8:30 am
About the Rough Draft
If you submit your rough draft by the deadline, I will guarantee to
provide you with feedback within 24 hours. This gives you a chance to
improve your paper and maximize your final grade.
Furthermore, you must submit a rough draft if you seek to earn
W2 credit for this course. Revising a written document is part of the
campus-wide criteria for earning W2, and in this course that criterion
is fulfilled by revising your rough draft.