Research code for agentic parent selection in Genetic Programming: an LLM/agent
framework generates parent-selection algorithms (selector.py) that are plugged
into a shared GP engine and evaluated for symbolic regression, then compared
against hand-written baselines (tournament and epsilon-lexicase selection).
The repository is organized into seven top-level directories, each with its own
README.md giving the full details. This file is a map of the whole project.
| Directory | Purpose |
|---|---|
AGENTS/ |
The agentic-gp framework — the LLM/RAG agent that generates the parent-selection algorithms. Includes setup (Conda, Ollama/Azure), configuration, RAG documents, and the CLI (main.py) for running the recommender. |
GP/ |
The tree-based Genetic Programming engine (Source/gp.py, DEAP + Ray) that evolves symbolic-regression models with a runtime-pluggable selector, plus the two hardcoded baseline selectors (tournament.py, epsilon_lexicase.py). |
Experiments/ |
Self-contained HPC (SLURM) job bundles and precomputed splits for the two experiments — Experiment 1: Ablation and Experiment 2: Benchmark Evaluation — that drive GP/Source/gp.py. Distributed as archives that must be unzipped. |
Data-Tools/ |
Dataset generation (Pull_Data/) and the analysis pipeline: Python scripts that aggregate raw results into .csv/.txt, and R Markdown reports that render the study's statistics and figures. |
RESULTS/ |
Raw per-replicate experiment outputs (performance MSE, generated algorithms) and the aggregated, analysis-ready data. Available only after unzipping (see below). |
UCI-DATA/ |
The final, polished datasets for the 6 regression problems (one data.csv each). Available only after unzipping (see below). |
SUPPLEMENTARY_MATERIAL/ |
The paper's rendered supplementary PDFs: the exact prompts used in each condition, the Experiment 1 ablation reports (classification, execution, and per-model performance), and the Experiment 2 benchmark performance report. Each is a knit of an analysis report under Data-Tools/. |
Two directories are shipped as zip archives at the repository root and are not present until extracted:
unzip uci_data.zip # -> UCI-DATA/
unzip results.zip # -> RESULTS/The Experiments/ bundles are likewise distributed as archives; see
Experiments/README.md for the unzip steps specific to
each experiment.
The rendered SUPPLEMENTARY_MATERIAL/ PDFs are also
packaged for convenience as supplementary_material.zip at the repository root,
which extracts to the same SUPPLEMENTARY_MATERIAL/ folder:
unzip supplementary_material.zip # -> SUPPLEMENTARY_MATERIAL/- Datasets are built in
Data-Tools/Pull_Data/and distributed asUCI-DATA/(onedata.csvper problem). - The agent in
AGENTS/generates parent-selection algorithms (selector.py) under different LLM/RAG configurations. - The experiments in
Experiments/split the datasets and submit SLURM jobs that run the GP engine inGP/, plugging in either an agent-generated selector or a hardcoded baseline. - Runs write raw outputs to
RESULTS/, whichData-Tools/aggregates and analyzes into the study's tables and figures.
See each directory's README.md for specifics.