This repository contains the experimental code and data for the paper: Relational Decomposition for Program Synthesis, by Céline Hocquette and Andrew Cropper, accepted at IJCAI2025.
- SWI-Prolog (9.2.0 or above)
- Clingo (5.6.2 or above)
- Janus-swi
- pysat
- bitarray
The raw data and parsing files for the relational decomposition approach are in the folder raw_data. The input data for the relational and functional representations is in the folders /train/{domain}. The results are in the folder /programs/{domain}/{task}. In these folders are the results for each of the three trials.
You can parse the data with the command: python parse_data.py
, after setting the domain in this file.
You can reproduce the results with the command: python results.py
, after setting the maximum learning time, the tasks, and domain in this file.
You can run the learning/training again with the command: bash do_train.py
, after setting the maximum learning time, the tasks, domain, and number of cpus in this file.
You can run the testing again with the command: bash do_test.py
, after setting the maximum learning time, the tasks, domain, and number of cpus in this file.