Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add FARE recourse method. #199

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

geektoni
Copy link

This PR is an initial attempt to add the following two novel recourse methods to the library, FARE and E-FARE [1]. Differently from other approaches, FARE couples a reinforcement learning agent and a discrete search procedure, MCTS, to efficiently discover counterfactual interventions.

Currently, I have added FARE and a simple pytest to show its usage. Some class/function documentation is still missing, but I would like to start a discussion about what would be the best strategy to proceed.

This PR also adds as a dependency the sml-unitn/recourse-fare repository where the original code is located (in order to avoid bloating CARLA with additional files). Obviously, this can be changed.

Minor additions:

  • Add suitable pytest with a MockEnv
  • Add fare_actions_factory to quickly generate action sets
  • Add sml-unitn/recourse-fare as a dependency

[1] De Toni, Giovanni, Bruno Lepri, and Andrea Passerini. "Synthesizing explainable counterfactual policies for algorithmic recourse with program synthesis." Machine Learning (2023): 1-21. doi:10.1007/s10994-022-06293-7

* Add suitable pytest with a MockEnv
* Add fare_actions_factory to easily generate action sets
* Add sml-unitn/recourse-fare as dependency

[1] De Toni, Giovanni, Bruno Lepri, and Andrea Passerini.
   "Synthesizing explainable counterfactual policies for algorithmic recourse with program synthesis."
   Machine Learning (2023): 1-21.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant