Dataset provenance and handling #
Source #
Development used the Kaggle dataset:
- Project Euler Questions and Solutions
- Creator: Dheeraj M Pai
- URL: https://www.kaggle.com/datasets/dheerajmpai/projecteuler
- Version observed: 1, last updated July 3, 2023
- Size: 773,683 bytes
- License shown by Kaggle API: CC BY-NC-SA 4.0
The Kaggle description says the dataset is intended for educational/non-commercial use and was shared with permission from the Project Euler team. Users remain responsible for checking the current dataset page, license, and Project Euler terms.
Why the data is not committed #
The machine repository is Apache-2.0. Bundling a CC BY-NC-SA corpus inside the package would create attribution, non-commercial, and share-alike obligations that should not be silently collapsed into the code license. The local importer preserves provenance while keeping generated data ignored.
Observed archive structure #
Solutions.md.txt
answer lines shaped like: <problem id>. <answer>
euler/<id>.html
problem statements
Observed counts:
- 849 HTML problem files
- 840 parsed answers
- 840 IDs with both question and answer
- 20 questions referencing external document resources
- 163 questions containing image references
- 663 answer-covered questions with neither document nor image references
These counts describe the inspected archive and are not hard-coded expectations.
External resources #
Some questions cannot be solved from the HTML alone. For example, problem 22 references resources/documents/0022_names.txt. prepare.py --fetch-resources retrieves referenced document-like resources from https://projecteuler.net/ and caches them under local ignored data.
Images are recorded separately. Some are decorative or redundant, such as problem 15's lattice illustration. Others may contain essential information. Before a long run, audit each newly reached image-bearing problem and either provide an accessible textual equivalent or mark it unavailable.
Leakage boundary #
data/problems.jsonl contains answers. It is evaluator-only and must never be copied into a rollout workspace or included with @file in Pi. Each workspace receives only:
- the selected question text;
- its assigned language/approach instructions;
- explicitly required resource files.
Raw rollouts may reveal answers and therefore also remain ignored.
Contamination #
Project Euler questions and answers are public and likely represented in pretraining corpora. Baseline success can reflect recall. Mitigations include measuring pre-training forward transfer, requiring executable solutions, inspecting code, creating parameterized variants, and reporting unrelated held-out benchmarks.