当前位置:主页 > 独立钻石 > > 正文
独立钻石棋人机对下怎么玩?
上传时间:2018-03-03 15:28点击:

独立钻石棋人机对下怎么玩?

基本上人类在玩独立钻石时候,多半是根据直觉,或许根据着经历规律,会有一些战略来决议怎么下棋,例如有人会决议要把棋子都尽量的往中心跳,也有人会依照着自己的喜爱次序来跳,不论怎么,大多是以随机的办法来决议怎么走下一步的。

独立钻石棋人机对下怎么玩?
独立钻石旗人机对下

可是当用电脑来处理这种问题时,就不会用这种随机的办法来作,而是会以更有体系的办法找出可能的下一步,然后测验着走过这些可能的途径,去找到最后的回答,由于电脑能够精确并许多回忆的特性,所以咱们能够让电脑回忆走过的途径,所以,当电脑走到无法再走下去的状况时,能够退回到之前的盘面,改下另一种可能的走法,而持续测验找出回答来。当然,电脑在挑选可能的下一步时,也能够有一些战略来判别,要测验哪一步才干够比较快找到回答。

由于独立钻石的盘面有33格,每一格可分为有棋子和没有棋子二种可能,因而,一切可能的盘面组合,高达2^33,相当于有80亿种以上的盘面组合,由此能够想见其盘面改变之多。所以,要是只用暴力法去打开这整个树来求解,而每走一步会少一颗棋子,一共32颗棋子需求31步才干求得回答,也就是说,这棵树最深会到31层,每一层又可能会有许多条分枝,由此能够想见这棵树的巨大。当然,这树中心是有许多重复的节点,是表明相同的盘面,所以,咱们尽力的方向就是在于要怎么削减通过这些重复的节点,来削减搜索的空间与时刻。

独立钻石棋人机对下怎么玩?
独立钻石人机对下

假定每一种盘面用一个bit来表明,那2^33种盘面组合就得用2^33bits,相当于1GB的空间来纪录。因而在使用上咱们使用了硬碟来记载走过而且断定打开下去会无解的盘面,而使用Hashing的办法,把每个盘面对应到一个bit,可是,由于硬碟许多的读写动作,所以形成在执行时的速度变慢。为了处理这个问题咱们使用了一些战略。

一起,由于它有对称联系,所以咱们每一种盘面,通过旋转和翻转的组合,相当于有八种盘面,因而,咱们每通过一个盘面,相当于通过了八个盘面。相同的道理,在解各种盘面的时候,也能够使用这种对称的联系,来削减需求解的盘面。

 

 


发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
用户名: 验证码:点击我更换图片

推荐阅读