CSci 280: Algorithms and problem-solving paradigms
Home Syllabus Classwork

Project 2: More algorithms

I will assign you a partner with whom to work on this project, and I'll assign a topic to each pair. With this other student, you will research the topic, and you will write a paper and present a 25-minute informal class lecture discussing what the problem and algorithm.

Team assignments

presenterpartnertopicday
SneeringerMaguffee Delaunay triangulation Wed 22 Apr
HaynesJohnson Shortest superstring Wed 22 Apr
AttawayDemmler Karger's algorithm Fri 24 Apr
Geren Edge coloring Fri 24 Apr

Schedule

Fri 10 Apr, 5pm: Send project preferences to .

  • List three topics from the below list that look most interesting to you. I'll assume that you are listing the topics in order of your preference. Please note that it will not be possible for me to accommodate all interests, but I'll take your expression of interest into account. Also note that your topic preference will not influence who your assigned partner will be.

  • If there are students with whom you do not want to work on this project, you may express this. Note that, in this course and others, any expression of such a preference reflects poorly on your own maturity and teamwork ability — worse than it reflects on those you'd rather not work with. Nonetheless, sometimes the animosity is bad enough that it should be expressed. This will be kept confidential. Again, there are no guarantees that I can accommodate all preferences.

    As mentioned on the syllabus, I'll take class performance into account when assigning partners. (I'll also tend to assign more interesting topics to teams that have more potential to do a good job with them.) In general, I'll try to avoid assigning a team that seems highly unbalanced with ability level. However, it will be considerably more random than simply ranking students and picking off the first two for one group, the next two for the next, and so on.

Fri 17 Apr, 4pm: Paper due

The length of the paper should be roughly four single-spaced pages, and it should be presented at a level that a student who has taken a regular Algorithms course would be able to understand (without having heard your presentation!). Please see the evaluation criteria below for more of an idea of what this is.

The paper should be submitted electronically, in OpenOffice.org Writer or Microsoft Word format.

Wed 22 Apr, 1pm: Presentations begin

One person from your team has been selected to present a lecture of 20 to 25 minutes about the topic. This lecture should be relatively informal, allowing students in the classroom to ask questions.

Yes, even though just one person will speak, both people on your team will receive the presentation score. The other person should still be involved, both in helping to design the presentation and in providing constructive criticism during practice.

One week after paper returned: Revisions due

Instructions about what should be modified within the paper will be provided when it is returned.

Topics

Possible topics include the following.

Delaunay triangulation

Given a set S of two-dimensional points, their Delaunay triangulation is a set of line segments connecting the points and partitioning the space into triangles, where the only points in S within the smallest circumscribed circle around each triangle are those three points defining the triangle. In this project you'll describe and analyze a relatively efficient algorithm for computing a Delaunay triangulation.

Karger's algorithm

Given an unweighted, undirected graph, we want to partition its vertices into two sets so that the number of edges between the two partitions is as small as possible. This is called its minimum cut. One interesting algorithm for this problem is Karger's algorithm; it uses randomness and probability to arrive at a correct answer with reasonable probability. Your project would be to describe and analyze this algorithm.

Shortest superstring

In the shortest superstring problem, we're given a set of strings and we want to find the shortest string that has each of the given strings as substrings. For example, given abc, cde, and eab, the shortest superstring is cdeabc. One important application of this problem is to DNA sequencing, where we have many segments of a DNA strand and we want to determine the original DNA sequence. The problem is NP-complete. You should describe a constant-factor approximation algorithm for the problem. You might also show that the original problem is NP-hard.

Edge coloring

Instead of coloring vertices, we want to color edges with as few colors as possible, so that no vertex has two edges of the same color. This problem is also NP-complete, but there is an algorithm due to Vizing that never uses more than one color than necessary.

Job scheduling

We have m identical machines and we receive a sequence of jobs, each with a known duration. We want to assign each job to a machine with a goal that the time taken is close to the best time possible. There is a greedy algorithm that takes at most 2 - 1 / m times the optimal schedule. Your project would prove that this algorithm is correct and outline other results for the problem.

CYK algorithm

Given a context-free grammar and an input string of n characters, the CYK algorithm determines whether the input string can be produced from the grammar in O(n³) time. You would present the algorithm, including the required preprocessing needed to bring an arbitrary context-free grammar into Chomsky normal form as required by the grammar.

Evaluation criteria

Below is the point breakdown for the project. The questions accompanying each give examples of what the point category represents; the questions are not meant to be exhaustive, though.

40 pts Paper: Research. Is there evidence that the paper is based on studying the subject thoroughly? Are explanations at a sufficient level of detail? Does the paper use mathematical argument where appropriate? Are all such arguments both accurate and as easy as possible to understand? Does the paper cite sources appropriately?
20 pts Paper: Overall structure. Does the paper present enough information that it would make sense to a reader unfamiliar with the subject? Is the structure of the paper apparent? Does the paper provide good examples when appropriate?
20 pts Paper: Sentence-level writing. Does the paper use good grammar and spelling? Does it demonstrate a consistent attention to using the most appropriate words? Does the paper address the reader that draws in the audience while simultaneously remaining professional?
10 pts Presentation: Visual aids. Does the presentation use the chalkboard or computer presentation when appropriate? Is the visual hint genuinely helpful to the audience? Is all text readable throughout the classroom? Is the presenter doing much more than simply reading visual aids?
15 pts Presentation: Organization. Is the organization apparent to the audience and suitable to the subject? Does the presentation use the designated time without going over? Is the time used consistently in an effective manner? Does the presentation impart detailed information that is appropriate for inclusion on later tests?
15 pts Presentation: Qualities of address. Does the speaker show evidence of being prepared? Does the speaker maintain eye contact, avoid nervous tics, and speak audibly? Does the speaker avoid rehearsing prepared text from notes or memory? Is the tone of voice conversational but still professional?
30 pts Paper revisions.
150 ptsTOTAL