国际象棋引擎
目录
国际象棋引擎
在计算机国际象棋中,国际象棋引擎是一种计算机程序,可以分析国际象棋或国际象棋的变体位置,并生成它认为xxx的动作或动作列表。国际象棋引擎通常是带有命令行界面的后端,没有图形或窗口。引擎通常与前端、窗口化的图形用户界面(如Chessbase或WinBoard)一起使用用户可以通过键盘、鼠标或触摸屏进行交互的功能。这允许用户在不学习每个引擎的新用户界面的情况下与多个引擎对战,并允许不同的引擎对战。在过去的几年中,国际象棋引擎可用于手机和平板电脑,这使它们的使用更加容易。列表包括Stockfish、Komodo、Texel、Bagatur等国际象棋引擎。
增加力量
象棋引擎的演奏强度每年都在增加。部分原因是由于处理能力的提高,使得在给定时间内可以对更大的深度进行计算。此外,编程技术得到了改进,使引擎在其分析的路线中更具选择性,并获得了更好的位置理解。国际象棋引擎经常使用大量先前计算的开局“书”来增加其前几步的下注强度,直到深入分析的行中可能达到20步或更多。

一些国际象棋引擎维护着国际象棋位置的数据库,以及先前计算的评估和最佳动作,实际上是一种反复出现的国际象棋位置的“字典”。由于这些位置是预先计算的,因此引擎仅播放数据库中指示的移动之一,从而节省了计算时间,从而实现了更强劲,更快速的播放。
一些象棋引擎使用残局表库来增加其在残局中的游戏强度。残局表库包括带有少量材料的所有可能的残局位置。每个位置最终决定为该回合要移动的玩家的胜利、失败或平局,并且双方均以最佳发挥的方式移动到最后。该表为每个位置标识了在最佳防御中获胜最快的动作,或在最佳进攻中失去最慢动作的动作。此类表库可用于所有棋子残数不超过7件的棋局游戏(不包括平凡的棋局位置,例如6张白棋与1张黑王)。
当为了实现不可逆转的改进而进行的动作比国际象棋引擎的计算范围要多时,如果不使用残局表基,就不能保证引擎找到最佳动作,并且在许多情况下可能会犯规结果就是五十法则。许多引擎使用xxx性大脑(在对手转弯时继续计算)作为增加力量的方法。
分布式计算还用于改善国际象棋引擎的软件代码。2013年,Stockfish国际象棋游戏程序的开发人员开始使用分布式计算来改善软件代码。截至2017年6月,共使用了745年以上的CPU时间来玩超过4.85亿本国际象棋游戏,其结果被用于对国际象棋进行细微和增量的改进播放软件。
国际象棋引擎的比较
国际象棋变体引擎
已经开发了一些国际象棋引擎来玩国际象棋变体,添加必要的代码以模拟非标准国际象棋棋子或分析非标准棋盘上的棋局。例如,ChessV和Fairy-Max都能够在尺寸xxx为12×8的棋盘上玩变体,例如Capablanca Chess(10×8棋盘)。
但是,对于较大的棋盘,几乎没有能有效发挥作用的象棋引擎,而实际上在象棋无界的象棋(无限象棋)上进行的象棋游戏几乎不受象棋游戏软件的影响。