在训练后,它面对Stockfish取得100盘不败的恐怖战绩,而且比之前的AlphaGo Zero也更为强大(根据论文后面的表格,训练34小时的AlphaZero胜过训练72小时的AlphaGo Zero 这令人震惊,因为此前大家都认为Stockfish已趋于完美,它的代码中有无数人类精心构造的算法技巧。 然而现在Stockfish就像一位武术大师,碰上了用枪的AlphaZero,被一枪毙命。 Stockfish作为传统AI的代表,有人类设计的评估函数,整天想着“怎样怎样可在多少步后吃对方的子”。 AlphaZero是“以德服人”,Stockfish贪吃就给Stockfish吃,没关系,AlphaZero有自己的想法:它直接让Stockfish的一堆子连家都出不了。Stockfish只能干瞪眼。 AlphaZero想怎么走就怎么走,Stockfish疲于奔命,四处救火。这一切,正如AlphaGo此前在围棋上所显示的惊人控制力。
AlphaZero 和 Stockfish 的比赛实验设置。 Stockfish)。 选择 Stockfish 作为对手看起来是挺合理的,Stockfish 是目前最强大的开源国际象棋引擎,且在最近的 TCEC(目前世界上水平最高的引擎竞赛)中取得了第三名(排名在 Komodo 和 Houdini 然而,AlphaZero 和 Stockfish 比赛的实验设置看起来并不公平。 正如 Stockfish 的最初开发者之一 Tord Romstad 指出的,这是影响 Stockfish 表现的另一项可疑决定,「研究者投入了大量努力使 Stockfish 能够鉴别游戏中的关键点,在走棋中决定什么时候使用额外的时间
高手们通过亲身感受,对于Stockfish的实力非常认可。 由于国际象棋最优解极有可能是和棋,所以高手和爱好者一般认为,Stockfish和国际象棋上帝也差不了太多,反正就是和棋。 因此一些棋迷和高手质疑AlphaZero这个结果,对Stockfish更有感情,是可以理解的。一种质疑是,你AlphaZero背后财大气粗,机器厉害,是不是让Stockfish运行在弱机上,不公平啊? 有棋迷就声称,我还能战胜初代stockfish呢,Deepmind到底怎么试的?为什么每步只让Stockfish思考一分钟? 另一种质疑就专业一些,如中村光说,Stockfish并不是一个简单的程序,需要配上合适的开局库残局库。Deepmind是不是配错了开局库,让Stockfish没有发挥最佳实力? 现在Stockfish在后走的50局里输掉一半,不太正常,掉坑概率过高,感觉像是开局库吃大亏。下到中后盘,Stockfish那每秒7000万步的搜索不是开玩笑的,如果有和棋的路线,不太可能输。
/1712.01815.pdf),它破除了一切怀疑,通过使用与AlphaGo Zero一模一样的方法(同样是MCTS+深度网络,实际还做了一些简化),它从零开始训练: 4小时就打败了国际象棋的最强程序Stockfish 在训练后,它面对Stockfish取得100盘不败的恐怖战绩,而且比之前的AlphaGo Zero也更为强大(根据论文后面的表格,训练34小时的AlphaZero胜过训练72小时的AlphaGo Zero 这令人震惊,因为此前大家都认为Stockfish已趋于完美,它的代码中有无数人类精心构造的算法技巧。 然而现在Stockfish就像一位武术大师,碰上了用枪的AlphaZero,被一枪毙命。 Algorithm • r/chess)(http://t.cn/RY3x1kK),大家纷纷表示AlphaZero已经不是机器的棋了,是神仙棋,非常优美,富有策略性,更能深刻地谋划(maneuver),完全是在调戏Stockfish Stockfish和Elmo,每秒种需要搜索高达几千万个局面。 AlphaZero每秒种仅需搜索几万个局面,就将他们碾压。深度网络真是狂拽炫酷。 当然,训练AlphaZero所需的计算资源也是海量的。
作者 | 万佳、核子可乐 近日,国际知名开源象棋引擎 Stockfish 一纸诉讼将商业国际象棋软件 ChessBase 告上法庭,指控其多次违反 GPL 许可证。 1Stockfish 是谁? 比如,它去年 9 月发布的 Stockfish 12 开始支持 NNUE,即可以在 CPU 上快速地运行神经网络。此特性显著改进了 Stockfish,恢复了其作为现有最强大的国际象棋引擎的地位。 Stockfish 在官方博客文章中表示,“我们发现,ChessBase 向客户隐瞒了其产品当中直接使用 Stockfish 核心技术成果的真实情况。 3告上法庭 据悉,在一位德国版权法律师的支持下,Stockfish 向法院递交了 GPL 侵权诉讼。在经历长达四个月的漫长诉讼后,Stockfish 取得初步胜利。 Stockfish 称,“由于 ChessBase 屡次违反许可要求,Stockfish 各主要开发人员决定永久终止向 ChessBase 提供 GPL 许可证。
传统的国际象棋引擎,包括世界计算机国际象棋冠军Stockfish和IBM突破性的Deep Blue,依赖于数千个由强大的人类玩家制定的规则和启发式方法,试图解释游戏中的每一个可能性。 例如,在国际象棋中,它每秒仅搜索6万个走法,相比之下,Stockfish每秒大约搜索6千万个走法。 ? 经过全面训练的系统将与人工引擎进行测试,针对国际象棋(Stockfish)和日本象棋(Elmo),以及我们之前自学成才的系统、目前最强的Go玩家AlphaGo Zero。 Stockfish和Elmo使用44个CPU核心(与TCEC世界锦标赛相同),而AlphaZero和AlphaGo Zero使用配备4个第一代TPU和44个CPU核心的机器。 在每个开局中,AlphaZero都击败了Stockfish。团队也用到了从2016年TCEC世界冠军使用的开局,和一系列对Stockfish的最新开发版本,并使用很强的Stockfish变体开始比赛。
充当ChatGPT对手的AI名叫Stockfish,也是个历史悠久的开源国际象棋引擎了。 这些年经过了几次迭代,已经到了第四代NNUE,在架构上进行了一些优化: 现在Stockfish也已经迭代到了版本15.1,据说与Stockfish 14对战中,胜场数达到败场数的9倍。 例如DeepMind推出的AlphaZero就拿它做了对比,表示自己的性能比Stockfish更高。 即便如此,Stockfish赢人类国际象棋高手还是绰绰有余的。 JoINrbs/status/1624351822621315072 [3]https://stockfishchess.org/blog/ [4]https://github.com/official-stockfish /Stockfish/pull/3927 — 完 — 《中国AIGC产业全景报告暨AIGC 50》调研启动 谁会是中国的“ChatGPT”?
official-stockfish/Stockfish[5] Stars: 9.6k License: GPL-3.0 Stockfish 是一个免费且强大的 UCI 国际象棋引擎。 Stockfish 不包含用于显示国际象棋盘和输入移动的图形用户界面 (GUI),这些 GUI 与 Stockfish 独立开发,并可在线使用。 Stockfish 具有以下核心优势: 免费且强大:可以自由地在各种场景中使用。 支持多平台编译:支持 32 位或 64 位 CPU、特定硬件指令以及其他平台。
AI 对弈 Stockfish: count = 0 movehistory = [] game = chess.pgn.Game() board = chess.Board() engine = chess.engine.SimpleEngine.popen_uci("your_path/stockfish.exe") while not board.is_game_over(claim_draw 可以得出:AI 还不够智能,不足以打败 stockfish 12,但仍然坚持走了 20 步。 接口测试 上述测试方式看起来代码很多,你也可以写一个接口测试 AI。 Move def stockfish(): engine = chess.engine.SimpleEngine.popen_uci( "your_path/stockfish.exe") move ="submit">Make Ai Move</button></form>' ret += '<form action="/engine/"method="post"><button name="<em>Stockfish</em>
/1712.01815.pdf),它破除了一切怀疑,通过使用与AlphaGo Zero一模一样的方法(同样是MCTS+深度网络,实际还做了一些简化),它从零开始训练: 4小时就打败了国际象棋的最强程序Stockfish 在训练后,它面对Stockfish取得100盘不败的恐怖战绩,而且比之前的AlphaGo Zero也更为强大(根据论文后面的表格,训练34小时的AlphaZero胜过训练72小时的AlphaGo Zero 这令人震惊,因为此前大家都认为Stockfish已趋于完美,它的代码中有无数人类精心构造的算法技巧。 然而现在Stockfish就像一位武术大师,碰上了用枪的AlphaZero,被一枪毙命。 Algorithm • r/chess)(http://t.cn/RY3x1kK),大家纷纷表示AlphaZero已经不是机器的棋了,是神仙棋,非常优美,富有策略性,更能深刻地谋划(maneuver),完全是在调戏Stockfish Stockfish和Elmo,每秒种需要搜索高达几千万个局面。 AlphaZero每秒种仅需搜索几万个局面,就将他们碾压。深度网络真是狂拽炫酷。 ?
(a)在国际象棋中与2016年TCEC世界冠军程序Stockfish相比,评估AlphaZero的性能。 从图中可以看出AlphaZero从零开始训练 4小时(300k步)就打败了国际象棋的最强程序Stockfish 2小时(110k steps)就打败了日本将棋的最强程序Elmo! 随着训练的继续深入,我们可以看到它面对Stockfish保持不败。而且最终比之前的AlphaGo Zero也更为强大。 (a)展示了在国际象棋中AlphaZero和Stockfish的表现,每一步的思考时间。(b)展示了在将棋中AlphaZero和Elmo的表现,每一步的思考时间。 文中提到了AlphaZero每秒评估的棋位比Stockfish少很多,如图2所示,聚焦于更有希望的棋位,在每一步思考时间较长的时候,AlphaZero的分析更精准。 ?
8 个小时训练击败李世石版本AlphaGo 12 小时训练击败世界顶级的国际象棋程序 Stockfish 14小时训练击败世界顶级将棋程序 Elmo 计算机国际象棋和计算机科学本身一样古老。 Stockfish 和 Elmo 使用 64 个线程和 1GB 的哈希表进行比赛。 AlphaZero 令人信服地打败了所有的对手,未输给 Stockfish 任何一场比赛,只输给了 Elmo 八场(补充材料理由几场比赛的示例),见表 1。 ? Stockfish 每个比赛的开局和结果(从 AlphaZero 角度的赢/平/输,无论作为白方还是黑方)。最后,还报告了 AlphaZero 每个开局后的整体棋局主要变化。 ? AlphaZero 和 Stockfish 在象棋上的 Relative Elo 对比,横坐标为每一步的思考时间。b.
official-stockfish/Stockfish[5] Stars: 9.6k License: GPL-3.0 Stockfish 是一个免费且强大的 UCI 国际象棋引擎。 Stockfish 不包含用于显示国际象棋盘和输入移动的图形用户界面 (GUI),这些 GUI 与 Stockfish 独立开发,并可在线使用。 Stockfish 具有以下核心优势: 免费且强大:可以自由地在各种场景中使用。 支持多平台编译:支持 32 位或 64 位 CPU、特定硬件指令以及其他平台。
在闪电战决赛中,Lc0战胜了于亚军Stockfish,这是8次计算机国际象棋锦标赛中Stockfish第一次没有赢得锦标赛(CCC 1-7和2017年的旧赛制赛事)。 开源Lc0项目的灵感来自Google / DeepMind的AlphaZero,而AlphaZero曾因在私人比赛中击败以前版本的Stockfish而成为头条新闻。 Lc0也在与Stockfish的小型比赛决赛局中获胜,这也Stockfish第一次在计算机国际象棋锦标赛中输掉比赛。 Lc0可以捍卫自己的头衔更久吗? Stockfish 3. Fizbo 4. Komodo 5. Laser 6. Shredder 7. Leelenstein* 8. BlackMamba 9. CCC 7:总决赛PGN下载和精选比赛: Lc0在一场比赛中在头文件上对Stockfish造成了严重杀伤,这场游戏甚至可以写进乌菲姆采夫防御(Pirc Defense)布局走法的教科书。
这令人震惊,因为此前大家都认为Stockfish已趋于完美,它的代码中有无数人类精心构造的算法技巧。 然而,现在Stockfish就像一位武术大师,碰上了用枪的AlphaZero,被一枪毙命。 我们描述了这些增强方法,重点关注2016年TCEC世界冠军Stockfish;其他强大的国际象棋程序,包括深蓝,使用的是非常相似的架构。 Stockfish和Elmo都使用最强版本,使用64线1GB hash的机器。AlphaZero击败了所有选手,与Stockfish对战全胜,与Elmo对战输了8局。 相比之下,Stockfish每秒搜索7000万个,Elmo每秒能搜索3500万个局面。 图2显示了每个玩家相对于思考时间的可扩展性,通过Elom量表衡量,相对于Stockfish或者Elmo 40ms的思考时间。
以 Elo 分数为标准,AlphaZero 在完成全部的 70 万步训练之前就分别超过了此前最好的国际象棋、日本象棋和围棋程序 Stockfish、Elmo 和 AlphaGo Zero。 结果并不意外,AlphaZero 在国际象棋中面对 Stockfish 一局未输,日本象棋中共输 8 局,面对 AlphaGo Zero 也拿下了 60% 的胜率。 在与 Stockfish 和 Elmo 的对比中,这个提升显得相当明显:AlphaZero 下国际象棋只需要每秒搜索 8 万个位置,Stockfish 的数字是 7 千万;AlphaZero 下日本象棋要每秒搜索 以 40ms 思考时间的 Stockfish 和 Elmo 为基准,AlphaZero 的棋力随思考时间增加得更快。 而且,如果比赛是以这些人类常用的开局形式开始的,AlphaZero 也总能打败 Stockfish,这说明 AlphaZero 确实学到了国际象棋中的各种局势变化。
以 Elo 分数为标准,AlphaZero 在完成全部的 70 万步训练之前就分别超过了此前最好的国际象棋、日本象棋和围棋程序 Stockfish、Elmo 和 AlphaGo Zero。 结果并不意外,AlphaZero 在国际象棋中面对 Stockfish 一局未输,日本象棋中共输 8 局,面对 AlphaGo Zero 也拿下了 60% 的胜率。 在与 Stockfish 和 Elmo 的对比中,这个提升显得相当明显:AlphaZero 下国际象棋只需要每秒搜索 8 万个位置,Stockfish 的数字是 7 千万;AlphaZero 下日本象棋要每秒搜索 以 40ms 思考时间的 Stockfish 和 Elmo 为基准,AlphaZero 的棋力随思考时间增加得更快。 而且,如果比赛是以这些人类常用的开局形式开始的,AlphaZero 也总能打败 Stockfish,这说明 AlphaZero 确实学到了国际象棋中的各种局势变化。
例如,在国际象棋中,它每秒仅搜索6万个位置,相比之下,Stockfish大约有6千万个位置。 这些经过全面训练的系统是在国际象棋(Stockfish)和将棋(Elmo)最强大的“手工引擎”以及我们之前自学的AlphaGo Zero系统(已知最强大的围棋选手)的帮助下进行测试的。 Stockfish和Elmo使用了44个CPU核,而AlphaZero和AlphaGo Zero使用了一台拥有4个第一代TPU和44个CPU核的机器。 在每次评估中,AlphaZero都毫无悬念地击败了对手: 在国际象棋比赛中,AlphaZero击败了2016年TCEC(第九季)世界冠军Stockfish,赢得155场比赛,在1000场比赛中只输了6场 在每一种开局情况下,AlphaZero都击败了Stockfish。我们还与最新开发版本的Stockfish以及它的变体打过比赛,在所有的比赛中,AlphaZero都赢了。
它从零开始学习国际象棋,仅用4小时,就在100盘比赛中击败了世界顶级国际象棋程序 Stockfish 8。 在国际象棋对弈中,AlphaZero每秒仅需搜索8万个局面,而Stockfish 8每秒则需搜索7000万个局面。 以白棋的先行优势赢了25场后,AlphaZero还以黑棋赢得3场比赛,另外的72场则与Stockfish 8打成平手。
用于选择 Stockfish 8 和自定义概念的时间地点图。下图,我们将一个 ResNet“块”算作一个层。 AlphaZero的神经网络评估函数没有Stockfish的评估函数那样的结构层次:Stockfish将一个位置分解为一系列概念(例如king safety, mobility, and material 为了了解正在被计算的内容,DeepMind和谷歌Brain的研究人员使用Stockfish概念值来尝试预测AlphaZero的位置评估函数(类似于通过预测游戏结果获得棋子值的方式)。