Advertisement
Guest User

Untitled

a guest
Nov 18th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. noisyDistance = observation
  2. emissionModel = busters.getObservationDistribution(noisyDistance)
  3. pacmanPosition = gameState.getPacmanPosition()
  4. "*** YOUR CODE HERE ***"
  5. allPossible = util.Counter()
  6. #beliefs = self.getBeliefDistribution()
  7.  
  8. if noisyDistance == None:
  9. #allPossible = util.Counter()
  10. #allPossible[self.getJailPosition] = 1
  11. self.particles = [self.getJailPosition() for i in range(self.numParticles)]
  12. else: # Like observe method in ExactInference class
  13. for p in self.legalPositions:
  14. trueDistance = util.manhattanDistance(p, pacmanPosition)
  15. allPossible[p] += emissionModel[trueDistance]
  16. # After reweighting based on observation
  17. # Stack overflow: https://stackoverflow.com/questions/3525953/check-if-all-values-of-iterable-are-zero
  18. if not any(allPossible.values()): #when all particles have weight 0
  19. self.initializeUniformly(gameState)
  20. else: #InitiliazeUniformly code with random selector
  21. particles = []
  22. for i in range(self.numParticles):
  23. particles.append(util.sample(allPossible))
  24. self.paricles = particles
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement