puzzles
收藏Lichess Puzzles 数据集概述
数据集描述
该数据集包含 4,062,423 个国际象棋谜题,每个谜题都经过评分和标记。
数据集创建
生成这些国际象棋谜题耗费了超过 50 年的 CPU 时间。数据集从 Lichess 数据库中的 300,000,000 个分析过的对局中提取,并使用 Stockfish 12/13/14/15 NNUE 在 40 兆节点上重新分析有趣的棋局。生成的谜题随后通过自动标记系统进行标记。谜题的评分是通过 Glicko-2 评级系统确定的,玩家的解题尝试被视为玩家与谜题之间的 Glicko-2 评级对局。最后,玩家的投票进一步细化标签并定义谜题的受欢迎程度。
数据集使用
使用 datasets 库加载数据集的示例代码:
python from datasets import load_dataset dset = load_dataset("Lichess/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




