Пример #1
0
def change_N(Max, k, end, n_loop):

    data = [[], [], []]

    for N in range(100, end, 100):

        mode2 = 0
        mode3 = 0

        for loop in range(n_loop):

            s = np.random.rand(N, 2) * Max
            e = np.random.rand(N, 2) * Max

            start_time = time.time()
            improvedMunkres.improved_munkres(s, e, Max, N, k)
            print("%d---%s seconds ---" % (N, time.time() - start_time))
            mode2 += time.time() - start_time

            start_time = time.time()
            ver2.improved_munkres(s, e, Max, N, k)
            print("%d---%s seconds ---" % (N, time.time() - start_time))
            mode3 += time.time() - start_time

        data[0].append(N)
        data[1].append(mode2 / n_loop)
        data[2].append(mode3 / n_loop)

    dataframe = pd.DataFrame(data)
    dataframe.to_csv("data.csv")
Пример #2
0
def change_k(Max, k_end, loop, N, color):
    i_time = [0] * (k_end - 1)
    d_time = [0] * (k_end - 1)

    for i in range(1, k_end):
        i_sum = 0
        d_sum = 0

        for j in range(loop):
            s = np.random.rand(N, 2) * Max
            e = np.random.rand(N, 2) * Max

            start_time = time.time()
            improvedMunkres.improved_munkres(s, e, Max, N, i)
            print("%d%%---%s seconds ---" %
                  ((i + 1) * (j + 1) /
                   ((k_end - 3) * loop) * 100, time.time() - start_time))
            i_sum += time.time() - start_time
        '''
            start_time = time.time()
            improvedMunkres.original_munkres(s, e, Max, N, i)
            print("%d%%---%s seconds ---" % ((i-1)/(k_end-1)*100 + j/loop*10, time.time() - start_time))
            d_sum += time.time() - start_time
        '''
        i_time[i - 1] = i_sum / loop
        # d_time[i-1] = d_sum/loop

    plt.title('Check time by changing K')
    a = np.array(i_time)
    plt.plot(list(range(1, k_end)),
             a[0:k_end],
             colors[color],
             label='improved ' + str(N))
    # plt.plot(list(range(1, k_end)), d_time, 'r.-', label='default')
    plt.xlabel('k')
    plt.ylabel('time(s)')
    plt.legend()
    plt.show()

    print(np.array(i_time))

    return i_time
Пример #3
0
def change_N(Max, k, end, n_loop):

    i_time = [0] * (end - k)
    d_time = [0] * (end - k)
    g_time = [0] * (end - k)

    for N in range(k, end):
        for loop in range(n_loop):

            s = np.random.rand(N, 2) * Max
            e = np.random.rand(N, 2) * Max

            start_time = time.time()
            improvedMunkres.improved_munkres(s, e, Max, N, k)
            print("---%s seconds ---" % (time.time() - start_time))
            i_time[N - k] += time.time() - start_time

            start_time = time.time()
            ver2.improved_munkres(s, e, Max, N, k)
            print("---%s seconds ---" % (time.time() - start_time))
            g_time[N - k] += time.time() - start_time

            start_time = time.time()
            ver2.original_munkres(s, e, Max, N, k)
            print("---%s seconds ---" % (time.time() - start_time))
            d_time[N - k] += time.time() - start_time

            list(range(k, end))

        i_time[N - k] /= n_loop
        g_time[N - k] /= n_loop
        d_time[N - k] /= n_loop

    plt.title('Execution time difference')

    plt.plot(list(range(k, end)), d_time, 'kv-', label='mode 1')
    plt.plot(list(range(k, end)), i_time, 'r.-', label='mode 2')
    plt.plot(list(range(k, end)), g_time, 'b.-', label='mode 3')
    plt.xlabel('number of robots')
    plt.ylabel('time(s)')
    plt.legend()
    plt.show()
Пример #4
0
def change_N_2(Max, k, end, n_loop):

    i_time = [0] * (end - k)
    d_time = [0] * (end - k)
    g_time = [0] * (end - k)

    for NNN in range(k, end):
        N = NNN * 50
        for loop in range(n_loop):

            s = np.random.rand(N, 2) * Max
            e = np.random.rand(N, 2) * Max

            start_time = time.time()
            improvedMunkres.improved_munkres(s, e, Max, N, k)
            print("---%s seconds ---" % (time.time() - start_time))
            i_time[NNN] += time.time() - start_time

            start_time = time.time()
            ver2.improved_munkres(s, e, Max, N, k)
            print("---%s seconds ---" % (time.time() - start_time))
            g_time[NNN] += time.time() - start_time

            # start_time = time.time()
            # ver2.original_munkres(s, e, Max, N, k)
            # print("---%s seconds ---" % (time.time() - start_time))
            # d_time[N-k] += time.time() - start_time

            list(range(k, end))

        i_time[NNN] /= n_loop
        g_time[NNN] /= n_loop
        # d_time[N-k] /= n_loop

    dataframe = pd.DataFrame(i_time)
    dataframe.to_csv("i_time.csv")
    dataframe = pd.DataFrame(g_time)
    dataframe.to_csv("g_time.csv")
Пример #5
0
for i in range(division, d_limit):
    buf1.append(0)
    buf2.append(0)

for l in range(loop):

    s = np.random.rand(N, 2) * Max
    e = np.random.rand(N, 2) * Max

    s1 = time.time()
    standard = improvedMunkres.original_munkres(s, e, Max, N, 1)
    print("%d #%dth standard: %f seconds" % (N, l, time.time() - s1))

    for k in range(division, d_limit):
        s1 = time.time()
        r1 = improvedMunkres.improved_munkres(s, e, Max, N, k)
        temp = (r1 - standard) / standard * 100
        buf1[k - division] += temp

        s1 = time.time()
        r1 = ver2.improved_munkres(s, e, Max, N, k)
        temp = (r1 - standard) / standard * 100
        buf2[k - division] += temp
        #print("----------- %f seconds s:%f i:%f %f" % (time.time() - s1, standard, r1, temp))

    err1 = []
    err2 = []

    for i in range(len(range(division, d_limit))):
        err1.append(100 - buf1[i] / loop)
        err2.append(100 - buf2[i] / loop)
Пример #6
0
import numpy as np
import matplotlib.pylab as plt

time_diff = 0

Max = 1
N = 100

for loop in range(100):

    s = np.random.rand(N, 2) * Max
    e = np.random.rand(N, 2) * Max

    # div 3
    st1 = time.time()
    improvedMunkres.improved_munkres(s, e, Max, N, 3)
    et1 = time.time() - st1

    st2 = time.time()
    improvedMunkres.original_munkres(s, e, Max, N, 3)
    et2 = time.time() - st2

    print("%f %f" % (et1, et2))
    '''
    print("trial : %d" % loop)
    print(et1/et2*100)
    time_diff += et1/et2*100
    '''
'''
print("Final::", end=' ')
print(time_diff/100)