寓言故事
棋手在岔路前放小旗
少年棋手第一次参加大赛时,每一步都凭感觉下。师父问他:如果你走这一步,对手可能怎么回?再下一步又会怎样?少年摇头,他只看见眼前一格,也只记得刚刚被吃掉的子。
师父在桌上画了一棵倒着长的树。树根是当前棋局,每根枝条是一种可走的棋。走到一个新节点,对手又有几根枝条。再往下,局面越来越多,像一片森林。
少年尝试把所有枝条都走到底,很快崩溃。三步之后已经有上千种局面,算到天黑也算不完。他先以为高手就是能看完所有路,师父却说,聪明不等于穷尽一切。
他们给每个节点插小旗:这一局面大概有利还是不利;这条路还值得往下看吗;如果已经输了,就不用再展开;如果几条路都差不多,就先探索不确定但可能更好的那条。
第一次修补并不稳。少年只挑看起来最好的枝,结果错过了对手隐藏的反击;后来他又每条都看一点,深度不够,仍然被埋伏。师父教他在展开、估计、剪掉和回退之间来回调整。
真正让少年服气的是一盘残局。他凭感觉吃掉眼前一子,却三步后被将死;若先放过那子,反而能逼对手走进死角。眼前收益和后面局面第一次在他脑中分开。
后来少年下棋慢了半拍,却稳了很多。他每一步不再只是一个动作,而是在脑中走过一棵有限展开的树:试探、评估、剪枝、回退,再选当前看来最好的枝条。
后来少年也没有每步都想成一整片森林。局面简单时,他快下;局面危险时,他多展开几层。师父说,小旗不是为了拖慢你,而是让你在关键岔路前少被眼前一颗子骗走。后来他复盘每盘棋时,也会标出哪条枝看早了、哪条枝剪错了,让下一次展开更准。