Randomized Algorithms, Exercises - Discrete Mathematics 7, Exercises of Discrete Structures and Graph Theory

Discrete Structures, Randomized Algorithm, Exercises, Exam Paper

Typology: Exercises

2010/2011

Uploaded on 10/12/2011

lovefool
lovefool 🇬🇧

4.5

(21)

292 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
6.856 Randomized Algorithms
David Karger
Handout #11, Mar. 31, 2011 Homework 7, Due 4/6
1. This problem should be done without collaboration. In class we talked about
how to count the number of satisfying assignments to a DNF, which is equivalent to
estimating the probability of a satisfying assignment if variables get unbiased random
assignments. Suppose that instead each variable gets set to true with probability
p < 1/2. Explain how to estimate the probability of getting a satisfying assignment.
2. Consider a set Sof vectors in d-dimensional space. Suppose that you sample each
of those vectors independently with probability p. Prove that there are at most d/p
vectors of Sin expectation that are not spanned by your sample.
3. A flow in an undirected graph is a set of edge-disjoint paths from a source vertex s
to a sink vertex t. The value of the flow is the number of edge disjoint paths. The
s-tmaximum flow problem aims to a flow of maximum value. This quantity turns out
to be equal to the s-tminimum cut value: the minimum number of edges that must
be removed from the graph in order to disconnect vertex sfrom vertex t. There is an
augmenting path algorithm that, given an s-tflow of value v, finds an s-tflow of value
v+ 1 in O(m) time on an m-edge graph, or else reports that vis the maximum flow.
Consider any undirected graph with medges, s-tmaximum flow v, and minimum cut
c:
(a) Prove for any constant , an s-tcut of value at most (1 + )vcan be found in
˜
O(mv/c2) time.
(b) Prove that for any constant , a flow of value (1 ) can be found in ˜
O(mv/c)
time.
(c) Sketch an algorithm that finds the maximum flow in ˜
O(mv/c) time, and give a
informal argument as to its correctness.
(d) Use the algorithm of part (c) to improve the running times of the algorithms in
parts (a) and (b)
4. In class we gave an (, δ)-FPRAS for estimating the probability of a graph Gdiscon-
necting when each edge fails with probability p. You will show how to generate a
random disconnected version of Gfrom this distribution.
1
pf2

Partial preview of the text

Download Randomized Algorithms, Exercises - Discrete Mathematics 7 and more Exercises Discrete Structures and Graph Theory in PDF only on Docsity!

6.856 — Randomized Algorithms

David Karger

Handout #11, Mar. 31, 2011 — Homework 7, Due 4/

  1. This problem should be done without collaboration. In class we talked about how to count the number of satisfying assignments to a DNF, which is equivalent to estimating the probability of a satisfying assignment if variables get unbiased random assignments. Suppose that instead each variable gets set to true with probability p < 1 /2. Explain how to estimate the probability of getting a satisfying assignment.
  2. Consider a set S of vectors in d-dimensional space. Suppose that you sample each of those vectors independently with probability p. Prove that there are at most d/p vectors of S in expectation that are not spanned by your sample.
  3. A flow in an undirected graph is a set of edge-disjoint paths from a source vertex s to a sink vertex t. The value of the flow is the number of edge disjoint paths. The s-t maximum flow problem aims to a flow of maximum value. This quantity turns out to be equal to the s-t minimum cut value: the minimum number of edges that must be removed from the graph in order to disconnect vertex s from vertex t. There is an augmenting path algorithm that, given an s-t flow of value v, finds an s-t flow of value v + 1 in O(m) time on an m-edge graph, or else reports that v is the maximum flow. Consider any undirected graph with m edges, s-t maximum flow v, and minimum cut c:

(a) Prove for any constant , an s-t cut of value at most (1 + )v can be found in O˜(mv/c^2 ) time. (b) Prove that for any constant , a flow of value (1 − ) can be found in O˜(mv/c) time. (c) Sketch an algorithm that finds the maximum flow in O˜(mv/

c) time, and give a informal argument as to its correctness. (d) Use the algorithm of part (c) to improve the running times of the algorithms in parts (a) and (b)

  1. In class we gave an (, δ)-FPRAS for estimating the probability of a graph G discon- necting when each edge fails with probability p. You will show how to generate a random disconnected version of G from this distribution.

(a) Explain how Pr[F | xe] can be computed as a network reliability problem on a different graph, for both values of xe.

(b) Let G be a graph and F the event that it fails. Let xe be the state of a given edge (up or down). Give an FPRAS for computing Pr[xe | F ]. (c) Using self-reducibility, give an algorithm that produces a random disconnected version of G, conditioned on F.