#print(t, max(expval)) #for p in knowledge.values(): # print(len(p)) cumul_knowledge.append(sum(expval)/100) t = t+1 return (knowledge, cumul_knowledge) def make_fig(lam, siz, exp, rand): #plt.figure(num) plt.title('avg_kd(t), Lambda='+str(lam)) assl, = plt.plot(range(siz), exp, label="avg_kd(t) Lambda="+str(lam)) randassl, = plt.plot(range(siz), rand, label="Random avg_kd(t)Lambda="+str(lam), linestyle='--') return [assl, randassl] if __name__ == "__main__": assemblies = sa.load_all(dir=sys.argv[1]) rand_assemblies = sa.load_all(dir='random', rand_amounts=[len(ass.connections) for ass in assemblies]) (assem_knowledge, assem_cumul_knowledge) = calc_knowledge(assemblies, 0.5) (random_assem_knowledge, random_assem_cumul_knowledge) = calc_knowledge(rand_assemblies, 0.5) l1 = make_fig(0.5, len(assemblies)-1, assem_cumul_knowledge, random_assem_cumul_knowledge) #(assem_knowledge, assem_cumul_knowledge) = calc_knowledge(assemblies, 0.02) #(random_assem_knowledge, random_assem_cumul_knowledge) = calc_knowledge(rand_assemblies, 0.02) #l5 = make_fig(0.02, len(assemblies)-1, assem_cumul_knowledge, random_assem_cumul_knowledge) (assem_knowledge, assem_cumul_knowledge) = calc_knowledge(assemblies, 0.5) (random_assem_knowledge, random_assem_cumul_knowledge) = calc_knowledge(rand_assemblies, 0.5) l2 = make_fig(0.5, len(assemblies)-1, assem_cumul_knowledge, random_assem_cumul_knowledge) #(assem_knowledge, assem_cumul_knowledge) = calc_knowledge(assemblies, 0.1)
import sa, statistics import networkx as nx if __name__ == "__main__": assemblies = sa.load_all() clustering_coef = [nx.average_clustering(ass.graph.neighbourhood) for ass in assemblies] conn_clustering_coef = [nx.average_clustering(nx.Graph(ass.graph.connections)) for ass in assemblies] print('Average clustering coefficient over neighbourhood graph:', round(sum(clustering_coef)/len(clustering_coef), 3)) print('Average clustering coefficient over connections graph:', round(sum(conn_clustering_coef)/len(conn_clustering_coef), 3))
import sa, statistics, random_assembly import networkx as nx from scipy import stats from scipy.stats import hypergeom import sys if __name__ == "__main__": curr_size = 6 assemblies = sa.load_all(dir=sys.argv[1]) intersect_num = [] for i in range(0, len(assemblies)-1): for id, pi in assemblies[i].pieces.items(): next_size = 6 intersect = 0 try: intersect = len(pi.neighbourhood.intersection(assemblies[i+1].pieces[id].neighbourhood)) intersect_num.append(intersect) except KeyError: pass for i in range(0, curr_size+1): print('Found', i, 'shared: ', sum(1 if x == i else 0 for x in intersect_num), round(100*sum(1 if x == i else 0 for x in intersect_num)/len(intersect_num), 2), \ '%; expected: ', round(100*hypergeom.pmf(i, 100, curr_size, curr_size), 2), '%')