예제 #1
0
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
예제 #2
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}")