Repository for the paper: Preference Elicitation for Step-wise Explanations in Logic puzzles
This repository contains scripts to run experiments for learning preferences in two domains: LGP (Logic Grid Puzzles) and Sudoku. The main scripts for running these experiments are:
lgp_exp_runner.py(for oracles)sudoku_exp_runner.py(for oracles)real_user_sudoku_training.ipynb(for real users)
The experiments for the oracle can be configured to use different users, normalization strategies, step selection strategies, and diversification strategies.
These scripts are used to perform preference elicitation experiments.
Both scripts accept the following command-line arguments:
-
-u,--user
Type:int
Description: User index or identifier used to select which user's weights to use.
Default:0 -
-n,--normalization
Type:int
Description: Type of normalization to apply.
Choices:0: none1: nadir2: local3: global
Default:1
-
-s,--steps
Type:str
Description: Step selection strategy.
Choices:SMUS— SES selection strategyrandomstandard— Online selection strategy
Default:standard
-
-t,--type
Type:str
Description: Diversification strategy for learning.
Choices:baselinedisjunctionw_disjunctionMACHOP
Default:baseline
-
-f,--seed
Type:int
Description: Seed.
Default:42
python lgp_exp_runner.py -u 0 -n 2 -s standard -t MACHOP -f 42python sudoku_exp_runner.py -u 0 -n 2 -s standard -t MACHOP -f 0This Jupyter notebook allows for interactive training and evaluation of the preference learning system using real user data. By running all the cells sequentially, you can:
- Train the model using pairwise comparisons provided by a real user.
- Evaluate the learned preferences as described in the paper.
- All experiments will be stored in the
results_AAAIfolder. - The
graph_generation.pyscript allows you to generate the graphs shown in the paper, or to get the information presented in the tables.