예제 #1
0
def standard_all():
    Node.n = 100
    #    np.random.seed(521)
    init()
    a = dia()
    b = mlpt()
    c = deba()
    d = my(1)
    Node_G = [[a, "DIA"], [b, "MLPT"], [c, "DEBA"], [d, "EFTCG"]]
    standard_algorithm(Node.n, Node_G)
예제 #2
0
def avg_power():
    x = range(30, 110, 10)
    y = []
    y_dia = []
    y_mlpt = []
    y_deba = []
    y_eftcg = []
    for i in x:
        print("The number of nodes:", i)
        Node.n = i
        y_dia_ = []
        y_mlpt_ = []
        y_deba_ = []
        y_eftcg_ = []
        for j in range(3):
            print("The count:", j)
            np.random.seed(j)
            init()

            G, N = dia()
            a = Simulator.average_power(len(N), N)
            y_dia_.append(a)

            G, N = mlpt()
            a = Simulator.average_power(len(N), N)
            y_mlpt_.append(a)

            G, N = deba()
            a = Simulator.average_power(len(N), N)
            y_deba_.append(a)

            G, N = my(1)
            a = Simulator.average_power(len(N), N)
            y_eftcg_.append(a)
        ###########################################
        y_dia.append(np.mean(y_dia_))
        y_mlpt.append(np.mean(y_mlpt_))
        y_deba.append(np.mean(y_deba_))
        y_eftcg.append(np.mean(y_eftcg_))
    ###############################################
    y = [[y_dia, "DIA"], [y_mlpt, "MLPT"], [y_deba, "DEBA"],
         [y_eftcg, "EFTCG"]]
    plot.plot_performance(x, y, ylabel="Avarage Power")
예제 #3
0
def plot_dia():
    (Gdia, Ndia) = dia()
    plot.display_topology(Gdia, Ndia, "DIA")
예제 #4
0
def performance():
    x = range(30, 110, 10)
    num = 4  # number of evaluation-index
    times = 10  # number of iterations
    y_dia = [[] for x in range(num)]
    y_mlpt = [[] for x in range(num)]
    y_deba = [[] for x in range(num)]
    y_eftcg = [[] for x in range(num)]
    for i in x:
        print("The number of nodes:", i)
        Node.n = i
        y_dia_ = [[] for x in range(num)]
        y_mlpt_ = [[] for x in range(num)]
        y_deba_ = [[] for x in range(num)]
        y_eftcg_ = [[] for x in range(num)]
        for j in range(times):
            print("The count:", j)
            init()

            G, N = dia()
            a = Simulator.average_power(len(N), N)
            b = Simulator.average_degree(len(N), G)
            c = Simulator.average_hop(len(N), G)
            d = Simulator.survival_time(len(N), N, G)
            y_dia_[0].append(a)
            y_dia_[1].append(b)
            y_dia_[2].append(c)
            y_dia_[3].append(d)

            G, N = mlpt()
            a = Simulator.average_power(len(N), N)
            b = Simulator.average_degree(len(N), G)
            c = Simulator.average_hop(len(N), G)
            d = Simulator.survival_time(len(N), N, G)
            y_mlpt_[0].append(a)
            y_mlpt_[1].append(b)
            y_mlpt_[2].append(c)
            y_mlpt_[3].append(d)

            G, N = deba()
            a = Simulator.average_power(len(N), N)
            b = Simulator.average_degree(len(N), G)
            c = Simulator.average_hop(len(N), G)
            d = Simulator.survival_time(len(N), N, G)
            y_deba_[0].append(a)
            y_deba_[1].append(b)
            y_deba_[2].append(c)
            y_deba_[3].append(d)

            G, N = my(1)
            a = Simulator.average_power(len(N), N)
            b = Simulator.average_degree(len(N), G)
            c = Simulator.average_hop(len(N), G)
            d = Simulator.survival_time(len(N), N, G)
            y_eftcg_[0].append(a)
            y_eftcg_[1].append(b)
            y_eftcg_[2].append(c)
            y_eftcg_[3].append(d)
        ###########################################
        # power
        ##########################################
        y_dia[0].append(np.mean(y_dia_[0]))
        y_mlpt[0].append(np.mean(y_mlpt_[0]))
        y_deba[0].append(np.mean(y_deba_[0]))
        y_eftcg[0].append(np.mean(y_eftcg_[0]))
        ###########################################
        # degree
        ##########################################
        y_dia[1].append(np.mean(y_dia_[1]))
        y_mlpt[1].append(np.mean(y_mlpt_[1]))
        y_deba[1].append(np.mean(y_deba_[1]))
        y_eftcg[1].append(np.mean(y_eftcg_[1]))
        ###########################################
        # hop
        ##########################################
        y_dia[2].append(np.mean(y_dia_[2]))
        y_mlpt[2].append(np.mean(y_mlpt_[2]))
        y_deba[2].append(np.mean(y_deba_[2]))
        y_eftcg[2].append(np.mean(y_eftcg_[2]))
        ##########################################
        y_dia[3].append(np.mean(y_dia_[3]))
        y_mlpt[3].append(np.mean(y_mlpt_[3]))
        y_deba[3].append(np.mean(y_deba_[3]))
        y_eftcg[3].append(np.mean(y_eftcg_[3]))
    ###############################################
    y0 = [[y_dia[0], "DIA"], [y_mlpt[0], "MLPT"], [y_deba[0], "DEBA"],
          [y_eftcg[0], "EFTCG"]]
    y1 = [[y_dia[1], "DIA"], [y_mlpt[1], "MLPT"], [y_deba[1], "DEBA"],
          [y_eftcg[1], "EFTCG"]]
    y2 = [[y_dia[2], "DIA"], [y_mlpt[2], "MLPT"], [y_deba[2], "DEBA"],
          [y_eftcg[2], "EFTCG"]]
    y3 = [[y_dia[3], "DIA"], [y_mlpt[3], "MLPT"], [y_deba[3], "DEBA"],
          [y_eftcg[3], "EFTCG"]]
    plot.plot_performance(x, y0, ylabel="Average Transmit Power")
    plot.plot_performance(x, y1, ylabel="Average Node Degree")
    plot.plot_performance(x, y2, ylabel="Average Hop")
    plot.plot_performance(x, y3, ylabel="Network Lifetime")