Best viewed on the website.
- Removed dependency on
pygraphviz
; - Added
utils.debugging.Treedebugger
, which makes it easier to inspect the search tree. See :py:mod:`~pomdp_py.utils.debugging`. - Added
WeightedParticles
; RefactoredParticles
. (:py:mod:`~pomdp_py.representations.distribution.particles`) - Optionally show progress bar while simulating in POUCT/POMCP.
- Added a CLI interface to simplify running example domains, e.g.
python -m pomdp_py -r tiger
runs Tiger. - Can initialize
Environment
withBlackboxModel
. - For the
OOBelief
class inoopomdp.pyx
, nowmpe
andrandom
can take an argumentreturn_oostate
(default True), which returns a sampled state as typeOOState
. This can be useful if you would like to inheritOOBelief
and return a state of your own type when implementing itsmpe
andrandom
functions. - Added
__ne__
methods to framework classes. - Reorganized
util
by breaking it into different modules. - Code refactoring: Remove unnecessary
*args, **kwargs
in interface signature. Backwards compatible. - Bug fix regarding hashing and pickling.
- Verified installation on Windows (TODO)
- Fix
setup.py
so thatpip install -e .
works.
- Edit
setup.py
file so that Cython modules inpomdp-py
can be :code:`cimport`ed.
(skipped versions due to attempting pypi release)
- Fix documentation (external solver examples).
- Update
tiger_problem.py
to match documentation
pomdp_py/algorithms/value_function.py
:- zero-probability observation should be skipped.
- refactored so that
value()
can take either a dict or a sequence of arguments.
- Available on PyPI
.value
field of VNode is instead changed to be a property, computed by finding the maximum value of the children Q-Nodes.
- Bug fix in
solvers.py
andconversion.py
(18fc58e0, cfc88e8d8) - Bug fix in the MOS domain's observation model (719c2edf5)
- Linked docker image in documentation issue #13.
- Updated documentations
- Updated documentation for external library interfacing. Added citation.
- Resolved issue #10. Set value in V-Node to be the max among its children Q-Nodes. Initial V-Node value set to negative infinity.
- Avoid search tree building during rollout (thanks Jason)
- Documentation clarification about
.sample
and.argmax
functions in theRewardModel
. - Small pomdps (with enumerable state, action, observation spaces)
defined in
pomdp_py
can be converted to.pomdp
and.pomdpx
file formats. - Added interfacing with pomdp_solve and tested.
- Added interfacing with sarsop and tested.
- Added
utils/templates.py
that contains some convenient implementations of the POMDP interface. - Bug fixes (in
histogram.pyx
)
- Fixed preferred rollout and action prior implementation; Previously the initial visits and values were not applied.
- Fixed UCB1 value calculation when number of visits is 0; Previously a divide by zero error will be thrown. But it should have infinite value.
- Fixed another potential math domain error due to log(0) in UCB1 value calculation when initial number of visit set to 0.
- Fixed bug in particle belief update (minor type error)
- Simplified the Tiger example code, updated the Tiger example in documentation.
- Fixed bug in ValueIteration and verified in Tiger that it's able to differentiate differentiate between listen/stay actions when horizon = 3, but not so when horizon = 1 or 2. The same behavior is observed using the pomdp solver by POMDP.org.
- Added an exact value function in
pomdp_py.algorithms.value_function
. It is a simpler exact value iteration algorithm. - Added Load/Unload domain Pull request #9
- Pull request #11
- Added
num_sims
parameter to POMCP/POUCT that allows specifying the number of simulations per planning step (Previously onlyplanning_time
was available. - Added cythonized versions of tiger and rocksample domains which are much faster.
- Added continuous light-dark domain. A solver (BLQR) is attempted but not ready yet.
- Bug fix in 2D MOS domain rollout; action step size changeable
- Added Tag domain, tested with POUCT random rollout
- Documentation
- Rewritten with cleaner interfaces and Cython integration
- Refactored POMCP: Now it extends POUCT which does not assume particle belief representation.
- Included Tiger, RockSample, and a 2D multi-object search (MOS) domain.
- Using Sphinx Documentation
- Implementation of POMCP and OO-POMDP