Module pacai.student.search
In this file, you will implement generic search algorithms which are called by Pacman agents.
Functions
def aStarSearch(problem, heuristic)
-
Expand source code
def aStarSearch(problem, heuristic): """ Search the node that has the lowest combined cost and heuristic first. """ # *** Your Code Here *** raise NotImplementedError()
Search the node that has the lowest combined cost and heuristic first.
def breadthFirstSearch(problem)
-
Expand source code
def breadthFirstSearch(problem): """ Search the shallowest nodes in the search tree first. [p 81] """ # *** Your Code Here *** raise NotImplementedError()
Search the shallowest nodes in the search tree first. [p 81]
def depthFirstSearch(problem)
-
Expand source code
def depthFirstSearch(problem): """ Search the deepest nodes in the search tree first [p 85]. Your search algorithm needs to return a list of actions that reaches the goal. Make sure to implement a graph search algorithm [Fig. 3.7]. To get started, you might want to try some of these simple commands to understand the search problem that is being passed in: ``` print("Start: %s" % (str(problem.startingState()))) print("Is the start a goal?: %s" % (problem.isGoal(problem.startingState()))) print("Start's successors: %s" % (problem.successorStates(problem.startingState()))) ``` """ # *** Your Code Here *** raise NotImplementedError()
Search the deepest nodes in the search tree first [p 85].
Your search algorithm needs to return a list of actions that reaches the goal. Make sure to implement a graph search algorithm [Fig. 3.7].
To get started, you might want to try some of these simple commands to understand the search problem that is being passed in:
print("Start: %s" % (str(problem.startingState()))) print("Is the start a goal?: %s" % (problem.isGoal(problem.startingState()))) print("Start's successors: %s" % (problem.successorStates(problem.startingState())))
def uniformCostSearch(problem)
-
Expand source code
def uniformCostSearch(problem): """ Search the node of least total cost first. """ # *** Your Code Here *** raise NotImplementedError()
Search the node of least total cost first.