340 likes | 482 Views
Some thoughts about the role of Randomness in algorithms. Guy. Using randomization in algorithms. Why add randomization to such an organized process as algorithms? History. We needed to select primes with say 512 bits but check that they are prime. The density of prime numbers is
E N D
Some thoughts about the role of Randomness in algorithms Guy
Using randomization in algorithms Why add randomization to such an organized process as algorithms? History. We needed to select primes with say 512 bits but check that they are prime. The density of prime numbers is about 1/ln n of the first n numbers are prime for a large n.
Typical computation • The probability that in 10·ln n random choices we do not get a prime is: (1-1/ln n) 10·ln n< 1/n10 We once learned in calculus that (1-1/lk) k<1/e
Checking if a number is prime • But how do we check if a random choice is prime? • I will show a simple randomized algorithm to check if n is prime, given that n is not a Carmichael number. • Rather known, a that is not zero modulo p satisfies ap-1 1 mod p • But it is not if and only if. Truly unfortunate.
Carmichael numbers • Rather unfortunately there are non prime numbers so that an-1 1 mod n for every a! • But such numbers are rare. • Lets do something that was unthinkable 40 years ago: • 1) Draw at random ‘many’a{2,3,…,p-1} • 2)Checkan-1 1 mod n for all of them • 3) If all tests work then output ‘Prime’. • 4) If one of the tests fail output ‘Composite’.
Say that n is not a Carmichael number • What is the probability of mistake? • If says COMPOSITE it is surely right • Now let a such that an-1is not 1 mod n • Bad witnesses: numbers b such that bn-1 1 mod n • How many of the numbers are bad witnesses?
A mapping: • Let b be a bad witness. Define the mapping: • b a·b • If b is bad then (ab)n-1=an-1 which is not 1 mod n • The mapping is one to one: ba=b’a mod n implies that a(b’-b)=0 mod n which means: • b=b’. This also means that at least half are good witnesses
The world of single shot good and bad winnesses GOOD BAD Even if one of the randomizedwitnesses is good we find out that n is not a prime.
What is the probability that we do not hit a good witness for 300 consecutive independent times? • The number of bad witnesses is at most the number of good witnesses • Thus the probability of not hitting a bad witness in one trial is ½ • And in 300 trials (1/2)300 • 2300 is more then the number of atoms in the known universe
The cursing stage • Michael Rabin suggested one sided error randomized algorithms. Around 78. • People have made fun of him. Badly. • Said this is math. An algorithm is not an algorithm if errs. • History shines on the bold: now randomization is totally central in algorithms. • Rabin won the Turing award. Certainly not just for the above! • An interesting question: if we are allowed to err with low probability, can we solve more things?
Apparently, randomization can not solve non polynomial problems • Most people think that RP=P • A long standing example: finding if a number is prime or not, had for the longest time, only randomized algorithm. • A sensation:In 2002 polynomial time algorithm to test primality. • Manindra Agrawal, Neeraj Kayal and Nitin Saxena. primality test, in Õ((log n)7.5) time. • Lenstra and Pomerance : Õ((log n)6) time.
Lets not call it quits yet • A question that has only RP answer as far as I know • Consider a matrix with symbols • We want to know if the determinant is zero or not (it can be zero if terms cancel) • Expansion of symbolic matrix takes exponential time (depends on permutations) • We have a simple RP algorithm for it
A well known theorem • Consider a multi variable polynomial of degree d. For example: • x1·x2·x3+(-x1)x3+x4·x5·x6·(-x2) has degree 4. • Take a finite field F and a set S F • Let the values of the xi be chosen at random from S • Then if the polynomial is not zero the probability that these choices give 0 is at most d/|S|
Proof by induction • n=1 talks on a polynomial of degree d. • We know a polynomail of degree d has at most d roots and thus the claim is clear. • Consider a polynomial Q(x1,….,xn) as • i≤k x1iQi(x2,…,xn). • LetPbe the polynomial that multiplies xk • This polynomial is zero with probability at most (d-k)/|S|.
Proof continued • Say that the randomized choice did not produce 0 for P so, P(r2,r3,…,rn)0 • The other choices has been made so we get a polynomial and by the above of degree k. • The probability for a zero is at most k/S. • Pr(value 0| Q=0)·Pr(Q=0)+Pr(value 0|P0)·Pr(Q 0))≤Pr(Q=0)+ Pr(value 0|Q0)·Pr(Q0))=(d-k)/|S|+k/S=d/|S|.
An application • It is enough to choose |S|≥2n and we get the same situation as in checking primes: one side error that ‘just does not happen’ • A deterministic algorithm is not known for that as far as I know • Why should we care: perfect matching on a bipartite graph. • Consider the matrix A of a bipartite graph B(U,V,E).Aij=1 iff (I,j) EforiUandj V
Finding perfect matching in a bipartite graph • Change the 1 in Aij to xij • Recall what a determinant is: • det(A)=sign(Π)·A1Π(1) · A1Π(2) · · · ·AnΠ(n) • Note that xij can not cancel • The sum above is not zero only if a perfect matching exists (otherwise one in the multiplication above is 0) • Remark: This problem (for general graphs) can be solved in RNC but not known to be in NC!
Randomized algorithm are faster • A famous problem: finding the median in an unsorted set of numbers. Assume that the numbers are pairwise disjoint and n is odd. • The median is the element that will be in the middle if we sort the array. But we want to find it without sorting. • There is a randomized algorithm with expected running time 2n. • Dorit Dor, Michael Tarsi: 2n not possible for deterministic. Lower bound (2+ε)n. • 3n is easy. But (3-ε)·n possible.
Probability is used for things not related to probability at all • Let G(V,E) be a graph. A set U is an independent set if for all u,vU (u,v)E A B C G D E F H For example {A,D,C} and {B,F,E} are independent sets
Finding an independent set of size n/(d+1) with d the average degree in the graph • Randomly order all vertices on a line. This sample space has n! points. • We say that v is good if non of its neighbors appear after v. • The set of good vertices is independent. • What is the probability that v is good? • Clearly 1/(dv+1)
Proof continued • The sum v 1/(dv+1) is minimized when all dv are the same (convexity) • Define xv=1 if v S and xv=0 otherwise • |S|= xv as xv gives 1 exactlyif in S • E(|S|)= E(xv)= v 1/(dv+1)≥ n/(d+1) • This is called the probabilistic method • Contains strong tools like the Lovats Local Lemma, Martingales, and more.
Using randomization: Huge improvements • In on-line algorithm: an exponential gap for the problem of cashing. • Distributed algorithm: exponential gap for Byzantine agreement. • Exponential gaps for fast routing. • There are sub exponential randomized algorithm for the simplex (but not deterministic ones). • Cryptography is mostly based on randomization.
On the philosophy of proofs • Say that two communicate and send messages. X wants to send a proof or evidence that something holds to Y. • For: the graph G is not an expander, can send only a subset of the vertices. • Can we convince Y that two given graphs are not the same (they are the same if some permutation of one gives the other)? • Possible if randomization at Y is added
Like convincing Y that X is not color blind (red green) • The verifier prepares a slide. Writes a circle and fills it with red in one side. • In the other side draws the same circle with the same diameter and the same center but fills it in green on the second side. • The verifies chooses many times 0 or 1 at random. If 0 shows the red side. If 1 the green side. If the prover gets it right in 300 trials she probably is not color blind…..
The PCP theorem: the AMAZING POWER OF PROBABILITY • A prover sends (in a certain special form) a proof that some input x belongs to an NPC language L • The prover looks only at randomly chosen CONSTANT number of bits from the proof!! • Uses only log n randomization. • If xL the verifier will say yes with probability 1 • If xL the verifier will claim that xL with probability at most ½. • So if we have good proofs, written on a specific way, we don’t even have to read them all to check that they are correct. Food for thought.
The interesting behavior of random walks • A random walk on a line. • A line is n 0 1 2 3 4 5 If the walk is on 0 it goes into 1. Else it goes to i+1 or toi-1 with probability 1/2 What is the expected number of steps to go to n?
The expected time function • T(n)=0 • T(i)=(T(i+1)+T(i-1))/2, i0 • T(0)=1+T(1) • Add allequation gives T(n-1)=2n-1. • From that we get:T(n-2)=4n-4 • T(i)=2(n-i)n-(n-i)2 • T(0)=n2
The random algorithm for 2-SAT • 2-SAT : Start with an arbitrary assignment • Let C be a non satisfied clause. Choose one of the two literals of C and flip its value. • We know that if the variables are x1 and x2 the optimum disagrees with us on x1 or on x2. • Distance to OPT: with probability ½ smaller by 1 and with probability ½ larger by 1 (worst case). Thus E(RW)=n2
P/poly • The expected number of steps to cover a general graph is less than 2n3 • Say that we have O(log n) memory. How can we tell if s and t are in the same CC? • Do a random walk of length 4n3. If we foundtthen we get a correct answer. If t and sare the the same CC, Pr≥½ for correct answer. • If do 2n4 steps, Pr≥1-1/n for right answer.
A universal sequence • For simplicity, let us assume that the graph is d-regular • Each regular graph can label the edges from its side with 1,2,….d. • A universal sequence: a sequence of numbers so that each one of them belongs to {1,2,…,d} so that for every regular graph there is a portion of the sequence that will cover the graph. • The probabilistic method: O(n3·d·log n) length universal sequence.
What is P/Poly? • In NPC problems given XL we get an advise f(X) and then we can check fast if indeed XL. • The finding Woody Allen in a huge party explanation. • P/Poly is quite different: the same advice for all instances of size n. Then we should be able to solve. Much stronger. NP P/Poly unless the the polynomial hierarchy collapses.
The s and t are in the same CC problem: Surprise! • What happens if we don’t want P/Poly nor allow randomization? • The new sensation: Omer Reingold. From the Weizmann institute: The problem of s,t connectivity can be solved in DETERMINISTIC O(log n) space. • Like Harry Hoo said in ‘Get Smart’: AMAIZING.