比如说专家系统中,实际中应用专家系统并不多,这里面有各种各样的原因,比方说、诊断血液病系统实际上就涉及到一个法律上的问题,一旦出了医疗事故,责任如何划分。还有我们国内有人总结了中医治肝病专家的经验,开发了一套中医的专家系统,但是这个也是有问题的,比如说中医讲号脉,但是当时号脉没有这样的机器。就必须把脉相手动的输入到系统中。普通人又不会号脉,还得找个号脉好的中医,人家号脉好的中医又用不到这样的系统。由于种种原因,这个系统就失败了。 还有比如世界上第一个成功的商用专家系统R1。82年开始在DEC公司使用,是用来代替向厂家订货的工作的。当时据说可以节省4000万美元一年,它通过几千条的规则,覆盖了所有可能出现的情况。 3. IBM深蓝系统 再有一个是IBM的深蓝系统,1997年,在国际象棋比赛当中战胜了国际象棋大师卡斯帕罗夫引起了世界的轰动。其实深蓝系统的主要算法叫做“alpha-beta剪枝算法”,这个算法很早被提出来了,但是直到深蓝系统才获得了很大的成功。这个算法依赖于局面的评估,在当前的局面下是对我有利还是对对方有利。IBM聘请了很多的象棋大师来为他总结经验,用于对局的局面评估。运用这个算法一方面能剪掉不必要的分支,提高系统的效率,另一方面,开奖,它利用知识把局面的评估定义的非常清楚,到底什么样的局面才是对我方有利的。 那为什么这种方法在20年前就达到了让计算机国际象棋达到了世界大师的水平?就是因为无论是中国象棋、国际象棋都有这样的特点,它相对来说容易说得清楚。比方说,残局阶段,比对方多个子就可以认为赢是没问题的,或者说马的位置可能就决定了谁胜负,然后再加上它很强的这个搜索能力,搜索深度可以达到十几步。 由于象棋这种易于“说清”的特殊性,在二十多年前计算机就打败了人类的顶尖选手,国内也是,十几年前计算机也打败了国内的顶尖高手。但是看到深蓝在很多年就获得了成功之后,很多人对象棋产生了误解,认为象棋的可能情况不多,通过暴力穷举就能解决。但其实不是,深蓝的成功很大一部分也在于“Alpha-Beta剪枝”算法的应用。 95年主持IBM深蓝项目的工程师到清华做过讲座。当时我就问过他剪枝算法相比暴力穷举的效率到底提高了多少。他们做过测算,如果单纯是穷举的话,要达到深蓝的水平,每下一步棋需要十七年,用了剪枝算法之后,只需要几分钟。所以说除了“说清楚”外,算法也是很重要的。 4. AlphaGo 那为什么AlphaGo要到20年后才成功了呢? 其实即便是20年后计算机围棋就取得了成功,也是出乎很多人的意料,很多人没有想到2016年人工智能就可以达到这样的水平了。为什么Alpha-Beta剪枝算法用在围棋上不行呢?是因为“Alpha-Beta剪枝”算法严重依赖于局面的评估。原有的局面评估方式是建立在总结专家经验的基础上的。偏偏围棋是很靠感觉的,几个不同的围棋棋手之间往往很难有一致的看法。在几年前中、日、韩曾经举办过围棋组团对抗赛这种友谊比赛,每个队伍选出三名棋手组成团队一起下棋。结果韩国队配合最好。据说他们的队伍里一个人只负责摆棋,一个人只负责买饭准备饮料,只有一个人在下棋。而中国、日本队那边往往还没怎么下呢自己就吵起来了。所以说围棋是很难总结专家经验的,这也就是应用旧的“Alpha-Beta”剪枝算法的计算机围棋,一直处于一种水平不高的状态。 计算机围棋的第一个里程碑在于蒙特卡洛树搜索的引入。2006年法国的一个团队首先把蒙特卡洛树搜素的方法引入到了计算机围棋中,这种方法也是为了解决局面评估的问题。 蒙特卡洛模拟本质上是一种随机模拟的办法。是什么意思呢?就是说该计算机下了,它就随机下,随便找一个点下,一直随便下直到能判断出一方胜利为止。然后再这个基础上反复模拟十万次、一百万次然后看哪个点的胜率最高。哪个点胜率最高,那么计算机下次就下到哪个位置。后来改进的蒙特卡洛树,每次模拟的结果可以重复利用,这就提高了搜索的效率。那么就是靠每一个可下棋的位置的胜率来解决局面评估的问题。 (责任编辑:本港台直播) |