我是AI的新学生,在开始编程之前我想做一些练习来理解逻辑。然而,我在做这些练习时遇到了困难,我想知道是否有人可以帮助我解决这个问题(欢迎任何解释,或者告诉我哪里可以找到有帮助的材料):
假设深蓝每秒可以评估2亿个位置。假设每一步,一个兵可以移动到2个可能的位置,一个车可以移动到14个位置,一个马可以移动到8个位置,一个象可以移动到14个位置,一个后可以移动到28个位置,一个王可以移动到8个位置。每一方有8个兵,2个车,2个马,2个象,一个后和一个王。根据标准规则,每一方在前两个小时内要走40步(平均每步3分钟)
a) 使用广度优先搜索算法,深蓝在每一步(3分钟内)可以评估(访问)多少层?
b) 要在3分钟内检查20层,深蓝每秒需要评估(访问)多少个位置?
我非常感谢任何帮助。非常感谢大家。
回答:
基本上,你需要将每种棋子的数量乘以它们的潜在移动能力,来得到一方的理论分支因子。也就是说,每个搜索层级可能的移动数量。
然后,你将这个数字提升到搜索深度的幂次方,来得到需要评估的总位置数量。
所以,如果第一步搜索(半步)的分支因子是N,那么对于两步搜索,总位置数量就是N*N,对于三步就是N*N*N,以此类推。
剩下的就交给你了 🙂