KEMBAR78
Lecture 6-cs648 Randomized Algorithms | PPTX
Randomized Algorithms
CS648
Lecture 6
‱ Reviewing the last 3 lectures
‱ Application of Fingerprinting Techniques
‱ 1-dimensional Pattern matching
‱ Preparation for the next lecture.
1
Randomized Algorithms
discussed till now
‱ Randomized algorithm for Approximate Median
‱ Randomized Quick Sort
‱ Frievald’s algorithm for Matrix Product Verification
‱ Randomized algorithm for Equality of two files
2
Randomly select a sample
Randomly permute the array
Randomly select a vector
Randomly select a prime number
Randomized Algorithms
How does one go about designing a randomized algorithm ?
3
Randomized Algorithms
Some random idea is required to design a randomized algorithm.
4
Randomized Algorithms
An idea based on insight into the problem
Difficult/impossible to exploit the idea deterministically
A randomized algorithm
5
Randomization to materialize the idea
RANDOMIZED QUICK SORT
6
Randomized Quick Sort
7
Elements of A arranged in
Increasing order of values
A
pivot
Randomized Quick Sort
Observation: There are many elements in A that are good pivot.
Is it possible to select one good pivot efficiently ?
(not possible deterministically )
We select pivot element randomly uniformly.
8
RANDOMIZED ALGORITHM FOR
APPROXIMATE MEDIAN
9
Randomized Algorithm for
Approximate median
A sample captures the essence of the original population.
10
Randomized Algorithm for
Approximate median
Idea: Is it possible to select a small subset of elements whose median
approximates the median ?
(not possible deterministically )
Median of a uniformly random sample will be approximate median.
11
A random sample captures the essence of the
original population.
FRIEVALD’S TECHNIQUE
APPLICATION
MATRIX PRODUCT VERIFICATION
12
Frievald’s Algorithm
13
Frievald’s Algorithm
The key idea
14
Randomization used to exploit the idea:
Frievald’s Algorithm
(Analyzing error probability)
15
FINGERPRINTING
APPLICATION
CRYPTOGRAPHY
16
17
Aim: To determine if File A identical to File B by communicating fewest bits ?
File A File B
18
100 25
1000 168
10000 1229
100000 9592
1000000 78498
Key idea from prime
19
Visualize a file as a binary number
20
FINGERPRINTING
APPLICATION 3
PATTERN MATCHING
21
22
100101100110001101111010101110101010111010000101
011110101011101
17
Motivation
‱ Simplicity, real time implementation, streaming environment
‱ Extension to 2-dimensions
‱ Converting Monte Carlo to Las Vegas algorithm
23
1 1 1 0
1 1 0 1
1 0 1 1
1 1 1 1
m⚯m
n⚯n
RANDOMIZED ALGORITHM
FOR FINGERPRINTING
24
25
0111101110110101
100101100110001101111010101010101010111010000101
Small size
Efficiently computable
26
100101100110001101111010101010101010111010000101
0111101110110101
Small size but
Not efficiently computable
27
100101100110001101111010101010101010111010000101
0111101110110101
Fingerprint function: how good is it ?
28
100101100110001101111010101010101010111010000101
0111101110110101
Bounding the error probability of the algorithm
29
Final result
30
Probability tool (union theorem)
31
APPLICATIONS OF
THE UNION THEOREM
32
Balls into Bins
33
1 2 3 
 i 
 n
1 2 3 4 5 
 m-1 m
Balls into Bins
34
1 2 3 
 i 
 n
1 2 3 4 5 
 m-1 m
Randomized Quick sort
35

Lecture 6-cs648 Randomized Algorithms