1 / 22

Randomized algorithms

Randomized algorithms. Hiring problem. We always want the best hire for a job! • Using employment agency to send one candidate at a time • Each day, we interview one candidate • We must decide immediately if to hire candidate and if so, fire previous. In other words ….

joshuajay
Download Presentation

Randomized 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. Randomized algorithms Hiring problem We always want the best hire for a job! • Using employment agency to send one candidate at a time • Each day, we interview one candidate • We must decide immediately if to hire candidate and if so, fire previous In other words … • Always want the best hire… • Cost to interview (low) • Cost to fire/hire… (expensive) CSC317

  2. Hire-Assistant(n) 1. best = 0 //least qualified candidate 2. for i = 1 to n 3. interviewcandidate i 4. ifcandidate i betterthan best 5. best= i 6. hire candidate i • Always want the best hire… fire if better candidate comes along • Cost to interview (low) Ci • Cost to fire/hire… (expensive) Ch Ch> Ci n total number of candidates m total number of hires O (?) CSC317

  3. Hire-Assistant(n) 1. best = 0 //least qualified candidate 2. for i = 1 to n 3. interviewcandidate i 4. ifcandidate i betterthan best 5. best= i 6. hire candidate i • Always want the best hire… fire if better candidate comes along • Cost to interview (low) Ci • Cost to fire/hire… (expensive) Ch Ch> Ci n total number of candidates m total number of hires O (?) different cost of hiring Not run time but cost of hiring, but flavor of max problem CSC317

  4. Always want the best hire… fire if better candidate comes along • Cost to interview (low) Ci • Cost to fire/hire… (expensive) Ch Ch> Ci n total number of candidates m total number of hires O (cin + chm) Different type of cost – not run time, but cost of hiring. But when is it most expensive? When candidates interview in reverse order, worst first… CSC317

  5. Hiring problem 1. best = 0 //least qualified candidate 2. fori = worst_candidatetobest_candidate… O (cin + chn) = O(chn) When is this most expensive? When candidates interview in reverse order, worst first… CSC317

  6. Always want the best hire… fire if better candidate comes along • Cost to interview (low) Ci • Cost to fire/hire… (expensive) Ch Ch> Ci n total number of candidates m total number of hires When is it least expensive? CSC317

  7. Hiring problem 1. best = 0 //least qualified candidate 2. fori = best_candidatetoworst_candidate… O (cin + ch) When is this leatexpensive? When candidates interview in order, best first… But we don’t know who is best a priori CSC317

  8. Hiring problem • Cost to interview (low Ci) • Cost to fire/hire … (expensive Ch) • n number of candidates • m hired O (cin + chm) depends on order of candidates Independent of order of candidates What about if we randomly invite candidates? CSC317

  9. Hiring problem and randomized algorithms O (cin + chm) depends on order of candidates • Can’t assume in advance that candidates are in random order – bias might exist. • We can add randomization to our algorithm – by asking the agency to send names in advance and randomize CSC317

  10. Hiring problem - randomized We always want the best hire for a job! • Employment agency sends list of n candidates in advance • Each day, we choose randomly a candidate from the list to interview • We do not rely on the agency to send us randomly, but rather take control in algorithm CSC317

  11. Randomized hiring problem(n) 1. randomly permute the list of candidates 2. Hire-Assistant(n) What do we mean by randomly permute (we need a random number generator)? Random(a,b) Function that returns an integer between a and b, inclusive, where each integer has equal probability Most programs: pseudorandom-number generator CSC317

  12. Including random number generator Random(a,b) Function that returns an integer between a and b, inclusive, where each integer has equal probability So, Random(0,1)? 0 with P = 0.5 1 with P = 0.5 CSC317

  13. Including random number generator Random(a,b) Function that returns an integer between a and b, inclusive, where each integer has equal probability So, Random(3,7)? 3with P = 0.2 4with P = 0.2 5with P = 0.2 6with P = 0.2 7with P = 0.2 Like rolling a (7-3+1) dice CSC317

  14. How do we random permutations? Randomize-in-place(A,n) 1. For i = 1 to n 2. swap A[i] with A[Random(i,n)] A = 1 2 3 4 5 6 A = 3 2 1 4 5 6 A = 3 6 14 5 2 A = 3 6 1 4 5 2 … i Random choice from A[i,…,n] CSC317

  15. Probability review • Sample space S: space of all possible outcomes (e.g. that can happen in a coin toss) • Probability of each outcome: p(i) ≥ 0 • Example: coin toss S = {H, T} CSC317

  16. Probability review • Event: a subset of all possible outcomes; subset of sample space S • Probability of event: • Example: coin toss that give heads E = {H} • Example: rolling two dice CSC317

  17. Probability review • Example: rolling two dice • List all possible outcomes • S={(1,1},(1,2),(1,3), …(2,1),(2,2),(2,3), …(6,6)} • List the event or subset of outcomes for which the sum of the dice is 7 • E = {(1,6),(6,1),(2,5),(5,2),(3,4),(4,3)} • Probability of event that sum of dice 7: 6/36 = 1/6 CSC317

  18. Probability review • Random variable: attaches value to an outcome/s Example: value of one dice Example: sum of two dice P(X = x): Probability that random variable X takes on value x random variable value of random variable P(X = x): Probability that sum of two dice has value x, e.g. P(X = 7) = 1/6 CSC317

  19. Probability review • Expectation or Expected Value of Random Variables: Average sum over each possible values, weighted by probability of that value 5 3 1 2 3 4 5 6 7 8 9 10 11 12 CSC317

  20. Easier way? • Linearity of Expectation • random variables, then: Does not require independence of random variables. Example: X1and X2 represent the values of a dice CSC317

  21. Probability review • Indicator Random Variable (indicating if occurs…) if A occurs vice versa Lemma: For event A Example: Expected number Heads when flipping fair coin CSC317

  22. Probability review • Indicator Random Variable & Linearity of Expectation if A occurs vice versa Example: Expected number Heads when flipping 3 fair coins CSC317

More Related