Hi Tiago, I am trying to understand the optional argument *d* in the graph_tool.inference.blockmodel.BlockState.mcmc_sweep() function. Reading from its documentation, it seems to me that *d* directly controls the probability to move to a new group, whereas the remaining move proposals take the probability of "εB/[e_t + εB]" (where we should use B instead of B+1). If I am understanding correctly, what is the proposal probability for its reverse move (of the forward move to an unoccupied group)? Does it only apply to the case where the to-be-moved node is the last one in its current group? My second question is about the agglomerative merge that was presented in PRE 89, 012804 (2014). Specifically, I am trying to understand the right column of its page 4. To initialize a partition for group numbers B, the approach instructs us to start from B' > B, and do one and only one "agglomerative sweep" to reach B. To do so, we had to enumerate n_m * N possible merges for each node starting from B'. I can see that choosing a minimal entropic change pair greedily and heuristically selects the best block merge, but since the merge candidates are not adaptive, how does a single enumeration of n_m * N possibilities provides sufficient candidates that lead to B, where B'-B > 1? Thanks, Tzu-Chi -- Sent from: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/