Approximate POMDP Planning Online (APPL Online) Toolkit
This software package is a C++ implementation of the DESPOT algorithm1.
[1] DESPOT: Online POMDP Planning with Regularization. Nan Ye, Adhiraj Somani, David Hsu and Wee Sun Lee. This implementation extends our NIPS 2013 paper with an improved search algorithm, analysis and more empirical results.
Copyright © 2014-2017 by National University of Singapore.
- Requirements
- Installation
- Quick Start
- Integration
- Documentation
- Package Contents
- Acknowledgements
- Bugs and Suggestions
- Release Notes
Tested Operating Systems:
Linux | OS X |
---|---|
Tested Compilers: gcc | g++ 4.2.1 or above
Tested Hardware: Intel Core i7 CPU, 2.0 GB RAM
Other Dependencies: (Optional) CMake (2.8+)
Clone OR Download and Unzip:
$ git clone https://github.com/AdaCompNUS/despot.git
Compile:
$ cd despot
$ make
This will generate libraries and header files inside a local folder in despot
. To install them into your system directory, see Integration.
DESPOT can be used to solve a POMDP specified in the POMDPX format or a POMDP specified in C++ according to the API. We illustrate this on the Tiger problem.
1.To run Tiger specified in C++, compile and run:
$ cd despot/examples/cpp_models/tiger
$ make
$ ./tiger --runs 2
This command computes and simulates DESPOT's policy for N = 2
runs and reports the
performance for the tiger problem specified in C++. See doc/Usage.txt for more options.
2.To run Tiger specified in POMDPX format, compile and run:
$ cd despot/examples/pomdpx_models
$ make
$ ./pomdpx -m ./data/Tiger.pomdpx --runs 2
This command computes and simulates DESPOT's policy for N = 2
runs and reports the
performance for the tiger problem specified in POMDPX format. See doc/Usage.txt for
more options.
If you are interested in integrating DESPOT into an existing project or using an IDE for editing, we provide a CMakeLists.txt.
To install DESPOT libraries and header files into your system directory:
$ cd despot
$ mkdir build; cd build
$ cmake ../
$ make
$ sudo make install
To integrate DESPOT into your project, add this to your CMakeLists.txt
file:
find_package(Despot CONFIG REQUIRED)
add_executable("YOUR_PROJECT_NAME"
<your_src_files>
)
target_link_libraries("YOUR_PROJECT_NAME"
despot
)
Documentation can be found in the "doc" directory.
For a description of our example domains and more POMDP problems see the POMDP page.
Makefile Makefile for compiling the solver library
README.md Overview
include Header files
src/core Core data structures for the solvers
src/solvers Solvers, including despot, pomcp and aems
src/pomdpx Pomdpx and its parser
src/util Math and logging utilities
src/ippc Interface for International Probabilistic Planning Competition
license Licenses and attributions
examples/cpp_models POMDP models implemented in C++
examples/pomdpx_models POMDP models implemented in pomdpx
doc/pomdpx_model_doc Documentation for POMDPX file format
doc/cpp_model_doc Documentation for implementing POMDP models in C++
doc/Usage.txt Explanation of command-line options
doc/nips2013.txt Instruction to obtain results in [1]
Pocman implementation and memorypool.h in the package are based on David Silver's POMCP code
Please use the issue tracker.
2015/09/28 Initial release.
2017/03/07 Public release. Revised documentation.