Algorithm 如何与negamax一起使用跳棋游戏的主要变量搜索?
我正在用j2me开发一个跳棋游戏。现在,我使用的是Negamax,但速度太慢(alpha-beta截止)。我正在搜索Stack,并开始了解术语“主要变体搜索”。该帖子有以下链接: 我使用的negamax是:Algorithm 如何与negamax一起使用跳棋游戏的主要变量搜索?,algorithm,artificial-intelligence,Algorithm,Artificial Intelligence,我正在用j2me开发一个跳棋游戏。现在,我使用的是Negamax,但速度太慢(alpha-beta截止)。我正在搜索Stack,并开始了解术语“主要变体搜索”。该帖子有以下链接: 我使用的negamax是: public double Negamax(int[] board, int depth, int turn, double alpha, double beta){ //check for depth, if its zero then call evaluation() //gener
public double Negamax(int[] board, int depth, int turn, double alpha, double beta){
//check for depth, if its zero then call evaluation()
//generate moves
newScore = -Negamax(newBoard, depth - 1, opponent(turn), -beta, -alpha);
//alpha-beta cutoff
}
问题:
Wiki中的Puesocode是:
现在我不知道如何使用pvs。我应该在negamax内部使用它,还是替代negamax。它的头部也很混乱,因为它接受一个节点,而不是整个chackers板
function pvs(node, depth, α, β)
我不愿意使用转置表,因为我正在开发一个移动应用程序。
谢谢一个节点是整个跳棋棋盘以及玩家信息,因此它代表了您实现中的参数
棋盘
和回合
,我应该使用pvs而不是Negamax,对吗?