220 likes | 325 Vues
This topic explores the principles of probabilistic analysis and expected running time in randomized algorithms. We consider a distribution for all possible inputs to derive the expected time based on this distribution. Key concepts include worst-case versus average-case time complexity, and the role of randomness in algorithm behavior. Additional discussions cover linearity of expectation and conditional expectation, crucial for analyzing randomized algorithms effectively. Examples and recursive variations illustrate these concepts in detail, enhancing comprehension of algorithm efficiency.
E N D
CSE 2331/5331 Topic 5: Prob. Analysis Randomized Alg. CSE 2331/5331
Expected Complexity • Probabilistic method: • Given a distribution for all possible inputs • Derive expected time based on distribution • Randomized algorithm: • Add randomness in the algorithm • Analyze the expected behavior of the algorithm CSE 2331/5331
First Example • What is worst case time complexity? • What is expected / average time complexity? CSE 2331/5331
Expected Running Time • Expected / average running time • = probability of event I • = running time given event I • To analyze, need to assume a probabilistic distribution for all inputs CSE 2331/5331
SeqSearchAlg • Expected running time = • If we assume • = 0 • All permutations are equally likely • implies • Then expected running time = CSE 2331/5331
Remarks • For probabilistic analysis • An input probabilistic distribution input model has be assumed! • For a fixed input, the running time is fixed. • The average / expected time complexity is for if we consider running it for a range of inputs, what the average behavior is. • Randomized algorithm • No assumption in input distribution! • Randomness is added in the algorithm • For a fixed input, the running time is NOT fixed. • The expected time is what we can expect when we run the algorithm on ANY SINGLE input. CSE 2331/5331
Randomized Algorithms CSE 2331/5331
Expectation • X is a random variable • The expectation of X is • E.g, coin flip • Linearity of expectation: • Conditional expectation: CSE 2331/5331
Linearity of Expectation • = expected running time for func2 • What is ? + cn CSE 2331/5331
Conditional Expectation • = expected running time of func2 • = expected running time of func3 • What is the expected running time of func1? CSE 2331/5331
A Randomized Example Worst case complexity? Expected case? CSE 2331/5331
Running Time Analysis • Worst Case: • Expected running time: CSE 2331/5331
Time Analysis • Worst case: • Expected running time: CSE 2331/5331
A more complicated variation. CSE 2331/5331
Analysis • Worst case: • Expected case: CSE 2331/5331
An Example with Recursion CSE 2331/5331
Worst case: • Expected running time • Solving this we have CSE 2331/5331
Another Example with Recursion CSE 2331/5331
Analysis • Worst case: • ! • Expected running time: • ! CSE 2331/5331
Another Example CSE 2331/5331
Analysis • Worst case: • Expected running time: CSE 2331/5331