Ejemplo n.º 1
0
for i in range(0, len(a2_list_lengths)):
    a2_random_lists = random_list_gen.get_lists(100, a2_list_lengths[i])
    start = time.clock()
    for random_list in a2_random_lists:
        better_enumeration(random_list)
    elapsed = time.clock() - start
    out.write("%f, " % elapsed)
out.write_line('')

out.write("Divide and Conquer, ")
for i in range(0, len(a3_list_lengths)):
    a3_random_lists = random_list_gen.get_lists(100, a3_list_lengths[i])
    start = time.clock()
    for random_list in a3_random_lists:
        divide_and_conquer(random_list)
    elapsed = time.clock() - start
    out.write("%f, " % elapsed)
out.write_line('')

out.write("Dynamic Programming, ")
for i in range(0, len(a4_list_lengths)):
    a4_random_lists = random_list_gen.get_lists(100, a4_list_lengths[i])
    start = time.clock()
    for random_list in a4_random_lists:
        dynamic_programming(random_list)
    elapsed = time.clock() - start
    out.write("%f, " % elapsed)
out.write_line('')

out.close()
Ejemplo n.º 2
0
class Problem8:

    def __init__(self):
        self.time_out = FileWriter("Problem8Output.csv")

    def __delete__(self):
        self.time_out.close()

    def run(self):

        slow_modifier = 3
        greedy_modifier = 100000
        dp_modifier = 100

        # V_slow = [1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30]
        V_slow = []
        V_greedy = []
        V_dp = []

        self.time_out.write(", ")

        for i in range(10, 510, 10):
            self.time_out.write("%d, " % i)
            V_slow.append(self.get_V_of_length_for_modifier(i, slow_modifier))
            V_greedy.append(self.get_V_of_length_for_modifier(i, greedy_modifier))
            V_dp.append(self.get_V_of_length_for_modifier(i, dp_modifier))

        self.time_out.write_line("")

        A_slow = 10 * slow_modifier
        A_greedy = 10 * greedy_modifier
        A_dp = 10 * dp_modifier

        self.time_out.write("CHANGESLOW, ")

        for V in V_slow:
            start_slow = time.clock()
            (denominations_slow, total_slow) = changeslow(V, A_slow)
            duration_slow = time.clock() - start_slow
            self.time_out.write("%f, " % duration_slow)

        self.time_out.write("\nCHANGEGREEDY, ")

        for V in V_greedy:
            start_greedy = time.clock()
            (denominations_greedy, total_greedy) = changegreedy(V, A_greedy)
            duration_greedy = time.clock() - start_greedy
            self.time_out.write("%f, " % duration_greedy)

        self.time_out.write("\nCHANGEDP, ")

        for V in V_dp:
            start_dp = time.clock()
            (denominations_dp, total_dp) = changedp(V, A_dp)
            duration_dp = time.clock() - start_dp
            self.time_out.write("%f, " % duration_dp)

        self.time_out.write_line("")

        self.time_out.close()

    def get_V_of_length_for_modifier(self, length, modifier):

        V = [1]

        for i in range(1, length):
            V.append(V[i - 1] + i * modifier)

        return V
Ejemplo n.º 3
0
from file_writer.file_writer import FileWriter
from problem4.problem4 import Problem4
from problem5.problem5 import Problem5
from problem6.problem6 import Problem6


time_out = FileWriter('Problem7Output.csv')

problem4 = Problem4(time_out)
problem5 = Problem5(time_out)
problem6 = Problem6(time_out)
problem8 = Promblem8()

problem4.run()
problem5.run()
problem6.run()
problem8.run()

time_out.close()
Ejemplo n.º 4
0
data = fileReader.read_data()
fileReader.close()

fileWriter = FileWriter(file_name + "change.txt")

for i in data:
    V, A = i

    fileWriter.write_line("for problem:")
    fileWriter.write_result((V, A))
    fileWriter.write_line("results are: \n")

    if A <= 30:
        result = changeslow(V, A)
        fileWriter.write("changeslow:\n")
        fileWriter.write_result(result)
    else:
        fileWriter.write_line("changeslow cannot run on problems of size %d in a timely manner" % A)

    result = changegreedy(V, A)
    fileWriter.write("changegreedy:\n")
    fileWriter.write_result(result)

    result = changedp(V, A)
    fileWriter.write("changedp:\n")
    fileWriter.write_result(result)

    fileWriter.write_line("----------------------")

fileWriter.close()