def simulate(): N = 100 R = 5 b1 = 1.5 b0 = 0.5 a = 1.0 alpha0 = a * np.ones(R) SBM_1 = StochasticBlockModel(R, b0, b1, alpha0) (A, f, theta) = sample_network(SBM_1, N) (B, pi) = theta p = 0.3 q = 0.7 N = 100 R = 5 ####run once on mac for picked SBM data ####start-----------pickle string won't keep the graph graph_1 = Gen_SBM(p, q, N, R) print graph_1 Graph.write_pickle(graph_1, "SBM_03_07_1000_5.p") ####end------------- SBM_1 = Graph.Read_Pickle("SBM_03_07_1000_5.p") SBM_2 = sparsify.spars_combi(SBM_1, epsilon=0.5)
def sim(eps, GraphName): SBM_expanded = Graph.Read_Ncol(GraphName + "_expanded.txt", directed=False) w_sum1 = sum(SBM_expanded.es["weight"]) print w_sum1 e_num1 = SBM_expanded.ecount() SBM_2 = sparsify.spars_combi(SBM_expanded, epsilon=eps) # through away weights for 3-hop recalculation, write into a temparary file SBM_2.write_ncol(GraphName + "_sparse_list.txt", weights=None) Expand(GraphName + "_sparse") SBM_recalc = Graph.Read_Ncol(GraphName + "_sparse_expanded.txt", directed=False) w_sum2 = sum(SBM_recalc.es["weight"]) # need to modify! calculate real weight instead print w_sum2 e_num2 = SBM_2.ecount() return (w_sum1 - w_sum2), (e_num1 - e_num2)