返回
朗读
暂停
+书签

视觉:
关灯
护眼
字体:
声音:
男声
女声
金风
玉露
学生
大叔
司仪
学者
素人
女主播
评书
语速:
1x
2x
3x
4x
5x

上一页 书架管理 下一页
第十章 计算机——未来的象棋之王
性(21组掷骰点数和每组点数的约20种走棋法),与之相比,在典型的国际象棋棋势中,则“仅有”38种可能性。

    在15子棋的计算机程序BKG中,伯利纳没有沿用人工智能中按规则求值的一般做法,他注意到“在医疗诊断体系中,也许还有一种惯例,比如说,如果有一位患者,他有这样那样的疾病,而且其年龄已超过6周岁,那么可以给他以如此这般的治疗。可是忽然间来了一位患同样病的患者,但他的年龄仅为5周岁9个月,按照惯例,不能对他进行那种治疗。当然,那是错误的。因为你真正需要考虑的不是黑白分明的年龄截止点,而是由于某种原因需要考虑诸如年龄、体重以及一般健康情况等因素的平缓函数。在上述特定病例中,可以开出降低剂量的药方”。

    “当你首次设计智能系统时,这几项考虑已不很重要了。它们远不及把基本信息输进计算机中那么重要。但是,如果你想与最佳的人竞争,那么你就不能按照一套完全不灵活的规则去工作。”

    当然,伯利纳想以他的15子棋计算机程序与人类最佳棋手博奔,因此他没有认真地考虑较为惯用的方法,摈弃了把棋势分为几种类型而且每类都有不同求值函数的通则。相反,他却依赖数学上的单一复杂函数,这个函数包括大约50个不同的变量,与具有不同程度重要性的特定部分相一致,其重要性取决于博弈阶段。每个变量都由一个数值来替代,来衡量存在于已知棋势中相应特点的重要程度。这样一来每个数都是加权的:它们都乘以另一个数,这个数称为系数,用以表示对该点的特点所给予的注意力有多大(或多小)。随着博弈进程的变化,这些系数也平缓地变化着。

    这种成功的方法叫做SNAC法(带有应用系数的非线性平缓函数法)。在SNAC法提出后,只有几个月的时间,BKG程序就击败了人类15子棋冠军选手,这显然表明SNAC法是成功的。虽然BKG程序有一些掷骰子般的幸运,而且也曾有过少量较小的错误,但它还是一个强劲的棋手。

    伯利纳根据他在计算机15子棋上获得的成功,知道找到一种平缓变化的函数对国际象棋上的有效求值法也是很关键的。在这一点上,惯用的一种方法也与通则有关。考虑一下王的棋势。当博弈到中盘时,你想把王躲藏在角落里,那里很可能少受骚扰。求值函数可以对王的实际位置与角落之间的棋盘方格进行计数;这个数愈大时,你的处境也愈坏。然而,在弈至残局时,那时只剩下几个子,将死的危险性甚微,于是王应该处于棋盘的中央,它在那里还可以起着很强的战子作用。所以在残局时,求值函数可以对王的实际位置与中央之间的间隔数进行计数。如果你采用了如下通则:BKG程序在与人类的世界15子棋冠军卢吉·维拉对弈时赢得了胜利

    BKG程序在与维拉比赛的第一局中,掷出一个 4点和一个2点。这时,BKG程序(黑方)具有优势,但不得不留下一个暴露棋子。它走了9-5步和9-7步,在7点处,留有一个暴露棋子,它可能受到13组掷骰点数的攻击。从表面上看,好像走5-1步和4-2步比较安全,在5点处留下一个暴露棋子,它只可能受到11组掷骰点数的攻击,但这却是糟糕的走法,因为它在9点处会留下两子,当它们必须走步时,就有可能成为后来的暴露棋子。

    “当棋盘上还有一定数目的子和兵时,棋局就是中盘,而当其只有很少几个子时,则是残局”,那么,你几乎要患精神分裂症了。

    伯利纳接着说道:“你当然不想这样,棋势是连续性的——中盘是逐步转为残局的。由于残局的逐渐接近,你不再那么执意要让王走到角落,而是容许王缓慢地移到棋盘的中部。每当人人都承认残局终于来到时,王应该靠近棋盘的中央,而不是藏在角落里。”达到这一目
上一页 书架管理 下一页

首页 >阿基米德的报复简介 >阿基米德的报复目录 > 第十章 计算机——未来的象棋之王