**Randomized AlgorithmsCS648** Lecture 5 Algebraic Techniques Frievald’s Algorithm Fingerprinting Techniques

**Frievald’s techniqueApplication Matrix Product** verification

**Frievald’sAlgorithm(RusinsFrievald, 1977)** Problem:Given three -by-matrices ,, and , determine if . Best deterministic algorithm: • ; • Verify if ? 2 Time complexity: , current value of

**Frievald’sAlgorithm(RusinsFrievald, 1977)** 0 0 0 0

**Frievald’sAlgorithm(RusinsFrievald, 1977)** RandomProductVerify(,,) Let be a -by-matrix (vector) whose elements are selected randomlyuniformly and independently from {0,1}. ; ; If() output “AB=C” elseoutput “AB≠C” Time complexity:

**Frievald’sAlgorithm(Analyzing error probability)** Question: If , what is the probability that the algorithm outputs “AB=C” ? Let = Observation: If , then surely is not a null matrix. Error Probability of the algorithm = P( ) • () null vector

**Frievald’sAlgorithm(Analyzing error probability)** ) depends upon . So what to do ? Our goal is to get an upper bound on this probability. So we start with the least information about , which is: There is at least onenon-zero element in . Let this element be . • P() = P() P() So we need to focus on the product of th row and vector . 2

**Frievald’sAlgorithm(Analyzing error probability)** P() = P( + … + = 0) The underlying sample space has elementary events. Convince yourself that it is indeed difficult to calculate this probability from standard tools which you know. Here we shall introduce a yet another simple but very powerful probability tool… 2

**Probability tool:Partition of sample space** A set of events ,…,defined over a probability space (,P) is said to induce a partition of if • = • =∅for all Theorem: (Partition theorem) Given an event , we can express P()in terms of a given partition as: P() = ) = )∙using conditional probability Ω

**Question:When to use the Partitiontheorem ?** Let be an event defined over a probability space (,P). Suppose it turns out that it is not easy to calculate or get a good bound on P() directly using the standard tools. In such situation, one may explore the following possibility: Try to design a partition {,…, } of the sample space such that ) is easy to calculate. This may be used to calculate ). IMPORTANT: Most of the times, ) turns out to be independent of . In this case, ) can be bounded directly as follows. If |) for every possible value of , then P() = )∙ ∙

**Frievald’sAlgorithm(Analyzing error probability)** P( + … + = 0 ) = ?? Suggestion: Think of some suitable partition of that will enable you to use the partition theorem effectively to calculate P(). We shall use the partition defined by the values taken by all the random variables excluding . Think over this partition before proceeding further.

**Frievald’sAlgorithm(Analyzing error probability)** P( + … + = 0 ) = ?? Question: What is the probability of conditioned on any arbitrary but fixed values taken by all ? Answer: Consider any values We are interested in the probability of event conditioned on “”. This probability can be expressed as : ) ) ) ≠0 Could be 0, 1 or some other number

**Frievald’sAlgorithm(Analyzing error probability)** Theorem: The probability that algorithm RandomProductVerify(,,) makes an error is at most . Note: There is nothing magical about . If each element of the random vector is selected randomly uniformly and independently from a set of values, the corresponding probability of error will be . Question: How to reduce the error probability to ? Answer: repeat the algorithm times. (think over this answer carefully before proceeding further)

**Frievald’sAlgorithm(reducing the error probability)** RandomProductVerify(,,) Repeat times { Let be a -by-matrix (vector) whose elements are selected randomly uniformly and independently from {0,1}. ; ; If() { output “AB ≠ C” ; break} } output “AB = C” Time complexity: Error probability:

**Frievald’sAlgorithm (final result)** Theorem: Given three -by-matrices ,, and , there is a Randomized Monte Carlo algorithm which determines . The running time is , and the error probability is less than .

**FingerprintingApplication Cryptography**

**Prime numbers(some basic facts)**

**How many primes less than ?**

**How many primes less than ?** Theorem: The number of primes less than is . [An elementary proof: Paul Erdӧs, 1949 ] Notation: the number of primes less than .

**Prime factors of a number ?** Question:How many prime factors are for a positive integer ? Answer: less than . Proof: just use • unique prime factorization theorem (every integer can be uniquely expressed as product of powers of prime numbers. For example: 3500=) • The fact that every prime factor must be

**Aim:To determine if File Aidentical to File Bby** communicating fewest bits ? File A File B

**Question: What is a File ?** Answer: A bit string.

**Visualize a file as a binary number** File A = … File B = … = = (trivial) Observation: File A = File Bif and only if Question: How large a number can (or ) be ? Answer: less than .

**RandomEqualityChecking-Protocol(,) ** Processing at the sender computer : • Let be a prime number selected randomly uniformly from [] • mod ; • sender sends (,) to receiver . Processing at the receiver computer: • (,) is received from sender. • mod ; • If() send “A=B” to the sender else send “A≠B” to the sender Number of Bits transmitted:

**RandomEqualityChecking-Protocol(bounding the error** probability) Question:If , what is the probability that the protocol concludes “A=B” ? Let = Observation: If , then surely . The protocol makes an error iff • () • divides • “isone of the prime factors of” Error probability = ?? How many prime factors can have ? How many choices are there for ? at most sinceisless than. sinceisa random prime number from

**RandomEqualityChecking-Protocol(bounding the error** probability) Lemma: The probability RandomEqualityChecking-Protocol makes an error is . Question: How large should be in order to achieve error probability < ? Answer: Pick > log . ≈ . > > for Bits transmitted: = O()

**Please go through the slides of this lecture carefully and** patiently. You are welcome to discuss any doubt in the next class (Saturday, 17th August)