gpt4 book ai didi

actionscript-3 - Minimax with Alpha-beta pruning,得到结果

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:12:35 25 4
gpt4 key购买 nike

我遵循了维基百科文章中的伪代码,我想我已经成功了。但是,它会返回分数,当我想知道我想采取什么行动时,这并没有什么帮助。

我尝试了我认为是获得最佳着法的方法,但我认为它并不奏效,因为当我实际尝试与它对弈(国际象棋)时,AI 会在深度水平上做出一些迟缓的 Action 共 3 个。

这是我的功能:

public static function alphaBeta(node, depth, alph, beta, team, tellTheMove:Boolean = false):* {
var pointer:ChessMove;
if (depth == 0) {
return scoreOf(node);
}
var childrenOf:Vector.<ChessMove > = returnPossibleMoves(node,team);
if (childrenOf.length == 0) {
return scoreOf(node);
}
if (team == 0) {
for (var i in childrenOf) {
var that:Number = alphaBeta(childrenOf[i],depth - 1,alph,beta,1);
if(tellTheMove){
}
if (that > alph) {
alph = that;
if(tellTheMove){
pointer = childrenOf[i];
}
}
if (beta <= alph) {
break;
}
}
if(tellTheMove){
return pointer; //Returns the move that's score last exceeded alpha.
}
return alph;
} else {
for (var j in childrenOf) {
var that2:Number = alphaBeta(childrenOf[j],depth - 1,alph,beta,0);
if (that2 < beta) {
beta = that2;
}
if (beta <= alph) {
break;
}
}
return beta;
}
}

最佳答案

深度 3 对于像国际象棋这样的问题来说非常小。在此深度,大部分功能取决于您的最终评估功能。这个评估函数很难以有效预测董事会值(value)的方式实现。

尝试一些更简单的,可以在较低深度有效解决的问题。 Tic-Tac-Toe 是一款非常适合初次尝试 Min-Max 的游戏。这是因为最终结果是众所周知的。如果你的算法正确,你根本就无法击败它。如果您玩 Tic-Tac-Toe 并且算法输了,您就知道自己犯了一个错误。

另请注意,在某些情况下,Min-Max 发挥最佳效果,但在人类对手看来仍然是弱智。例如,如果没有获胜的机会,Min-Max 将开始随机下棋并做出非常愚蠢的 Action 。情况就是这样,因为 Min-Max 期望对手也打得很完美,而人类通常不会这样。可以对算法进行一些简单的更改来改变这种行为,并在这种情况下让最小-最大播放“不那么迟钝”。

关于actionscript-3 - Minimax with Alpha-beta pruning,得到结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7899584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com