algorithm - 预测国际象棋比赛中输赢的机会

标签 algorithm prediction chess

<分区>

我大部分时间都在 chess.com 下国际象棋,我想知道算法如何根据我在这个网站上的所有国际象棋历史来预测我下一场比赛的结果:我在之前比赛中的评分、对手评分,以及是否我赢了还是输了。

谢谢, 罗伯托福尔克

最佳答案

如果您正在寻找一种方法来估计您和对手的技能,请查找Elo-Rating .它实际上是为此目的而开发的(国际象棋)。 Elo-rating 会根据您输赢的比赛而变化(以及根据他们的 Elo-Rating 对抗哪个对手)。

也就是说,如果你战胜了一个强大的对手(相对于你的实力),你的 Elo-Rating 会提升很多。如果你战胜了弱小的对手,你的 Elo-Rating 几乎不会有任何提高。

问题是,如何获得对手的 Elo-Rating。如果网站没有提供,唯一的办法就是自己计算。但是,您需要本网站上所有玩家的所有游戏才能了解他们的真实水平。如果你不考虑对手的技能,那么仅仅赢/输的比赛次数就毫无值(value)。如果有人赢了 100 场对付初学者,他不一定非常好。如果有人赢了 100 场比赛,对手是一位非常优秀的球员,那么他会更好。

如果您正在寻找一种方法来在下棋时估计游戏的当前状态(即执行某些 Action 后谁更有可能获胜),有几种流行的国际象棋启发式方法可用.最简单的为每一 block 定义一个值(强 block 具有更高的值)。要查看哪个玩家的棋盘更强,只需将他们的棋子值相加即可。

有关更多启发式方法(可能还有其他编程思想),请参见此处:https://www.chessprogramming.org
有几种非常好的方法可以估算董事会的值(value),远远超过我在答案中合理写出的数量。

关于algorithm - 预测国际象棋比赛中输赢的机会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29860011/

相关文章:

computer-science - 国际象棋引擎和国际象棋架构之间的区别

c - 从 C 中的变量值中查找变量

javascript - 计算限制另一个并保持纵横比的最小旋转矩形

algorithm - 递归置换函数的复杂性

stata - 预测单个值

MySQL查询以选择全部或部分搜索字符串

javascript - 如何比较数组并创建与数组 a 匹配的新数组?

algorithm - 如何创建与其他集合不同的集合?

r - 非季节性时间序列预测

machine-learning - SVM(或其他 ML 模型)的预测精度在多大程度上取决于特征编码方式?