1 / 26

Online Algorithms

Online Algorithms. Amrinder Arora. Permalink: http://standardwisdom.com/softwarejournal/presentations/. Ski Rental Problem. Classic toy problem of rent/buy nature Rental cost = 1$, Buying cost = $k Algorithm Rent for k-1 days Buy skis on day #k

alaqua
Télécharger la présentation

Online Algorithms

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Online Algorithms Amrinder Arora Permalink: http://standardwisdom.com/softwarejournal/presentations/

  2. Ski Rental Problem • Classic toy problem of rent/buy nature • Rental cost = 1$, Buying cost = $k • Algorithm • Rent for k-1 days • Buy skis on day #k • If you stop skiing during the first (k-1) days, it costs the same • If you stop skiing after day #k, your cost is $(2k-1) which is (2-1/k) times more than best possible ($k) • This is the best algorithm. (But we will look for a better one shortly.) http://en.wikipedia.org/wiki/Ski_rental_problem

  3. Agenda • What are online algorithms? (And why?) • How to analyze them? • Some example problems and algorithms • Categories of online algorithms

  4. What does “Online” mean? • “Online” means - Input arrives a little at a time, need instant response • E.g., stock market, paging • Question: what is a “good” algorithm?

  5. Applications • Variety of Applications • Scheduling • Memory Management • Routing • Sample Problems • Ski Rental • Job Scheduling • Paging • Ambulances • Graph Problems

  6. Analyzing Online Algorithms • Competitive Analysis • Probabilistic Analysis • Other/newer methods

  7. Competitive Analysis For any input, the cost of our online algorithm is never worse than c times the cost of the optimal offline algorithm.

  8. Probabilistic Analysis • Assume a distribution generating the input • Find an algorithm which minimizes the expected cost of the algorithm.

  9. Competitive Analysis • Input sequence: • Full knowledge optimum (also called offline optimum): • k-competitive if for allinput sequences : • Sometimes, to ignore boundary conditions

  10. 1966 – Online Era Begins! • We are given a set of m identical machines. • A sequence of jobs arrives online. • Each job must be scheduled immediately on one of m machines without knowledge of any future jobs. • The goal is to minimize the completion time of the last job • The must basic scheduling problem was introduced in 1966

  11. List Scheduling • Schedule the job on the least loaded machine. • Graham showed that the List Scheduling Algorithm is (2-1/m) competitive • This analysis is tight. • This is the optimal algorithm for m = 2 and m = 3.

  12. Fancier Results • In 1992 Bartalgave an 1.986-competitive "New Algorithms for an Ancient Scheduling Problem" • Karger in 1996 generalized the algorithm and proved an upper bound of 1.945 "A Better Algorithm for an Ancient Scheduling Problem" • The best algorithm known so far achieved a 1.923 competitive ration • Lower Bounds • Susanne Albers proved a bound of 1.852 • Current best lower bound of 1.88

  13. Extending Research • Many variants of basic problem is studied: • Jobs may be preempted • Jobs may be rejected at a penalty • Online algorithms may use randomization • In addition they are results for different machine types

  14. Paging Problem • Maintain a two level memory system, consisting of a small fast memory and a large slow memory • The goal is to serve a sequence of requests to memory pages so as to minimize number of page faults. • Hit: Page found

  15. Minimizing Paging Faults • On a fault evict a page from cache • Paging algorithm ≡ Eviction policy • Goal: minimize the number of page faults

  16. Paging Algorithms • LRU, FIFO, LIFO, Least freq use • LIFO, LFU not competititive • LRU, FIFO k-competitive. • Theorem: No deterministic online algorithm can be better than k-competitive

  17. Worst case • In the worst case page, the number of page faults on n requests is n. • E.g. cache of size 4, request sequence • p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12

  18. Compare to optimal p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 … is hard for everyone (i.e. 13 faults) p1 p2 p3 p4 p5 p1 p2 p3 p4 p5 p1 p2 p3 p4 … 8 faults Optimal algorithm knows the future

  19. k-Server problem • Ambulance location problem • Metrical Task Systems • Somewhat, ice cream vending problem

  20. Online Graph Theory • Online Minimum Spanning Tree • Online Graph Coloring • Online Shortest Paths

  21. Randomization • If ski rental costs $1, and buying costs $10, then with probability=0.5, buy after 8 days, and with probability=0.5, buy after 10 days.

  22. Randomization 3 kinds of adversaries • Oblivious (weak): Does not know the randomized results • Adaptive Online (medium): Knows the decision/random output of algorithm, but needs to make their decision first. • Adaptive Offline (strong): Knows everything – randomization does not help.

  23. Summary

  24. Extra Material • Adversary Approach to prove that 3n/2 – 2 comparisons are always needed to find both the minimum and the maximum given an unsorted array of n numbers: • Notes at: http://is.gd/csp1ab

More Related