Resources 什么是编写国际象棋引擎的好资源?

Resources 什么是编写国际象棋引擎的好资源?,resources,chess,Resources,Chess,我对编写一个国际象棋引擎感兴趣(主要是作为一个学习练习),并且对人们知道的任何可能感兴趣或有用的资源感兴趣,任何真正的东西:论文、书籍、理论、教程,任何可能有用的东西。这基本上是在国际象棋领域 在国际象棋比赛中,让计算机“思考”的最常见的方法是使用where计算机“思考”,通过分析从当前状态提前做出不同动作的结果 不同招式结果的“优劣”可以通过许多标准来确定,例如分数、剩余敌人数量、获胜状态等。例如,如果你把玩家移到右边,你赢了这场比赛,这是一个非常好的状态。但是如果你把它移到左边,你什么也得不

我对编写一个国际象棋引擎感兴趣(主要是作为一个学习练习),并且对人们知道的任何可能感兴趣或有用的资源感兴趣,任何真正的东西:论文、书籍、理论、教程,任何可能有用的东西。

这基本上是在国际象棋领域

在国际象棋比赛中,让计算机“思考”的最常见的方法是使用where计算机“思考”,通过分析从当前状态提前做出不同动作的结果

不同招式结果的“优劣”可以通过许多标准来确定,例如分数、剩余敌人数量、获胜状态等。例如,如果你把玩家移到右边,你赢了这场比赛,这是一个非常好的状态。但是如果你把它移到左边,你什么也得不到。向右移动是合理的。这个定义“善”的函数通常称为启发式函数

这个过程以递归方式进行了很多次。转数越大,所需时间就越多。转动次数越多,软件就越智能。只在一个回合中提前思考可能只会导致贪婪的选择。智能象棋软件具有很强的启发式功能,可以进行多次思考

还有一些关于mini-max算法的细节我在这里没有解释,但这应该包括基本思想。

来自我的档案:

  • 这是一个有用的方法
  • 这是一个国际象棋编程的例子
  • 这包含了从初学者到高级水平的几个简单步骤
  • 这是一个很好的例子
  • 这是
  • 这是一个,一个有趣的搜索算法
  • 这是一本很好的学习指南
  • 这是很多国际象棋引擎
  • 这是很多国际象棋引擎
  • 很好的信息和源代码
  • 这些是
  • 合理的价格
  • 合理的价格
  • 合理的价格
  • 看一眼
  • A用于测试目的
  • 这是我的一份旧报告
  • 一堆
  • 最后,这里是

在创建我的国际象棋引擎时,我花了几个月的时间试图收集好的资源来描述创建国际象棋游戏的一些困难方面。以下是我发现最有用的方法的列表:

弗朗索瓦·多米尼克·拉拉姆埃的国际象棋编程

这是一篇让我进入计算机象棋的文章,它是一篇关于计算机如何下棋的概述。这是非常容易阅读,它会介绍给你所有的术语和关键字

计算机象棋wiki,在过去的几个月里,这一功能确实有所扩展。这是一个很好的参考资料来源

路易斯·凯斯勒的计算机象棋链接

浏览完以上资源后,可以在下面的链接页面中找到剩余的资源

最后但并非最不重要的一点是,我写了一个计算机象棋博客,让你从零开始用C#编写一个象棋引擎的所有步骤,它包括一个计算机象棋链接部分和一个象棋游戏入门工具包


亚当·贝伦特(Adam Berent)

我加入了保罗·威克斯(Paul Wicks)(上图)的同一个联盟,我也想为自己的学习编写一个国际象棋引擎,唯一的限制是我的日常工作(即处理无聊的web服务和其他东西),但这是值得的

我决定使用逐层方法构建它。 我几乎完成了多人游戏的部分,即(人对人)

一旦我完成了这个,我会很乐意加入AI层来支持(计算机与人类)游戏方案。这是我最担心的部分,我在这个帖子中找到了非常好的帮助提示,非常感谢大家

目前我精通的语言是Java,以防性能受到影响
然后我可以把它移植到C++。

象棋编程wiki很酷。第二个链接是:第二个链接又下来了。Imon,第二个链接为我工作。现在很多链接都不见了,请你更新答案好吗?