increment = 10000 start = 1000 profile.start_clock() file = open('csv/sparse_graphs.csv', 'w') file.write("Nodes GenerateTime SaveTime FileSize\n") #The +1 on the max size is just to be sure we include the max size in our range. for i in range(start,max_size+1,increment): edge_probability = 1.0/i; scaling = 10 #I only want my graph to be dense with a small probability (average density = 0.03125*#nodes) G = zen.generating.rgm.erdos_renyi(i,edge_probability*scaling) G.compact() filename = 'sparse' + str(i) + ".graph" #Profiling generation time difftime = profile.get_time_from_clock() gentime = str(difftime.seconds) + "." + str(difftime.microseconds/1000) print "Graph " + filename + " has taken " + gentime + " to generate." #Saving the generated graph edgelist.write(G,'storage/edgelist/sparse/' + filename) filesize = profile.filesize('storage/edgelist/sparse/' + filename) filesize = filesize/1024 #Profiling IO time difftime = profile.get_time_from_clock() savetime = str(difftime.seconds) + "." + str(difftime.microseconds/1000) print "Graph " + filename + " (" + str(filesize) + "kB), has taken " + savetime + " seconds to save on disk." file.write(str(i) + " " + gentime + " " + savetime + " " + str(filesize) + "\n")
profile.start_clock() file = open('csv/random_graphs.csv', 'w') file.write("Nodes GenerateTime SaveTime FileSize\n") #The +1 on the max size is just to be sure we include the max size in our range. for i in range(start,max_size+1,increment): edge_probability_1 = random.uniform(0,1.0) edge_probability_2 = random.uniform(0,1.0) edge_probability_3 = random.uniform(0,1.0) edge_probability_4 = random.uniform(0,1.0) edge_probability_5 = random.uniform(0,1.0) #I only want my graph to be dense with a small probability (average density = 0.03125*#nodes) G = zen.generating.rgm.erdos_renyi(i,edge_probability_1*edge_probability_2*edge_probability_3*edge_probability_4*edge_probability_5 * 0.1) G.compact() filename = 'random' + str(i) + ".graph" #Profiling generation time difftime = profile.get_time_from_clock() gentime = str(difftime.seconds) + "." + str(difftime.microseconds/1000) print "Graph " + filename + " has taken " + gentime + " to generate." #Saving the generated graph edgelist.write(G,'storage/edgelist/random/' + filename) filesize = profile.filesize('storage/edgelist/random/' + filename) filesize = filesize/1024 #Profiling IO time difftime = profile.get_time_from_clock() savetime = str(difftime.seconds) + "." + str(difftime.microseconds/1000) print "Graph " + filename + " (" + str(filesize) + "kB), has taken " + savetime + " seconds to save on disk." file.write(str(i) + " " + gentime + " " + savetime + " " + str(filesize) + "\n")
max_size = 41000 increment = 10000 start = 1000 profile.start_clock() file = open("csv/barabasi_graphs.csv", "w") file.write("GraphName GenerateTime SaveTime FileSize\n") # The +1 on the max size is just to be sure we include the max size in our range. for i in range(start, max_size + 1, increment): # Defines the maximum degree per node G = zen.generating.barabasi_albert(i, 1) G.compact() filename = "barabasi" + str(i) + ".graph" # Profiling generation time difftime = profile.get_time_from_clock() gentime = str(difftime.seconds) + "." + str(difftime.microseconds / 1000) print "Graph " + filename + " has taken " + gentime + " to generate." # Saving the generated graph edgelist.write(G, "storage/edgelist/barabasi/" + filename) filesize = profile.filesize("storage/edgelist/barabasi/" + filename) filesize = filesize / 1024 # Profiling IO time difftime = profile.get_time_from_clock() savetime = str(difftime.seconds) + "." + str(difftime.microseconds / 1000) print "Graph " + filename + " (" + str(filesize) + "kB), has taken " + savetime + " seconds to save on disk." file.write(filename + " " + gentime + " " + savetime + " " + str(filesize) + "\n")
#Define edges for each node for j in range(i): k = 0 while k < max_degree: x = random.randint(1,max_degree) x = round(random.uniform(0,1)*random.uniform(0,1)*x) other_node = (j+x) % i if not G.has_edge(j,other_node): G.add_edge(j,other_node) k+=1 G.compact() filename = 'metric' + str(i) + ".graph" #Profiling generation time difftime = profile.get_time_from_clock() gentime = str(difftime.seconds) + "." + str(difftime.microseconds/1000) print "Graph " + filename + " has taken " + gentime + " to generate." #Saving the generated graph edgelist.write(G,'storage/edgelist/metric/' + filename) filesize = profile.filesize('storage/edgelist/metric/' + filename) filesize = filesize/1024 #Profiling IO time difftime = profile.get_time_from_clock() savetime = str(difftime.seconds) + "." + str(difftime.microseconds/1000) print "Graph " + filename + " (" + str(filesize) + "kB), has taken " + savetime + " seconds to save on disk." file.write(str(i) + " " + gentime + " " + savetime + " " + str(filesize) + "\n")
profile.start_clock() file = open("csv/dense_graphs.csv", "w") file.write("Nodes GenerateTime SaveTime FileSize\n") # The +1 on the max size is just to be sure we include the max size in our range. for i in range(start, max_size + 1, increment): edge_probability = random.uniform(0, 1.0) scaling = 0.05 base_value = 0.05 # Graphs of this category are potentially very big (average node degree = 0.0725*#nodes), which means the 20,000 node graph may have up to 4,000,000 edges. # which would be a graph of size 600MB. G = zen.generating.rgm.erdos_renyi(i, edge_probability * scaling + base_value) G.compact() filename = "dense" + str(i) + ".graph" # Profiling generation time difftime = profile.get_time_from_clock() gentime = str(difftime.seconds) + "." + str(difftime.microseconds / 1000) print "Graph " + filename + " has taken " + gentime + " to generate." # Saving the generated graph edgelist.write(G, "storage/edgelist/dense/" + filename) filesize = profile.filesize("storage/edgelist/dense/" + filename) filesize = filesize / 1024 # Profiling IO time difftime = profile.get_time_from_clock() savetime = str(difftime.seconds) + "." + str(difftime.microseconds / 1000) print "Graph " + filename + " (" + str(filesize) + "kB), has taken " + savetime + " seconds to save on disk." file.write(str(i) + " " + gentime + " " + savetime + " " + str(filesize) + "\n")