diff options
Diffstat (limited to 'src/environment.py')
-rw-r--r-- | src/environment.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/environment.py b/src/environment.py new file mode 100644 index 0000000..94f9cbf --- /dev/null +++ b/src/environment.py @@ -0,0 +1,56 @@ +# environment.py +# -------------- +# Licensing Information: You are free to use or extend these projects for +# educational purposes provided that (1) you do not distribute or publish +# solutions, (2) you retain this notice, and (3) you provide clear +# attribution to UC Berkeley, including a link to http://ai.berkeley.edu. +# +# Attribution Information: The Pacman AI projects were developed at UC Berkeley. +# The core projects and autograders were primarily created by John DeNero +# (denero@cs.berkeley.edu) and Dan Klein (klein@cs.berkeley.edu). +# Student side autograding was added by Brad Miller, Nick Hay, and +# Pieter Abbeel (pabbeel@cs.berkeley.edu). + + +#!/usr/bin/python + +class Environment: + + def getCurrentState(self): + """ + Returns the current state of enviornment + """ + abstract + + def getPossibleActions(self, state): + """ + Returns possible actions the agent + can take in the given state. Can + return the empty list if we are in + a terminal state. + """ + abstract + + def doAction(self, action): + """ + Performs the given action in the current + environment state and updates the enviornment. + + Returns a (reward, nextState) pair + """ + abstract + + def reset(self): + """ + Resets the current state to the start state + """ + abstract + + def isTerminal(self): + """ + Has the enviornment entered a terminal + state? This means there are no successors + """ + state = self.getCurrentState() + actions = self.getPossibleActions(state) + return len(actions) == 0 |