GithubHelp home page GithubHelp logo

rirl's Introduction

This repository is inteded to provide reference implementations for the work in the paper Solving Dynamic Principal-Agent Problems with a Rationally Inattentive Principal. If you make use of this code, please cite our preprint:

@misc{mu2022rirl,
     title={Solving Dynamic Principal-Agent Problems with a Rationally Inattentive Principal}, 
     author={Tong Mu and Stephan Zheng and Alexander Trott},
     year={2022},
     eprint={2202.01691},
     archivePrefix={arXiv},
     primaryClass={cs.MA}
}

RIRL-actor and agent code

The main technical contribution of this work, the RIRL-actor policy class supporting temporally extended settings with heterogeneous information channels, is implemented in multi_channel_RI.py. Other supporting implementations of trainable modules are organized within the agents/ directory.

Experiment code

This repository includes reference training pipelines for each of the two experimental settings:

  • Payment schedule optimization in a single-step ("bandit") setting.
  • Wage optimization in a multi-step, multi-Agent, multi-channel setting.

These reference pipelines are organized into jupyter notebooks:

  • PA_bandit_game/PA_Bandit-training_pipeline_reference.ipynb (payment optimization)
  • PA_multiagent_game/multiagent_signaling-training_pipeline_reference.ipynb (wage optimization)

Each notebook is structured to exemplify a single training run. Static hyperparameters are defined in associated config YAML files. Important experimental variables (such as mutual information costs) are set within the notebooks. In this way, the notebooks can be run repeatedly to manually perform sweeps over variables of interest.

rirl's People

Contributors

alextrott16 avatar svc-scm avatar

Stargazers

Yining Jiao avatar

Watchers

Caridy Patiño avatar James Cloos avatar Demian Brecht avatar  avatar  avatar

Forkers

isabella232

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.