我正在接受我的第一个AI课程,并试图在我的代码中实现NegaMax算法。我正在使用这个算法来玩Nim的简单游戏,每个玩家轮流删除1-3个匹配。电脑在这里对抗自己。但是,我在实施方面遇到了麻烦。到目前为止,我似乎无法为函数的每次递归调用更改状态。我得到一个无限循环,其中最佳值从-INFINITY到INFINITY(无穷大为999999)。所以程序永远不会终止,因为状态永远不会达到1.我一般都有递归的麻烦,所以如果有人能给我一些关于我应该去哪里使用我的代码的提示,我将不胜感激。
$(document).ready(function(){
$("#https_urllink").on('keydown', function(){
urltext = $("#https_urllink").val();
if(urltext == ""){
$("#httpstext").html("");
$("#httpsimage").hide();
}
});
});
答案 0 :(得分:2)
罪魁祸首是:
State *best;
best->eval = turn;
您在此处调用undefined behavior。您正在尝试访问eval
而best
尚未初始化(刚刚宣布)。
你应该考虑按照以下几点做一些事情:
State best;
best.eval = turn;