在minmax算法中,如何確定函數何時到達樹的末尾並中斷遞歸調用。python中的min max算法
我已經做了最大功能,在其中我打電話min功能。在min函數中,我做了什麼?對於最大功能,我只是返回最佳分數。
def maxAgent(gameState, depth):
if (gameState.isWin()):
return gameState.getScore()
actions = gameState.getLegalActions(0);
bestScore = -99999
bestAction = Directions.STOP
for action in actions:
if (action != Directions.STOP):
score = minAgent(gameState.generateSuccessor(0, action), depth, 1)
if (score > bestScore):
bestScore = score
bestAction = action
return bestScore
def minvalue(gameState,depth,agentIndex):
if (gameState.isLose()):
return gameState.getScore()
else:
finalstage = False
number = gameState.getNumAgents()
if (agentIndex == number-1):
finalstage = True
bestScore = 9999
for action in gameState.getLegalActions(agentIndex):
if(action != Directions.STOP
我不明白現在該怎麼辦?我不允許設置樹的深度限制。它必須是任意的。
您可能想要顯示一些實際的代碼。 – Amber 2010-07-31 20:06:17
你應該分享你迄今爲止所擁有的。 – 2010-07-31 20:06:27
你可以看到我的代碼 – Shilpa 2010-07-31 20:17:47