2 4 Theorem:Proof: What shall we do for an undirected graph?
-
Upload
payton-edrington -
Category
Documents
-
view
215 -
download
0
Transcript of 2 4 Theorem:Proof: What shall we do for an undirected graph?
![Page 1: 2 4 Theorem:Proof: What shall we do for an undirected graph?](https://reader037.fdocuments.in/reader037/viewer/2022103015/551bfee2550346b24f8b4b13/html5/thumbnails/1.jpg)
R
![Page 2: 2 4 Theorem:Proof: What shall we do for an undirected graph?](https://reader037.fdocuments.in/reader037/viewer/2022103015/551bfee2550346b24f8b4b13/html5/thumbnails/2.jpg)
2
Is there a Solution?
![Page 3: 2 4 Theorem:Proof: What shall we do for an undirected graph?](https://reader037.fdocuments.in/reader037/viewer/2022103015/551bfee2550346b24f8b4b13/html5/thumbnails/3.jpg)
Goal
•Undirected Connectivity
•In Random LOGSPACE
Plan
•Introduce Random Walks
![Page 4: 2 4 Theorem:Proof: What shall we do for an undirected graph?](https://reader037.fdocuments.in/reader037/viewer/2022103015/551bfee2550346b24f8b4b13/html5/thumbnails/4.jpg)
4
Instance:
• An undirected graph G=(V,E) and two vertices s,tV
Decision Problem:
• Is there a path in G from s to t
Undirected Connectivity
Theorem:
• CONN NL
Proof:
• Nondeterm. walkWhat shall we do for an undirected graph?
![Page 5: 2 4 Theorem:Proof: What shall we do for an undirected graph?](https://reader037.fdocuments.in/reader037/viewer/2022103015/551bfee2550346b24f8b4b13/html5/thumbnails/5.jpg)
5
All-powerful guesses• which
neighbor to go to next
Randomly guess• which
neighbor to go to next
Nondeterministic vs. Random
![Page 6: 2 4 Theorem:Proof: What shall we do for an undirected graph?](https://reader037.fdocuments.in/reader037/viewer/2022103015/551bfee2550346b24f8b4b13/html5/thumbnails/6.jpg)
•Add a self loop to each vertex
0
• at s
Start
•di be the degree of the current node.
Let
• to each neighbor with probability 1/di
Jump
•if reach t
Stop
6
Random Walks
![Page 7: 2 4 Theorem:Proof: What shall we do for an undirected graph?](https://reader037.fdocuments.in/reader037/viewer/2022103015/551bfee2550346b24f8b4b13/html5/thumbnails/7.jpg)
7
• Let vt denote the vertex visited at time t (v0=s)
• Let pt(i) = Pr[vt=i]
Notation:
p0(s)=1
p1(a)=0.5
![Page 8: 2 4 Theorem:Proof: What shall we do for an undirected graph?](https://reader037.fdocuments.in/reader037/viewer/2022103015/551bfee2550346b24f8b4b13/html5/thumbnails/8.jpg)
Stationary Distribution
Lemma:
• Let G=(V,E) be a connected graph, then for any iV
it
t
dlimp i
2 E
8
![Page 9: 2 4 Theorem:Proof: What shall we do for an undirected graph?](https://reader037.fdocuments.in/reader037/viewer/2022103015/551bfee2550346b24f8b4b13/html5/thumbnails/9.jpg)
Weaker Claim
Lemma:
• If for some t, for all iV
then for all iV
it
dp i
2 E
it 1
dp i
2 E
9
![Page 10: 2 4 Theorem:Proof: What shall we do for an undirected graph?](https://reader037.fdocuments.in/reader037/viewer/2022103015/551bfee2550346b24f8b4b13/html5/thumbnails/10.jpg)
10
Proof:
• di=2|E| Lemma: Vertex i has probability di at time t Vertex i has the same probability at time t+1
FixPoint
• Animated
Proof:
![Page 11: 2 4 Theorem:Proof: What shall we do for an undirected graph?](https://reader037.fdocuments.in/reader037/viewer/2022103015/551bfee2550346b24f8b4b13/html5/thumbnails/11.jpg)
11
Proof:
• di=2|E| Lemma: Vertex i has probability di at time t Vertex i has the same probability at time t+1
FixPoint
• Animated
Proof:
![Page 12: 2 4 Theorem:Proof: What shall we do for an undirected graph?](https://reader037.fdocuments.in/reader037/viewer/2022103015/551bfee2550346b24f8b4b13/html5/thumbnails/12.jpg)
12
• Starting from any vertex i, the expected time till revisit i is 2|E|/di
Corollary:
• If expected time were longer, we could not have seen i as many times as we should
Proof:
Using the Asymptotic Estimate
![Page 13: 2 4 Theorem:Proof: What shall we do for an undirected graph?](https://reader037.fdocuments.in/reader037/viewer/2022103015/551bfee2550346b24f8b4b13/html5/thumbnails/13.jpg)
Complexity
13
One-Sided ErrorNote that if the right
answer is ‘NO’, we clearly answer ‘NO’.
Hence, this random walk algorithm has one-sided error.
Such algorithms are called “Monte-Carlo” algorithms.
![Page 14: 2 4 Theorem:Proof: What shall we do for an undirected graph?](https://reader037.fdocuments.in/reader037/viewer/2022103015/551bfee2550346b24f8b4b13/html5/thumbnails/14.jpg)
• If there is a path, in how many steps do we expect to arrive at t?
Note:
14
Number of Steps Required?
s t
. . .
The probability we head in the right direction is 1/ds
But every time we get here, we get a second chance!
![Page 15: 2 4 Theorem:Proof: What shall we do for an undirected graph?](https://reader037.fdocuments.in/reader037/viewer/2022103015/551bfee2550346b24f8b4b13/html5/thumbnails/15.jpg)
15
Since expectedly we return to each vertex within|E|/di steps
The walk expectedly heads in the right direction within 2|E| steps
By linearity of the expectation, it is expected to reach t within d(s,t)2|E|2|V||E| steps.
How Many Steps Are Needed?
Complexity
![Page 16: 2 4 Theorem:Proof: What shall we do for an undirected graph?](https://reader037.fdocuments.in/reader037/viewer/2022103015/551bfee2550346b24f8b4b13/html5/thumbnails/16.jpg)
16
1. Run the random walk from s for 2|V||E| steps.2. If node t is ever visited, answer “there is a path
from s to t”.3. Otherwise, reply “there is probably no path
from s to t”.
Randomized Algorithm for Undirected Connectivity
Complexity
![Page 17: 2 4 Theorem:Proof: What shall we do for an undirected graph?](https://reader037.fdocuments.in/reader037/viewer/2022103015/551bfee2550346b24f8b4b13/html5/thumbnails/17.jpg)
17
Theorem: The above algorithm - uses logarithmic space- always right for ‘NO’ instances.- errs with probability at most ½ for ‘YES’
instances.
Main Theorem
Complexity
To maintain the current position we only need log|V| space
Markov: Pr(X>2E[X])<½
PAP 401-404
![Page 18: 2 4 Theorem:Proof: What shall we do for an undirected graph?](https://reader037.fdocuments.in/reader037/viewer/2022103015/551bfee2550346b24f8b4b13/html5/thumbnails/18.jpg)
18
We explored the undirected connectivity problem.
We saw a log-space randomized algorithm for this problem.
We used an important technique called random walks.
Summary
Complexity