#update the number of nodes self._num_nodes += 1 return new_node_neighbors def make_graph_dpa(n, m): graph = make_complete_graph(m) # 1. добавляем (n - m) рёбер # 2. для каждого нового ребра добавляем m рандомных связей for i in xrange(m, n): count = 0 edges = set() while count < m - 1: edge = random.randint(0, n) if edge not in edges: edges.add(edge) count += 1 graph[i] = edges return graph graph = make_graph_dpa(27770, 13) #graph = make_graph_dpa(1000, 5) print 'graph: ', graph distribution = normalized_in_degree_distribution(graph) print 'distribution: ', distribution build_plot(distribution)
n = len(graph) m = 0 for node in graph: m += len(graph[node]) return n, m / float(n) if os.path.isfile('graph_distribution.txt'): print 'graph_distribution.txt is exist' file = open('graph_distribution.txt', 'r') distribution = eval(open('graph_distribution.txt').read()) #distribution = file.read() file.close() else: print 'graph_distribution.txt is not exist' citation_graph = load_graph(CITATION_URL) distribution = normalized_in_degree_distribution(citation_graph) with open('graph_distribution.txt', 'w') as outfile: json.dump(distribution, outfile) outfile.close() #distribution = normalized_in_degree_distribution(citation_graph) print 'distribution: ', distribution print print 'n and m for citation graph: ', restore_graph_params(load_graph(CITATION_URL)) build_plot(distribution)
#update the number of nodes self._num_nodes += 1 return new_node_neighbors def make_graph_dpa(n, m): graph = make_complete_graph(m) # 1. добавляем (n - m) рёбер # 2. для каждого нового ребра добавляем m рандомных связей for i in xrange(m, n): count = 0 edges = set() while count < m-1: edge = random.randint(0, n) if edge not in edges: edges.add(edge) count += 1 graph[i] = edges return graph graph = make_graph_dpa(27770, 13) #graph = make_graph_dpa(1000, 5) print 'graph: ', graph distribution = normalized_in_degree_distribution(graph) print 'distribution: ', distribution build_plot(distribution)
n = len(graph) m = 0 for node in graph: m += len(graph[node]) return n, m / float(n) if os.path.isfile('graph_distribution.txt'): print 'graph_distribution.txt is exist' file = open('graph_distribution.txt', 'r') distribution = eval(open('graph_distribution.txt').read()) #distribution = file.read() file.close() else: print 'graph_distribution.txt is not exist' citation_graph = load_graph(CITATION_URL) distribution = normalized_in_degree_distribution(citation_graph) with open('graph_distribution.txt', 'w') as outfile: json.dump(distribution, outfile) outfile.close() #distribution = normalized_in_degree_distribution(citation_graph) print 'distribution: ', distribution print print 'n and m for citation graph: ', restore_graph_params( load_graph(CITATION_URL)) build_plot(distribution)