コード例 #1
0
ファイル: inference.py プロジェクト: jesseyli/OldProjects
 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))
コード例 #2
0
ファイル: bustersAgents.py プロジェクト: Roboball/Pacman
 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
コード例 #3
0
ファイル: bustersAgents.py プロジェクト: jacobyeung/CS-188
 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
コード例 #4
0
 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)
コード例 #5
0
 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)
コード例 #6
0
ファイル: inference.py プロジェクト: Michael-Tu/ClassWork
 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))
コード例 #7
0
ファイル: inference.py プロジェクト: makersmelx/VE492
 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)
コード例 #8
0
ファイル: inference.py プロジェクト: JustinAWei/aima
 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)
コード例 #9
0
    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))
コード例 #10
0
 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)
コード例 #11
0
ファイル: inference.py プロジェクト: StevenWongChess/VE492
 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
コード例 #12
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))
コード例 #13
0
ファイル: inference.py プロジェクト: xxs90/ECE4524_tracking
 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))
コード例 #14
0
ファイル: inference.py プロジェクト: zhangjiedev/pacman
 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))
コード例 #15
0
ファイル: inference.py プロジェクト: nbgoodman/projects
 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
コード例 #16
0
 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
コード例 #17
0
    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)
コード例 #18
0
 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)
コード例 #19
0
ファイル: inference.py プロジェクト: j3nnahuang/python
 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
コード例 #20
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)
コード例 #21
0
ファイル: inference.py プロジェクト: sid-mishra910/Pacman-AI
 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()
コード例 #22
0
ファイル: inference.py プロジェクト: JunTan/DVC
 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
コード例 #23
0
ファイル: inference.py プロジェクト: yllaw/cs188
 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
コード例 #24
0
ファイル: inference.py プロジェクト: mwarady22/Ghostbusters
 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
コード例 #25
0
ファイル: inference.py プロジェクト: DrNee/Tracking
 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))
コード例 #26
0
ファイル: inference.py プロジェクト: zyddawn/CS188-Berkeley
 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
コード例 #27
0
 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)
コード例 #28
0
 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
コード例 #29
0
ファイル: inference.py プロジェクト: yttfwang/cs188-proj5
    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))
コード例 #30
0
    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)
コード例 #31
0
 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)        
コード例 #32
0
 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()
コード例 #33
0
    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)
コード例 #34
0
ファイル: inference.py プロジェクト: taigehu123/BerkeleyCS
 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)
コード例 #35
0
ファイル: inference_mine.py プロジェクト: nancyychang/pacman
 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
コード例 #36
0
 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
コード例 #37
0
    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)
コード例 #38
0
ファイル: inference.py プロジェクト: kmesfun/pacman5
 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
コード例 #39
0
ファイル: inference.py プロジェクト: kail/csep573
 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
コード例 #40
0
ファイル: inference.py プロジェクト: bigdaddyrus/cs188proj3
    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)