Skip to content

Add FARE recourse method.#199

Open
geektoni wants to merge 1 commit into
carla-recourse:mainfrom
geektoni:feature/fare
Open

Add FARE recourse method.#199
geektoni wants to merge 1 commit into
carla-recourse:mainfrom
geektoni:feature/fare

Conversation

@geektoni
Copy link
Copy Markdown

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