如何通过Stockfish CLI或R获取带NNUE的Stockfish单独评估分数
解决方案
1. 直接获取NNUE评估数值(无需字符串解析)
curso-r/stockfish包内置了eval()方法,会返回结构化的评估结果,无需手动解析字符串。Stockfish 15.1默认启用NNUE,只要引擎初始化正常,返回的就是NNUE评估值:
engine <- fish$new() engine$position("rnbqkbnr/pp2pp1p/2p3p1/3p4/4P3/2NB4/PPPP1PPP/R1BQK1NR w KQkq - 0 4") # 获取结构化评估结果 eval_output <- engine$eval() # 提取标准评估值(cp为厘泊,除以100转换为常规评分) final_score <- eval_output$score$cp / 100
如果需要确认NNUE启用状态,可执行engine$run("setoption name UCI_EvalFile"),返回的权重文件路径说明NNUE已加载。
2. 调整分析深度/思考时间
针对搜索类分析(非静态评估),使用Stockfish的go命令即可调整参数,通过engine$run()执行:
- 指定分析深度(层数):
# 搜索15层 engine$run("go depth 15") - 指定思考时间(毫秒):
# 思考500毫秒 engine$run("go movetime 500") - 指定搜索节点数:
# 搜索10000个节点 engine$run("go nodes 10000")
也可以使用包的go()方法直接传入参数,返回结构化结果:
search_result <- engine$go(depth = 15) # 提取搜索后的评估值 search_score <- search_result$score$cp / 100
内容的提问来源于stack exchange,提问作者CubicInfinity
相关产品推荐
相关产品推荐

