CSC317 1 Randomized algorithms Hiring problem We always want the best hire for a job! Using...

Post on 18-Jan-2018

216 views 0 download

description

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

Transcript of CSC317 1 Randomized algorithms Hiring problem We always want the best hire for a job! Using...

1CSC317

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 …

2CSC317

Hire-Assistant(n)1. best = 0 //least qualified candidate2. for i = 1 to n3. interview candidate i4. if candidate i better than best5. best = i6. 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 candidatesm total number of hires O (?)

3CSC317

Hire-Assistant(n)1. best = 0 //least qualified candidate2. for i = 1 to n3. interview candidate i4. if candidate i better than best5. best = i6. 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 candidatesm total number of hires O (?) different cost of hiring

Not run time but cost of hiring, but flavor of max problem

4CSC317

• 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 candidatesm 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 (cin + chm)

5CSC317

Hiring problem

1. best = 0 //least qualified candidate2. for i = worst_candidate to best_candidate…

O (cin + chn) = O(chn)

When is this most expensive?When candidates interview in reverse order, worst first…

6CSC317

• 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 candidatesm total number of hires

When is it least expensive?

7CSC317

Hiring problem

1. best = 0 //least qualified candidate2. for i = best_candidate to worst_candidate…

O (cin + ch)

When is this leat expensive?When candidates interview in order, best first…But we don’t know who is best a priori

8CSC317

Hiring problem

• Cost to interview (low Ci)• Cost to fire/hire … (expensive Ch)• n number of candidates• m hired

O (cin + chm)

Independent of order of candidates

depends on order of candidates

What about if we randomly invite candidates?

9CSC317

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

10CSC317

Hiring problem - randomized

We always want the best hire for a job!• Employment agency sends list of n candidatesin advance• Each day, we choose randomly a candidatefrom the list to interview• We do not rely on the agency to send usrandomly, but rather take control in algorithm

11CSC317

Randomized hiring problem(n)

1. randomly permute the list of candidates2. 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

12CSC317

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.51 with P = 0.5

13CSC317

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.24 with P = 0.25 with P = 0.26 with P = 0.27 with P = 0.2

Like rolling a (7-3+1) dice

14CSC317

How do we random permutations?

Randomize-in-place(A,n)1. For i = 1 to n2. 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

A = 3 6 1 4 5 2

i Random choice from A[i,…,n]

15CSC317

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}

16CSC317

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

17CSC317

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

18CSC317

Probability review

• Random variable: attaches value to an outcome/s

Example: value of one diceExample: 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

19CSC317

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 12135

20CSC317

Easier way?

• Linearity of Expectation

random variables, then:

Does not require independence of random variables.

Example: X1 and X2 represent the values of a dice

21CSC317

Probability review

• Indicator Random Variable (indicating if occurs…)

if A occursvice versa

Lemma: For event A

Example: Expected number Heads when flipping fair coin

22CSC317

Probability review

• Indicator Random Variable & Linearity of Expectation

if A occursvice versa

Example: Expected number Heads when flipping 3 fair coins