Ejemplo n.º 1
0
def use_DFS():
    nums = [1, 2, 2, 2, 2, 2, 2, 2, 2, 2]
    dfs = DFS(10, nums, 3.5, False)
    start = time.time()
    all_solutions = dfs.get_solutions()
    end = time.time()
    if len(all_solutions) == 0:
        print("no solutions were found")
    for solution in all_solutions:
        print(solution)
    print(end - start)
Ejemplo n.º 2
0
 def base_trials(self, trials, test_cases, target_numbers, debug):
     solved = 0
     off = 0
     time_solved = 0
     time_unsolved = 0
     for i in range(trials):
         if i % (trials / 20) == 0:
             print(str(i * 100 / trials) + "%")
         start = time.clock()
         nums = test_cases[i]
         target = target_numbers[i]
         dfs = DFS(len(nums), nums, target, True)
         (closest, solution) = dfs.get_solutions()
         elapsed = time.clock() - start
         if closest == target:
             time_solved = time_solved + elapsed
             solved = solved + 1
         else:
             time_unsolved = time_unsolved + elapsed
             off = off + abs(target - closest)
         if debug:
             print("Closest: " + str(closest) + "( " +
                   str(abs(target - closest)) + " off)")
             print(solution)
             print("")
     print("Percentage Solved: " + str(100 * solved / trials) + "%")
     print("Average Error: " + str(off / trials))
     print("Total Time: " + str(time_solved + time_unsolved))
     if solved == 0:
         print("Average Time for Solved Case: " + str(0))
     else:
         print("Average Time for Solved Case: " + str(time_solved / solved))
     if trials - solved == 0:
         print("Average Time for Unsolved Case: " + str(0))
     else:
         print("Average Time for Unsolved Case: " + str(time_unsolved /
                                                        (trials - solved)))