randomized computation Sometimes randomness helps in computation. - - PowerPoint PPT Presentation

โ–ถ
randomized computation
SMART_READER_LITE
LIVE PREVIEW

randomized computation Sometimes randomness helps in computation. - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

randomized computation

Sometimes randomness helps in computation.

slide-2
SLIDE 2

randomized computation

Augment our usual Turing machines with a read-only tape of random bits. ๐‘Ÿ0 ๐‘Ÿ1 ๐‘Ÿstart ๐‘Ÿaccept ๐‘Ÿ2

๐‘ ๐‘ # # ๐‘ ๐‘ 1 1 1 1

slide-3
SLIDE 3

randomized computation

The notion of acceptance changes. One-sided error [two variants]: Two-sided error: ๐‘ฆ โˆˆ ๐‘€ โ‡’ Pr ๐‘ accepts ๐‘ฆ = 1 ๐‘ฆ โˆ‰ ๐‘€ โ‡’ Pr ๐‘ accepts ๐‘ฆ <

9 10

What does it mean for a TM ๐‘ with access to random bits to decide a language ๐‘€? ๐‘ฆ โˆˆ ๐‘€ โ‡’ Pr ๐‘ accepts ๐‘ฆ >

2 3

๐‘ฆ โˆ‰ ๐‘€ โ‡’ Pr ๐‘ accepts ๐‘ฆ <

1 3

๐‘ฆ โˆˆ ๐‘€ โ‡’ Pr ๐‘ accepts ๐‘ฆ >

1 10

๐‘ฆ โˆ‰ ๐‘€ โ‡’ Pr ๐‘ accepts ๐‘ฆ = 0 In both cases, we can make the error much smaller by repeating a few times.

slide-4
SLIDE 4

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. ๐‚๐๐.

slide-5
SLIDE 5

randomized computation

Recall the complexity class ๐Œ = SPACE log ๐‘œ The randomized one-sided error variant of ๐Œ is called ๐’๐Œ. ๐‘ฆ โˆˆ ๐ต โ‡’ Pr ๐‘ accepts ๐‘ฆ โ‰ฅ

1 2

๐‘ฆ โˆ‰ ๐ต โ‡’ Pr ๐‘ accepts ๐‘ฆ = 0 A language ๐ต is in ๐’๐Œ if there is a randomized ๐‘ƒ log ๐‘œ space Turing machine such that [one way access to random tape]: 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.

slide-6
SLIDE 6

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

slide-7
SLIDE 7

undirected connectivity

What about the language? PATH = ๐ป, ๐‘ก, ๐‘ข โˆถ ๐ป is an ๐ฏ๐จ๐ž๐ฃ๐ฌ๐Ÿ๐๐ฎ๐Ÿ๐ž graph with an ๐‘ก โ†” ๐‘ข path Is PATH โˆˆ ๐Œ?

slide-8
SLIDE 8

random walks

Letโ€™s show that PATH โˆˆ ๐’๐Œ. One step of random walk: Move to a uniformly random neighbor.

slide-9
SLIDE 9

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 ยฝ.

slide-10
SLIDE 10

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. If there is an ๐‘ก โ†” ๐‘ข path in ๐ป: Pr accept ๐ป, ๐‘ก, ๐‘ข โ‰ฅ

1 2

If no ๐‘ก โ†” ๐‘ข path in ๐ป: Pr accept ๐ป, ๐‘ก, ๐‘ข = 0

slide-11
SLIDE 11

cover time of a graph

Cover time of a graph = expected # of steps before all vertices are visited.

slide-12
SLIDE 12

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.โ€)

slide-13
SLIDE 13

heat dispersion on a graph

slide-14
SLIDE 14

spectral embedding

๐‘ค2

slide-15
SLIDE 15

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 ๐ท ๐‘ฃ, ๐‘ค = ๐ผ ๐‘ฃ, ๐‘ค + ๐ผ(๐‘ค, ๐‘ฃ)

slide-16
SLIDE 16

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๐‘›.

slide-17
SLIDE 17

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).

slide-18
SLIDE 18

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 ๐ป.

slide-19
SLIDE 19

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.

slide-20
SLIDE 20

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๐‘œ

slide-21
SLIDE 21

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)

slide-22
SLIDE 22

high school physics

Claim: If {๐‘ฃ, ๐‘ค} is an edge of ๐ป, then ๐ท ๐‘ฃ, ๐‘ค โ‰ค 2๐‘›.

slide-23
SLIDE 23

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 ๐‘ค.

๐‘ฃ ๐‘ค

slide-24
SLIDE 24

presentation agenda

Error-correcting codes: Simple uses of randomness in computation: 1. Intro [Amr] 2. Reed-Solmon codes [Jie] 3. Expander codes [Ali] 1. Checking matrix multiplication [Mahmoud] 2. Karp-Rabin matching algorithm [Stanislav] random pseudo-random