[SOLVED] algorithm game html AI graph search.py (original)

$25

File Name: algorithm_game_html_AI_graph_search.py_(original).zip
File Size: 461.58 KB

5/5 - (1 vote)

search.py (original)

# search.py
#
# Licensing Information: Please do not distribute or publish solutions to this
# project. You are free to use and extend these projects for educational
# purposes. The Pacman AI projects were developed at UC Berkeley, primarily by
# John DeNero ([email protected]) and Dan Klein ([email protected]).
# For more info, see http://inst.eecs.berkeley.edu/~cs188/sp09/pacman.html

In search.py, you will implement generic search algorithms which are called
by Pacman agents (in searchAgents.py).

import util

class SearchProblem:

This class outlines the structure of a search problem, but doesnt implement
any of the methods (in object-oriented terminology: an abstract class).

You do not need to change anything in this class, ever.

def getStartState(self):

Returns the start state for the search problem

util.raiseNotDefined()

def isGoalState(self, state):

state: Search state

Returns True if and only if the state is a valid goal state

util.raiseNotDefined()

def getSuccessors(self, state):

state: Search state

For a given state, this should return a list of triples,
(successor, action, stepCost), where successor is a
successor to the current state, action is the action
required to get there, and stepCost is the incremental
cost of expanding to that successor

util.raiseNotDefined()

def getCostOfActions(self, actions):

actions: A list of actions to take

This method returns the total cost of a particular sequence of actions.The sequence must
be composed of legal moves

util.raiseNotDefined()

def tinyMazeSearch(problem):

Returns a sequence of moves that solves tinyMaze.For any other
maze, the sequence of moves will be incorrect, so only use this for tinyMaze

from game import Directions
s = Directions.SOUTH
w = Directions.WEST
return[s,s,w,s,w,w,s,w]

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:, problem.getStartState()
print Is the start a goal?, problem.isGoalState(problem.getStartState())
print Starts successors:, problem.getSuccessors(problem.getStartState())

*** YOUR CODE HERE ***
util.raiseNotDefined()

def breadthFirstSearch(problem):
Search the shallowest nodes in the search tree first. [p 81]
*** YOUR CODE HERE ***
util.raiseNotDefined()

def uniformCostSearch(problem):
Search the node of least total cost first.
*** YOUR CODE HERE ***
util.raiseNotDefined()

def nullHeuristic(state, problem=None):

A heuristic function estimates the cost from the current state to the nearest
goal in the provided SearchProblem.This heuristic is trivial.

return 0

def aStarSearch(problem, heuristic=nullHeuristic):
Search the node that has the lowest combined cost and heuristic first.
*** YOUR CODE HERE ***
util.raiseNotDefined()

# Abbreviations
bfs = breadthFirstSearch
dfs = depthFirstSearch
astar = aStarSearch
ucs = uniformCostSearch

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] algorithm game html AI graph search.py (original)
$25