Enforcing node separation in network partition

Sir,

Is there any way to enforce two nodes to be present in different network
partitions rather than allowing the SBM algorithm itself to figure
partitions for every node ?

A little different question to the above would be, is it possible to allow
partitions around specific nodes only in graph tool ?

For the first one, there is an option to define the initial state in SBM
algorithm, but I think that requires to define for every node. Also after
the algorithm runs the network will eventually converge towards best
partition which may or may not respect the condition of keeping two nodes
separate.

For the second, I feel it becomes like a k-means clustering.

I can answer the first question, but I couldn't understand the second one,
which may need a bit clarification.

To enable some customization when minimizing the blockmodel state, one can
pass the `state_args` to the minimize_blockmodel_dl() function. To achieve
what you want, you need to do:

minimize_blockmodel_dl(g, state_args = {'clabel': clabel}),

where `clable` is a PropertyMap defined on the vertices. If supplied,
vertices with different label values will not be clustered in the same
group.

Best,
Tzu-Chi