Question: The following algorithm will generate a random permutation of the elements 1, 2, . . . , n. It is somewhat faster than the one
Step 1. Set k = 1.
Step 2. Set P(1) = 1.
Step 3. If k = n, stop. Otherwise, let k = k + 1.
Step 4. Generate a random number U and let
P(k) = P([kU] + 1)
P([kU] + 1) = k
Go to step 3.
(a) Explain in words what the algorithm is doing.
(b) Show that at iteration k—that is, when the value of P(k) is initially set—P(1), P(2), . . . , P(k) is a random permutation of 1, 2, . . . , k.
Use induction and argue that
Pk{i1, i2, . . . , ij−1, k, ij, . . . , ik−2, i}
= Pk−1{i1, i2, . . . , ij−1, i, ij, . . . , ik−2} 1/k
= 1/k! by the induction hypothesis
Step by Step Solution
3.34 Rating (163 Votes )
There are 3 Steps involved in it
a After stage k the algorithm has generated a rando... View full answer
Get step-by-step solutions from verified subject matter experts
Document Format (1 attachment)
588-M-S-S-M (498).docx
120 KBs Word File
