Parameter "d" in "mcmc_sweep()" may not be working as intended
System: Docker. Latest version of graph_tool.
Issue description: The documentation for mcmc_sweep()
states that parameter d
is the
Probability of selecting a new (i.e. empty) group for a given move.
The example below shows that all partitions produced in mcmc_equilibrate()
have exactly 12 (non-empty) groups. Given the definition of d
, I would've expected mcmc_equilibrate()
with mcmc_args = dict(d = 0)
would consider partitions with B <= 12
(as opposed to B == 12
only).
Example:
g = collection.data["lesmis"]
state = BlockState(g, B = 12)
def print_feedback(s):
print(s.get_nonempty_B())
print(Counter(list(s.get_blocks())))
mcmc_equilibrate(state, mcmc_args = dict(niter = 10, d = 0), callback = print_feedback)