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)
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)))