Skip to page content
SAVRN
Search Plan a project

Dataset

Grid-Bench

by Zixiang Xu xzx34/Grid-Bench

Grid-Bench evaluates complete spatial state prediction. Each instance gives a language model an initial grid, explicit transition rules, and an ordered event history as text. The model predicts the complete final grid.

Rows10,416
Configurations2
Size59.9 MB
Licensecc-by-4.0
AccessPublicly accessible
Monthly Downloads129

Dataset Card

By Zixiang Xu, published under cc-by-4.0, revision 0bedea980304.

Grid-Bench: Can LLMs Predict How Discrete Worlds Change?

Paper · Website · Code

Grid-Bench evaluates complete spatial state prediction. Each instance gives a language model an initial grid, explicit transition rules, and an ordered event history as text. The model predicts the complete final grid. Executable rules provide exact reference states, allowing both complete answers and individual cell values to be checked.

Explore the project website and use the companion code repository to simulate, generate, and score tasks. Maintainer: Zixiang Xu (xzx34). Original data and documentation are licensed under CC BY 4.0. Collected model answers are not distributed; see licensing and release scope.

Contents

Configuration Split Rows Unit
benchmark (default) test 1,488 A unique prefix instance
results test 8,928 Recorded measurements for one model and instance

Each configuration has equivalent Parquet and JSONL files. There are no training or validation splits. Instances cover PAINT, REFLECT, STENCIL, MIX, RELABEL, LAYER, MOVE, and COMPRESS on two-, three-, and four-dimensional grids. The histories have 0, 1, 8, 16, 32, or 64 events. Each history uses one operation family and may include SET assignments.

The six evaluated models, in fixed display order, are GPT-5.6 Sol, Claude 5 Sonnet, GPT-5.4 Mini, GLM-5, Kimi K2.5, and MiniMax M2.5. All six answer the same benchmark instances. Result rows describe evaluations of these questions, not additional benchmark questions. They contain measurements, not model answers.

Load the dataset

Install the optional loader with python -m pip install datasets, then load either configuration directly:

from datasets import load_dataset

root = "xzx34/Grid-Bench"
benchmark = load_dataset(root, "benchmark", split="test")
results = load_dataset(root, "results", split="test")
print(benchmark[0]["prompt"])

For offline evaluation and summary reproduction, download the full package. Install huggingface_hub with python -m pip install huggingface_hub, then run:

from huggingface_hub import snapshot_download

snapshot_download(
    repo_id="xzx34/Grid-Bench",
    repo_type="dataset",
    local_dir="Grid-Bench-data",
)

This includes the manifest and supplementary evidence needed by the reproduction script. A downloaded directory can also replace root in the loading example.

The companion Python package uses grid_bench; its command is grid-bench. After installing the code repository, evaluate your own response file directly:

grid-bench evaluate --data /absolute/path/to/huggingface \
  --predictions responses.jsonl --view main --out results

Each response record contains public_id and the delivered response string. The default main view contains 1,152 instances; use workload for the 528-instance workload view or all for all 1,488 instances. Missing responses stay in the selected denominator. Duplicate and unknown IDs are rejected. See the code evaluation guide.

Alternatively, stream data/benchmark.jsonl or data/results.jsonl using Python's json module. JSON-string fields can be decoded with json.loads. The Parquet export preserves the same field values, including nulls.

A small example

Consider a 2×2 world whose nonzero cells are [0,0]=1 and [1,1]=1. A PAINT event centered at [0,0], with radius 1, replaces value 1 with value 2 inside the Manhattan ball. Only [0,0] changes. The complete answer is:

{"cells": [[[0, 0], 2], [[1, 1], 1]]}

Coordinates and axes are zero-based. Unlisted cells have value zero. The canonical output contains every nonzero cell exactly once in lexicographic coordinate order. The supplied prompt explains the applicable rule and includes a worked example. The illustration above is for documentation; it is not an additional test instance.

Benchmark fields

The machine-readable types are in schema.json.

Fields Meaning
public_id Unique release ID: source_dataset:instance_id
public_trajectory_id Unique trajectory ID: source_dataset:rollout_id
source_dataset, instance_id, rollout_id Original source identity and native IDs
cohort original or expansion; the two disjoint trajectory cohorts
family, dimension, shape, history_length, workload Operation and condition metadata
in_main, in_workload Membership in two overlapping analysis views
instance_json Complete native instance, including initial state and events
reference_json Complete native gold record, including the final state and reference workloads
source_metadata_json Original instance metadata
prompt Exact formal model-visible text
prompt_version, source_prompt_version Formal rendered-prompt identity and original metadata identity
schema_version, generator_version Native version identities
instance_sha256, gold_sha256, prompt_sha256 Frozen content identities, verified during export

Only prompt is sent to the model in the formal interface. Reference states and result fields are evaluation-side information.

The formal prompt is spatial-worlds-prompt/0.4. Source metadata retains its historical prompt identity, including version 0.3. The exporter renders 0.4 explicitly and verifies its hash against the formal request. Source hash fields follow the frozen serialization convention; per-file export hashes are recorded separately in manifest.json.

Construction, coverage, and sample units

The frozen selection contains 248 trajectories, each evaluated at six prefix lengths. The main design crosses eight operation families and three dimensions, with eight trajectories per family–dimension condition: 192 trajectories and 1,152 instances. Seven additional workload conditions supply 56 trajectories and 336 instances.

The 528-instance workload view combines those 336 instances with 192 reused main instances. Filter the membership fields rather than concatenating the views. There are 1,488 unique instances in total.

Main world shapes are [16,16], [6,6,7], and [4,4,4,4]. Initializers, alphabets, SET policies, and within-family workload targets are preserved in native metadata and the source evidence. All instances are synthetic. The English prompts describe mathematical spatial operations; no human participants or demographic groups are represented by the generated grids.

Prefixes from one trajectory share an underlying history. The paper's uncertainty intervals resample whole trajectories within the reported strata, using 2,000 bootstrap replicates. Neither the six prefixes nor six model answers create six independent reference trajectories.

Result fields and scoring

Join results.public_id to benchmark.public_id. model_id, model_name, and zero-based model_order identify the model. Field names and storage types are in schema.json; the principal groups are:

Fields Meaning
em, strict_em Semantic and strict full-world exact match
valid_json, valid_state, canonical_format Parsing, state validity, and canonical format
answer_status, visible_text_empty Answer-content categories
refusal Recorded refusal indicator, separate from state validity
wrong_cells, total_cells, cell_accuracy Returned-state error extent
changed_cells, changed_cell_accuracy, unchanged_cell_accuracy Final-value update/preservation diagnostics
copy_baseline_*, zero_baseline_* Initial-state and all-zero reference baselines
finish_reason, termination Original provider reason and normalized termination category
usage_json, usage_complete, latency_s Available usage and timing observations
request_json Scientific request settings, retaining native model parameters
response_model Model identifier recorded by the response interface
source_campaign, source_condition_id, source_request_sha256 Frozen outcome provenance
collection_finalized, analysis_eligible, answer_eligible Frozen collection/selection flags; all are true for every released row, including unsuccessful answers
prompt_version, scoring_version, evaluation_protocol Evaluation version identities
extraction_method, extraction_applied Fixed extraction and scoring diagnostics

Identity fields shared with benchmark have the same meaning in both configurations. wrong_cells is null for invalid states; changed/unchanged-cell accuracies are null when the state is invalid or the respective reference subset is empty. The JSON-string fields decode to objects with json.loads.

Semantic exact match is one only when a valid complete state equals the reference everywhere. Incorrect, absent, and invalid answers remain in the denominator and score zero. A fixed extractor may locate a complete JSON answer within surrounding text; it does not repair state values. Strict exact match scores the delivered text without that extraction.

Cell-level error analyses use valid returned states, and error-extent analyses use valid incorrect states. Changed and preserved cells are defined by the initial and final reference values. Empty conditional subsets remain null; stored low-level invalid-state sentinel values should not be treated as valid cell-error observations.

The common collection conditions were one answer, no tools, a 128,000-token combined reasoning-and-answer ceiling, and a 7,200-second deadline. Temperature, top_p, and seed were omitted. Five interfaces requested high reasoning effort; MiniMax M2.5 used native always-on thinking. model-settings.json preserves the scientific settings. The export includes measurements for all final requests without filtering on correctness, validity, or termination. Answer text, predicted states, answer hashes, and free-text parsing errors are excluded.

Provenance and reproduction

provenance.json records source bindings and export transformations. manifest.json records exported member sizes and SHA-256 hashes. The export keeps original instance, prompt, and result identities while omitting provider infrastructure, account information, headers, and billing records. The original answers remain in the private research archive.

The evidence/ directory carries the frozen analysis and diagnostic tables. The companion code repository provides scripts/reproduce_release.py for reference replay and supported summary/plot reconstruction from measurements. It does not rescore the collected answers, which are not distributed. Those steps run offline. The original provider ledger is not needed for these checks and is not part of this dataset.

Citation and maintenance

Please cite Grid-Bench: Can LLMs Predict How Discrete Worlds Change? when using this dataset. The code repository also provides the paper citation in CITATION.cff.

@misc{xu2026gridbench,
  title = {Grid-Bench: Can {LLMs} Predict How Discrete Worlds Change?},
  author = {Xu, Zixiang and Song, Zirui and Zheng, Wanrong and Zhang, Chiyu and Huang, Yue and Peng, Yuyang and Zhang, Kexin and Chen, Jinkun and Chen, Xiuying and Zhang, Xiangliang and Liu, Yan and Itti, Laurent and Shyu, Frank and Luo, Xiaoqiang and Pandey, Sandeep and Liu, Xi and Simon, Luke and Hu, Xiyang and Zhao, Yue},
  year = {2026},
  eprint = {2610.22312},
  archivePrefix = {arXiv},
  primaryClass = {cs.CL},
  doi = {10.48550/arXiv.2610.22312},
  url = {https://arxiv.org/abs/2610.22312}
}

Report a data issue with its public instance ID, expected behavior, and affected release revision. Corrections require a new revision and changelog; frozen instances and result identities should not be replaced silently.

Structure

benchmark 1,488 rows

SplitRowsSize
test1,48815.5 MB
public_idstringpublic_trajectory_idstringsource_datasetstringinstance_idstringrollout_idstringcohortstringfamilystringinstance_jsonstringreference_jsonstringsource_metadata_jsonstringpromptstringprompt_versionstringsource_prompt_versionstringschema_versionstringgenerator_versionstringinstance_sha256stringgold_sha256stringprompt_sha256stringdimensionint64history_lengthint64workloadint64shapelistin_mainboolin_workloadbool

results 8,928 rows

SplitRowsSize
test8,9282.9 MB
public_idstringpublic_trajectory_idstringsource_datasetstringinstance_idstringrollout_idstringcohortstringmodel_idstringmodel_namestringsource_campaignstringsource_condition_idstringsource_request_sha256stringrequest_jsonstringprompt_sha256stringprompt_versionstringscoring_versionstringevaluation_protocolstringresponse_modelstringusage_jsonstringanswer_statusstringfinish_reasonstringterminationstringextraction_methodstringmodel_orderint64history_lengthint64wrong_cellsint64total_cellsint64changed_cellsint64emboolstrict_emboolvalid_jsonboolvalid_stateboolcanonical_formatboolvisible_text_emptyboolextraction_appliedboolanalysis_eligibleboolcopy_baseline_emboolzero_baseline_emboolrefusalboolusage_completeboolanswer_eligiblebool

Details

Repository
xzx34/Grid-Bench
Publisher
Zixiang Xu
Task category
Not stated by the source
Tags
arxiv:2610.22312, spatial-reasoning, state-prediction
Size category
1K<n<10K
Languages
en
Revision
0bedea980304ce2b4d171104ab068db129138263
Last updated
2026-10-16

Files

41 files, 59.9 MB in total.

Data36 files · 59.9 MB
Documentation4 files · 37.6 KB
Repository1 file · 160 B
Every file
FileTypeSizeSHA-256
data/benchmark.jsonlData17.2 MBb113d8007a02
data/benchmark.parquetData1.1 MB1855ea395115
data/results.jsonlData17.6 MB11528938a3de
data/results.parquetData925.5 KB7c38eb8fc4b3
evidence/diagnostics/errors.csvData12.9 KB—
evidence/diagnostics/format_resources.csvData4.4 KB—
evidence/diagnostics/matched_pairs.csvData8.5 MB—
evidence/diagnostics/matched_valid_baselines.csvData4.7 KB—
evidence/diagnostics/paired_em_32.csvData2.5 KB—
evidence/diagnostics/paired_em_64.csvData2.5 KB—
evidence/diagnostics/pooled_summary.csvData322 B—
evidence/diagnostics/prefix_histories.csvData80.3 KB—
evidence/diagnostics/prefix_summary.csvData202 B—
evidence/diagnostics/prefix_transitions.csvData1.1 KB—
evidence/diagnostics/task_dimension_length.csvData44.9 KB—
evidence/diagnostics/task_errors_T64.csvData6.4 KB—
evidence/diagnostics/task_summary.csvData2.6 KB—
evidence/interface/worked-answer.txtData92 B—
evidence/interface/worked-prompt.txtData1.4 KB—
evidence/manifest.jsonData6.3 KB—
evidence/reference/realized.csvData3.4 KB—
evidence/reference/relabel_merge.csvData1.1 KB—
evidence/reference/retention.csvData1.6 KB—
evidence/sources/analysis.jsonData2.0 MB—
evidence/sources/diagnostics.jsonData12.3 MB9c65243afae4
evidence/tables/cohorts.csvData295 B—
evidence/tables/dimension_length.csvData9.1 KB—
evidence/tables/length.csvData4.9 KB—
evidence/tables/overview.csvData1.5 KB—
evidence/tables/resources.csvData928 B—
evidence/tables/task_length.csvData28.9 KB—
evidence/tables/workload.csvData34.0 KB—
manifest.jsonData7.1 KB—
model-settings.jsonData4.5 KB—
provenance.jsonData8.3 KB—
schema.jsonData2.2 KB—
LICENSEDocumentation17.0 KB—
LICENSE_STATUS.mdDocumentation999 B—
README.mdDocumentation12.8 KB—
evidence/README.mdDocumentation6.8 KB—
.gitattributesRepository160 B—

License and Download

License
cc-by-4.0
Access
No access gate
Download from Zixiang Xu

Released by Zixiang Xu through its official repository on Hugging Face. Read the license.