Hi all, 

I'm new to the graph theory field and graph-tool package. Can anyone help me with the following questions on SBM of layered graph: 

1) In the example shown in https://graph-tool.skewed.de/static/doc/demos/inference/inference.html#edge-layers-and-covariates, the edge covariates for the Les Mis¨¦rables network is passed via g.ep.value: 

state = gt.minimize_blockmodel_dl(g, deg_corr=False, layers=True, 
                                  state_args=dict(ec=g.ep.value, layers=False)) 

In this case, does the constructed layered model automatically detect how many layers there should be in order to obtain a best fit SBM? If so, how can one retrieve the layer membership of each edge? If not, is there a way to do so in graph-tool via other function calls? 

2) There's a so called 'independent layers' model discussed in the reference: Peixoto, T. P., Phys. Rev. E, 2015, 92, 042807 and it seems that setting state_args=dict(ec=g.ep.value, layers=True) in the example should use this model instead of the edge covariate model. But it seems from the paper that on is required to input the number of layers ('C' as in Fig. 3 of the reference). So how exactly should I use graph-tool to use the 'independent layers' model? Or is the algorithm capable of automatically detecting 'C' or the number of layers from the data? 

Thanks, 
Tim