def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ if jailPosition == ghostPosition and noisyDistance == None: return 1 if jailPosition == ghostPosition or noisyDistance == None: return 0 return busters.getObservationProbability(noisyDistance, manhattanDistance(pacmanPosition,ghostPosition))
def update(self, observation, gameState): noisyDistance = observation pacmanPosition = gameState.getPacmanPosition() allPossible = util.Counter() for p in self.legalPositions: trueDistance = util.manhattanDistance(p, pacmanPosition) if noisyDistance != None and busters.getObservationProbability(noisyDistance, trueDistance) > 0: allPossible[p] = 1.0 allPossible.normalize() self.beliefs = allPossible
def observeUpdate(self, observation, gameState): noisyDistance = observation pacmanPosition = gameState.getPacmanPosition() allPossible = util.Counter() for p in self.legalPositions: trueDistance = util.manhattanDistance(p, pacmanPosition) if noisyDistance != None and \ busters.getObservationProbability(noisyDistance, trueDistance) > 0: allPossible[p] = 1.0 allPossible.normalize() self.beliefs = allPossible
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ if ghostPosition == jailPosition: return 1 if noisyDistance == None else 0 else: if noisyDistance == None: return 0 trueDistance = manhattanDistance(pacmanPosition, ghostPosition) return busters.getObservationProbability(noisyDistance, trueDistance)
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ "*** YOUR CODE HERE ***" if noisyDistance == None: return ghostPosition == jailPosition if noisyDistance != None and ghostPosition == jailPosition: return 0 trueDistance = manhattanDistance(pacmanPosition, ghostPosition) return busters.getObservationProbability(noisyDistance, trueDistance)
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ if ghostPosition == jailPosition: return 1.0 if noisyDistance == None else 0.0 elif noisyDistance == None: return 1.0 if ghostPosition == jailPosition else 0.0 else: return busters.getObservationProbability(noisyDistance, \ manhattanDistance(pacmanPosition, ghostPosition))
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ "*** YOUR CODE HERE ***" if ghostPosition == jailPosition: return 1.0 if noisyDistance is None else 0.0 elif noisyDistance is None: return 0.0 else: trueDistance = manhattanDistance(pacmanPosition, ghostPosition) return busters.getObservationProbability(noisyDistance, trueDistance)
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ # print(noisyDistance, pacmanPosition, ghostPosition, jailPosition) if noisyDistance == None: return int(ghostPosition == jailPosition) if ghostPosition == jailPosition: return int(noisyDistance == None) trueDistance = manhattanDistance(ghostPosition, pacmanPosition) return busters.getObservationProbability(noisyDistance, trueDistance)
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ if noisyDistance is None: return ghostPosition == jailPosition if ghostPosition == jailPosition: return 0 return busters.getObservationProbability( noisyDistance, manhattanDistance(pacmanPosition, ghostPosition))
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ "*** YOUR CODE HERE ***" #raiseNotDefined() if (noisyDistance==None and ghostPosition==jailPosition): return 1.0 elif (noisyDistance==None or ghostPosition==jailPosition): return 0.0 trueDistance = manhattanDistance(pacmanPosition, ghostPosition) return busters.getObservationProbability(noisyDistance, trueDistance)
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ "*** YOUR CODE HERE ***" if ghostPosition == jailPosition and noisyDistance is None: return 1 elif noisyDistance != None and ghostPosition == jailPosition: return 0 elif noisyDistance != None and ghostPosition != jailPosition: return busters.getObservationProbability(noisyDistance, manhattanDistance(pacmanPosition, ghostPosition)) return 0
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ "*** YOUR CODE HERE ***" if jailPosition == ghostPosition: if noisyDistance != None: return 0 else: return 1 if noisyDistance == None: return 0 return busters.getObservationProbability(noisyDistance, manhattanDistance(pacmanPosition, ghostPosition))
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ if noisyDistance == None and jailPosition == ghostPosition: return 1.0 elif noisyDistance == None and jailPosition != ghostPosition: return 0.0 elif noisyDistance != None and jailPosition == ghostPosition: return 0.0 return busters.getObservationProbability( noisyDistance, manhattanDistance(pacmanPosition, ghostPosition))
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ "*** YOUR CODE HERE ***" # raiseNotDefined() if ghostPosition == jailPosition and noisyDistance == None: return 1.0 if ghostPosition == jailPosition or noisyDistance == None: return 0.0 return busters.getObservationProbability( noisyDistance, manhattanDistance(pacmanPosition, ghostPosition))
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ truedist = manhattanDistance(pacmanPosition, ghostPosition) if noisyDistance == None: if ghostPosition == jailPosition: return 1 return 0 if ghostPosition == jailPosition: return 0 probreading = busters.getObservationProbability(noisyDistance, truedist) return probreading
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ if noisyDistance == None: return ghostPosition == jailPosition if ghostPosition == jailPosition: return 0 trueDist = manhattanDistance(pacmanPosition, ghostPosition) pNoisyGivenTrueDist = busters.getObservationProbability( noisyDistance, trueDist) return pNoisyGivenTrueDist
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ if (ghostPosition == jailPosition and noisyDistance == None): return 1 elif (ghostPosition == jailPosition and noisyDistance != None): return 0 if (noisyDistance == None): return 0 trueDistance = manhattanDistance(pacmanPosition, ghostPosition) return busters.getObservationProbability(noisyDistance, trueDistance)
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ "*** YOUR CODE HERE ***" if noisyDistance is None: return float(ghostPosition == jailPosition) if ghostPosition == jailPosition: return float(noisyDistance is None) estimatedDistance = manhattanDistance(pacmanPosition, ghostPosition) return busters.getObservationProbability(noisyDistance, estimatedDistance)
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ trueDistance = manhattanDistance(pacmanPosition, ghostPosition) if noisyDistance is not None: if ghostPosition == jailPosition: return 0 return busters.getObservationProbability(noisyDistance, trueDistance) else: if ghostPosition == jailPosition: return 1 return 0
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ if ghostPosition == jailPosition and noisyDistance == None: return 1 if ghostPosition == jailPosition and noisyDistance != None: return 0 if noisyDistance == None and ghostPosition != jailPosition: return 0 mdist = manhattanDistance(pacmanPosition, ghostPosition) return busters.getObservationProbability(noisyDistance, mdist)
def getObservationProb(self, noisyAction, oldGhostPos, newGhostPos, jailPosition): """ Return the probability P(noisyAction | oldGhostPos, newGhostPos). """ "*** YOUR CODE HERE ***" # print(noisyAction) # print(jailPosition) # print(oldGhostPos) # print(newGhostPos) return busters.getObservationProbability(noisyAction, oldGhostPos, newGhostPos) raiseNotDefined()
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ "*** YOUR CODE HERE ***" if ghostPosition != jailPosition and noisyDistance == None: return 0 if ghostPosition == jailPosition and noisyDistance != None: return 0 if ghostPosition == jailPosition and noisyDistance == None: return 1 d = manhattanDistance(pacmanPosition, ghostPosition) prob = busters.getObservationProbability(noisyDistance, d) return prob
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ if noisyDistance == None: if ghostPosition == jailPosition: return 1 return 0 oPGD = busters.getObservationProbability( noisyDistance, manhattanDistance(pacmanPosition, ghostPosition)) if oPGD == None or ghostPosition == jailPosition: return 0 return oPGD
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ if noisyDistance == None: if ghostPosition == jailPosition: return 1 # P(none | g = j) else: return 0 # P(none | g != j) elif noisyDistance != None: if ghostPosition == jailPosition: return 0 #P(!none | g = j) else: return busters.getObservationProbability(noisyDistance, manhattanDistance(ghostPosition, pacmanPosition))
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ # "*** YOUR CODE HERE ***" if jailPosition == ghostPosition: if noisyDistance is None: return 1 return 0 elif noisyDistance is None: return 0 trueDistance = manhattanDistance(pacmanPosition, ghostPosition) prob = busters.getObservationProbability(noisyDistance, trueDistance) return prob
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ "*** YOUR CODE HERE ***" if (ghostPosition == jailPosition) & (noisyDistance == None): return 1 if (ghostPosition == jailPosition) & (type(noisyDistance) != None): return 0 if (ghostPosition != jailPosition) & (noisyDistance == None): return 0 if (ghostPosition != jailPosition) & (type(noisyDistance) != None): trueDistance = manhattanDistance(pacmanPosition, ghostPosition) return busters.getObservationProbability(noisyDistance, trueDistance)
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ "*** YOUR CODE HERE ***" if ghostPosition == jailPosition: if noisyDistance == None: return 1.0 else: return 0.0 if noisyDistance == None and ghostPosition != jailPosition: return 0.0 prob_noisy_given_true = busters.getObservationProbability(noisyDistance, manhattanDistance(pacmanPosition, ghostPosition)) return prob_noisy_given_true
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ "*** YOUR CODE HERE ***" if noisyDistance == None and ghostPosition == jailPosition: return 1 elif noisyDistance == None and ghostPosition != jailPosition: return 0 elif noisyDistance != None and ghostPosition == jailPosition: return 0 else: return busters.getObservationProbability(noisyDistance, manhattanDistance(pacmanPosition, ghostPosition))
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ if (noisyDistance == None): if (ghostPosition == jailPosition): return 1.0 return 0.0 else: if (ghostPosition == jailPosition): return 0.0 trueDistance = manhattanDistance(pacmanPosition, ghostPosition) return busters.getObservationProbability(noisyDistance, trueDistance)
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ "*** YOUR CODE HERE ***" if ghostPosition == jailPosition: if noisyDistance == None: return 1.0 else: return 0.0 if noisyDistance == None: return 0.0 trueDistance = manhattanDistance(pacmanPosition, ghostPosition) return busters.getObservationProbability(noisyDistance, trueDistance)
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ "*** YOUR CODE HERE ***" if noisyDistance == None and jailPosition == ghostPosition: return 1.0 if noisyDistance == None or ghostPosition == jailPosition: return 0.0 trueDistance = int(manhattanDistance(ghostPosition, pacmanPosition)) p = busters.getObservationProbability(noisyDistance, trueDistance) return p raiseNotDefined()
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ "*** YOUR CODE HERE ***" # raiseNotDefined() if ghostPosition == jailPosition: return 1 if noisyDistance == None else 0 if noisyDistance == None: return 0 distance = util.manhattanDistance(ghostPosition, pacmanPosition) return busters.getObservationProbability(noisyDistance, distance)
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ "*** YOUR CODE HERE ***" truedist = manhattanDistance(pacmanPosition, ghostPosition) if noisyDistance == None: if ghostPosition != jailPosition: return 0 return 1 else: if ghostPosition == jailPosition: return 0 return busters.getObservationProbability(noisyDistance, truedist)
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ "*** YOUR CODE HERE ***" if ghostPosition == jailPosition: return 1 trueDistance = manhattanDistance(pacmanPosition, ghostPosition) # print "observation probability: " distSensor = busters.getObservationProbability(noisyDistance, trueDistance) if distSensor == None: return 1 return distSensor
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ "*** YOUR CODE HERE ***" if noisyDistance == None: # distense sensor if ghostPosition == jailPosition: return 1 else: return 0 elif ghostPosition == jailPosition: return 0 trueDistance = manhattanDistance(pacmanPosition, ghostPosition) observationProb = busters.getObservationProbability(noisyDistance, trueDistance) return observationProb
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ # need to explicity check None because 0 is falsy if noisyDistance == None and ghostPosition == jailPosition: return 1 elif noisyDistance == None and ghostPosition != jailPosition: return 0 elif noisyDistance != None and ghostPosition == jailPosition: return 0 manDist = manhattanDistance(pacmanPosition, ghostPosition) return busters.getObservationProbability(noisyDistance, manDist)
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ "*** YOUR CODE HERE ***" if ghostPosition == jailPosition: if noisyDistance == None: return 1 else: return 0 if noisyDistance == None: return 0 fullDistance = manhattanDistance(pacmanPosition, ghostPosition) probNoisyifTrue = busters.getObservationProbability(noisyDistance, fullDistance) return probNoisyifTrue
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ if noisyDistance is None: if ghostPosition == jailPosition: return 1.0 return 0.0 elif ghostPosition == jailPosition: return 0.0 distance = manhattanDistance(pacmanPosition, ghostPosition) probability = busters.getObservationProbability( noisyDistance, distance) return probability
def getObservationProb(self, noisyDistance, pacmanPosition, ghostPosition, jailPosition): """ Return the probability P(noisyDistance | pacmanPosition, ghostPosition). """ "*** YOUR CODE HERE ***" #special cases handling: if ghost in jail, noisydistance is None if ghostPosition == jailPosition: if noisyDistance == None: return 1 else: return 0 else: if noisyDistance == None: return 0 else: #P(noisyDistance | pacmanPosition, ghostPosition) = #P(noisyDistance | trueDistance) trueDistance = manhattanDistance(ghostPosition, pacmanPosition) return busters.getObservationProbability(noisyDistance, trueDistance)