Algorithms For Random Generation And Counting by Joseph T. Sinclair & Alistair Sinclair