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
示例#2
0
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)])