简体   繁体   English

什么是scout算法和minimax与alpha beta prunning之间的区别?

[英]Whats the difference between scout algorithm and minimax with alpha beta prunning?

I am trying to implement a scout algorithm as implementation for an Othello game, I have already implemented minimax (and negamax) using alpha beta prunning, and now I can't see the difference between the two algorithms and there is little help about it online. 我正在尝试将侦察算法实现为奥赛罗游戏的实现,我已经使用alpha beta prunning实现了minimax(和negamax),现在我看不出两种算法之间的区别,并且在网上几乎没有任何帮助。 I don't really want pseudocode, just help understanding the idea behind the scout approach and how is that different from minimax with alpha beta. 我真的不想要伪代码,只是帮助理解侦察方法背后的想法,以及与alpha beta的minimax有什么不同。

The idea behind NegaScout is that if you have good move ordering you can search the first move normally and then simply scout the rest of your moves. NegaScout背后的想法是,如果你有良好的移动顺序,你可以正常搜索第一步,然后只是侦察你的其余动作。 You scout by searching with a null window, and you're effectively asking: "Is the alpha I got from the first move the best I can do?". 你通过使用一个空窗口进行搜索,并且你有效地问:“我从第一步获得的alpha是我能做的最好吗?”。 The null window search will cause more cutoffs that normal and you should save some time, but if it fails you got nothing from the search and you have to restart with the normal alpha and beta bounds. 空窗口搜索将导致更多正常的截止,您应该节省一些时间,但如果它失败,您将无法从搜索中获得任何内容,您必须使用正常的alpha和beta边界重新启动。 source 资源

I don't know much about Othello but it seems like it can be difficult to get the ordering right. 我对奥赛罗了解不多,但似乎很难让订单正确。 If so you won't get much out of NegaScout. 如果是这样,你将无法从NegaScout中获得更多。 Also NegaScout can be tricky to implement and verify. NegaScout也很难实现和验证。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM