CS 695 Fall 2010
Special Topics on Theoretical Computer Science
Approximation Algorithms
09/28/2010: Due date of assignment 2 has been changed.
09/22/2010: No class on October 12
09/13/2010: Paper list is updated.
The area of approximation algorithms is aimed at giving provable guarantees on the performance of algorithms for hard problems. In this course, we will learn approximation algorithms and their analysis. We will also discuss about online algorithms and competitive analysis.
CS 583 or equivalent, or permission of the instructor. Please contact with the instructor if you are not sure.
Approximation Algorithms, by Vijay V. Vazirani, Springer, 2003
Introduction to Algorithms, by Thomas H. Corman, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, The MIT Press, 3rd Edition 2009
Probability and Computing: Randomized Algorithms and Probabilistic Analysis, by Michael Mitzenmacher and Eli Upfal, Cambridge University Press, 2005
Randomized Algorithms, by Rajeev Motwani and Prabhakar Raghavan, Cambridge University Press, 1995
Lectures | Dates | Topics | Scopes | Notes |
1 | August 31 | Introduction of Randomized Algorithms |
Preface of MR Chapters 1, 2, 3,1 - 3.3, 5.1 - 5.3 of MU |
|
2 | September 7 |
Approximation Algorithms (Greedy and Local Search) Vertex Cover, Set Cover, Shortest Super-string, Max-Cut |
Chapters 1.1, 1.2, 2.1 of V Notes |
Assignment 1 released |
3 | September 14 |
Approximation Algorithms (Dynamic Programming + Enumeration for PTAS) Knapsack, Bin Packing, Minimizing Makespan |
Chapters 8.1, 8.2, 10.1 of V CLRS 35.5 Notes |
|
4 | September 21 |
Approximation Algorithms (Cut-Related Problems) Multiway Cut, k-Cut Approximation Algorithms (LP: Introduction) |
Chapters 4.1, 4.2, 12.1 - 12.3 of V Notes |
Assignment 1 due |
5 | September 28 |
Approximation Algorithms (LP-Based: Rounding) Set Cover, Machine Scheduling |
Chapters 14.1, 14.2 |
|
6 | October 5 |
Approximation Algorithms (LP-Based: Primal-Dual) Weighted Vertex Cover Approximation Algorithms (SDP-Based) Max-Cut |
Notes Chapters 26.1 - 26.4 of V |
|
Columbus Day Recess (Tuesday classes do not meet this week) |
October 12 |
|
|
|
7 | October 19 | Online Algorithms (Introduction) |
Notes CLRS 17 |
Assignment 2 due Assignment 3 (CLRS 17-5) |
8 | October 26 |
Online Algorithms (Caching, Load Balancing) |
Notes |
|
9 | November 2 |
Online Algorithms (Variants of Competitive Analysis) Online Algorithms (Packet Scheduling -- Presentation) |
Notes |
Assignment 3 due |
10 | November 9 |
Steiner Forest (given by Jennifer Campbell) |
Presentation Slides | |
11 | November 16 | Presentation (5) |
Nan Li: A 2.5-Approximation Algorithm for Shortest Super-string Seth Phillips: Competitive Paging Algorithms Brandon Thomson: Algorithms for Power Savings Mike Paton: A Near-Tight Approximation Algorithm for the Robot Localization Problem Venkatrama Kalpathy Balan: Scheduling with Limited Machine Availability |
|
12 | November 23 | Presentation (4) |
Eric Popelka: Randomized Competitive Algorithms for the List Update Problem Len Matsuyama: Energy-Efficient Algorithms Mohammad Haque: System-wide Energy Minimization for Real-time Tasks: Lower Bound and Approximation Eli R. Viertel: Advice Complexity and Barely Random Algorithms |
|
13 | November 30 | Presentation (5) |
Zhi Zhang: On-Line Algorithms in Machine Learning Jennifer Campbell: Optimal Powerdown Strategies James A. Fowler, Jr.: Self-Adjusting Binary Search Trees Eric G. Kangas: A simple Local-Control Approximation Algorithm for Multicommodity Flow Syed Faraz Mahmood: Polynomial Time Approximation Schemes for Euclidean Traveling Salesman and Other Geometric Problems |
|
14 | December 7 | Project presentations (13) |
Nan Li: An Experimental
Comparison of Two Approximation Algorithms Seth Phillips: Experimental Comparison of Metric 2-Server Algorithms Brandon Thomson: Improved
Power Management for Mike Paton: Using Evolutionary Computation to Improve the Robot Localization Approximation Algorithm Venkatrama Kalpathy Balan: Stochastic Online Scheduling with Uncertainties Eric Popelka: Load Balancing Len Matsuyama: Empirical Testing of the Energy-Proportional Speed Scaling Algorithms Mohammad Haque: System-wide Energy Optimization for Multiple DVS Components and Real-time Tasks Eli R. Viertel: Resource Contention for Job Shop Scheduling with Unit Length (m-JSS-unit) Zhi Zhang: Scheduling Jobs Under Energy and Flow Time Constraints James A. Fowler, Jr.: Shared Memory Parellel Splay Trees Eric G. Kangas: Implementation
and Analysis of the Syed Faraz Mahmood: Genome Assembly with PTAS Euclidean TSP |
Final project is due on December 21 |
Approximation Algorithms:
X. Zhang and C. Xu, ``System-wide Energy Minimization for Real-time Tasks: Lower Bound and Approximation'', ACM Transactions on Embedded Computing Systems, Vol 7, No. 3, Article 28, April 2008
D. S. Hochbaum and D. B. Shmoys. ``A polynomial approximation scheme for scheduling on uniform processors: Using the dual approximation approach'', SIAM Journal on Computing, 17(3):539-551, 1988.
Z. Sweedyk, ``A 2.5-Approximation Algorithm for Shortest Super-string'', SIAM Journal on Computing, Vol. 29, No. 3, pp. 954-986, 1999.
S. Koenig, J. S. B. Mitchell, A. Mudgal, and C. Tovey, ``A Near-Tight Approximation Algorithm for the Robot Localization Problem'', SIAM Journal on Computing, Vol. 39, No. 2, pp. 461-490, 2009.
B. Awerbuch, F. T. Leighton, ``A simple Local-Control Approximation Algorithm for Multicommodity Flow'', Proceedings of the 34th IEEE Annual Foundations of Computer Science (FOCS), pages 459-468, 1993.
S. Arora, ``Polynomial Time Approximation Schemes for Euclidean Traveling Salesman and Other Geometric Problems'', Journal of the ACM (JACM), Volume 45, Issue 5, pages 753-783, 1998.
D. S. Hochbaum, ``Approximating Covering and Packing Problems: Set cover, Vertex cover, Independent set, and Related problems'', pages 94-143, in Approximation Algorithms for NP-hard Problems, 1997.
L. A. Hall, A. S. Schulz, D. B. Shmoys, and J. Wein, ``Scheduling to Minimize Average Completion Time: Off-line and Online Approximation Algorithms'', Mathematics of Operations Research, Volume 22, Number. 3, pages 513-544, 1997.
D. Karger, C. Stein, and J. Wein, `` Scheduling Algorithms'', a chapter written for the CRC Handbook on Algorithms, 1997.
Online Algorithms:
A. Fiat, R.M. Karp, M. Luby, L. A. McGeoch, D. Sleator, and N. Young, ``Competitive Paging Algorithms'', Journal of Algorithms, Volume 12, Number 4, pages 685-699, 1991.
N. Reingold, J. Westbrook, D. Sleator, ``Randomized Competitive Algorithms for the List Update Problem'', Algorithmica, Volume 11, Number 1, pages 15-32, 1994.
D. D. Sleator and R. E. Tarjan, ``Self-Adjusting Binary Search Trees'', Journal of the ACM (JACM), Volume 32, Issue 3, pages 652-686, 1985.
Avrim Blum, ``On-Line Algorithms in Machine Learning'', Online Algorithms: The State of the Art, Lecture Notes In Computer Science, Volume 1442, pages 306-325, 1998.
N. Bansal, N. Buchbinder, and J. Naor, ``A Primal-Dual Randomized Algorithm for Weighted Paging'', Proceedings of the 48th IEEE Symposium on Foundations of Computer Science, pages 507-517, 2007.
Green Computing:
S. Albers, ``Energy-Efficient Algorithms'', Communications of the ACM, Vol. 53 No. 5, pages 86-96, 2010.
J. Augustine, S. Irani, and C. Swamy, ``Optimal Powerdown Strategies'', SIAM Journal on Computing, Vol. 37, pages 1499-1516, 2008.
S. Irani, S. K. Shukla, and R. Gupta. ``Algorithms for Power Savings'', ACM Transactions on Algorithms, Vol. 3. 2007.
S. Irani, S. K. Shukla, and R. K. Gupta. ``Online Strategies for Dynamic Power Management in Systems with Multiple Power-Saving States'', ACM Transactions on Embedded Computing Systems. Vol. 2, pages 325-346, 2003.
S. Irani, G. Singh, S. K. Shukla, and R. K. Gupta, ``An Overview of the Competitive and Adversarial Approaches to Designing Dynamic Power Management Strategies'', IEEE Transactions on VLSI Systems, Vol. 13, pages 1349-1361, 2005.
S. Irani and K. Pruhs, ``Algorithmic Problems in Power Management'', SIGACT News Vol. 36, pages 63-76, 2005.
The First International Green Computing Conference, 2010 (See Section 2, Section 5, WIPGC Section 1, WIPGC Section 5, WIPGC Section 7, WIPGC Section 8, only).
Tentative Grading:
Assignments (20%)
(30%)
Two presentations (40%)
One presentation (30%)
A project. You can work on designing and analyzing an approximation algorithm for a NP-hard problem, or designing and analyzing an online algorithm for an online problem, or implementing some known approximation algorithms for some specific applications and provide experimental analysis. (40%)
Academic Honesty:
Disability Statement: