造就一个的冷血挑战者

作者用2003年的Celeron1.7G计算机挑战互联网象棋大师,回顾1996年IBM深蓝II的情况,其采用线性暴力算法。作者因中国象棋程序算法和数据库不足,转向国际象棋,筛选出合适软件并测试其计算深度,最后在联众注册ID开启实验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前几天我有了个突然而来的想法,尝试用我那台在2003年购买的Celeron1.7G计算机挑战互联网上的“象棋大师”,我想看看现在的个人电脑的运算能力究竟到了哪一个水平。在1996年当IBM的深蓝II战胜卡斯帕罗夫的时候,已经证明我们在深度运算能力方面不及有上千个处理器Super Syste(我更愿意将如深蓝这样的机器成为超级系统以区别于单纯以浮点运算能力定义性能超级计算机,因为这些系统还有特定的算法去运作)但是对于像我这样但个处理器的系统呢?

96年的时候深蓝使用的是IBM Power 处理器,但几百个这样的处理起并行运作的时候,可以计算34级深度的走法。而我们知道一般能思考3步棋的就可以算是一个不错的弈手,如果能对中场有一个纵深掌握的人已经可以成为专家了。对弈平均不超过60着,而向深蓝II这样的系统在开局的时候已能准确计算到中场的棋着。当然计算机的传统着法存在很大的缺陷,因为当时的算法仍然是线性的,即暴力算法,以深度的计算对抗逻辑的变化,将每一个可能性也计算出来,然后则用而行,不过当出现经典案例的时候,在数据库读出走着就行了(这个其实很复杂,以后慢慢介绍)。

现在相对于九年前已经有了很大的飞跃,所以我对这个经典的个人电脑产品Celeron能否战胜专家们有着很大的兴趣。首先,我不懂编程,对算法和数据结构知之甚少,但是开源代码帮我解决了这个门槛:我在互联网上下载了几款象棋的程序。当然对于一个中国人来说中国象棋会被优先考虑,但是当我翻遍了整个互联网(感谢Google的帮助)时,发现并没有优秀的选择,这些程序大多是国人开发的,往往界面做得很花俏,但是在这棋的算法方面不堪一击,同时并没有建立一个可供索引的数据库,处理器也没有被充分利用,往走一步后等对方下着的时候处理起就处于空闲状态,在实战对弈中,棋力与一个最初级的棋手无异,所以我只好把目光转向了国际象棋。

下国际象棋的程序和系统几乎是和计算机一起诞生的,有人曾经将下国际象棋系统对计算机发展的意义和果蝇对DNA的研究相对并论。在搜索后剩下来就是选择了,选择的方法很简单,将几个程序放在一起各自限定相当的CPU和内存进行比试就可以了。

最后经过筛选,我选择了一个商业的软件,经过合作者的联系,作者同意免费使用并赠送一个数据库,但是要求不做报道。经过更加严格的测试,程序在Celeron1700MHz 上最大可以计算24级的深度(耗时30分钟),5秒最大深度为7级,平均深度为5级,30秒最大深度为14级,平均深度为9级。

在基本工作完成后,我开始了赛场的选定工作。因为联众曾经在国内有比较大的影响力,级别高的棋手也不少,所以我在联众注册了一名为Celeron1700MHz的ID开始了这项实验。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值