Exemplo n.º 1
0
def main_for_a_star():
    grid_world = GridWorld(40, 40)

    Functions.create_obstacles_from_hex(grid_world)
    # Functions.create_random_obstacles(grid_world, 0.205)
    # Functions.create_fixed_obstacles(grid_world, 6)
    grid_world.scan_grid_and_generate_graph()
    grid_world.print_graph()
    graph_hex = grid_world.save_graph()
    grid_world.create_grid_ui(grid_world.m, grid_world.n,
                              (grid_world.start_x, grid_world.start_y),
                              (grid_world.end_x, grid_world.end_y),
                              grid_world.obstacles)
    best_path_length = run_a_star(grid_world)
    for r in grid_world.a_star_route:
        color = r[1]
        if color == grid_world.color_visited:
            grid_world.a_star_visited_count += 1
        if color == grid_world.color_final_path2:
            grid_world.a_star_opened_count += 1
    print(best_path_length, grid_world.a_star_visited_count,
          grid_world.a_star_opened_count)
    grid_world.dfs_route = []
    grid_world.move_on_given_route_a_star()
    tk.mainloop()
Exemplo n.º 2
0
        update_pheromone(all_paths)
        evaporation()
        best_path = get_best_path(best_path, current_best_path)
        print(i, len(best_path), len(current_best_path))
        if len(best_path) == 0:
            return
        grid_world.aco_best_route = best_path


grid_world = GridWorld(40, 40)
# Functions.create_grid_from_hex(grid_world)
Functions.create_random_obstacles(grid_world, 0.105)
# Functions.create_fixed_obstacles(grid_world, 6)
grid_world.scan_grid_and_generate_graph()
grid_world.print_graph()
grid_world.save_graph()

pheromone_table = dict()
init_pheromone(grid_world)

alpha = 2
beta = 5

run_aco(grid_world)

print(grid_world.aco_best_route)

grid_world.create_grid_ui(grid_world.m, grid_world.n,
                          (grid_world.start_x, grid_world.start_y),
                          (grid_world.end_x, grid_world.end_y),
                          grid_world.obstacles)