zeyuzy/puzzle-bench
收藏资源简介:
--- configs: - config_name: maze_10x10 data_files: - split: train path: maze_10x10/train-* - split: test path: maze_10x10/test-* - config_name: maze_15x15 data_files: - split: train path: maze_15x15/train-* - split: test path: maze_15x15/test-* - config_name: maze_5x5 data_files: - split: train path: maze_5x5/train-* - split: test path: maze_5x5/test-* - config_name: maze_7x7 data_files: - split: train path: maze_7x7/train-* - split: test path: maze_7x7/test-* - config_name: sudoku_4x4 data_files: - split: train path: sudoku_4x4/train-* - split: test path: sudoku_4x4/test-* - config_name: sudoku_9x9 data_files: - split: train path: sudoku_9x9/train-* - split: test path: sudoku_9x9/test-* license: mit task_categories: - text-generation tags: - sudoku - maze - puzzle - constraint-satisfaction - benchmark language: - en size_categories: - 10K<n<100K dataset_info: - config_name: sudoku_4x4 features: - name: puzzle dtype: string - name: solution dtype: string - name: empty_count dtype: int64 - name: source dtype: string splits: - name: train num_bytes: 592000 num_examples: 8000 - name: test num_bytes: 148000 num_examples: 2000 download_size: 136367 dataset_size: 740000 - config_name: sudoku_9x9 features: - name: puzzle dtype: string - name: solution dtype: string - name: empty_count dtype: int64 - name: steps_count dtype: int64 - name: backtrack_count dtype: int64 - name: max_depth dtype: int64 - name: source dtype: string - name: difficulty dtype: string splits: - name: train num_bytes: 9939525 num_examples: 41784 - name: test num_bytes: 2485478 num_examples: 10448 download_size: 6173960 dataset_size: 12425003 --- # Puzzle Bench Difficulty-labeled evaluation datasets for **Sudoku** and **Maze** tasks, designed for benchmarking language models on combinatorial reasoning. **GitHub:** [zeyuzhangzyz/puzzle-bench](https://github.com/zeyuzhangzyz/puzzle-bench) ## Dataset Overview | Config | Total | Train | Test | Difficulty Labels | |--------|-------|-------|------|-------------------| | `sudoku_4x4` | 10,000 | 8,000 | 2,000 | -- | | `sudoku_9x9` | 52,806 | 42,244 | 10,562 | easy / medium / hard | | `maze_5x5` | 10,000 | 8,000 | 2,000 | -- | | `maze_7x7` | 10,000 | 8,000 | 2,000 | -- | | `maze_10x10` | 10,000 | 8,000 | 2,000 | -- | | `maze_15x15` | 30,000 | 24,000 | 6,000 | easy / medium / hard | ## Sudoku ### sudoku_4x4 4x4 Sudoku puzzles generated via backtracking with unique-solution verification. | Column | Description | |--------|-------------| | `puzzle` | 16-character string (0 = empty cell) | | `solution` | 16-character solution | | `empty_count` | Number of blank cells | | `source` | Generator identifier | ### sudoku_9x9 9x9 Sudoku puzzles with solver-computed difficulty metrics. Mixed from multiple sources for balanced difficulty distribution. | Column | Description | |--------|-------------| | `puzzle` | 81-character string (0 = empty cell) | | `solution` | 81-character solution | | `empty_count` | Number of blank cells | | `steps_count` | Solver step count (MRV + backtracking) | | `backtrack_count` | Number of backtracks | | `max_depth` | Maximum recursion depth | | `difficulty` | easy / medium / hard | | `source` | Source dataset identifier | | Difficulty | Count | Criterion | |------------|-------|-----------| | easy | 29,842 | 0 backtracks (pure logic) | | medium | 10,000 | 1-1,000 backtracks | | hard | 12,964 | 1,000+ backtracks | ## Maze Mazes encoded as binary wall strings with BFS-computed path metrics. Algorithms used: dfs, wilson, prim, kruskal, rdiv. | Column | Description | |--------|-------------| | `maze` | Binary string encoding walls | | `start` | Start coordinates `row,col` | | `goal` | Goal coordinates `row,col` | | `grid_size` | Grid dimension (5/7/10/15) | | `algorithm` | Generation algorithm | | `solution_length` | BFS shortest path length | | `bfs_nodes` | BFS nodes expanded | | `source` | Generator identifier | | `difficulty` | easy / medium / hard (maze_15x15 only, by solution_length tercile) | ### maze_15x15 difficulty breakdown | Difficulty | Train | Test | Total | |------------|-------|------|-------| | easy | 8,000 | 2,000 | 10,000 | | medium | 8,000 | 2,000 | 10,000 | | hard | 8,000 | 2,000 | 10,000 | ## Usage ```python from datasets import load_dataset # 4x4 Sudoku sudoku_4x4 = load_dataset("zeyuzy/puzzle-bench", "sudoku_4x4") # 9x9 Sudoku, hard difficulty only sudoku_9x9 = load_dataset("zeyuzy/puzzle-bench", "sudoku_9x9") hard = sudoku_9x9["test"].filter(lambda x: x["difficulty"] == "hard") # Maze with train/test split maze_5x5 = load_dataset("zeyuzy/puzzle-bench", "maze_5x5") # Maze 15x15 with difficulty labels maze_15x15 = load_dataset("zeyuzy/puzzle-bench", "maze_15x15") hard_maze = maze_15x15["test"].filter(lambda x: x["difficulty"] == "hard") ``` ## Citation ```bibtex @software{puzzle-bench, title={Puzzle Bench}, author={Zhang, Zeyu}, url={https://github.com/zeyuzhangzyz/puzzle-bench}, year={2026} } ```
配置项: - 配置名称:maze_10x10 数据文件: - 划分集:训练集(train),路径:maze_10x10/train-* - 划分集:测试集(test),路径:maze_10x10/test-* - 配置名称:maze_15x15 数据文件: - 划分集:训练集(train),路径:maze_15x15/train-* - 划分集:测试集(test),路径:maze_15x15/test-* - 配置名称:maze_5x5 数据文件: - 划分集:训练集(train),路径:maze_5x5/train-* - 划分集:测试集(test),路径:maze_5x5/test-* - 配置名称:maze_7x7 数据文件: - 划分集:训练集(train),路径:maze_7x7/train-* - 划分集:测试集(test),路径:maze_7x7/test-* - 配置名称:sudoku_4x4 数据文件: - 划分集:训练集(train),路径:sudoku_4x4/train-* - 划分集:测试集(test),路径:sudoku_4x4/test-* - 配置名称:sudoku_9x9 数据文件: - 划分集:训练集(train),路径:sudoku_9x9/train-* - 划分集:测试集(test),路径:sudoku_9x9/test-* 许可证:MIT许可证 任务类别: - 文本生成 标签: - 数独(Sudoku) - 迷宫(Maze) - 谜题(Puzzle) - 约束满足(Constraint-satisfaction) - 基准测试(Benchmark) 语言:英语(en) 样本量范围:10000 < n < 100000 数据集信息: - 配置名称:sudoku_4x4 特征项: - 名称:puzzle,数据类型:字符串(string) - 名称:solution,数据类型:字符串(string) - 名称:empty_count,数据类型:64位整数(int64) - 名称:source,数据类型:字符串(string) 划分集: - 名称:训练集(train),字节数:592000,样本数:8000 - 名称:测试集(test),字节数:148000,样本数:2000 下载大小:136367,数据集总大小:740000 - 配置名称:sudoku_9x9 特征项: - 名称:puzzle,数据类型:字符串(string) - 名称:solution,数据类型:字符串(string) - 名称:empty_count,数据类型:64位整数(int64) - 名称:steps_count,数据类型:64位整数(int64) - 名称:backtrack_count,数据类型:64位整数(int64) - 名称:max_depth,数据类型:64位整数(int64) - 名称:source,数据类型:字符串(string) - 名称:difficulty,数据类型:字符串(string) 划分集: - 名称:训练集(train),字节数:9939525,样本数:41784 - 名称:测试集(test),字节数:2485478,样本数:10448 下载大小:6173960,数据集总大小:12425003 # 谜题基准测试集(Puzzle Bench) 针对数独(Sudoku)与迷宫(Maze)任务的带难度标注评测数据集,专为大语言模型(Large Language Model,LLM)的组合推理能力评测设计。 **GitHub仓库:** [zeyuzhangzyz/puzzle-bench](https://github.com/zeyuzhangzyz/puzzle-bench) ## 数据集概览 | 配置名称 | 总样本数 | 训练集样本数 | 测试集样本数 | 难度标注 | |--------|-------|-------|------|-------------------| | `sudoku_4x4` | 10,000 | 8,000 | 2,000 | 无 | | `sudoku_9x9` | 52,806 | 42,244 | 10,562 | 简单(easy)/ 中等(medium)/ 困难(hard) | | `maze_5x5` | 10,000 | 8,000 | 2,000 | 无 | | `maze_7x7` | 10,000 | 8,000 | 2,000 | 无 | | `maze_10x10` | 10,000 | 8,000 | 2,000 | 无 | | `maze_15x15` | 30,000 | 24,000 | 6,000 | 简单(easy)/ 中等(medium)/ 困难(hard) | ## 数独任务 ### sudoku_4x4 通过回溯法(Backtracking)生成并经过唯一解验证的4x4数独谜题。 | 字段名 | 说明 | |--------|-------------| | `puzzle` | 16字符字符串,其中0代表空单元格 | | `solution` | 16字符的谜题解 | | `empty_count` | 空单元格数量 | | `source` | 生成器标识符 | ### sudoku_9x9 带有求解器计算的难度指标的9x9数独谜题,整合自多个来源以实现难度分布均衡。 | 字段名 | 说明 | |--------|-------------| | `puzzle` | 81字符字符串,其中0代表空单元格 | | `solution` | 81字符的谜题解 | | `empty_count` | 空单元格数量 | | `steps_count` | 求解器步数(结合最小剩余值启发式+回溯法) | | `backtrack_count` | 回溯次数 | | `max_depth` | 最大递归深度 | | `difficulty` | 难度等级:简单/中等/困难 | | `source` | 源数据集标识符 | | 难度等级 | 样本数 | 判定标准 | |------------|-------|-----------| | 简单(easy) | 29,842 | 0次回溯(纯逻辑求解) | | 中等(medium) | 10,000 | 1-1000次回溯 | | 困难(hard) | 12,964 | 1000次以上回溯 | ## 迷宫任务 以二进制墙字符串编码的迷宫,附带广度优先搜索(Breadth-First Search,BFS)计算的路径指标。所用迷宫生成算法包括:深度优先搜索(DFS)、Wilson算法、Prim算法、Kruskal算法以及随机除法(RDIV)。 | 字段名 | 说明 | |--------|-------------| | `maze` | 二进制字符串形式的墙体编码 | | `start` | 起始坐标,格式为`行,列` | | `goal` | 目标坐标,格式为`行,列` | | `grid_size` | 网格维度(取值为5/7/10/15) | | `algorithm` | 迷宫生成算法 | | `solution_length` | BFS计算得到的最短路径长度 | | `bfs_nodes` | BFS扩展的节点数 | | `source` | 生成器标识符 | | `difficulty` | 难度等级(仅`maze_15x15`配置包含,按最短路径长度的三分位划分) | ### maze_15x15 难度分布 | 难度等级 | 训练集样本数 | 测试集样本数 | 总样本数 | |------------|-------|------|-------| | 简单(easy) | 8,000 | 2,000 | 10,000 | | 中等(medium) | 8,000 | 2,000 | 10,000 | | 困难(hard) | 8,000 | 2,000 | 10,000 | ## 使用方法 python from datasets import load_dataset # 加载4x4数独数据集 sudoku_4x4 = load_dataset("zeyuzy/puzzle-bench", "sudoku_4x4") # 加载9x9数独数据集,仅筛选困难难度样本 sudoku_9x9 = load_dataset("zeyuzy/puzzle-bench", "sudoku_9x9") hard = sudoku_9x9["test"].filter(lambda x: x["difficulty"] == "hard") # 加载5x5迷宫数据集的训练/测试划分 maze_5x5 = load_dataset("zeyuzy/puzzle-bench", "maze_5x5") # 加载带难度标注的15x15迷宫数据集 maze_15x15 = load_dataset("zeyuzy/puzzle-bench", "maze_15x15") hard_maze = maze_15x15["test"].filter(lambda x: x["difficulty"] == "hard") ## 引用格式 bibtex @software{puzzle-bench, title={Puzzle Bench}, author={Zhang, Zeyu}, url={https://github.com/zeyuzhangzyz/puzzle-bench}, year={2026} }



