监理工程师学习看书的顺序与进度?
2021-06-13
更新时间:2022-10-11 15:12:53作者:佚名
前文见 不会功夫的潘达:探索围棋官子最优解(一):卡片围棋
{本文虽然是最后写的,按照逻辑顺序应为本系列第二篇围棋棋盘上共有多少个交叉点,望读者谅解。}
(本文暂时谢绝一切转载)
传统围棋教科书上的官子理论自成体系,但构成其根基的一对概念“先手”、“后手”并无精确定义。无论是理论还是实践,整个理论体系都因此产生了巨大的问题。本节我们将借助卡片围棋,给先后手以精确的定义【注1】。
出入计目法
“出入”一词源自日本大正时代,本意为会计中的收入与支出。传统围棋教科书上普遍采用出入计目法(Deire )评估官子的价值。请看以下两例:
例1:后手官子
本例中,局部黑白无论谁先动手都可以吃掉对方的子,从而有所收获。若黑先,则黑吃白二子,黑方得4目,记为+4;若白先,白吃黑一子,白方得2目,记为-2。两者相减即得到出入值,为4-(-2)=6目,即本官子价值6目。由于局部无后续,此处为双方后手官子,因此官子价值记作后手6目。
例2:单方先手官子
本例与上例有所不同。此局部,白先则可在a位吃,局部白棋得5目,记作-5。而黑先在a位吃以后,白棋须在b位补一手,否则下一步黑棋就可以在b位全歼白角。按照黑a白b计算,局部黑棋4目,白棋2目,净目数是+2。由此我们得到本局部的出入值是+2-(-5)=7目。我们把黑先的a处官子称作先手7目,白先的a处官子称作逆收(逆先)7目。
先后手是全局概念
按照传统理论,先手即对方须立即回应的着手,而后手则是对方不须回应的着手。这立即造成了疑问:什么情况下需要立即回应?上面例2中,黑a之后,若白b不走则角部会被黑棋杀死,因此白棋需要立即回应。但是,杀角价值区区后手16目;如果棋盘上其它地方有价值更大的着手,白棋不必立即回应,先手就变成了后手。
由此可见,仅考虑一个局部,我们无法判断一步棋到底是先手还是后手。换句话说,先后手取决于全局的状况。从全局考虑问题总是很麻烦,我们希望能将全局问题转化为局部问题,而卡片围棋就给我们提供了这样一个途径。
定义温度
江芮夫妇玩的卡片围棋中的卡片从20,19.5直至0.5目共40张。现在假设棋盘上只有例1中的一个官子局部,以及取了一部分的卡片摞,还剩下3目至0.5目的六张卡片,黑先,请问现在应该走官子还是拿卡片?答案是没有区别!若收官子,黑方得棋盘上的4目+2.5+1.5+0.5=8.5目;白方得3+2+1=6目,黑胜2.5目;若拿卡片,黑方得3+2.5+1.5+0.5=7.5目,白方得棋盘上的2目+2+1=5目,也是黑胜2.5目。换句话说,例1中的官子与一张3目的卡片等价。
有些官子相当复杂(如上节引言中的例子),0.5目的卡片不足以精确描述其价值。如果不考虑游戏性,仅从理论研究出发,我们可以加厚卡片摞,比如0.001目,0.002目,...以千分之一目为公差递增直至100目的十万张卡片。假设棋盘上剩下一个局部,以及一摞十万张卡片余下的一部分,最高值卡片为X。为了避免人类失误的干扰,我们可以做一个思想实验,让决不犯错的围棋上帝做选择。如果围棋上帝认为拿X目的卡片和走这个官子没有区别,我们就定义这个局部的温度【注2】()为X。所谓温度,就是热的地方更紧要,冷的地方可以先放一放。
由温度定义先后手
定义了温度之后,先后手的严格定义也呼之欲出。如果一步棋令局部温度上升,我们就说这步棋是先手(sente【注3】);若其令局部温度下降,则这步棋是后手(gote)。
比如例2中的局部,温度是7目。黑走a之后,余下局部温度是8目,有所上升,因此黑a是先手。白走a之后,余下局部温度是0目,因此白a是后手。
一个全局的例子
上图脱胎于江芮夫妇卡片围棋对抗的第二局围棋棋盘上共有多少个交叉点,各个局部的温度已经标出(红色代表白棋行棋的位置,蓝色代表黑棋行棋的位置,紫色代表双方行棋位置重合)。现在轮到黑棋,全局最热的地方在左下角,温度是5/3目,因此黑棋走左下的扳。全局的温度即所有局部温度的最大值,这是温度的基本性质。黑扳以后,左下温度下降至1/3目,全局温度最高的点变为中央J7位的粘。白粘之后,G5位的温度急剧上升至约3目,意味着白粘是先手,黑必须在G5应一手。接下来白棋走N7,温度为25/24的局部。
白4提令右边的温度下降至11/12目,是后手。接着E5提和F13扳温度都是1目。黑走E5提,白走G13位扳,令局部温度上升,是先手。黑H13回应的打吃也是先手,而白F13接令局部温度下降至0,最终是后手。余下棋盘上最热的点在左上和右下之间摇摆,双方依次收官直至终局。
见合计目法
我们不是围棋上帝,如何得知某个局部的温度呢?好在传统的出入计目法远非一无是处,将其稍加改造为见合计目法(Miai )即可兼容。对于相对简单的局面,我们可以先采用出入计目法的结果,记作D; 然后对黑先结果与白先结果下双方所花步数做差,记作步数差T。不难发现,如果是双方后手官子,则T=2;如果是黑方单方先手官子,则黑先时黑棋不用多下,白先时白棋多下一步,步数差是1,因此T=1;逆收官子同理,也是1.则见合目数M可以用以下公式:M=D/T计算。
例1是双方后手官子,D=6,T=2,因而M=6/2=3,见合价值是3目,即局部温度。例2是黑方先手官子,D=7,T=1,从而M=7/1=7,见合价值是7目。如果有双先官子,则T=0,局部温度是无穷大。此所谓“双先官子无穷大”,抢到双先官子就是白赚【注4】。
见合数目法与传统理论兼容于“单先、逆收官子价值相当于两倍大小的后手官子”,不过见合数目法的表述更简洁,也方便了不同官子之间直接做加减法。对于复杂的官子,我们可以循游戏树将其化归为简单局面,然后递归求解。
既非先手也非后手
似乎一切关于官子问题都可以得到解答,只差一个程序员了。如果读者这么想,就低估了围棋官子的难度。按照前文先后手的严格定义,我们尚遗漏了一种温度既不上升也不下降的情况。这样的棋既不是先手也不是后手,大大增加了问题的复杂度。为了分析这一类着手,我们将在下节引入新的数学工具。
后文见 探索围棋官子最优解(三):组合博弈论
探索围棋官子最优解(四):最后一目
本文部分内容引自埃尔文教授2006年在加州大学伯克利分校教授俱乐部的演讲。 在组合博弈论中,温度的严格定义如下:若G={G^L|G^R}是一个赛局,且{G^L-t |G^R-t} 与一个数字最多只相差一个无穷小量,则称t是赛局G的温度。正文中的定义与数学定义实质相同。 大部分英文围棋术语来自日语的罗马字,如先手 (sente)、后手 (gote)。 首届中日围棋擂台赛,聂卫平对小林光一,黑115大缓手,被小林抢到右边的双先官子,净损4目,棋局瞬间逆转。