来源 | 中科院物理所 (ID:cas-iop)
把接近1%的实时胜率,直接下成冠军。
7月30日,第六届中国王中王围棋争霸赛决赛片段,围棋九段柯洁执黑,对阵九段党毅飞,直播分析界面里的黑棋胜率一路下坠,最低处接近1%。
胜率变化
就在此时,柯洁落下关键棋,做活下方大块。分析界面接连计算,后台显示的黑棋胜率一路抬升到90%以上。
“柯洁开局不利,柯洁昏招频出,柯洁颓势尽显,柯洁败局已定,柯洁发布获奖感言!”
小编作为业余中的业余围棋爱好者,在惊叹突变的胜率之余,又有一些疑惑,怎么感觉实时的胜率对这场比赛有点“后知后觉”?不免好奇,这个胜率究竟是怎么算出来的?
一、棋盘小知识
围棋棋子落在交叉点上。一个棋子上下左右相邻的空点叫作“气”,斜对角不算。
相连的同色棋子会组成一块棋,共享周围的气。如果一块棋最后一口气消失,整块棋就会被提走。
棋子活下来以后,才有资格围出自己的土地。
把白棋的气都堵上之后,白棋被提走。图源于网络
围棋的“围”,即黑棋围住的空点归黑方,白棋围住的空点归白方。已经确定死亡的棋子需要从盘面移除。
围棋术语
劫争,也是围棋中一个重要的内容,就是禁止同一个地方无限来回“你吃我,我吃你”。把局部冲突促进升级成向其它地方扩展的全盘较量。
围棋规则判断输赢有“数子法”和“数目法”两种。
我国传统围棋规则,采用数子法,就是只数棋盘中任意一方的“子+空“,”如果白子数+3.75>棋盘总交叉点数的一半”则白棋获胜,或者“黑子数-3.75>棋盘总交叉点数的一半”则黑棋胜。
9路围棋就是9*9的一半也就是40.5;19路围棋则是19*19的一半,是180.5。
这个方法有一个前提就是要进行收官,不明确的边界要下到明确为止,并且死子需要提出棋盘,不能留在棋盘里。
上图,双方已经确认所有盘上棋,两个公共点双方也允许存在,开始数子。
除去整个棋盘中还有两个没有被一方完全围住的点,白子所围空有8个,黑棋有2个空。
白方子数 = 38枚活子数+8空数+1公共空位 = 47,白子数47+3.75=50.75,大于叉点半数的40.5,白棋获胜。
日韩规则多采用数目法,即“所围空点数+提对方棋子数”,而且黑白双方都要数出,当白子目数+7.5>黑子目数时,白棋赢,反之黑赢。
我国正式比赛规则中黑贴3又3/4子,常被换算为7.5目。具体比赛数目法的贴目,由具体赛事规则决定。
如图所示,假设白方提了1个黑子,则白子目数为5+1=6目,黑子目数为15目,15 -(6+7.5)=1.5目,黑棋胜1.5目。
还有很多具体的详细补充规则,感兴趣可以边尝试边了解,这是非常有趣的。
一个棋子落下对局面影响(仅作演示,非专业教学)
一颗棋落下后的价值,会沿着连接、切断和死活向整片棋盘扩散。一颗棋可能把两块黑棋连成整体,也可能封住白棋的逃生通道。局部增加的一个棋子,未来归属发生变化的领域能铺开一大片。
二、一棵烧算力的“树”
屏幕上的90%胜率,就是把当前棋局,给到蒙特卡罗搜索树之后,这棵“树”对这盘棋进行的一个估值。 它的完整含义带着一长串条件。
不同的人对同一局棋,有着不同的获胜概率计算
胜率是什么?简单来说,就是AI在当前规则、贴目、模型版本和算力下,做出“接下来两方都尽量下好”这件事的一种结果的概率预测。
更换引擎、思考时间或规则,同一局面其实可能出现不一样的胜率计算曲线。
不同围棋程序之间锦标赛的结果
如果是极致的“不按章法”,AI所预测的结果更容易来回跳变,可以说,越混乱的局面,越容易制造出胜率计算的突变。
蒙特卡罗,这是一个数学家为了知道玩纸牌的胜率,而想到的“偷懒”方法。
如果用公式硬算赢牌概率,因为推导过程极其繁琐,很让人头大,那不如就直接模拟玩上一百次,看看赢了几次,把这个概率认作是赢牌的概率。
假设进行10000次模拟,胜9200次,输800次,那么在这个蒙特卡罗入门模型下,胜率为
这种“力大砖飞”的方法大大缩短了计算的成本,也不头大了,但就是每次计算都要从零开始,也不能自动识别哪里需要算力,还有点傻瓜的,这也很让人抓狂。
而蒙特卡罗搜索树(MCTS)则弥补了这一缺点。
《棋魂》“你是我的眼”
搜索树的结构和记忆能力,让蒙特卡罗这估值的方法加上了“眼睛”,显得聪明很多了。
MCTS保存每条计算的结果,再根据随机模拟不断更新这些数值,把有限的算力导向了最有希望的那个分支后,最后以访问最多的那个分支情况作为输出结果。
就好比给公园草地修路,我不知道怎么修最好,那我就先让许许多多的人先在草坪上走,在地上留下足迹,足迹最多的那条,我就把它认作是最理想的那一条路。
世界上本没有路,走的人多了,也就成了路
现代围棋AI更多依靠价值网络与搜索结果共同估值,直播界面的90%通常不是简单数出9000多盘胜棋得到的。
它特别适合用来处理高复杂度的状态空间问题,就比如围棋。
三、“胜率”怎么从“树”上长出来?
胜率会持续观察每步棋。
任务一,就是把棋盘翻译成多层数据。
黑子在哪里,白子在哪里,轮到谁走,最近的落子发生在哪些位置,这些会变成神经网络可以读取的输入信息。
设当前棋局为s,规则设置为R,贴目为K,π为AI假设双方接下来采用的下棋策略,B为搜索次数、时间和算力等,这些都可以变成可读信息。
那么根据我们二年级学过的概率知识,黑棋的胜率就是
目标就是找到“在当前棋局s的情况下,黑棋的胜率PB”就等于“黑棋最终获胜的情况”占“当前棋局按照规则、贴目和双方策略,所搜索出来的未来获胜总情况”的概率。
任务二,就是从数百个潜在落点里搜索方向。现代围棋AI面对上百个合法落点,穷举搜索是不可能的。
策略网络,以棋盘局面s作为输入,将其通过许多带有参数σ(SL策略网络)或ρ(RL策略网络)的卷积层,并输出合法着法a上的概率分布,给出“最优”着棋点。
于是策略网络会为每个合法落点“打分”,再经过Softmax归一化,形成落点的先验概率,把某一个候选落点记作a,价值网络给这个点进行打分的原始分数为la,当前所有合法落点集合为A,那么这个点“值得落棋的概率”为
假如我把棋下到当前棋盘的某个点上,而且这步棋还不错的概率,等于AI给这点打分结果占全部合法点总分结果的比例。这个数值来源会受神经网络训练过程的不同而不同。
τ是一个用来控制搜索需要集中还是发散的一个参数,效果类似于温度参数,温度越高,AI越愿意分散尝试不同落点。反之,概率越集中在得分最高的少数着法上。
搜索树演示图,此图为二叉树进行演示,实际可能会更加复杂
任务三,开始算力分配。树上的每条枝杈具有三个核心特征。
策略网络给出的初始优先级记作P,这条路被搜索的次数记作N,搜索结果回传后的平均胜负价值记作Q。
这是算法最最核心的公式,∑bN表示整个大树干总共的搜索次数,cpuct是用来控制相信现在的结论还是继续尝试冷门路径的一个开关。
医院体检
这个式子描述了一个什么画面呢,比如来医院做体检,把体检结果给医生看看。
Q是已经检查出的结果,医生说Q高,好的,那就是说这个体检结果比较全面。
P像是初诊,如果医生说P高了,那就是说明单项体检值得做一个。
N是检查项目数,如果说N有点小,那就是要求做个全身体检结果就测了个视力,赶紧去把剩下的都检查完了再说。
价值网络,使用许多带有参数的卷积层,(左图从下到上)输出一个标量值v*,用于判断预测落棋,对局面s'的期望价值
价值网络从整体上判断当前局面更有利于哪一方。
这个式子很智能的一点还在于,MCTS不会拘泥在当前棋局胜率最高的地方,还会给一些“怪路”留着选择的可能。
第四项,选择、展开、估值、回传会循环成千上万次。“热门”的分支越挖越深,低优先级分支可能很早失去算力。
选择、展开结果、估值、结果回传不断进行
现代神经网络MCTS不一定把每次搜索都算到终局,其程度也受到模型训练的影响。
用常规蒙特卡洛算法模拟,把算法深挖后所计算的各种情况进行数值统计,去计算其中能够获胜的情况占比,来作为胜率的数值结果。
n是总模拟次数,nB是黑棋获胜的模拟次数,nD就是和棋的次数。
MCTS会把各分支的访问次数与价值都汇总起来,来判断当前局面“价值”v,并换算成胜率。
可以看出,如果模拟情况价值较高,那么相对的胜率也就较高。
如果价值网络算出v=0.84
忽略掉和棋情况,换算成当前一方的胜率就是
细心的人还会发现,为什么空棋盘上会有35%左右的胜率,这其实是对规则判决的计算。
黑棋先走,白棋获得贴目补偿。常见职业规则中的补偿相当于7.5目左右,AI对贴目情况的局面计算结果约为35%。
罕见好棋最危险的处境,就是在搜索树里分不到足够算力。
策略网络给出的初始优先级偏低,搜索预算又被更常见的变化吸走,一条很深、很怪、还牵涉劫争的路线就可能停留在树的边缘。
有意思的来了,当柯洁把其中一条“低价值”路线直接落在棋盘上,新的搜索预算开始沿现有局面重新分配计算出新的,几乎完全不同的情况。
第183手(黑)184手(白)185手(黑)前后变化
黑183手向白棋提出战术难题,白184漏掉了右下中腹的致命断点,白棋答错183手地问题,黑185一断形成“一手同时打三处”的战术,局面从细微优劣变成明确的实质利益,是真正的胜负手。
这需要双方均具备非常高超的水平,才能打出这一局面。
白方实际落下第184手后,棋局变成
AI重新从新局面计算
变成了
此前藏在边缘的小价值着法,被更密集的访问迅速放大。
这也是为什么“实时”胜率在“蠢蠢欲动”之后歘的一下才窜上去。
四、Bug
围棋AI虽然能横扫职业棋手,但也会掉进一圈“怪棋”里把整块大龙(一块由许多同色棋子连成一体、绵延很长、且生死未定的棋串)送掉。
围棋AI研究中出现过一种著名的“循环攻击”。
柯洁曾经在视频中演示了类似思路,用一串看起来笨拙甚至送子的招法诱导AI犯错。
装“傻”阴AI一手
攻击者可以利用这个Bug故意诱导AI形成巨大的环形棋块,这个棋块看上去包住了对手,内部结构却隐藏着致命弱点。
AI持续给它较高估值,于是转去其他区域抢地,攻击者随后收紧包围,整块大棋被一口吞掉。
即使在AI使用远超超人水平所需的搜索量时也能击败它
玩家熟悉的“调虎离山”,其实就是让AI在算法内部表现为不断累积的估值误差。
程序运行稳定,落子也完全合法,被临时“价值”所蒙蔽了双眼的AI,却“自信”地在这个假的方向上越跑越远。
人是喜欢找游戏bug的,自从AI开始进入围棋的领域后,很多人包括研究人员或者职业棋手均尝试找出AI对抗策略的漏洞,来利用这类弱点击败远强于人类的围棋系统。
五、其它品种的“树”
棋牌棋牌,虽然说同样都有着可计算的“胜率”,但这个数字得出的路径也不尽相同。
象棋和围棋类似,属于是把棋子全部公开,我能看到全部的棋盘信息,对手也可以的类型,这种棋类胜率计算主要困难来自未来分支。
这样的棋盘,越透明,算法越专注于向前搜索。
传统象棋引擎常用极大极小搜索与Alpha-Beta剪枝,现代研究系统也会结合神经网络和蒙特卡洛树搜索。此外JiangJun还把MCTS与策略空间响应机制结合,用来处理不同策略互相克制的现象。
象棋博弈训练
除了象棋,还有麻将。麻将和上面说的最核心的不同,是它只向算法展示着部分信息,而非全部。
其他玩家的手牌藏着,摸牌带着随机性,四个人还会改变彼此的风险。
这应该是AI互相博弈麻将(doge)
Suphx给麻将类型的AI学习方向,用的是全局长期回报预测等长期机制,也就是有点类似于“走一步,看一步”的策略(天胡当我没说)。
一手牌可以提高胡牌机会,也可能放大放铳风险。麻将这种“暗”牌越多,算法便一边补全信息,再一边给行动可行度高的行动。
和麻将又有所不同的是,斗地主则又多了一层合作。地主独自作战,两名农民共享胜负。DouZero在大量完整牌局中学习动作价值,一名农民主动让出牌权,也可能是在给队友铺路。
它采用深度蒙特卡洛学习,与围棋的树搜索属于两套具体做法。
这副生成候选、评估后果、扩展可能的算法骨架,其实已经悄然走出了游戏。
六、价值百亿的“树”
这个用来寻找围棋胜路的搜索骨架,化学家也开始用它寻找着合成路线了。
以往,给化学家一个目标分子,他会从成品向原料倒推,其路径可能成千上万,在某根化学键上这“切一刀”看看,那“切一刀”试试,把目标拆成更简单的前体之后,再继续拆解,直到路线抵达可以买到或容易制备的起始原料。
逆合成图示
这套方法叫作逆合成分析,一整条合成路线就像是一棵倒着生长的枝条,一个靠谱的路径可能会需要对成千上万的枝杈的推导,只靠手搓着往回推,还是太顶了。
一个在2018年发表在《Nature》上的研究,把这个算法从棋盘也是“种”到了实验室,研究团队把三类神经网络与蒙特卡洛树搜索装进了同一套规划系统,分工合作。
扩展策略网络负责推荐更有希望的逆合成转换,快速策略网络帮助搜索向下探索,反应可行性网络负责过滤掉看起来不是很成立的步骤。
药物研发算法简化版工作流程
棋盘上的候选落点,跟每一次断键类似。这套算法系统通向可获得原料、步骤更合理的路线,会得到更多搜索资源。当然,AI药物发现不止于所说的这套算法。
研究报告显示,这套系统解决的分子数量接近传统方法的2倍,速度达到约30倍,不仅如此,在双盲测试中,化学家对机器路线和文献路线给出了平均相当的评价。
两家机构的2025年估值与2033至2034年预测
Grand View Research估算,全球AI药物发现市场在2025年约为23亿美元,2033年可能达到138亿美元。
IMARC给出的整个AI药物发现产业,预测2034年的规模将达到145亿美元。
回看这一手棋,神的地方在于它掀翻了大多数人包括AI最关注的局面,再确凿地宣布了获胜。
“力拔山兮”——掀翻棋盘,直接获胜。
注:本文仅作围棋知识科普与棋局分析参考,不构成专业指导。文中胜率、目数及局势判断等均可能受AI模型、计算参数和规则差异影响,请以实际棋局及专业分析为准。
主要参考资料
luckyJerry26|柯洁传世名局:四星烬!三星凯隐和四星烬,连续两局三星五费老二,破大防
中国体育报|柯洁再度问鼎王中王争霸赛|2026年7月31日
柯洁|王中王夺冠自战解说|2026年8月24日
David Silver等|Mastering the game of Go with deep neural networks and tree search|2016年1月27日
Tony Tong Wang等|Adversarial Policies Beat Superhuman Go AIs|2023年7月23—29日
Yang Li等|JiangJun: Mastering Xiangqi by Tackling Non-Transitivity in Two-Player Zero-Sum Games|2023年8月9日
Junjie Li等|Suphx: Mastering Mahjong with Deep Reinforcement Learning|2020年4月
Daochen Zha等|DouZero: Mastering DouDizhu with Self-Play Deep Reinforcement Learning|2021年7月18—24日
Marwin H. S. Segler、Mike Preuss、Mark P. Waller|Planning chemical syntheses with deep neural networks and symbolic AI|2018年3月28日
美国食品药品监督管理局(FDA)|Artificial Intelligence for Drug Development
Grand View Research|Artificial Intelligence In Drug Discovery Market Report, 2033|2026年1月
IMARC Group|AI in Drug Discovery Market Size & Share Report, 2034|2026年
编辑:亦山&丁香叶子
来源 | 中科院物理所 (ID:cas-iop)
未经授权,禁止二次转载,如有需要联系原公众号
热门跟贴