Intro

Administrivia.

Randomized algorithms: make random choices during run. Main benefits:

Distinguish average-cast analysis

We don't really use random numbers. But randomized algorithms break patterns we don't know are there.

Course objective:

Basic methodologies.

Today: 2 really basic principles:

Then some fundamental ideas:

Quicksort

Items S1,..., Sn to be sorted

T(n) = 2T(n/2) + O(n) = O(n log n)

works since divides into much smaller subproblems

$\displaystyle \sum_{i=1}^{n}$$\displaystyle \sum_{j>i}^{}$pij

$\displaystyle \le$$\displaystyle \sum_{i=1}^{n}$$\displaystyle \sum_{j>i}^{}$2/(j - i + 1)

   

 

= $\displaystyle \sum_{i=1}^{n}$$\displaystyle \sum_{k=1}^{n-i+1}$2/k

   

 

$\displaystyle \le$2$\displaystyle \sum_{i=1}^{n}$$\displaystyle \sum_{k=1}^{n}$1/k

   

 

$\displaystyle \le$2nHn

   


(Define tex2html_wrap_inline$H_n$, claim tex2html_wrap_inline$O(n)$.)

 

 

 

$\displaystyle = O(n\log n).$

   

BSP

n + $\displaystyle \sum$1/$\displaystyle \it index$(u, v)

$\displaystyle \le$

$\displaystyle \sum_{u}^{}$2Hn

 

MinCut

Monte Carlo vs. Las Vegas