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