什么是游戏AI的优秀启发式?为Cat Mouse Cheese游戏设计

时间:2013-09-17 23:11:39

标签: artificial-intelligence heuristics

我正在为鼠标和猫设计AI。所以他们有HP,猫会追逐和吃老鼠,老鼠会吃奶酪。这种饮食行为将帮助他们获得HP。如果他们不能吃食物,如果他们耗尽所有HP,他们就会死亡。

所以我搜索了书籍,我有一个基本的算法。

def chooseAction(actions, goals):
  # Go through each action, and calculate the
  # discontentment.
  bestAction =  actions[0]
  bestValue = calculateDiscontentment(actions[0], goals)
  for action in actions:
    thisValue = calculateDiscontentment(action, goals)
    if thisValue < bestValue:
      bestValue = thisValue
      bestAction = action
  # return the best action
  return bestAction

def calculateDiscontentment(action, goals):
  # Keep a running total
  discontentment = 0
  # Loop through each goal
  for goal in action:
    # Calculate the new value after the action
    newValue = goal.value + action.getGoalChange(goal)
    # Get the discontentment of this value
    discontentment += goal.getDiscontentment(value)

struct Goal:
  value
  def getDiscontentment(newValue):
    return newValue * newValue

该算法非常易于理解,并且易于实现。

因此,我必须为他们采取的每项行动确定目标和目标价值。

老鼠说,他可能想动,吃。

所以我必须为这些值提出一个值(wiliness)。

确定这些值的好方法是什么?

我的方法就在这里。

Ley说我的鼠标有3个细胞的视野范围,它只能向左和向下四个方向走。

目标吃值可能由其MAX_ENERGY和NOW_ENERGY确定,我得出一个公式 eatValue = MAX_ENERGY - NOW_ENERGY。这是有道理的,因为它NOW_ENERGY等于MAX_ENERGY,我的老鼠吃了0。

这种简单配方的好方法是什么? 我的老鼠移动的好习惯是什么?

0 个答案:

没有答案