/funzo

Python toolkit for (Inverse) Reinforcement Learning

Primary LanguagePythonMIT LicenseMIT

Requirements Status

funzo

Python toolkit for (inverse) reinforcement learning (IRL). This toolkit strives for flexible interfaces enabling generic implementations of standard algorithms for RL and IRL.

Documentation: http://makokal.github.io/funzo/

Features

  • Flexible interfaces for models and algorithms
  • Inverse reinforcement learning algorithms
    • Bayesian IRL
      • PolicyWalk based BIRL
      • MAP based BIRL
  • RL domains for experiments
    • GridWorld (discrete)
    • Chainworld (discrete)
    • PuddleWorld (continuous)
    • Social Navigation (continuous)
  • MDP solvers
    • Policy Iteration
    • Value Iteration

Usage

See examples folder.

What about the name?

funzo is a Swahili word for instruction or doctrine or simply teaching, which is what we try to achieve here using IRL. If we do not succeed, the end result may not be desirable as Homer Simpson found out with Homers funzo