randomized computation Sometimes randomness helps in computation.
randomized computation Augment our usual Turing machines with a read-only tape of random bits . ๐ start ๐ 0 ๐ 2 ๐ accept ๐ 1 # # ๐ ๐ ๐ ๐ 0 1 1 0 0 0 1 1
randomized computation The notion of acceptance changes. What does it mean for a TM ๐ with access to random bits to decide a language ๐ ? One-sided error [two variants]: 1 ๐ฆ โ ๐ โ Pr ๐ accepts ๐ฆ = 1 ๐ฆ โ ๐ โ Pr ๐ accepts ๐ฆ > 10 9 ๐ฆ โ ๐ โ Pr ๐ accepts ๐ฆ < ๐ฆ โ ๐ โ Pr ๐ accepts ๐ฆ = 0 10 Two-sided error: 2 In both cases, we can make ๐ฆ โ ๐ โ Pr ๐ accepts ๐ฆ > 3 the error much smaller by 1 ๐ฆ โ ๐ โ Pr ๐ accepts ๐ฆ < repeating a few times. 3
randomized computation For instance, the two-sided error variant of ๐ is called ๐๐๐ . ๐๐๐ stands for โbounded - error probabilistic polynomial timeโ Derandomization problem: Can every efficient randomized algorithm be replaced by a deterministic one? We donโt know the answer, though it is expected to be โyes.โ This is the question of ๐ vs. ๐๐๐ .
randomized computation Recall the complexity class ๐ = SPACE log ๐ The randomized one-sided error variant of ๐ is called ๐๐ . A language ๐ต is in ๐๐ if there is a randomized ๐ log ๐ space Turing machine such that [one way access to random tape]: 1 ๐ฆ โ ๐ต โ Pr ๐ accepts ๐ฆ โฅ 2 ๐ฆ โ ๐ต โ Pr ๐ accepts ๐ฆ = 0 The question of whether ๐ = ๐๐ is also open . We know that ๐๐ โ ๐๐ โ SPACE log ๐ 2 Nisan showed how to do this using a pseudo-random number generator for space-bounded machines.
undirected connectivity Recall the language: DIRPATH = ๐ป, ๐ก, ๐ข โถ ๐ป is a directed graph with a directed ๐ก โ ๐ข path We saw that DIRPATH is ๐๐ -complete. Thus ๐ = ๐๐ if and only if DIRPATH โ ๐ด . What about the language? PATH = ๐ป, ๐ก, ๐ข โถ ๐ป is an ๐ฏ๐จ๐๐ฃ๐ฌ๐๐๐ฎ๐๐ graph with an ๐ก โ ๐ข path
undirected connectivity What about the language? PATH = ๐ป, ๐ก, ๐ข โถ ๐ป is an ๐ฏ๐จ๐๐ฃ๐ฌ๐๐๐ฎ๐๐ graph with an ๐ก โ ๐ข path Is PATH โ ๐ ?
random walks Letโs show that PATH โ ๐๐ . One step of random walk : Move to a uniformly random neighbor.
random walks What we will show: If ๐ป = (๐, ๐น) is a graph with ๐ vertices and ๐ edges, then a random walker started at ๐ก โ ๐ who takes 4๐๐ steps will visit every vertex in the connected component of ๐ก with probability at least ยฝ . In particular, if there is an ๐ก โ ๐ข path in ๐ป , she will visit ๐ข with probability at least ยฝ .
random walks What we will show: If ๐ป = (๐, ๐น) is a graph with ๐ vertices and ๐ edges, then a random walker started at ๐ก โ ๐ who takes 4๐๐ steps will visit every vertex in the connected component of ๐ก with probability at least ยฝ . In particular, if there is an ๐ก โ ๐ข path in ๐ป , she will visit ๐ข with probability at least ยฝ . ๐๐ Algorithm: Start a random walker at ๐ก and use the random bits to simulate a random walk for 4๐๐ steps (can count this high in ๐ log ๐ space). If we visit ๐ข at any point, accept. Otherwise, reject. 1 If there is an ๐ก โ ๐ข path in ๐ป : Pr accept ๐ป, ๐ก, ๐ข โฅ 2 If no ๐ก โ ๐ข path in ๐ป : Pr accept ๐ป, ๐ก, ๐ข = 0
cover time of a graph Cover time of a graph = expected # of steps before all vertices are visited.
cover time of a graph We will show that if ๐ป has ๐ vertices and ๐ then the expected time before the random walk covers ๐ป (from any starting point) is 2๐๐. Then it must be that with probability at least ยฝ , we cover ๐ป after 4๐๐ steps. (This fact is called โMarkovโs inequality.โ)
heat dispersion on a graph
spectral embedding ๐ค 2
hitting times and commute times For vertices ๐ฃ, ๐ค โ ๐ , the hitting time is ๐ผ ๐ฃ, ๐ค = expected time for random walk to hit ๐ค starting at ๐ฃ The commute time between ๐ฃ and ๐ค is ๐ท ๐ฃ, ๐ค = ๐ผ ๐ฃ, ๐ค + ๐ผ(๐ค, ๐ฃ) ๐ฃ ๐ค
hitting times and commute times For vertices ๐ฃ, ๐ค โ ๐ , the hitting time is ๐ผ ๐ฃ, ๐ค = expected time for random walk to hit ๐ค starting at ๐ฃ The commute time between ๐ฃ and ๐ค is ๐ท ๐ฃ, ๐ค = ๐ผ ๐ฃ, ๐ค + ๐ผ(๐ค, ๐ฃ) Claim: If {๐ฃ, ๐ค} is an edge of ๐ป , then ๐ท ๐ฃ, ๐ค โค 2๐ . ๐ฃ ๐ค
hitting times and commute times Claim: If {๐ฃ, ๐ค} is an edge of ๐ป , then ๐ท ๐ฃ, ๐ค โค 2๐ . Letโs use the claim to show that the cover time of ๐ป is at most 2๐(๐ โ 1) . ๐ก
hitting times and commute times Claim: If {๐ฃ, ๐ค} is an edge of ๐ป , then ๐ท ๐ฃ, ๐ค โค 2๐ . Letโs use the claim to show that the cover time of ๐ป is at most 2๐(๐ โ 1) . ๐ก Choose an arbitrary spanning tree of ๐ป .
hitting times and commute times Claim: If {๐ฃ, ๐ค} is an edge of ๐ป , then ๐ท ๐ฃ, ๐ค โค 2๐ . Letโs use the claim to show that the cover time of ๐ป is at most 2๐(๐ โ 1) . ๐ก Choose an arbitrary spanning tree of ๐ป . Consider the โtour around the spanning treeโ This is a path ๐ก = ๐ฃ 0 , ๐ฃ 1 , ๐ฃ 2 , โฆ , ๐ฃ 2๐ = ๐ก Where ๐ฃ ๐ , ๐ฃ ๐+1 is an edge for each ๐ , and each edge appears exactly twice.
hitting times and commute times Claim: If {๐ฃ, ๐ค} is an edge of ๐ป , then ๐ท ๐ฃ, ๐ค โค 2๐ . Letโs use the claim to show that the cover time of ๐ป is at most 2๐(๐ โ 1) . ๐ก Choose an arbitrary spanning tree of ๐ป . Consider the โtour around the spanning treeโ Claim: Cover time of ๐ป is at most ๐ท ๐ฃ 0 , ๐ฃ 1 + ๐ท ๐ฃ 1 , ๐ฃ 2 + ๐ท ๐ฃ 2 , ๐ฃ 3 + โฏ + ๐ท ๐ฃ 2๐โ1 , ๐ฃ 2๐
hitting times and commute times Claim: If {๐ฃ, ๐ค} is an edge of ๐ป , then ๐ท ๐ฃ, ๐ค โค 2๐ . Letโs use the claim to show that the cover time of ๐ป is at most 2๐(๐ โ 1) . ๐ก Choose an arbitrary spanning tree of ๐ป . Consider the โtour around the spanning treeโ Claim: Cover time of ๐ป is at most ๐ท(๐ฃ, ๐ค) โค 2๐(๐ โ 1) ๐ฃ,๐ค โ๐
high school physics Claim: If {๐ฃ, ๐ค} is an edge of ๐ป , then ๐ท ๐ฃ, ๐ค โค 2๐ .
high school physics Claim: If {๐ฃ, ๐ค} is an edge of ๐ป , then ๐ท ๐ฃ, ๐ค โค 2๐ . View the graph ๐ป as an electrical network with unit resistances on the edges. When a potential difference is applied between the nodes from an external source, current flows in the network in accordance with Kirchoffโs and Ohmโs laws. K1: The total current flowing into a vertex = total current flowing out K2: The sum of potential differences around any cycle is zero. Ohm: The current flowing along any edge {๐ฃ, ๐ค} is equal to (potential ๐ฃ โ potential ๐ค )/resistance(๐ฃ, ๐ค) ๐ฃ The effective resistance between ๐ฃ and ๐ค is ๐ค defined as the potential difference required to send one unit of current from ๐ฃ to ๐ค .
presentation agenda Simple uses of randomness in computation: 1. Checking matrix multiplication [Mahmoud] 2. Karp-Rabin matching algorithm [Stanislav] random Error-correcting codes: 1. Intro [Amr] 2. Reed-Solmon codes [Jie] 3. Expander codes [Ali] pseudo-random
Recommend
More recommend