/ltm

Code for the paper "Learning to manipulate under limited information"

Primary LanguageJupyter Notebook

Learning to Manipulate under Limited Information

README.md for the code used in the paper "Learning to Manipulate under Limited Information" by Wesley H. Holliday, Alexander Kristoffersen, and Eric Pacuit.

Notebooks

  • Learning to Manipulate.ipynb: This is the main notebook containing all the code for training and evaluating MLPs (including code to create graphs).

  • Learning to Manipulate - Example Manipulations.ipynb: In this notebook, you can select a trained MLP (for Borda) to manipulate using majority matrix information.

    • model_functions.ipynb: The notebook containing all the code needed to find example manipulations. This notebook is imported into Learning to Manipulate - Example Manipulations.ipynb.
  • Ideal Manipulators.ipynb: Code to generate the ideal manipulator graphs in Figures 1 and 2.

Other Files/Directories

  1. example_trained_models/Borda_1_6_10_uniform_('majority',)_1_08-18-2023_09-10-18.pickle: Pickle file containing a dictionary of all the trained MLPs for Borda, generation 1, 6 candidates, 10 voters using majority matrix information.

  2. evaluation/*: Subfolders that contain the evaluation data to produce the graphs in the paper and the supplementary material.

  3. ideal_manipulator_data/*: Subfolders that contain the evaluation data for the ideal manipulators.

  4. graphs/*: Subfolders that contain the graphs generated by the visualization code.

  5. graphs_in_papers/*: Subfolders that contain the graphs used in the paper and the supplementary material.

  6. supplementary_material_graphs/*: Subfolders that contain the graphs for the supplementary material.

Note: Running the main notebook will generate additional subdirectories.

Requirements

The following packages are required to run the notebooks: