示例#1
0
def avg_degree():
    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_degree(len(N), G)
            y_dia_.append(a)

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

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

            G, N = my(1)
            a = Simulator.average_degree(len(N), G)
            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 Degree")
示例#2
0
def performance_k():
    x = range(40, 110, 10)
    num = 5  # number of evaluation-index
    times = 10  # number of iterations
    y_deba = [[] for x in range(num)]
    y_k1 = [[] for x in range(num)]
    y_k2 = [[] for x in range(num)]
    for i in x:
        print("The number of nodes:", i)
        Node.n = i
        y_deba_ = [[] for x in range(num)]
        y_k1_ = [[] for x in range(num)]
        y_k2_ = [[] for x in range(num)]
        for j in range(times):
            print("The count:", j)
            init()
            n = Node.n
            size_ = 10
            fault_node = random.sample(range(n - 2), size_)

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

            G, N = my(1)
            a = Simulator.average_power(len(N), N)
            b = Simulator.average_degree(len(N), G)
            c = Simulator.survival_time(len(N), N, G)
            d, e = fault_k(len(N), G, fault_node)
            y_k1_[0].append(a)
            y_k1_[1].append(b)
            y_k1_[2].append(c)
            y_k1_[3].append(d)
            y_k1_[4].append(e)

            G, N = my(2)
            a = Simulator.average_power(len(N), N)
            b = Simulator.average_degree(len(N), G)
            c = Simulator.survival_time(len(N), N, G)
            d, e = fault_k(len(N), G, fault_node)
            y_k2_[0].append(a)
            y_k2_[1].append(b)
            y_k2_[2].append(c)
            y_k2_[3].append(d)
            y_k2_[4].append(e)
        ###########################################
        # power
        ##########################################
        y_deba[0].append(np.mean(y_deba_[0]))
        y_k1[0].append(np.mean(y_k1_[0]))
        y_k2[0].append(np.mean(y_k2_[0]))
        ###########################################
        # degree
        ##########################################
        y_deba[1].append(np.mean(y_deba_[1]))
        y_k1[1].append(np.mean(y_k1_[1]))
        y_k2[1].append(np.mean(y_k2_[1]))
        ##########################################
        # survive time
        ##########################################
        y_deba[2].append(np.mean(y_deba_[2]))
        y_k1[2].append(np.mean(y_k1_[2]))
        y_k2[2].append(np.mean(y_k2_[2]))
        ###########################################
        # failure rate
        ##########################################
        y_deba[3].append(np.mean(y_deba_[3]))
        y_k1[3].append(np.mean(y_k1_[3]))
        y_k2[3].append(np.mean(y_k2_[3]))
        ###########################################
        # links rate
        ##########################################
        y_deba[4].append(np.mean(y_deba_[4]))
        y_k1[4].append(np.mean(y_k1_[4]))
        y_k2[4].append(np.mean(y_k2_[4]))
    ###############################################
    y0 = [
        [y_deba[0], "DEBA"],
        [y_k1[0], "EFTCG-1"],
        [y_k2[0], "EFTCG-2"],
    ]

    y1 = [
        [y_deba[1], "DEBA"],
        [y_k1[1], "EFTCG-1"],
        [y_k2[1], "EFTCG-2"],
    ]
    y2 = [
        [y_deba[2], "DEBA"],
        [y_k1[2], "EFTCG-1"],
        [y_k2[2], "EFTCG-2"],
    ]
    y3 = [
        [y_deba[3], "DEBA"],
        [y_k1[3], "EFTCG-1"],
        [y_k2[3], "EFTCG-2"],
    ]
    y4 = [
        [y_deba[4], "DEBA"],
        [y_k1[4], "EFTCG-1"],
        [y_k2[4], "EFTCG-2"],
    ]

    plot.plot_performance(x, y0, ylabel="Average Transmit Power")
    plot.plot_performance(x, y1, ylabel="Average Node Degree")
    plot.plot_performance(x, y2, ylabel="Network Lifetime")
    plot.plot_performance(x, y3, ylabel="Rate of Survival Nodes")
    plot.plot_performance(x, y4, ylabel="Rate of Connectable Node Pairs")
示例#3
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")