示例#1
0
    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)
示例#2
0
	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()
示例#3
0
        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)
示例#4
0
def main():	
	astar = AStarSearch()
	algorithm = astar.getAlgorithm()
	simulate(getJourneys("journeys.txt", algorithm))