Closed. This question needs to be more focused. It is not currently accepting answers. Learn more。
想改进这个问题吗?更新问题,使其只关注一个问题editing this post。
我大部分时间都在chess.com下象棋,我想知道一个算法如何根据我在这个网站上的所有象棋历史来预测我下一盘棋的结果:我上一盘棋的评分,对手的评分,以及我是赢是输。
谢谢,
罗伯托·福尔克
最佳答案
如果你正在寻找一种方法来评估你的技能和你对手的技能,请查找Elo-Rating它实际上是为这个目的而开发的(国际象棋)。ELO等级会根据你赢和输的比赛而变化(和对手的ELO等级而变化)。
这意味着,如果你赢了一个强大的对手(与你的实力相比),你的Elo评分会提高很多如果你赢了一个弱小的对手,你的ELO等级几乎不会提高。
问题是,如何获得对手的ELO等级。如果网站没有提供,唯一的办法就是自己计算。不过,你需要在这个网站上的所有球员的游戏,以了解他们到底有多好。如果你不考虑对手的技术,赢/输的比赛数就一文不值了。如果有人在与初学者的比赛中赢了100场,他就不必很出色。如果有人赢了100场比赛对一个非常好的球员,他是更好的。
如果你正在寻找一种方法来估计一个游戏的当前状态,而在玩的时候(即谁更有可能在一些动作被执行后获胜),有几个流行的启发国际象棋可用最简单的定义了每一个片段的值(强片段的值更高)。要想知道哪个玩家有更强的棋盘,只需总结他们棋子的价值。
有关更多的启发式(可能还有其他编程思想),请参见此处:https://www.chessprogramming.org
有几种非常好的方法来估计一块板的价值,远远超出我在回答中合理地描述的范围。