Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- noisyDistance = observation
- emissionModel = busters.getObservationDistribution(noisyDistance)
- pacmanPosition = gameState.getPacmanPosition()
- "*** YOUR CODE HERE ***"
- allPossible = util.Counter()
- #beliefs = self.getBeliefDistribution()
- if noisyDistance == None:
- #allPossible = util.Counter()
- #allPossible[self.getJailPosition] = 1
- self.particles = [self.getJailPosition() for i in range(self.numParticles)]
- else: # Like observe method in ExactInference class
- for p in self.legalPositions:
- trueDistance = util.manhattanDistance(p, pacmanPosition)
- allPossible[p] += emissionModel[trueDistance]
- # After reweighting based on observation
- # Stack overflow: https://stackoverflow.com/questions/3525953/check-if-all-values-of-iterable-are-zero
- if not any(allPossible.values()): #when all particles have weight 0
- self.initializeUniformly(gameState)
- else: #InitiliazeUniformly code with random selector
- particles = []
- for i in range(self.numParticles):
- particles.append(util.sample(allPossible))
- self.paricles = particles
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement