广度优先搜索练习 – AI

我是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,以此类推。

剩下的就交给你了 🙂

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注