I'm attempting to use get_edges_prob to find the most likely missing edges out of every possible non-edge. I know every possible edge is O(n^2).
Currently I'm sampling the like this:
non_edges_probs = [[] for _ in range(len(non_edges))]
def collect_edge_probs(s):
s = s.levels[0]
for i, non_edge in enumerate(non_edges):
p = s.get_edges_prob([non_edge], [],
entropy_args=dict(partition_dl=False))
non_edges_probs[i].append(p)
gt.mcmc_equilibrate(nested_state,
force_niter=100,
mcmc_args=dict(niter=10),
callback=collect_edge_probs,
verbose=True)
Is there a way to speed this up at all? If not, is there a heuristic I can use to reduce the number of possibilities?
Currently I'm using vertex similarity measures to cut the possibilities, but I'm wondering if there is a heuristic involving just the NestedState.
Any help appreciated!