上周三,在校园里骑车经过某处路口时,突然发现眼前貌似有位尤物,于是仔细看了她一眼——不是我不想多看几眼,是因为骑车骑的太快了,由不得我多看几眼——在短短的不到一秒钟的时间里……
那是怎样一位尤物啊!与身边的女伴谈笑风生中,她侧过脸颊,只能看见一只月牙般弯过的明眸。不到一秒钟,来不及细细欣赏,我就只看见她那只明眸,恍如闪烁在白昼里的星光。骑车经过,我扭过头,背影远去,只看见她怡然地走着,高挑的身材披着黑色的长衣,仿佛是一位女王。
整整一周,我都不安地思忖:一秒钟,可以记住一个人么?脑海里只有那只眼睛,我拼命回忆着,不愿让它淡去。
八天后的今天,走在往《工程制图》教室的路上,我居然又看见了那只眼睛。我想起来了,现在我没有忘记,以后也不会再怀疑:似乎是相同的长衣,依然是白昼里的星星。
ps:一会早一,一会早二,一会荷兰语,现在又多出个路口之花(flower on the cross),貌似我已经犯了众怒,被同学戴上“暗恋狂”的帽子。但事实不是这样的,疯狂暗恋实乃学习压力太大之故。每天早上6:20爬起来早读,而早读一号(morning reading flower、女神、早读之花)已经十几天没见到人影了,我知道早晚都有这么一天,但终于到来时仍不免寂寞;早二有男友了;荷兰语大三就出国——而我呢?四级考成这样,“世界的十字路口”与我渐行渐远;计算机就像个无底洞,不知道应该做什么、不知道应该怎么做;因为一部漫画,下决心学习人工智能,但那足以支撑我的未来么;最近在读《世界是平的》,又看了NHK的纪录片《崛起中的印度》,不禁因为惧怕这只“头脑立国”的怪物惴惴不安、为面对将来数以百万计的印度同行的竞争把自己绷得更紧……
学院建院五周年,上面让我们写论文,我交的就是这篇《从象棋和围棋展望新世纪的人工智能》。不是出于自愿写的,自己很不满意,但毕竟是自己用了心写的,弃之可惜(交给学院就等于丢了)。那就分三部分贴在日志上,凑数吧。
卡斯帕罗夫、克拉姆尼克无疑是国际象棋的稀世高手,若让他们学习中国象棋,相信段时间内就能取得一定成就。同样,让胡荣华、许银川转行国际象棋,进步同样神速——不只是象棋之间,跳棋、军棋、将棋,就算法而言可以说殊途同归:以某种固定的套路起步,遍历计算下一步的各种可能(对手的变化,自己的变化)取最优解。软件上的进步,无非是在算法上对棋路的计算更深、更快;对权的判定更合理;并非总是急于进攻,学会出缓着,懂得以静制动;再聪明些的还能布置陷阱,设饵钓鱼……活人的思路也不过尔尔,活人设计的软件,不得不如此思考。
然而,用计算机代码解释下围棋的思路,可谓难如登天。
首先,围棋的规则比象棋简单,变化却远比象棋复杂。棋子数量、棋盘大小的差异自不必说,一局象棋的往来平均在六七十回合,而围棋却经常纠缠到一百个回合以上。同时,象棋一步棋的变化通常只局限在少数几个子的几种走法(比如说开局没有人会上帅、出车),而围棋从第一步开始直到收关前都是海阔天空(有人说开局是有定式的,但首创“天元”开局的吴清源先生不会如此认为)——因为以上两点,遍历围棋的变化只存在理论上的可能性。其次,计算的困难并不是天堑,可以通过硬件技术的发展来克服,人脑与电脑间真正的鸿沟,在于权的判定,也即:即使我已经想到了这步棋,我怎样判断它是好棋还是臭棋,好有多好,臭有多臭?
在此我提出三个围棋术语:势、脱先、珍珑。这三个词五个字,任何一个会下围棋的人都理解,也仅仅是“人”才能理解。我们说棋风有“人性化”和“非人性化”,人性化的棋风体现在象棋上是“等着”“兑子”“弃子”等,体现在围棋上,就是人性化的围棋有势、脱先、珍珑。
围棋讲究“取势”,崇尚大局观。这大局观主要体现在开局和中盘,战场空间广阔、双方短兵相接前排兵布阵的阶段。选手为取势而走棋时,考虑的往往不是一步两步,而是至少在为十步以后的局面作铺垫,与其说是凭计算走棋,不如说是凭经验、凭直觉、凭灵感。有大局观的棋手,并非每一步棋都有“杀棋”“围空”的明确目的,他知道围棋的规则是“占山为王”,他更清楚围棋切忌目光短浅、因小失大。电脑精于计算,却因为精于计算而锱铢必较,反倒成了负担。在人脑看,两枚棋子在角上成犄角之势,现在是一目空都没有,几十回合后就是一片实地,而在电脑看来那两枚子完全毫无意义:他算(猜)不到几十回合后的情况——除非工程师把棋谱输入数据库——但那样一来不仅失去了人工智能“自我思考”的意义,而且所需输入的数据实量在太大,并不现实。人的逻辑门会“理所当然”的从可能性最高或最低的开始判断,而机器对“与”“或”的认识永远按部就班、承着顺序来;人有一种“跳跃性思维”,一种“感觉”(尽管出错的概率相当高),可以大胆提出假设,根据假设进行验证,而机器却只能循规蹈矩,很难迈出“先假设,再验证”这一步。在我看来,让机器理解“什么是势”“如何取势”——凭借感觉和推测,而不是通过计算来模拟未来的局面——大概是围棋算法最困难的部分,也是让机器由“业余水准”向“专业水准”挺进的最关键环节。
“脱先”遵循的原则是“服从大局”。大局观是区分业余棋手和专业棋手的决定性标准(还有计算能力),而在专业棋手间,对脱先的运用不仅是棋力微妙差距的度量衡,更是一门艺术。
其实,对于采用遍历算法、并且拥有清晰“权”概念的计算机而言,根本不存在脱先一说:他在任何时候都能从全局视角出发求解。但因为遍历只存在理论上的可能,现实中的计算机程序只能优先计算“局部”,再借助“棋谱”考虑大势——这基本上也是人的思维模式。下棋者、观棋者常常说“妙手”“妙手”,妙手有两种:一是在局部战斗中计算精妙、一子当千的好棋;二是在局部战争外凿空拓荒、拨云见日的好棋。对于前者,精于计算的机器当然不在话下,对于后者,又分为两种情况:局部战斗已经结束,先手开辟了新战场;局部战斗尚未结束,可是先手选择了脱先。处理第一种情况,拥有了大局观的机器依然不遑多让;至于第二种情况,人都很难做到,更不用说机器了。人脑的逻辑门,长于用最简捷的思路判断真值,而且可以不用穷尽所有情况,凭“直觉”(尽管也不是很准)“猜”出结果(强制中断)。如前文所言,局部战斗中人脑和电脑的算法都是遍历生成树。围棋的特征之一是:局部交战愈久,棋子愈多,它的全局价值越少。顶尖棋手可以在交战结束、全局价值减少到最低之前适时中断,从树枝回到树根,脱先寻找新的战机——遍历局部是机器的强项,人对“势”的理解更加透彻,可是在局部与全局间往来自如,也只有人类智慧中的佼佼者可以做到。总而言之,脱先的艺术,是强行中断的产物,是跳跃思维的体现,更是“人性化”的最重要特征之一。
怎么说呢,如果把MM 比作星辰,那么漫天闪烁的星光会迷乱人的眼睛,所以嘛,在你还没有最终“定位”之前,各种结论都还是为之过早的吧。
PS,用棋来比较这样一个课题,很大气