JuliaPOMDP/POMDPs.jl
MDPs and POMDPs in Julia - An interface for defining, solving, and simulating fully and partially observable Markov decision processes on discrete and continuous spaces.
What it solves
POMDPs.jl provides a standardized core interface for defining and solving problems involving Markov Decision Processes (MDPs) and Partially Observable Markov Decision Processes (POMDPs). It allows developers to express complex decision-making problems under uncertainty using a common programming vocabulary, making it easier to write solver software and run simulations efficiently.
How it works
The project establishes a core interface that defines how MDPs and POMDPs should be structured. It is supported by a complementary package, POMDPTools, which acts as a standard library providing essential implementations for policies, belief updaters, distributions, and simulators. This ecosystem allows for a modular approach where users can define a problem once and then apply various solvers (available as separate packages) to find optimal or near-optimal policies.
Who it’s for
This toolkit is designed for researchers and developers working on decision-making under uncertainty, reinforcement learning, and robotics, as well as those who need to model systems where the state is not fully observable.
Highlights
- Broad Ecosystem: Integrates with a wide array of MDP and POMDP solvers, ranging from offline value iteration to online Monte Carlo Tree Search (MCTS).
- Cross-Language Support: Can be used with Python via
quickpomdpsorpyjulia. - Interoperability: Provides two-way integration with
CommonRLInterfaceand the JuliaReinforcementLearning ecosystem. - Flexible Modeling: Supports both discrete and continuous states, actions, and observations.
Related
- Project
- Project
- Project
- Project
- Project