260 likes | 388 Views
Randomization, Derandomization, and Parallelization --- take the MIS problem as a demonstration. Speaker: Hong Chih-Duo Advisor: Chao Kuen-Mao National Taiwan University Department of Information Engineering. The MIS problem. Finding a maximum independent set is NPC
E N D
Randomization, Derandomization, and Parallelization --- take the MIS problem as a demonstration Speaker: Hong Chih-Duo Advisor: Chao Kuen-Mao National Taiwan University Department of Information Engineering
The MIS problem • Finding a maximum independent set is NPC • The decision version of MIS is to decide the independence number α(G) of G -- still NPC • However, there are many good algorithms to approximate it, in various settings. • A naive greedy algorithm guarantees a (Δ/(Δ+1))|OPT| solution. (cf. your textbook!) • Could tossing coins help in this respect?
A simple randomized algorithm • For each vertex v, add v to I’ with probability p. (p is to be determined later) • For each edge vu that both v, u ∊ I’, remove one of them from I’ uniformly at random. • The resulting I” is an independent set of G.
Step 1 Step 2
Step 3 Good luck Bad luck
Some refreshers from probability Theory ► Theorem
A derandomized result • We derived a deterministic procedure to find an assignment {x1, x2,..., xn} that guarantees an independent set of sizef(x1,...,xn) ≥ n2/4m. • Note that we may have to prune I’ = {i : xi =1} in order to get an independent set. (why?) • The argument is in fact from a general scheme called the conditional probability method, which is very powerful in derandomizing probabilistic proofs.
Notes on conditional probability methods • In general, it is hard to compute conditional expectations. • There are many instance where there is no efficient way to compute the required conditional expectation. • Moreover, the conditional probability method is inherently sequential: the variables xi’s are determined in a fixed order. As a result, the time complexity is Ω(n) even if we have an unbounded number of processors. ►Example ►PRAM
The length of computation path is Ω(n) X1=0 height = n X2=1 X3=0 Xn-1=1 Xn=0 Good points
“Compress” the computation path • It appears that the bottleneck lies in the number of random variables {Xi}. Do we really need n variables? • Recall the definition of Z: wherein X1,...,Xn are i.i.d.. • Note that if X1,...,Xn are pairwise independent, then also E[Z] = n2/4m. • We may generate pairwise independent X1,...,Xn with fewer i.i.d. random variables!
The length of computation path is now O(lgn) W1=ω1 height = k = ceiling(lg n) W2=ω2 W3=ω3 Wk-1= ωk-1 Wk=ωk Good points
A parallelized result • We derived a deterministic parallel algorithm to find an independent set of size h(ω1,..., ωk) ≥ n2/4m, for a graph with n vertices and m edges. • This algorithms can be implemented on an EREW-PRAM in O(lg2n) time with O(m2) processors. • There is a high-level theorem indicating this fact: If an RNC-algorithm works properly when the probabilities are suitably approximated, then it can be converted to an equivalent NC-algorithm.
Reference Fast Parallel Algorithms for Graph Matching Problems, M.Karpinski, W.Ryttter, p.104~115. The Probabilistic Method, 2nd Edition, Noga Alon, J.Spencer, p.249 ~ 257. Randomized Algorithms, R.Motwani, P.Raghavan, p.335~346.
Example: looking for the biggest determinant • An ∊ Mn[{+1,-1}] • How big can | det(An) | be ?? • This is a famous (and unsolved) problem of Hadamard. • Fact: |det(An)| ≦ nn/2. • a corollary of Hadamard’s determinant theorem
Example: looking for the biggest determinant • Let’s toss coins! • (M. Kac) A random matrix An of {+1, -1} has E[ |det(An)|2 ] = n! • So there exists an n×n matrix An that satisfies |det(An)| ≧ (n!)1/2. • However, no one knows how to construct one efficiently. Back
Some notes on parallel computation models • PRAM: a very general model that is interested mostly in exposing the parallel nature of problems. • PRAM consists of a number of RAMs that work synchronous and communicate through a common random access memory. • Typically, technical details such as synchroniza-tion and communication problems are ignored. • The most “realistic” PRAM variant is EREW, allowing only exclusive-read and exclusive-write on the shared memory.
Some notes on parallel complexity classes • The main aim of parallel computing is the decrease of computation time. The main class of interests is NC = { problems computable in polylogarithmic time and polynomially many processors. } • Perhaps the most important question in the theory of parallel computations is: is P = NC ? • It is strongly believed that the answer is negative. However, this question could be of similar difficulty to the P = NP problem. Back