CS 420 - Design of Algorithms

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

1 General Information

(a) Instructor: K. Subramani.

(b) Meeting Times: Tu-Th 09 : 30 am - 10 : 45 am. Location: 801 ESB-E.

(c) Contact Information: 749 ESB, ksmani@csee.wvu.edu.

(d) Office Hours: Tu, Th - 8 : 00 am - 9 : 00 am.

(e) Textbook - [CLRS09].

(f) URL - http://www.csee.wvu.edu/^{∼}ksmani/courses/sp11/doa/doa.html  .

(g) Assessment:

(a) Presentations (1) - You will be required to present allotted material. The presentation will be graded on the basis of clarity, comprehensiveness and effectiveness. The presentation will be worth 20% of your grade.

(b) Homework Assignments (4) - You will be handed 4 homework assignments as per the following schedule:

Assignment Date Submission Date
February 1  February 8
March 1  March 8
March 29  April 4
April 26  May 3

A maximum of 5 bonus points will be awarded for class performance.

(h) Grade Boundaries (a) A: 80 and up

(b) B: 65 − 79

(c) C: 50 − 64

(d) D: 45 − 49

(e) F: 0 − 44

(i) Grading policy - If you have any questions about the grading, you must contact the instructor within two days of your paper being returned.

(j) 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.

(k) Course Objectives - The objectives of this course are as follows:

(a) To introduce students to advanced techniques in algorithm design.

(b) To introduce students to the notions of approximation and randomized algorithms.

(c) To familiarize students with various advanced data structures.

(d) To introduce students to network optimization techniques.

(e) To familiarize students with linear programming and its applications.

(l) Learning Outcomes - Upon successful completions of this course, students will be able to:

(i) Model real-world problems in the linear programming framework.

(ii) Design approximation algorithms for NP-hard problems satisfying certain structural properties.

(iii) Develop randomized strategies against deterministic adversaries.

(iv) Solve maximum flow problems.

2 Syllabus Sketch

2.1 Introduction to algorithm analysis

Analyzing insertion sort, growth of functions, recurrences. These topics will be covered from Chapters 1 through 4 of [CLRS09].

2.2 Counting, Probability and Probabilistic Analysis

Counting, Probability, Discrete random variables, The geometric and binomial distributions, The tails of the binomial distribution, The hiring problem, Indicator random variables. These topics will be covered from Chapter 5 of [CLRS09].

2.3 Sorting

Quicksort and Median finding. These topics will be covered from Chapters 7 and 9 of [CLRS09].

2.4 Dynamic Programming

Assembly-line scheduling, matrix chain multiplication, Elements of Dynamic Programming, Longest common subsequence, optimal binary search trees. These topics will be covered from Chapter 15 of [CLRS09].

2.5 Greedy Algorithms

An activity-selection problem, Elements of the greedy strategy, Huffman codes, Theoretical foundations for greedy methods, A task-scheduling problem. These topics will be covered from Chapter 16 of [CLRS09].

2.6 Amortized Analysis

Aggregate analysis, The accounting method, The potential method, Dynamic tables. These topics will be covered from Chapter 17 of [CLRS09].

2.7 Maximum Flow

Flow networks, The Ford-Fulkerson method, Maximum bipartite matching, Push-relabel algorithms, The relabel-to-front algorithm. These topics will be covered from Chapter 26 of [CLRS09].

2.8 Linear Programming

Standard and slack forms, Formulating problems as linear programs, The simplex algorithm, Duality, The initial basic feasible solution. These topics will be covered from Chapter 29 of [CLRS09].

2.9 NP-completeness

Polynomial time, Polynomial-time verification, NP-completeness and reducibility, NP-completeness proofs, NP-complete problems. These topics will be covered from Chapter 34 of [CLRS09].

2.10 Approximation Algorithms

The vertex-cover problem, The traveling salesman problem, The set-covering problem, Randomization and linear programming, The subset-sum problem. These topics will be covered from Chapter 35 of [CLRS09].

I would like to reiterate that this is a sketch of the topics that we will be covering. For various reasons, I may choose to drop a mentioned topic or cover a new topic. In such cases, advance notice will be given.

3 Academic Integrity Statement

The integrity of the classes offered by any academic institution solidifies the foundation of its mission and cannot be sacrificed to expediency, ignorance, or blatant fraud. Therefore, I will enforce rigorous standards of academic integrity in all aspects and assignments of this course. For the detailed policy of West Virginia University regarding the definitions of acts considered to fall under academic dishonesty and possible ensuing sanctions, please see the Student Conduct Code

at http://www.arc.wvu.edu/admissions/integrity.html  . Should you have any questions about possibly

improper research citations or references, or any other activity that may be interpreted as an attempt at academic dishonesty, please see me before the assignment is due to discuss the matter.

4 Social Justice Statement

West Virginia University is committed to social justice. I concur with that commitment and expect to foster a nurturing learning environment, based upon open communication, mutual respect and non-discrimination. Our University does not discriminate on the basis of race, sex, age, disability, veteran status, religion, 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 accommodation, in order to participate in this class, please advise me of the same and make appropriate arrangements 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

[CLRS09] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to Algorithms. MIT Press, 3^{rd} edition, 2009.