• 大小: 11KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: 其他
  • 标签: python语言  

资源简介

使用A*,a-b剪枝等搜索算法,求解吃豆人的一些简单问题。

资源截图

代码片段和文件信息

# multiAgents.py
# --------------
# Licensing Information:  You are free to use or extend these projects for
# educational purposes provided that (1) you do not distribute or publish
# solutions (2) you retain this notice and (3) you provide clear
# attribution to UC Berkeley including a link to http://ai.berkeley.edu.

# Attribution Information: The Pacman AI projects were developed at UC Berkeley.
# The core projects and autograders were primarily created by John DeNero
# (denero@cs.berkeley.edu) and Dan Klein (klein@cs.berkeley.edu).
# Student side autograding was added by Brad Miller Nick Hay and
# Pieter Abbeel (pabbeel@cs.berkeley.edu).


from util import manhattanDistance
from game import Directions
import random util

from game import Agent

class ReflexAgent(Agent):
    “““
      A reflex agent chooses an action at each choice point by examining
      its alternatives via a state evaluation function.

      The code below is provided as a guide.  You are welcome to change
      it in any way you see fit so long as you don‘t touch our method
      headers.
    “““


    def getAction(self gameState):
        “““
        You do not need to change this method but you‘re welcome to.

        getAction chooses among the best options according to the evaluation function.

        Just like in the previous project getAction takes a GameState and returns
        some Directions.X for some X in the set {North South West East Stop}
        “““
        # Collect legal moves and successor states
        legalMoves = gameState.getLegalActions()

        # Choose one of the best actions
        scores = [self.evaluationFunction(gameState action) for action in legalMoves]
        bestScore = max(scores)
        bestIndices = [index for index in range(len(scores)) if scores[index] == bestScore]
        chosenIndex = random.choice(bestIndices) # Pick randomly among the best

        “Add more of your code here if you want to“

        return legalMoves[chosenIndex]

    def evaluationFunction(self currentGameState action):
        “““
        Design a better evaluation function here.

        The evaluation function takes in the current and proposed successor
        GameStates (pacman.py) and returns a number where higher numbers are better.

        The code below extracts some useful information from the state like the
        remaining food (newFood) and Pacman position after moving (newPos).
        newScaredTimes holds the number of moves that each ghost will remain
        scared because of Pacman having eaten a power pellet.

        Print out these variables to see what you‘re getting then combine them
        to create a masterful evaluation function.
        “““
        # Useful information you can extract from a GameState (pacman.py)
        successorGameState = currentGameState.generatePacmanSuccessor(action)
        newPos = successorGameState.getPacmanPosition()
        newFood = successorGameState.getFood()
        n

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      22973  2017-10-22 13:12  searchAgents.py

     文件      12043  2017-10-22 13:13  multiAgents.py

     文件       5320  2017-10-22 13:12  search.py

----------- ---------  ---------- -----  ----

                40336                    3


评论

共有 条评论

相关资源