问题标签 [negamax]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
74 浏览

c++ - 如何使国际象棋负最大算法更喜欢在决策树中较浅的捕获和其他好的移动?

假设我们有以下位置(FEN 8/1K6/8/4q2P/8/8/5k2/8 b - - 3 2): FEN 8/1K6/8/4q2P/8/8/5k2/8 b - - 3 2

当搜索深度低于 3 时,我的国际象棋引擎会产生正确的 Qxh5 移动。之后,问题似乎是它认为可以稍后进行捕获(将 Qh2 视为最佳移动)。我看不到任何明显的方法来更喜欢在评估算法中较早进行捕获的分支,因为这会破坏 negamax(和 minimax)工作所需的评估对称性。

仅供参考,这是我实际的 negamax 代码(从 wikipedia 复制):

以及评价函数:

编辑: