实施国际象棋引擎有多难? [英] How hard is it to implement a chess engine?

查看:124
本文介绍了实施国际象棋引擎有多难?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道实施棋类引擎会有多困难.已经有开源的实现了吗?

I'm wondering how hard it would be to implement a chess engine. Are there already open-source implementations?

对于给定的电路板星座,您似乎需要评分功能,并且需要一种非常快速的方法来探索将来可能出现的几种电路板星座.探索所有可能的未来动作当然是不可能的,因此人们可以贪婪地跟随最有希望的动作,或使用类似的技术,例如模拟退火以概率方式跟踪运动.

It seems that you'd need a scoring function for a given board constellation, and a very fast way of exploring several likely future board constellations. Exploring all possible future moves is of course impossible, so one could greedily follow the most promising moves, or use approximate techniques like simulated annealing to follow likely moves probabilistically.

您认为这是否在机器学习研究生项目的范围之内-假设学生可以使用一个开放源代码的实现,这是否是诸如返回给定图形的下一个可能动作之类的基本操作?可能太难了?

Do you think that is within the scope of a machine learning graduate student project -- assuming there was an open-source implementation that the students could use, that does the basic things like returning the next possible moves for a given figure? Probably too hard?

让不同的团队使用国际象棋引擎,然后让他们彼此对战,将是一个有趣的项目……

It would be a fun project to have different teams work on chess engines and then let them play against each other ...

推荐答案

去年我用C#构建了自己的国际象棋引擎.并不是那么困难.在工作中,我犯了个错误,我发现互联网上的信息并没有清楚地呈现出来,其中许多只是从其他站点复制而来.

I have spent the last year building my own chess engine in C#. It was not all that difficult. During my work I have made mistakes, I have found that information on the internet was just not presented clearly, and much of it was simply copied from other sites.

为了使其他人在此过程中的生活更轻松,我一直在记录我的国际象棋引擎的开发并将很多源代码发布在我的博客上:

In order to make life easier for someone else going through this process, I have been documenting the development of my chess engine and posted much of the source code on my blog:

http://www.chessbin.com

我什至创建了一个国际象棋游戏开发套件,将带您开始开发自己的国际象棋引擎,其中包括:

I have even created a Chess Game Development Kit that will get you started in developing your own chess engine, which contains:

  1. 代表棋盘和棋子的所有代码
  2. 与验证棋子动作有关的代码
  3. 图形用户界面,显示国际象棋的位置,并允许您在棋盘上移动棋子

我的网站基本上专用于像您这样的人;想开始构建自己的国际象棋引擎的人.

My site is basically dedicated for people just like you; people that want to get started on building their own chess engine.

这篇关于实施国际象棋引擎有多难?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆