def test_manhattan(n_iter): for _ in range(n_iter): start = timeit.default_timer() Solve(algorithm='A*', heuristic='manhattan', _type='snail', solvable=True, size=3, iterations=100, interactive=False, filename=None) print(f"Time to execute: {timeit.default_timer() - start}\n")
def test_unsolvable_row(n_iter): for _ in range(n_iter): start = timeit.default_timer() Solve(algorithm='A*', heuristic='euclidean', _type='row', solvable=False, size=3, iterations=100, interactive=False, filename=None) print(f"Time to execute: {timeit.default_timer() - start}\n")
def test_snail(): for file in os.listdir("./puzzles/snail"): start = timeit.default_timer() print(f"Test for file {file}:") filename = os.path.join("./puzzles/snail", file) Solve(algorithm='A*', heuristic='euclidean', _type='snail', solvable=True, size=3, iterations=1, interactive=False, filename=filename) print(f"Time to execute: {timeit.default_timer() - start}\n")
"--demo", action="store_true", default=True, help="Print every step to the solution.") args = parser.parse_args() if args.interactive is False and args.size is None and args.filename is None: print( "One of -i or --size or --filename is required. See -h for help.") sys.exit(1) solvable = args.solvable if not args.unsolvable else False try: Solve(algorithm=args.algorithm, heuristic=args.heuristic, _type=args.type, solvable=solvable, size=args.size, iterations=args.iterations, interactive=args.interactive, filename=args.filename, demo=args.demo) except Exception as e: print(f"Error: {e}") sys.exit(2) except: print("Error while solving. Exiting...") sys.exit(3)