CS 520 - Advanced Analysis of Algorithms

K. Subramani LDCSEE, West Virginia University, Morgantown, WV ksmani@csee.wvu.edu

1 General Information

1. Meeting Times: Tu-Th, 08:00-09:15 Location: 207, ESB-E

2. Contact Information: 749 ESB, ksmani@csee.wvu.edu

3. Office Hours: MW, 10:00-11:00

4. Textbook - [NN04]

5. URL - http://www.csee.wvu.edu/˜ ksmani/courses/fa05/gaoa/gaoa.html

6. Assessment:

(a) Homeworks (3) - You will be handed a homework on September 8, due on September 15, a second homework on September 29, due on October 6 and a third homework on November 10, due on November 17. Each homework is worth 20% (for a total of 60%) of your grade.

(b) Midterm - The midterm will be held on October 18 (in-class, closed book) and is worth 20% of your grade.

(c) Final - The final will be held on December 14 (in-class, closed book, 3 : 00 pm - 05 : 00 pm) and is worth 20% of your grade.

(d) A maximum of 5 bonus points will be awarded for class performance

7. Grade Boundaries (a) A: 75 and up

(b) B: 60 − 74

(c) C: 50 − 59

(d) D: 45 − 49

(e) F: 0 − 44

8. Grading policy - If you have any questions about the grading, you must contact the intructor within two days of your paper being returned.

9. Makeup Policy - If for some reason, you are unable to attend a test or an exam, please meet me at the earliest and I will set an alternate date.

10. Course Objectives - The objectives of this course are as follows:

(a) Introduce rigorous algorithmic analysis at the graduate level.

(b) Develop basic design paradigms such as Divide-And-Conquer, Greedy and Dynamic Programming.

(c) Develop advanced design paradigms such as Backtracking and Branch-And-Bound.

(d) Introduce the theory of NP-completeness.

11. Learning Outcomes - Upon successful completion of this course, students will be able to:

(a) Rigorously apply order metrics to computational problems.

(b) Design an algorithm for a problem and analyze its resource complexity.

(c) Distinguish between Branch-And-Bound and Backtracking.

(d) Identify the possibility of intractability for a given problem.

2 Syllabus Sketch and Weekly Schedule

2.1 Algorithm Analysis

Algorithm Design, Data Structures, Efficiency, Analysis of Algorithms, Order. These topics will be covered from Chapter 1 of [NN04] (2 Lectures).

2.2 Divide-and-Conquer

Solving recurrences, Binary Search, Mergesort, Quicksort, Matrix Multiplication, When not to use Divide-and-Conquer. These topics will be covered from Appendix B and Chapter 2 of [NN04] (5 Lectures).

2.3 Dynamic Programming

The Binomial Coefficient, Floyd’s algorithm for Shortest Paths, Dynamic Programming and Optimization problems, Chained Matrix Multiplication, Optimal Binary Search Trees, The Travelling Salesman problem. These topics will be covered from Chapter 3 of [NN04] (5 Lectures).

2.4 The Greedy Approach

Minimum Spanning Trees, Single-Source Shortest Path Trees, Scheduling, Huffman codes, Knapsack (discussion). These topics will be covered from Chapter 4 of [NN04] (5 Lectures).

2.5 Backtracking

The backtracking technque, The n-Queens problem, The Sum-of-Subsets problem, Graph coloring, Hamilton Circuit problem, Bactracking for Knapsack. These topics will be covered from Chapter 5 of [NN04] (2 Lectures).

2.6 Branch-and-Bound

Branch-and-bound for Knapsack, The Traveling Salesman Problem. These topics will be covered from Chapter 6 of [NN04] (2 Lectures).

2.7 Computational Complexity and Intractability

Intractability, Three problem paradigms, The theory of NP, Handling NP-Hard problems. These topics will be covered from Chapter 9 of [NN04] (6 Lectures) .

3 Social Justice Statement

West Virginia University is committed to social justice. I concur with that commitment and expect to foster a nurturing learning environement, based upon open communication, mutual respect and non-discrimination. Our University does not discriminate on the basis of race, sex, age, disability, veteran status, religon, sexual orientation, color or national origin. Any suggestions to further such a positive and open environment in this class will be appreciated and given serious consideration. If you are a person with a disability and anticipate needing any type of accommodation in order to participate in this class, please advise me of the same and make appropriate arrangments with Disability Services (293 − 6700).

If you feel that you are being treated inappropriately or unfairly in any way, please feel free to bring your concerns to my attention; rest assured that doing so will not prejudice the grading process. In return, I expect you to behave professionally and ethically.

References

[NN04] Richard Neapolitan and Kumarss Naimipour. Foundations of Algorithms Using C++ Pseudocode. Jones and Bartlett, 2004.