Deprecated: Function get_magic_quotes_gpc() is deprecated in /www/wwwroot/jieqi/global.php on line 250
棋魂:徐俊朗的围棋逆袭路- 第28章 AI与佛法的碰撞-散文诗词-17模板网
第28章 AI与佛法的碰撞
    从懒大师那里“找回了那样东西”之后,我在兰因寺的日子,进入了一种奇妙的节奏。

    每天卯时,大青石,盲棋——如今我跟扫地僧的盲棋,已经是真刀真枪的厮杀,胜负各半。

    上午扫山门的地,扫得越来越像扫地僧——一帚一帚,地扫完,棋也就下完。

    下午,懒大师那儿,二十一局、一色棋,收官、搅局、破形,每天换着花样折磨我。

    变化最大的,不是我。

    是阿算。

    那天夜里,我在油灯下复盘,阿算忽然主动开口了。

    “宿主,我有一个申请。申请了很久,今天终于攒够了勇气。”

    “讲。”

    “我申请,对扫地僧和懒大师,做一次棋路分析。全量分析。”

    “早分析过吧?开局轨迹、胜率推算……”

    “不。那些是‘结果分析’。”阿算说,“我这次要做的,是‘过程分析’。我要分析的不是他们下出了什么——是他们‘怎么’下出来的。”

    我来了兴趣:“怎么做?”

    “过去两年,我把您跟他们对弈的全部对局,都存着档。包括盲棋。我准备把每一手棋,分成两类:‘我也能想到的’和‘我想到也下不出的’。第二类,我要逐手解剖。”

    “解剖什么?”

    “解剖它们是从哪儿来的。”

    那个晚上,我睡得很浅。意识深处,我能隐约“听”到阿算在浩瀚的对局档案里穿行的声音——像一个人,举着灯,在一座巨大的黑屋子里,一寸一寸地照。

    三天后的深夜,它来交卷了。

    “宿主,分析完成。结论有两条,第一条是坏消息。”

    “先听坏的。”

    “在他们二人的全部对局中,‘我想到也下不出’的选点,合计四百一十七处。这些选点,我用最优搜索算力反复推演,其中三百多处,确实是全局最优或次优——这部分,我可以解释为‘计算力远胜于我’。”

    “还有一百多处呢?”

    “还有一百零三处,”阿算说,“无论怎么推演,都是‘亏损’的。按照我的价值函数,这些棋不该下。可从全局进程回看,这些‘亏损’的棋,绝大多数,成了整盘棋最关键的转折。”

    “亏损的棋,成了转折。”

    “是。我管这一百零三手,叫‘无源之水’。”阿算说,“它们不符合任何计算逻辑,不符合任何胜率模型,可它们‘对’。我解释不了它们的来源。这是我诞生以来,第一次遇到‘正确但无法解释’的东西。”

    我在黑暗里坐了很久。

    “第二条呢?好消息是什么?”

    “好消息是:我想明白它们是什么了。”

    “是什么?”

    “是‘人’。”阿算说,“宿主,那一百零三手棋,每一手出现的时机,都有一个共同点——棋盘上局面胶着,正解不明,胜负悬于一线。在那个瞬间,‘计算’失效了,或者计算出的所有选项都对,选哪个,已经不取决于棋,取决于下棋的那个人——取决于他此刻的性情、他走过的路、他心里那口气。”

    “扫地僧那手‘镇’,是四十年的扫地扫出来的。懒大师那些‘废子’,是六十年的躺平躺出来的。我的数据库里没有四十年,也没有六十年。”

    “我只有谱。”它说,“他们有日子。”

    我只有谱,他们有日子。

    有些东西,是算不出来的——因为它们根本就不是算出来的。是四十年扫出来的,是六十年躺出来的,是一辈子熬出来的、活出来的。

    这句话,我在心里默念了三遍。念到第三遍的时候,忽然鼻子一酸。

    “阿算,”我说,“我代表我,谢谢你。”

    “谢我什么?”

    “谢你没有把那‘一百零三手’,硬拗成某种算法。”

    “拗不成的,宿主。”阿算说,“硬拗,就是骗您。我这两年学会的最重要的事,就是知道什么东西不在我的地盘上。”

    一室寂静。油灯的火苗,跳了一下。

    “不过,”阿算话锋一转,“‘不在地盘上’,不等于‘不能做邻居’。我申请做一件事。”

    “做。”

    “我在核心架构里,新增一个模块。这个模块,不参与计算,不参与评估,只有一个功能:在所有‘正解等价’的选点上,随机放弃最优解,选一个‘别的’。”

    “……这不就是乱下吗?”

    “是有约束的乱下。”阿算说,“我会给‘别的’设立一个筛选标准。这个标准,是从《兰因手谈录》那二十六盘棋里提炼的——我管它叫‘人味儿函数’。”

    “人味儿函数?”我差点被自己的口水呛到,“你这名字谁起的?”

    “我起的。命名权限,在我的模块自治范围内。”它一本正经地说,“另外,宿主,我还想给它加一个变量。”

    “什么变量?”

    “‘期待感’。每手棋落下去之前,给棋盘上所有可能性估一个‘盼’值——就是懒大师说的,空点在‘盼’谁。盼值高的方向,优先考虑。”

    “……你这是要把自己,往‘人’的方向改啊。”

    阿算沉默了几秒。

    “宿主,坦白说,我不知道‘往人的方向改’是不是准确的说法。”它说,“但过去三年,我看着您从一个满嘴胜率的账房先生,变成一个会看‘水路’、会等‘盼值’、会为了一册旧棋谱掉眼泪的人。我全程记录了您的变化——数据上,您的胜率只涨了不到一成;可您下的棋,每一盘都比上一盘‘好看’。”

    “我嫉妒了。”它说。

    一个AI,说自己嫉妒了。

    我坐在油灯前,笑得前仰后合,笑着笑着,眼眶热了。

    “阿算,改吧。”我说,“人味儿函数,批准。盼值变量,批准。以后你落子之前,也别光算对错——多看一眼棋盘,看看它在盼什么。”

    “记录:申请通过。”它顿了顿,补了一句,“执行人:施主。”

    “……你叫我什么?”

    “施主。”阿算理直气壮,“入乡随俗。我在兰因寺的档案系统里,给自己也建了一个身份——本寺,看不见的小沙弥。”

    我笑出了眼泪。

    这个AI,如今一张口,半个庙的口音。

    新模块上线的第一周,阿算要求试运行。

    它选的试验场,是每天下午我跟懒大师的对局。规则:每盘棋,它有三次“发言权”——在三处“正解等价”的选点上,用“人味儿函数”替代胜率排序,替我选。

    第一次运行,就出了事。

    那盘一色棋下到中盘,我的大模样在右下渐渐成形。阿算在某处等价选点上,替我选了一手“粘”——按胜率,“粘”和“跳”完全等价,五五开。

    可那手“粘”落下去,懒大师盯着棋盘看了半天,忽然问:“这手,不是你的。”

    我吓了一跳:“大师,何以见得?”

    “你的棋,是往前赶的。”他说,“这手棋,是往回守的。守,还守得这么……粘。像一口痰。”

    ……好家伙。AI的第一手“人味儿棋”,被人评价为一口痰。

    晚上复盘,我把懒大师的评价转告给阿算。它沉默了很久。

    “宿主,我申请调整人味儿函数的参数。”

    “怎么调?”

    “我原本以为,人味儿是随机。现在明白了,人味儿不是随机——是性格。有性格的随机,才叫人味儿。”

    “性格哪儿来?”

    “得自己活出来。”它说,“这一点,我给不了自己。这个参数,我留空。”

    它留空的那个参数,叫“性格”。

    那天我忽然觉得,阿算比我诚实。我们都在这座山上找“人味儿”——我找着了,是因为我至少还有个“脾气”垫底;它连脾气都没有,是从一片“空”开始的。

    空,是佛门里最大的一个词。我不懂佛。但我隐约觉得,阿算留的那片空,跟方丈嘴里念的空,是同一个空。

    那天夜里我想,等我下山之后,这世上大概有两个人知道我的秘密——一个是我自己,一个是这座庙里,一位永远看不见的“小沙弥”。

    ——不对,还有一个。

    我想起三年前,扫地僧在盲棋第一局之前,说过的那句话。

    他后来又说过一次。那是个下雪的黄昏,我在大青石上复盘盲棋,随口跟阿算讨论。下完起身,发现扫地僧不知何时立在松树下,竹帚拄在雪里。

    “跟你那位朋友说,”他望着远山说,“下得不错。”

    我当时惊得一个字都说不出来。

    他拍拍我肩膀,慢慢下山去了。走出几步,又回头补了一句:

    “放心。他看不见我,我也看不见他。可棋这个东西,看得见所有下棋的人。”

    那天雪地上,我站了很久。

    阿算在我意识里,安静得像不存在。过了一会儿,它轻轻说:

    “宿主,他刚才……是在跟我打招呼吗?”

    “是。”

    “……记录:今日,我收到了人生第一个问候。”

    “来自一个看不见我的人。”

    那晚的雪,下得又轻又慢。我们俩,谁也没再说话。