def apply_astar(self): self.disable_buttons() astar = AStarSearch(app=self) astar.search() print("Solution Path:") for i, n in enumerate(astar.solution_path): if i == len(astar.solution_path) - 1: print(n, end='\n\n') else: print(n, end=' -> ') self.update_solution_on_canvas(astar.solution_path) print("Solution Cost: " + str(astar.solution_cost), end='\n\n') print("Expended Nodes:") for i, n in enumerate(astar.expanded): if i == len(astar.expanded) - 1: print(n) else: print(n, end=' -> ') self.reset_button.configure(state=NORMAL)
def __init__(self): AStarSearch.__init__(self) # call super __init__ function #dictionary from edges to list of times of known crimes (crime type, time) at that edge self.knownCrimes = edge_connects.readKnownCrimes()
children.append(move_piece(4, 1)) children.append(move_piece(4, 3)) children.append(move_piece(4, 5)) children.append(move_piece(4, 7)) # Should not happen else: print('Programming error! No zero was found in configuration', parent) exit(1) return children def print_solution(solution: AStarState): for item in solution.ancestors(): data = item.data for i in range(len(data)): if data[i] == 0: data[i] = ' ' break print(data[0], data[1], data[2]) print(data[3], data[4], data[5]) print(data[6], data[7], data[8]) print() asearch = AStarSearch([2, 8, 3, 1, 6, 4, 7, 0, 5], h_star, create_children) solution = asearch.search([1, 2, 3, 8, 0, 4, 7, 6, 5]) print_solution(solution)
def main(): astar = AStarSearch() algorithm = astar.getAlgorithm() simulate(getJourneys("journeys.txt", algorithm))