Download advanced algorithms

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Halting problem wikipedia , lookup

Factorization of polynomials over finite fields wikipedia , lookup

Transcript
ADVANCED ALGORITHMS 2007/08
List of project proposals
1. Design and implement a dynamic-programming algorithm for solving the 0-1 knapsack
problem (each item must either be taken or left behind) that runs in O(nW) time, where n
is the number of items and W is the maximum sum of weights of items that can be taken.
([1] exercise 17.2-2)
2. Apply an algorithm finding a maximum matching in a graph for solving the following
problem of optimal sequencing of two equivalent processors: Given are n tasks, each of
them can be executed by each of two identical processors. Find the schedule with the
minimal total time of execution. ([2] chapter 3.7, exercise 3.90)
3. Design and implement a dynamic-programming algorithm to find the edit distance
between two given strings (an optimal transformation sequence should be printed) ([1]
problem 16-3)
4. Design and implement a dynamic programming algorithm to solve the following activityselection problem: Given is a set of activities to schedule among a large number of lecture
halls. We wish to schedule all the activities using as few lecture halls as possible. ([1]
exercises 17.1-2, 17.1-3)
5. Design and implement an approximation algorithm for solving the following k-travelingsalesmen problem. Given are k salesmen and n cities. Each salesman has his own starting
city. Find the set of such tours of these salesmen that each city is visited by at least one
salesman and total length of tours is the shortest possible. ([2], exercise 3.118)
6. Design and implement a dynamic-programming algorithm to print a paragraph of n words
neatly on a printer (the sum, over all lines except the last, of the cubes of the numbers of
extra space characters at the ends of lines should be as small as possible). ([1] problem16-2)
7. Implement the APPROX-VERTEX-COVER algorithm and apply for finding a maximumsize clique in a given graph. ([1] chapter 37.1, exercise 37.1-4)
8. Design and implement a modification of the sequential algorithm with colors interchange
which can be used for finding the chromatic index (the edge chromatic number) of a given
graph. ([2] chapter 4.1.4, exercise 4.28)
9. Design and implement an O(n2)-time algorithm to find the convex layers of a set on n points.
([1] chapter 35, problem 35-1)
[1] T.H. Cormen, C.E. Leiserson, R.L. Rivest, Introduction to Algorithms, MIT Press, 1991.
[2] M.M. Sysło, N.Deo, J.S. Kowalik, Discrete Optmization Algorithms, Prentice Hall 1983.
Project Requirements:
- Each of the above project proposals is prepared for a group of 2 students
- You are welcome to choose projects outside this list or to create your own project proposal
BUT the project proposal must be approved (projects must have direct relevance to the
material covered during the lecture)
- The final version of the project should consist of: the computer program, data sets for tests,
and the program documentation.
The documentation should contain:
1. Description of the considered problem.
2. Background (main known results, used known algorithms)
3. Description of the own solution (new algorithms, methods, techniques or modifications
of some algorithms)
4. Algorithmic complexity and correctness (quality) analysis.
5. User’s Manual.
6. Technical documentation (comments in source, description of main data structures and
procedures)
7. Description of tests (used data sets, results, conclusions).
8. Conclusions, comments.
9. List of references to literature, web pages.
Project Grading: (Total 40 points max.)
- Project documentation ( 20 points max.)
- Description of the problem and the solution (sections 1., 2., 3.) (0-4 pts)
- Algorithmic complexity and correctness analysis (section 4.) (0-4 pts)
- User’s manual (section 5.) (0-4 pts)
- Technical documentation (section 6.) (0-4 pts)
- Description of tests and conclusions (sections 7., 8.) (0-4 pts)
- Computer Program (20 points max.)
Deadline for the final submission of the project: Friday, December 21, 2007.
Penalty for late submission: -4 points per late week (max. -16 pts) (starting from the first
Monday of the year 2008; penalty stays the same for the whole week)
Both members of each group are expected to contribute equally towards their’s team progress!