Randomized Algorithms (Spring 2010)/Fingerprinting: Difference between revisions
Jump to navigation
Jump to search
imported>WikiSysop |
imported>WikiSysop |
||
Line 18: | Line 18: | ||
{|border="1" | {|border="1" | ||
|'''Lemma''' | |'''Lemma''' | ||
:If | :If <math>AB\neq C</math> then for a uniformly random <math>r \in\{0, 1\}^n</math>, | ||
::<math>\Pr[A(Br) = Cr]\le \frac{1}{2}</math>. | ::<math>\Pr[A(Br) = Cr]\le \frac{1}{2}</math>. | ||
|} | |} |
Revision as of 12:54, 2 June 2010
Fingerprinting
Evaluating at random points
Example: Checking matrix multiplication
Consider the following problem:
- Given as the input three [math]\displaystyle{ n\times n }[/math] matrices [math]\displaystyle{ A,B }[/math] and [math]\displaystyle{ C }[/math],
- check whether [math]\displaystyle{ C=AB }[/math].
Algorithm (Freivalds)
|
If [math]\displaystyle{ AB=C }[/math] then [math]\displaystyle{ A(Br) = Cr }[/math] for any [math]\displaystyle{ r \in\{0, 1\}^n }[/math], thus the algorithm always returns "yes".
Lemma
|
Example: Checking polynomial identities
Evaluating over a random field
Example: Identity checking
Example: Randomized pattern matching
Universal hashing
- Example: checking distinctness