Implement project 4 q1-q5.

This commit is contained in:
2021-12-12 20:00:03 -05:00
parent 00721c4f56
commit 892a0afb54
2 changed files with 83 additions and 21 deletions

View File

@@ -162,5 +162,27 @@ class GreedyBustersAgent(BustersAgent):
livingGhostPositionDistributions = \
[beliefs for i, beliefs in enumerate(self.ghostBeliefs)
if livingGhosts[i+1]]
"*** YOUR CODE HERE ***"
util.raiseNotDefined()
def getMaxProbPos(distribution):
return max([(prob, pos) for pos, prob in distribution.items()])[1]
closestGhostPosition = None
closestGhostDist = float("inf")
for distribution in livingGhostPositionDistributions:
ghostPosition = getMaxProbPos(distribution)
dist = self.distancer.getDistance(pacmanPosition, ghostPosition)
if dist < closestGhostDist:
closestGhostPosition = ghostPosition
closestGhostDist = dist
if closestGhostPosition is None:
return 'Stop'
distanceActionTuples = [
(self.distancer.getDistance(
Actions.getSuccessor(pacmanPosition, action),
closestGhostPosition),
action)
for action in legal]
return min(distanceActionTuples)[1]