Esempio n. 1
0
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")
Esempio n. 2
0
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")
Esempio n. 3
0
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")
Esempio n. 4
0
                        "--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)