def connect_vs_p(n, trials): ''' Plot average connectedness of graph w/ degree (n) over p = 0:100, (trials) times''' connected = [] xs = [i / 100 for i in xrange(101)] vs = [Vertex('v' + str(i)) for i in xrange(n)] for i in xs: print i subconnected = [] for j in xrange(trials): g = RandomGraph(vs) g.add_random_edges(i) if g.is_connected(): subconnected.append(1) else: subconnected.append(0) connected.append(subconnected) ys = [sum(sub) / trials for sub in connected] return xs, ys
import igraph, math, random from Units import * from graph_helpers import * from chisel_module_helpers import * from generate_chisel import * from RandomGraph import * if __name__ == "__main__": rg = RandomGraph(L=0) rg.build_graph(N=30, IN_W=100) write_random_graph(rg) # visulaize into graph rg.add_visualization_features() rg.save_graph_pdf() # N = 3 # g = Graph(n=N,directed=True) # # generate units # g.vs[0]["unit"] = Unit(type=UnitType.COMPUTE) # g.vs[1]["unit"] = Unit(type=UnitType.MEMORY) # g.vs[2]["unit"] = Unit(type=UnitType.NETWORK) # # connect units based on io # # algorithm for this...? # for i in range(N-1): # g.add_edges([(i,i+1)]) # # r/w memory # if (g.vs[i]["unit"].type == UnitType.MEMORY): # g.add_edges([(i,i-1)])