Graph Algorithms

Prev: Geometric Algorithms and Linear Programming Next: Approximate Counting

Problems

10.1

Suppose that the time required for Boolean matrix multiplication is . Show that the closure of a Boolean matrix can be computed in time .


10.2

Prove Lemma 10.1.


10.3

Prove Lemma 10.2.


10.4

Prove Lemma 10.3.


10.5

Prove Lemma 10.5.


10.6

Modify the BPWM algorithm so as to obtain a high probability bound on its running time.


10.7

Show that the product of and can be computed in time by omitting the columns of and the rows of corresponding to the indices not present in , and then multiplying these and matrices in blocks of matrices.


10.8

Suppose that for some . Show that it is possible to implement Algorithm BPWM such that its expected running time becomes . Why does this not work for ? (Hint: Use the idea suggested in Problem 10.7.)


10.9

Let be a multigraph. Devise a data structure that processes any arbitrary sequence of edge contractions in , such that at any given point where the set of edges contracted is , the graph is available in the adjacency matrix format. Furthermore, it should be possible to efficiently determine for any edge in the corresponding edge in . Your data structure should require time per contraction and use a polynomial amount of space. Can you modify this to provide the adjacency list format for using only space?

Remark: Note that the time bound is independent of the number of edges. For this, the multigraph needs to be represented as a graph with integer edge weights that represent the multiplicities of the edges. You may assume that the number of edges in the multigraph is polynomial in , although this is not strictly necessary.


10.10

Given a multigraph , show that an edge can be selected uniformly at random from in time , given access to a source of random bits. (See the remark in Problem 10.9.)


10.11

Combining the solutions to Problems 10.9 and 10.10, prove Theorem 10.10. What is the space requirement for this implementation?


10.12

Prove Lemma 10.15.


10.13

Due to D.R. Karger [231].

For any , define an -approximate cut in a multigraph as any cut whose cardinality is within a multiplicative factor of the cardinality of a min-cut in . Determine the probability that a single iteration of the randomized algorithm for min-cuts will produce as output some -approximate cut in .


10.14

Due to D.R. Karger [231].

(a) Using the analysis of the randomized min-cut algorithm, show that the number of distinct min-cuts in a multigraph cannot exceed , where is the number of vertices in .

(b) Formulate and prove a similar result for the number of -approximate cuts in a multigraph (see Problem 10.16).


10.15

Consider the min-cut problem in weighted graphs. Describe how you would generalize Algorithm Contract to this case. What is the running time and space requirement for your implementation?


10.16

Suppose that the edges of a graph are presented in an arbitrary order, and the number of edges is not known in advance. Using the idea for a greedy algorithm described in Section 10.3.2, devise an online MST algorithm that runs in time .


10.17

Show that Boruvka’s algorithm can be implemented to run in time .


10.18

Show that Algorithm MST has the same worst-case running time as Boruvka’s algorithm, i.e., .