chess-puzzles
收藏Lichess Puzzles 数据集概述
数据集描述
该数据集包含4,062,423个国际象棋谜题,每个谜题都经过评分和标记。
数据集创建
生成这些国际象棋谜题耗费了超过50年的CPU时间。数据集从Lichess数据库中的300,000,000个分析过的对局中提取,并使用Stockfish 12/13/14/15 NNUE在40 meganodes下重新分析有趣的棋局。生成的谜题通过自动标记系统进行标记。每个谜题的评分是通过Glicko-2评级系统计算的,玩家的解题尝试被视为与谜题之间的Glicko-2评级对局。最后,玩家的投票进一步细化了标签并定义了谜题的受欢迎程度。
数据集使用
使用datasets库加载数据集的示例代码如下:
python from datasets import load_dataset dset = load_dataset("Lichess/chess-puzzles", split="train")
数据集详情
数据集样本
数据集中的一行数据示例如下:
python { PuzzleId: 0009B, FEN: r2qr1k1/b1p2ppp/pp4n1/P1P1p3/4P1n1/B2P2Pb/3NBP1P/RN1QR1K1 b - - 1 16, Moves: b6c5 e2g4 h3g4 d1g4, Rating: 1112, RatingDeviation: 74, Popularity: 87, NbPlays: 569, Themes: advantage middlegame short, GameUrl: https://lichess.org/4MWQCxQ6/black#31, OpeningTags: Kings_Pawn_Game Kings_Pawn_Game_Leonardis_Variation }
数据集字段
数据集中的每一行包含以下字段:
PuzzleId:string,谜题的唯一标识符。谜题的链接为https://lichess.org/training/{PuzzleID}。FEN:string,对手移动前的棋局FEN字符串。Moves:string,谜题的解决方案。所有玩家的移动都是“唯一移动”,即任何其他移动都会显著恶化玩家的位置。对于一步将杀的情况,可以有多个移动。任何将杀的移动都应该赢得谜题。Rating:int,谜题的Glicko-2评分。RatingDeviation:int,谜题的Glicko-2评分偏差。Popularity:int,一个介于100(最佳)和-100(最差)之间的数字,计算公式为100 * (upvotes - downvotes)/(upvotes + downvotes)。投票的权重取决于谜题是否被成功解决以及解题者的谜题评分与谜题评分的比较。NbPlays:int,谜题被玩过的次数。Themes:string,谜题主题的空格分隔列表。GameUrl:string,谜题提取自的具体对局和移动的链接。OpeningTags:string,开局标签的空格分隔列表。仅在谜题开始于第20步之前时设置。
附加信息
- 所有可能的谜题主题及其描述的列表:puzzleTheme.xml
- 更好地理解谜题主题的研究:https://lichess.org/study/viiWlKjv
- GitHub仓库:https://github.com/lichess-org/database
- 官方网站:https://database.lichess.org/#puzzles
- 所有可能的开局列表:https://github.com/lichess-org/chess-openings
- 2020年引入新谜题的博客文章:blog/new-puzzles-are-here
- 2021年分析Lichess谜题使用的博客文章:blog/some-puzzling-analysis




