Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSC317 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,

Similar presentations


Presentation on theme: "CSC317 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,"— Presentation transcript:

1 CSC317 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 Always want the best hire… Cost to interview (low) Cost to fire/hire… (expensive) In other words …

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

3 CSC317 3 Hire-Assistant(n) 1. best = 0 //least qualified candidate 2. for i = 1 to n 3. interview candidate i 4. if candidate i better than best 5. best = i 6. hire candidate i Always want the best hire… fire if better candidate comes along Cost to interview (low) C i Cost to fire/hire… (expensive) C h C h > C i 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

4 CSC317 4 Always want the best hire… fire if better candidate comes along Cost to interview (low) C i Cost to fire/hire… (expensive) C h C h > C i n total number of candidates m total number of hires 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… O (c i n + c h m)

5 CSC317 5 Hiring problem 1. best = 0 //least qualified candidate 2. for i = worst_candidate to best_candidate… O (c i n + c h n) = O(c h n) When is this most expensive? When candidates interview in reverse order, worst first…

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

7 CSC317 7 Hiring problem 1. best = 0 //least qualified candidate 2. for i = best_candidate to worst_candidate… O (c i n + c h ) When is this leat expensive? When candidates interview in order, best first… But we don’t know who is best a priori

8 CSC317 8 Hiring problem Cost to interview (low C i ) Cost to fire/hire … (expensive C h ) n number of candidates m hired O (c i n + c h m) Independent of order of candidates depends on order of candidates What about if we randomly invite candidates?

9 CSC317 9 Hiring problem and randomized algorithms O (c i n + c h m) 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

10 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

11 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

12 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

13 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)? 3 with P = 0.2 4 with P = 0.2 5 with P = 0.2 6 with P = 0.2 7 with P = 0.2 Like rolling a ( 7-3+1 ) dice

14 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 1 4 5 2 … i Random choice from A[i,…,n]

15 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}

16 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

17 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

18 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

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

20 CSC317 20 Easier way? Linearity of Expectation random variables, then: Does not require independence of random variables. Example: X 1 and X 2 represent the values of a dice

21 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

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


Download ppt "CSC317 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,"

Similar presentations


Ads by Google