Repository containing code, as well as gathered data, as used for the following submission
Tighter Value-Function Approximations for POMDPs
Merlijn Krale, Wietze Koops, Sebastian Junges, Thiago D. Simão, Nils Jansen
AAMAS 2025, Detroit
This repository contains the following files:
Folders:
- TIB : Contains all code related to our novel bounds TIB, ETIB and OTIB (here denoted as TIB, ETIB and OTIB). The most important files within are:
- solver.jl : Contains the algorithms for computing the different novel bounds, implemented using the POMDPs.jl framework.
- SimpleHeuristics.jl: Contains a custom implementation of FIB and QMDP.
- Caching.jl : Contains code for precomputing beliefs and probabilities.
- Sarsop_altered : Contains a copy of the NativeSARSOP solver, with alterations as explained in the paper.
- Data : Contains all data used for our experiments
- Environments : Contains all benchmarks in POMDPs.jl format that are not publically available elsewhere. It includes:
- Sparse_models : Contains all environments collected form pomdps.org
Relevant scripts:
- RunAll.sh : Automatically runs all experiments used in the paper.
- run*.jl : Scripts for running single experiments.
- plotting_python.ipynb : Notebook used for data collection & plotting.
After cloning this repository, run the followig commands to install all packages:
julia --project=.
]
instantiateTo run all experiments from the paper at once, run the following:
bash ./Runall.shTo run a single test, run either run_upperbound.jl or run_sarsoptest.jl using --project=.
To see the available options, us flag -h.
For example, a possible command may look as follows:
julia --project=. run_upperbound.jl --env RockSample5 --solvers TIB --discount 0.95 --precompile true