You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于ChessLib的C语言国际象棋引擎中Negamax算法异常问题求助

基于ChessLib的C语言国际象棋引擎中Negamax算法异常问题求助

各位大佬,我最近在捣鼓一个C语言写的国际象棋引擎,用了ChessLib来省得自己从零实现整套象棋规则,结果卡在negamax alpha-beta剪枝算法上了,愁死我了!

问题是这样的:这个算法跑起来完全不对路子,每次只探索20步甚至最多100步就直接停了,根本没法完成我预期的深度搜索,完全发挥不了剪枝算法该有的作用。

我已经排查了好几个方向:

  • 单独拉出来测试评估函数,不管是给什么样的棋盘状态,输出的分数都符合我的预期,应该没问题;
  • 也仔细验证了ChessLib里的核心功能,比如生成合法走法、更新棋盘状态这些函数,测试下来都能正常工作,没发现bug。

实在找不到问题出在哪了,有没有大佬能帮我看看代码里的问题?我把目前的negamax函数代码片段贴出来(刚才粘贴的时候没贴完,代码是截断的,抱歉):

// 代码片段存在截断,完整函数逻辑未粘贴完整
int negamax(chess *c, int depth,int alpha, int beta) {
    // 此处缺失后续代码逻辑
}

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 13:45:30