The document describes methods for generating random spanning trees on graphs. It introduces an algorithm that uses a random walk to generate a spanning tree in expected O(n log n) time. It also discusses the Markov chain tree theorem, which relates the stationary distribution of a Markov chain to the weights of its directed spanning trees. Finally, it proposes a "swap chain" Markov chain for generating random spanning trees by randomly adding and removing edges, and proves this chain converges rapidly to the uniform distribution.