[发明专利]一种基于动态估值的跳棋方法及系统在审
申请号: | 201810257452.6 | 申请日: | 2018-03-27 |
公开(公告)号: | CN108416166A | 公开(公告)日: | 2018-08-17 |
发明(设计)人: | 周炽金;张克明;王梦圆 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 北京高沃律师事务所 11569 | 代理人: | 王戈 |
地址: | 100000 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 跳棋 计算效率 剪枝算法 搜索 | ||
本发明公开了一种基于动态估值的跳棋方法及系统。该方法包括:获取当前棋局;计算所述当前棋局的估值;根据所述当前棋局,通过剪枝算法搜索,得到多个不同的下一步棋局;计算各所述下一步棋局的估值;根据所述当前棋局的估值以及各所述下一步棋局的估值,计算各所述下一步棋局的动态估值;根据各所述下一步棋局的动态估值确定最优棋局。本方法或系统使用动态估值的方法,根据棋局的状态不同,增量地进行估值计算,使得估值更精确,并且提高了计算效率。
技术领域
本发明涉及计算机领域,特别是涉及一种基于动态估值的跳棋方法及系统。
背景技术
现有的国际跳棋AI引擎,由于采用的是静态深度、静态估值,无法根据局面来动态调整深度和估值,容易引起时间开销大、估值不精确等问题。
并且,现有国际跳棋AI引擎对搜索未做优化,对博弈树的搜索时间复杂度高。以多叉树为例,若无优化,每增加一层,时间开销指数型增长。由此带来的影响就是在一定时间内,搜索层数少,棋力弱。
发明内容
针对上述问题,本发明提供了一种基于动态估值的跳棋方法及系统。
为实现上述目的,本发明提供了如下方案:
一种基于动态估值的跳棋方法,所述方法包括:
获取当前棋局;
计算所述当前棋局的估值;
根据所述当前棋局,通过剪枝算法搜索,得到多个不同的下一步棋局;
计算各所述下一步棋局的估值;
根据所述当前棋局的估值以及各所述下一步棋局的估值,计算各所述下一步棋局的动态估值;
根据各所述下一步棋局的动态估值确定最优棋局。
可选的,所述计算所述当前棋局的估值,具体包括:
记录当前棋局的棋局信息,并将当前棋局信息保存到哈希表中;
根据所述当前棋局信息计算当前棋局的估值。
可选的,所述计算各所述下一步棋局的估值,具体包括:
记录各所述下一步棋局的棋局信息;并将下一步棋局信息保存到哈希表中;
根据所述下一步棋局信息计算下一步棋局的估值。
可选的,所述根据各所述下一步棋局的动态估值确定最优棋局,具体包括:
比较各所述下一步棋局的动态估值,得到最大动态估值;
选择最大动态估值对应的下一步棋局为最优棋局。
一种基于动态估值的跳棋系统,所述系统包括:
获取模块,用于获取当前棋局;
第一估值计算模块,用于计算所述当前棋局的估值;
搜索模块,用于根据所述当前棋局,通过剪枝算法搜索,得到多个不同的下一步棋局;
第二估值计算模块,用于计算各所述下一步棋局的估值;
动态估值计算模块,用于根据所述当前棋局的估值以及各所述下一步棋局的估值,计算各所述下一步棋局的动态估值;
确定模块,用于根据各所述下一步棋局的动态估值确定最优棋局。
可选的,所述第一估值计算模块包括:
第一记录单元,用于记录所述当前棋局的棋局信息,并将当前棋局信息保存到哈希表中;
第一估值计算单元,用于根据所述当前棋局信息计算当前棋局的估值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810257452.6/2.html,转载请声明来源钻瓜专利网。