This is a Julia wrapper for the POMDP-Solve program, orginally developed at Brown University that uses the POMDPs.jl interface. This package uses the POMDPSolve_jll package, which was build using modifications from the code available from Tony Cassandra's pomdp.org page. The modfications are available in the JuliaPOMDP fork of pomdp-solve.
The pomdp-solve program solves partially observable Markov decision processes (POMDPs), taking a model specification and producing a value function and action policy. It employs many different algorithms, some exact and some approximate.
You can use the Julia package manager to install POMDPSolve.jl:
using Pkg
Pkg.add("POMDPSolve")
using POMDPSolve
using POMDPModels # for TigerPOMDP
pomdp = TigerPOMDP()
solver = POMDPSolveSolver()
policy = solve(solver, pomdp) # returns an AlphaVectorPolicy
Reference this package documentation for information on parameters and parameter options for the solver. If the information cannot be found there, please refer to the JuliaPOMDP fork of pomdp-solve or the original pomdp-solve documentation.
The supporting POMDPSolve_jll package was created using BinaryBuilder.jl. The build_tarballs.jl script can be found on Yggdrasil, the community build tree. To update and build new binaries:
- Modify the JuliaPOMDP fork of pomdp-solve
- Fork and update the Yggdrasil POMDPSolve_jll build_tarballs.jl script
- Create a pull request on JuliaPackaging/Yggdrasil