Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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!