Advanced Algorithms 1.1

Advanced Algorithms 1.1 - LABORATORY FOR COMPUTER SCIENCE...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: LABORATORY FOR COMPUTER SCIENCE MASSACHUSETTS INSTITUTE OF TECHNOLOGY MIT LCS RSS-27 Advanced Algorithms Michel X. Goemans December, 1994 This document has been made available free of charge via ftp from the MIT Laboratory for Computer Science. 545 TECHNOLOGY SQUARE; CAMBRIDGE, MASSACHUSETTS 02139 (617) 253-5851 Preface This document consists of the lecture notes for 6.854J 18.415J Advanced Algorithms as it was taught by Michel Goemans in the Fall 1994. The notes are for the most part based on notes scribed by students during the last four years, with help from the teaching assistants, Marios Papaefthymiou Fall 1990, Michael Klugerman Fall 1991 and 1992, Esther Jesurum Fall 1993 and Matthew Andrews Fall 1994. The notes are not meant to be in polished form, and they probably contain several errors and omissions. Rather, they are intended to be an aid in teaching and or studying a few advanced topics in the design and analysis of algorithms. Part of these notes have not been covered in class, but have been included for completeness. Also, some topics which have been covered in the past but not this year such as basis reduction for lattices have been omitted. The topics covered this year are online algorithms, randomized algorithms, linear programming, network ow, and approximation algorithms. A few new results have been covered for the rst time this year, such as the result of Koutsoupias and Papadimitriou on the competitiveness of the work function algorithm for the k-server problem, and the approximation algorithm of Linial, London and Rabinovich and Aumann and Rabani for the multicommodity cut problem using embeddings of metrics. Help from the following certainly incomplete list of scribes is acknowledged: M. Andrews, R. Blumofe. C. Celebiler, A. Chou, L. Feeney, F. Garcia, L. Girod, D. Gupta, J. Huang, J. Kleinberg, M. Klugerman, M. Kiwi, J. Kuan, J. Leo, X. Luo, Y. Ma, P. McCorquodale, R. Ostrovsky, S. Raghavan, c K. Randall, A. Russell, I. Saias, R. Sidney, E. Soylemez, R. Sundaram, S. Toledo, L. Tucker-Kellogg D. Wald, D. Williamson, D. Wilson, E. Wolf and Y. Yin. Contents Lectures Online Algorithms 1 2 3 4 5 6 Introduction 1.1 Investment Problem 1.2 Ski Rental Problem Paging Problem An Optimal O -Line Algorithm for Paging A Lower Bound on the Deterministic Competitive Ratio for the Paging Problem Randomized On-Line Algorithms Analysis of the Marking Algorithm 6.1 The expected cost of a stale request within a phase 6.2 Bounding the total cost of M on a phase 6.3 Bounding the total cost of any o ine algorithm M on a phase 6.4 Establishing the Competitive Factor of M Lower Bound for any Randomized Algorithm 7.1 A useful technique 7.2 Applying the general method to the Paging problem Types of Adversaries Some Results about Competitiveness against Various Types of Adversaries Analysis of Random The Server Problem 11.1 Special Cases of the Server Problem 11.2 Summary of known results The Randomized Algorithm, Harmonic 12.1 Analysis of Harmonic A -competitive, deterministic algorithm for trees 13.1 Proof of -competitiveness 13.2 Paging as a case of -server on a tree Electric Network Theory 14.1 The Algorithm: RWALK The work function algorithm 15.1 De nition of the work function 15.2 De nition of the work function algorithm 15.3 De nition of the potential function k k k k k : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7 8 9 10 11 12 13 14 15 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Online-1 Online-1 Online-1 Online-2 Online-5 Online-6 Online-7 Online-8 Online-10 Online-10 Online-11 Online-11 Online-12 Online-12 Online-13 Online-15 Online-16 Online-19 Online-22 Online-23 Online-24 Online-25 Online-26 Online-33 Online-34 Online-36 Online-38 Online-40 Online-44 Online-44 Online-46 Online-49 Random-1 Random-4 Random-8 Random-10 Random-12 Random-14 Random-18 Random-18 Random-22 Random-23 Randomized Algorithms 1 2 3 4 5 6 7 8 9 Introduction Randomized Algorithm for Bipartite Matching 2.1 Constructing a Perfect Matching Markov Chains Ergodicity and time reversibility Counting problems Conductance of Markov chains Jerrum-Sinclair Evaluation of Conductance of Markov Chains Approximation by sampling Approximating the permanent iii : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Linear Programming 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 A 1 2 3 An Introduction to Linear Programming Basic Terminology Equivalent Forms Example The Geometry of LP Bases The Simplex Method When is a Linear Program Feasible ? Duality 9.1 Rules for Taking Dual Problems Complementary Slackness Size of a Linear Program 11.1 Size of the Input 11.2 Size of the Output Complexity of linear programming Solving a Liner Program in Polynomial Time 13.1 Ye's Interior Point Algorithm Description of Ye's Interior Point Algorithm Analysis of the Potential Function Bit Complexity Transformation for the Interior Point Algorithm : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : LP-1 LP-2 LP-2 LP-3 LP-4 LP-7 LP-8 LP-11 LP-14 LP-16 LP-17 LP-18 LP-18 LP-21 LP-21 LP-22 LP-25 LP-29 LP-33 LP-35 LP-36 Flow-1 Flow-2 Flow-3 Flow-6 Flow-6 Flow-8 Flow-8 Flow-8 Flow-8 Flow-9 Flow-10 Flow-12 Flow-13 Flow-15 Flow-16 Approx-1 Approx-2 Approx-4 Approx-6 Approx-6 Approx-7 Approx-7 Approx-8 Approx-10 Approx-10 Network Flow Single Source Shortest Path Problem The Maximum Flow Problem Minimum Cost Circulation Problem 3.1 The Maximum Flow Problem 3.2 Bipartite Matching 3.3 Shortest paths 4 Some Important Notions 4.1 Residual Graph 4.2 Potentials 5 When is a circulation Optimal? 6 Klein's Cycle Canceling Algorithm 7 The Goldberg-Tarjan Algorithm 8 Analysis of the Goldberg-Tarjan Algorithm 9 A Faster Cycle-Canceling Algorithm 10 Alternative Analysis: A Strongly Polynomial Bound 1 2 3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Approximation Algorithms 4 Introduction Negative Results 2.1 MAX-SNP Complete Problems The Design of Approximation Algorithms 3.1 Relating to Optimum Directly 3.2 Using Lower Bounds 3.3 An LP Relaxation for Minimum Weight Vertex Cover VC 3.4 How to use Relaxations The Min-Cost Perfect Matching Problem 4.1 A linear programming formulation iv : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 6 7 8 4.2 From forest to perfect matching 4.3 The algorithm 4.4 Analysis of the algorithm 4.5 A simulated run of the algorithm 4.6 Final Steps of Algorithm and Proof of Correctness 4.7 Some implementation details Approximating MAX-CUT 5.1 Randomized 0.878 Algorithm 5.2 Choosing a good set of vectors 5.3 The Algorithm 5.4 Solving 5.5 Remarks Bin Packing and max 6.1 Approximation algorithm for max Randomized Rounding for Multicommodity Flows 7.1 Reformulating the problem 7.2 The algorithm 7.3 Cherno bound 7.4 Analysis of the R-T algorithm 7.5 Derandomization Multicommodity Flow 8.1 Reducing multicommodity ow cut questions to embedding questions 8.2 Embedding metrics into 1 P P k C P jjC ` : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Approx-12 Approx-13 Approx-14 Approx-16 Approx-17 Approx-20 Approx-21 Approx-23 Approx-25 Approx-25 Approx-26 Approx-27 Approx-28 Approx-29 Approx-33 Approx-34 Approx-35 Approx-35 Approx-36 Approx-37 Approx-38 Approx-41 Approx-44 v vi 18.415 6.854 Advanced Algorithms Lecturer: Michel X. Goemans September 1994 On-Line Algorithms 1 Introduction The rst topic we will cover in this course is on-line algorithms. The concept of online algorithms has been around for quite some time it was for example present in the seventies in the bin packing literature, see 13, 20 , but it has been a fairly hot research area since the publication of the landmark paper by Sleator and Tarjan 19 in 1985. Typically when we solve problems and design algorithms we assume that we know all the data a priori. However in many practical situations this may not be true and rather than have the input in advance it may be presented to us as we proceed. We give below some examples to motivate the topic of on-line algorithms. 1.1 Investment Problem Consider an investor with a given sum of money which he wishes to invest so as to maximize his gain at the end of a speci ed period of time. He has a variety of options: he may keep funds in a money market account, he may buy certi cates of deposit or he may invest in the stock market. He can keep a mixed portfolio and he can reallocate his assets during the course of the investment period. Now in the o ine case he has full information about the behaviour of the various nancial and capital markets and so can compute an optimal strategy to maximize his pro t. An on-line algorithm, however, is a strategy which at each point in time decides what portfolio to maintain based only on past information and with no knowledge whatsoever about the future. The pro t generated is a determinant of the quality of the on-line strategy. We will see later how exactly to quantify this quality by introducing the notion of competitive analysis. 1.2 Ski Rental Problem Consider the following scenario: you are a skier and, each day, need to either rent skis for $1 or buy a pair of skis for $T which will last for the rest of the season. Unfortunately, you do not know when the ski season will end. If you knew a priori the length of the season this is the o ine case say L then it is obvious that you should rent if L T and buy if L T . On the other hand, an on-line strategy for Online-1 this problem would rst x an integer k, and then rent for k days and buy on day k + 1 if it has the opportunity. At this point we must pause and decide how to evaluate the performance of on-line algorithms? One way to analyze such algorithms is to assume that the input is given according to a certain probability distribution, and compute the expected behavior of the algorithm based on this distribution. However we wish to avoid making assumptions about input distributions. The analytic machinery we present will not demand that the inputs come from some known distribution, but instead will compare the performance of the on-line algorithm with that of the best o ine algorithm. This notion of comparison is called competitive analysis and was introduced by Sleator and Tarjan 19 . De nition 1 An on-line algorithm A is -competitive if for all input sequences , CA CMIN , where CA is the cost of the on-line strategy A for and CMIN is the cost of the optimal o ine algorithm for . Let us now reconsider the ski rental problem in the light of the above de nition. One strategy is to buy on the rst day. This strategy is T-competitive and the worst input sequence is obtained when L = 1. Another on-line strategy is to rent for the rst T , 1 days and then buy. If L T the cost of the on-line and optimal o ine strategy is the same. If L T the cost of the on-line strategy is 2T , 1 and the cost of the optimal o ine strategy is T . Hence this algorithm is 2 , 1=T -competitive and it is fairly easy to show that it is the optimal on-line algorithm. In many cases, the de nition of competitiveness is slightly relaxed by imposing that CA CMIN + c for some constant c independent of . 2 Paging Problem This is a problem which arises in system software. We have a two level memory divided into pages of xed size. There are k pages in fast memory while the remaining pages are in slow memory. The input sequence in this problem are requests to pages ; ; . If the request for a page i is in fast memory then we need not do anything, otherwise we have a page fault and are faced with the problem of deciding which page in the fast memory to swap with i. Our cost in this case is the number of page faults. An on-line algorithm for this problem decides in the case of a page fault which page to remove from fast memory without any information of the subsequent page requests. For example, here are some possible on-line strategies: 1 2 3 LIFO Last-In-First-Out: remove the page most recently placed in fast memory. FIFO First-In-First-Out: remove the page that has been in memory longest. LRU Least-Recently-Used: replace the page whose most recent access is earliest. Online-2 ...
View Full Document

This note was uploaded on 02/13/2012 for the course CSE 4101 taught by Professor Mirzaian during the Winter '12 term at York University.

Ask a homework question - tutors are online