I am trying to enable overlap in the nested_blockmodel:
state = gt.inference.minimize.minimize_nested_blockmodel_dl(g, overlap=True)
So far, I have only tried a very simple network ("celegansneural"), and it gives me three levels, with the first level being a OverlapBlockState and upper levels being BlockState.
[<OverlapBlockState object with 3 blocks, degree corrected, for graph <Graph object, directed, with 297 vertices and 2359 edges at 0x10bc7d710>, at 0x1351e6470>, <BlockState object with 2 blocks (2 nonempty), for graph <Graph object, directed, with 3 vertices and 6 edges at 0x135e3a1d0>, at 0x135e27ac8>, <BlockState object with 1 blocks (1 nonempty), for graph <Graph object, directed, with 2 vertices and 3 edges at 0x135214128>, at 0x1352192b0>]
I am interested in inferred a DAG structure from some networks, i.e. not only the leaf nodes, but nodes on intermediate level can have multiple membership.
I am wondering whether the fact that I only get one level of overlapping block is due to the very simple network, or is it simply not possible to have multiple levels of overlapping blocks?