国际象棋引擎
编辑在计算机国际象棋中,国际象棋引擎是一种计算机程序,可以分析国际象棋或国际象棋的变体位置,并生成它认为xxx的动作或动作列表。国际象棋引擎通常是带有命令行界面的后端,没有图形或窗口。引擎通常与前端、窗口化的图形用户界面(如Chessbase或WinBoard)一起使用用户可以通过键盘、鼠标或触摸屏进行交互的功能。这允许用户在不学习每个引擎的新用户界面的情况下与多个引擎对战,并允许不同的引擎对战。在过去的几年中,国际象棋引擎可用于手机和平板电脑,这使它们的使用更加容易。列表包括Stockfish、Komodo、Texel、Bagatur等国际象棋引擎。
增加力量
编辑象棋引擎的演奏强度每年都在增加。部分原因是由于处理能力的提高,使得在给定时间内可以对更大的深度进行计算。此外,编程技术得到了改进,使引擎在其分析的路线中更具选择性,并获得了更好的位置理解。国际象棋引擎经常使用大量先前计算的开局“书”来增加其前几步的下注强度,直到深入分析的行中可能达到20步或更多。
一些国际象棋引擎维护着国际象棋位置的数据库,以及先前计算的评估和最佳动作,实际上是一种反复出现的国际象棋位置的“字典”。由于这些位置是预先计算的,因此引擎仅播放数据库中指示的移动之一,从而节省了计算时间,从而实现了更强劲,更快速的播放。
一些象棋引擎使用残局表库来增加其在残局中的游戏强度。残局表库包括带有少量材料的所有可能的残局位置。每个位置最终决定为该回合要移动的玩家的胜利、失败或平局,并且双方均以最佳发挥的方式移动到最后。该表为每个位置标识了在最佳防御中获胜最快的动作,或在最佳进攻中失去最慢动作的动作。此类表库可用于所有棋子残数不超过7件的棋局游戏(不包括平凡的棋局位置,例如6张白棋与1张黑王)。
当为了实现不可逆转的改进而进行的动作比国际象棋引擎的计算范围要多时,如果不使用残局表基,就不能保证引擎找到最佳动作,并且在许多情况下可能会犯规结果就是五十法则。许多引擎使用xxx性大脑(在对手转弯时继续计算)作为增加力量的方法。
分布式计算还用于改善国际象棋引擎的软件代码。2013年,Stockfish国际象棋游戏程序的开发人员开始使用分布式计算来改善软件代码。截至2017年6月,共使用了745年以上的CPU时间来玩超过4.85亿本国际象棋游戏,其结果被用于对国际象棋进行细微和增量的改进播放软件。
国际象棋引擎的比较
编辑比赛
计算机比赛的结果给出了象棋引擎相对实力的一种观点。但是,为了准确确定力量,锦标赛在统计上不会玩大量游戏。实际上,为了达到显着性,需要在相当平均匹配的引擎之间进行的游戏数量达到数千种,因此在锦标赛的框架内是不切实际的。大多数比赛还允许使用任何类型的硬件,因此仅比较引擎/硬件组合。
从历史上看,商业程序一直是xxx大的引擎。如果业余引擎在锦标赛中获胜或表现出色(例如,2005年的Zappa),那么它将很快实现商业化。在这些比赛中获得的头衔为获胜的程序赢得了许多声望,因此被用于营销目的。
当前的比赛包括:
- xxx国际象棋引擎锦标赛(TCEC)
- 世界计算机象棋锦标赛(WCCC)
- 世界计算机速度棋冠军
- Chess.com计算机国际象棋锦标赛(CCCC)
历史性的比赛包括:
评分
国际象棋发动机等级列表旨在提供具有统计意义的相对发动机强度的有效度量。这些列表在标准硬件平台上的引擎之间玩多个游戏,因此排除了处理器差异。有些还标准化了开始手册,以仅测量发动机的强度差异。这些列表不仅提供排名,而且还提供给定评级的误差范围。与仅每年举行一次的比赛相比,评级列表通常会连续玩游戏,每年发布许多更新。
国际象棋引擎等级列表中有许多因素有所不同:
- 时间控制。较长的时间控制(例如120分钟内执行40次移动)更适合于确定锦标赛的比赛强度,但也使测试更加耗时。
- 使用的硬件。更快的硬件和更多的内存将导致更强劲的播放。
- 64位(相对于32位)的硬件和操作系统更喜欢基于位板的程序
- 多处理器与单处理器硬件。
- 思考设置(在对手思考时进行推测性分析)又称xxx大脑。
- 换位表大小。
- 打开书本设置。
这些差异会影响结果,并使评分列表之间无法直接进行比较。
国际象棋变体引擎
编辑已经开发了一些国际象棋引擎来玩国际象棋变体,添加必要的代码以模拟非标准国际象棋棋子或分析非标准棋盘上的棋局。例如,ChessV和Fairy-Max都能够在尺寸xxx为12×8的棋盘上玩变体,例如Capablanca Chess(10×8棋盘)。
但是,对于较大的棋盘,几乎没有能有效发挥作用的象棋引擎,而实际上在象棋无界的象棋(无限象棋)上进行的象棋游戏几乎不受象棋游戏软件的影响。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/115491/