IT540 Algorithms for Distributed Systems 3-0-0-3Instructor: Prof Srikrishnan Divakaran Course Description: The first third of the course will overview basic graph theory, algorithm desig
Trang 1IT540 Algorithms for Distributed Systems 3-0-0-3
Instructor: Prof Srikrishnan Divakaran
Course Description: The first third of the course will overview basic graph theory, algorithm design and analysis techniques like dynamic programming, greedy algorithms and amortized analysis The next third of the course will cover both exact and approximation algorithms for network problems like shortest paths, spanning and steiner trees, matching, network flows, facility location and resource allocation from the perspective of combinatorial optimization The final third of the course will cover the design and analysis of concurrent algorithms for some of the above network problems
Course Goals/Objectives
Provide a rigorous introduction to advanced algorithm design and analysis techniques including greedy algorithms, dynamic programming, amortized analysis, and randomization;
Provide a rigorous introduction to key graph and combinatorial algorithms for some of the network problems like shortest path, spanning trees, steiner trees, matching, network flows, resource allocation, load balancing, network design, and routing
Overview some of the concurrent algorithms for some of the network problems mentioned above
Course Requirements
Every week there will be three hours of lecture Approximately one topic will be covered every two weeks and there will be a problem set assigned every two weeks The problem sets will help students to apply and master key combinatorial concepts in the design and analysis of graph and combinatorial algorithms for some of the problems in computer networks The problem sets are for practice and will not be graded
There will be a mid term and a final exam both consisting of a written part and a viva voce
Required Text:
Introduction to Algorithms by Cormen, Leiserson, Rivest and Stein
Reference Text:
Introduction to Graph Theory by Douglas B West, Prentice Hall
Approximation Algorithms for NP-Hard problems by Hochbaum, PWS publishing company
Trang 2Course Schedule and Tentative List of Topics (Topics are subject to some alterations depending on
overall student background and interest)
Topic Name Content (2 -3 lines per 4 – 6 lectures) No of lectures Overview of basic
combinatorics, graph
theory and graph
algorithms
Overview of basic probability and basic combinatorial techniques (parity argument, pigeon-hole principle, inclusion-exclusion principle and coloring) with some applications, spanning trees, shortest paths, matching, graph coloring and min flow and max cut problems
10
Advanced Algorithm
Design and Analysis
Techniques
Dynamic programming, greedy algorithms, amortized analysis
6
Design and Analysis
of Exact and
Approximation
Algorithms for
Network Problems
Exact and approximation algorithms for constrained versions of shortest path, spanning tree, steiner tree, max flow, min-cut, matching and resource allocation problems
10
Applications Applications of scheduling, packing, load balancing,
resource allocation,virtual circuit routing, steiner tree, and facility location in network and protocol design
12
Grading: Everything for this class has (or will have) a point value At the end of the semester your grade is determined by the percentage of points you earned compared to the total points possible The point distribution is as follows:
First Mid-term: 200 points