Nim的Negamax游戏遇到麻烦

时间:2016-05-15 12:09:24

标签: c artificial-intelligence negamax

我正在接受我的第一个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();
        }
    });
});

1 个答案:

答案 0 :(得分:2)

罪魁祸首是:

State *best;
best->eval = turn;

您在此处调用undefined behavior。您正在尝试访问evalbest尚未初始化(刚刚宣布)。

你应该考虑按照以下几点做一些事情:

State best;
best.eval = turn;