def capture(topology, wavelengths, iterations, arrivals, departures, reference): # Use a fixed seed if you want to see the real difference sim = Simulator(topology, wavelengths, iterations, arrivals, departures, reference, None) # snapshot = sim.simple_run(3000) # samples = random.sample(snapshot, min(3000, len(snapshot))) samples = sim.simple_run(3000) if len(samples) > 10: statistics = stats(map(lambda x: float(x[0]) / float(x[1]), samples)) average, confidence = statistics[0], statistics[-1] print statistics print "Collected:", average, confidence return average, confidence else: return 0, 0
for distance in methods[method]: distances = methods[method][distance] normalizer = max([norm[k][distance] for k in norm]) print "Method", idx, "at Hop", distance, "has", len(distances), "samples" methods[method][distance] = sum(distances) / float(normalizer) points = methods[method].items() points.sort() x = map(lambda x: x[0], points) y = map(lambda x: x[1], points) stats(y) print points print "Plotting", idx, fmts[idx] print x, y plot(x, y, fmts[idx]) # bar(x, y, 0.15, color=fmts[idx]) rc("text", usetex=True) rc("font", family="serif") xlabel(r"\textit{Number of hops}") ylabel(r"\textit{Average interference level}")