This project implements the Receding Horizon Inverse Planning (RHIP) algorithm as described in the paper "Massively Scalable Inverse Reinforcement Learning in Google Maps." The RHIP algorithm is used for route optimization, taking into account various factors such as distance, traffic, and road conditions, to recommend routes that align with human preferences.
- The paper can be found at https://ar5iv.org/abs/2305.11290.
- Implementation of the RHIP algorithm using Python and Jax.
- Example simulation of route planning on a simplified map.
- Calculation of optimal routes based on inverse reinforcement learning.
- Python 3.x
- Jax (for efficient computation and automatic differentiation)
- Numpy
To set up the project, clone the repository and install the required packages.
git clone https://github.com/kongkip/MapsIRL-RHIP-JAX.git
cd MapsIRL-RHIP-JAX
To run the RHIP algorithm:
- Navigate to the project directory.
- Run the main script:
python main.py
main.py
: The main script that sets up the environment and runs the RHIP algorithm.rhip.py
: Contains the implementation of the RHIP algorithm and related functions.utils/
: Utility functions and additional modules.
Contributions to this project are welcome. Please follow these steps:
- Fork the repository.
- Create a new branch for your feature.
- Commit your changes.
- Push to the branch.
- Open a pull request.
Special thanks to OpenAI's GPT-4 for providing guidance and support in implementing the RHIP algorithm and various components of this project.