Skip to content

Maximum Entropy and Maximum Causal Entropy Inverse Reinforcement Learning Implementation in Python

License

Notifications You must be signed in to change notification settings

qzed/irl-maxent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

549c3e3 · Apr 21, 2024
Apr 21, 2024
Mar 18, 2022
Jul 5, 2022
Apr 21, 2024
May 6, 2019
Sep 16, 2023
Jul 1, 2019
Jun 24, 2019
Mar 19, 2022
Mar 18, 2022
Mar 18, 2022
Mar 18, 2022

Repository files navigation

Maximum Entropy Inverse Reinforcement Learning

This is a python implementation of the Maximum Entropy Inverse Reinforcement Learning (MaxEnt IRL) algorithm based on the similarly named paper by Ziebart et al. and the Maximum Causal Entropy Inverse Reinforcement Learning (MaxCausalEnt IRL) algorithm based on his PhD thesis. Project for the Advanced Seminar in Imitation Learning, summer term 2019, University of Stuttgart.

This implementation is available as python package at https://pypi.org/project/irl-maxent/ and can be installed via pip install irl-maxent. You may also want to have a look at the accompanying presentation.

For an example demonstrating how the Maximum (non-causal) Entropy IRL algorithm works, see the corresponding Jupyter notebook (notebooks/maxent.ipynb). Note that the provided python files (src/) contain a slightly more optimized implementation of the algorithms.

To run a demonstration without the notebook, you can directly run ./src/example.py. Also have a look at this file on how to use the provided framework. The framework contains:

  • Two GridWorld implementations for demonstration (irl_maxent.gridworld)
  • The algorithm implementations (irl_maxent.maxent)
  • A gradient based optimizer framework (irl_maxent.optimizer)
  • Plotting helper functions (irl_maxent.plot)
  • A MDP solver framework, i.e. value iteration and corresponding utilities (irl_maxent.solver)
  • A trajectory/trajectory generation framework (irl_maxent.trajectory)

This project solely relies on the following dependencies: numpy, matplotlib, itertools, and pytest.

About

Maximum Entropy and Maximum Causal Entropy Inverse Reinforcement Learning Implementation in Python

Topics

Resources

License

Citation

Stars

Watchers

Forks

Packages

No packages published