在我创建的游戏中,Negamax 适用于低深度搜索,但更大的深度增加会导致它冻结。我想过将深度更改为输入“long”而不是“integer”,但不确定我还能做什么。我知道计算将花费更长的时间,因此它可能在幕后进行计算,我将其解释为冻结。任何意见,将不胜感激。在游戏中,玩家只能在一个位置上做出 3 个可能的移动中的 1 个,它不像国际象棋那样在任何位置都可能有大量移动,并且很难到达最终位置。
谢谢
达兹
什么算作更大的深度?请记住,这些树呈指数增长,因此,如果您在第一个选择上有 3 个选项,那么当您有 2 个深度时,您有 9 个选项,当您有 10 个深度时,您有 59049 个选项来检查,依此类推。另一个导致速度急剧下降的可能原因是如果您开始使用页面文件;也就是说,如果您要存储整棵树,并且一旦到达“更大”的深度,就会突然用完 Ram。您可能会听到,或者看到闪烁的硬盘驱动器指示灯(如果有的话)。
最好的选择是获得一些反馈;让它每检查一次它检查的 x 千个选项打印一个新数字,这样您就可以找出而不是猜测它是否仍在尝试以及它必须走多远。一旦你知道它在做什么并假设它只是在咀嚼,研究一下 alpha-beta 修剪之类的东西,以防止树快速生长。