|
| 1 | +Changelog |
| 2 | +========= |
| 3 | + |
| 4 | +Best viewed on `the website <https://h2r.github.io/pomdp-py/html/changelog.html>`_. |
| 5 | + |
| 6 | +Version 1.3.4 (01/26/2024) |
| 7 | +-------------------------- |
| 8 | +* Modernize repo without introducing new features. |
| 9 | +* Migrate to :code:`pyproject.toml` to specify dependencies, with minimal :code:`setup.py` to build Cython extensions. |
| 10 | +* Separate core and optional dependencies. Optional dependencies are needed only for `pomdp_py.problems`. |
| 11 | +* Added CI testing to repo. |
| 12 | +* Added pre-commit checks to repo. |
| 13 | + |
| 14 | +Version 1.3.3 (07/25/2023) |
| 15 | +------------------------- |
| 16 | +* Bumped minimum Python requirement from 3.7 to 3.8 due to `EOL of 3.7 <https://devguide.python.org/versions/>`_. |
| 17 | +* Fix :code:`cpdef -> cdef` to avoid installation failure after Cython 3.0.0 release (`pomdp-py#30 <https://github.com/h2r/pomdp-py/pull/30>`_). |
| 18 | +* Added float_precision argument to to_pomdp_file (`pomdp-py#29 <https://github.com/h2r/pomdp-py/pull/29>`_) |
| 19 | +* Add :code:`__init__` signature for Environment in comments to be visible in docs |
| 20 | +* Fix :code:`s -> sp` in :py:mod:`~pomdp_py.algorithms.value_iteration.ValueIteration` (`pomdp-py#20 <https://github.com/h2r/pomdp-py/issues/20>`_) |
| 21 | +* Allow updating rollout policy for :py:mod:`~pomdp_py.algorithms.po_uct.POUCT` and :py:mod:`~pomdp_py.algorithms.pomcp.POMCP` |
| 22 | +* Fix in :code:`setup.py` so that wheel builds properly. |
| 23 | +* Change set to list in :code:`pomdp_problems.tiger.tiger_problem.py` to tame error regarding :code:`random.sample` in Python 3.11. |
| 24 | +* Minor bug fixes and documentation. |
| 25 | + |
| 26 | + |
| 27 | +Version 1.3.2 (04/03/2022) |
| 28 | +------------------------- |
| 29 | +* Fix in :py:mod:`~pomdp_py.representations.distribution.histogram` (in :code:`__str__`): |
| 30 | + Print all of histogram as is instead of printing top 5 to avoid confusion. |
| 31 | +* Improve documentation for `the tiger tutorial <https://h2r.github.io/pomdp-py/html/examples.tiger.html>`_; |
| 32 | + Specifically, clarified :py:mod:`~pomdp_py.framework.basics.PolicyModel` |
| 33 | + and gave a reference to :py:mod:`~pomdp_py.algorithms.po_uct.ActionPrior`. |
| 34 | +* Built documentation with new Sphinx version (4.5.0) |
| 35 | + |
| 36 | +Version 1.3.1 (11/03/2021) |
| 37 | +------------------------- |
| 38 | +* Bug fix in :py:mod:`~pomdp_py.representations.distribution.particles` (in :code:`add`) |
| 39 | +* Added classes for tabular models :py:mod:`~pomdp_py.utils.templates.TabularTransitionModel`, |
| 40 | + :py:mod:`~pomdp_py.utils.templates.TabularObservationModel`, |
| 41 | + :py:mod:`~pomdp_py.utils.templates.TabularRewardModel`. See an example in `this Github Gist <https://gist.github.com/zkytony/51d43ee6818375434eb3b84a77a47a5c>`_ for defining and solving the CryingBaby domain, a small POMDP. |
| 42 | + |
| 43 | +Version 1.3.0.1 (09/30/2021) |
| 44 | +---------------------------- |
| 45 | +* Removed dependency on :code:`pygraphviz`; |
| 46 | +* Added :code:`utils.debugging.Treedebugger`, which makes it easier to inspect the search tree. |
| 47 | + See :py:mod:`~pomdp_py.utils.debugging`. |
| 48 | +* Added :code:`WeightedParticles`; Refactored :code:`Particles`. (:py:mod:`~pomdp_py.representations.distribution.particles`) |
| 49 | +* Optionally show progress bar while simulating in POUCT/POMCP. |
| 50 | +* Added a CLI interface to simplify running example domains, e.g. :code:`python -m pomdp_py -r tiger` runs Tiger. |
| 51 | +* Can initialize :code:`Environment` with :code:`BlackboxModel`. |
| 52 | +* For the :code:`OOBelief` class in :code:`oopomdp.pyx`, now :code:`mpe` and :code:`random` can take an |
| 53 | + argument :code:`return_oostate` (default True), which returns a sampled state as type :code:`OOState`. |
| 54 | + This can be useful if you would like to inherit :code:`OOBelief` and return a state of |
| 55 | + your own type when implementing its :code:`mpe` and :code:`random` functions. |
| 56 | +* Added :code:`__ne__` methods to framework classes. |
| 57 | +* Reorganized :code:`util` by breaking it into different modules. |
| 58 | +* Code refactoring: Remove unnecessary :code:`*args, **kwargs` in interface signature. **Backwards compatible**. |
| 59 | +* Bug fix regarding hashing and pickling. |
| 60 | +* Verified installation on Windows (TODO) |
| 61 | + |
| 62 | + |
| 63 | +Version 1.2.4.6 (canceled) |
| 64 | +-------------------------- |
| 65 | +* Fix :code:`setup.py` so that :code:`pip install -e .` works. |
| 66 | + |
| 67 | +Version 1.2.4.5 (07/05/2021) |
| 68 | +---------------------------- |
| 69 | +* Edit :code:`setup.py` file so that Cython modules in :code:`pomdp-py` can be :code:`cimport`ed. |
| 70 | +
|
| 71 | +(skipped versions due to attempting pypi release) |
| 72 | +
|
| 73 | +Version 1.2.4.1 (06/02/2021) |
| 74 | +---------------------------- |
| 75 | +* Fix documentation (external solver examples). |
| 76 | +* Update :code:`tiger_problem.py` to match documentation |
| 77 | + |
| 78 | +Version 1.2.4 (06/01/2021) |
| 79 | +-------------------------- |
| 80 | +* :code:`pomdp_py/algorithms/value_function.py`: |
| 81 | + * zero-probability observation should be skipped. |
| 82 | + * refactored so that :code:`value()` can take either a dict or a sequence of arguments. |
| 83 | +* Available on `PyPI <https://pypi.org/project/pomdp-py/#history>`_ |
| 84 | +* :code:`.value` field of VNode is instead changed to be a property, computed by finding the maximum value of the children Q-Nodes. |
| 85 | + |
| 86 | +Version 1.2.3 (03/22/2021) |
| 87 | +-------------------------- |
| 88 | +* Bug fix in :code:`solvers.py` and :code:`conversion.py` (18fc58e0, cfc88e8d8) |
| 89 | +* Bug fix in the MOS domain's observation model (719c2edf5) |
| 90 | +* Linked `docker image <https://hub.docker.com/r/romainegele/pomdp>`_ in documentation `issue #13 <https://github.com/h2r/pomdp-py/issues)>`_. |
| 91 | +* Updated documentations |
| 92 | + |
| 93 | +Version 1.2.2.1 (01/25/2021) |
| 94 | +---------------------------- |
| 95 | +* Updated documentation for external library interfacing. Added citation. |
| 96 | + |
| 97 | +Version 1.2.2 (01/17/2021) |
| 98 | +-------------------------- |
| 99 | +* Resolved `issue #10 <https://github.com/h2r/pomdp-py/issues/10>`_. |
| 100 | + Set value in V-Node to be the max among its children Q-Nodes. |
| 101 | + Initial V-Node value set to negative infinity. |
| 102 | +* Avoid search tree building during rollout (thanks Jason) |
| 103 | +* Documentation clarification about :code:`.sample` and :code:`.argmax` functions in the :code:`RewardModel`. |
| 104 | +* Small pomdps (with enumerable state, action, observation spaces) |
| 105 | + defined in :code:`pomdp_py` can be converted to :code:`.pomdp` and :code:`.pomdpx` file formats. |
| 106 | +* Added interfacing with `pomdp_solve <https://www.pomdp.org/code/>`_ and tested. |
| 107 | +* Added interfacing with `sarsop <https://github.com/AdaCompNUS/sarsop>`_ and tested. |
| 108 | +* Added :code:`utils/templates.py` that contains some convenient implementations of the POMDP interface. |
| 109 | +* Bug fixes (in :code:`histogram.pyx`) |
| 110 | + |
| 111 | + |
| 112 | +Version 1.2.1 (12/23/2020) |
| 113 | +-------------------------- |
| 114 | +* Fixed preferred rollout and action prior implementation; Previously the initial visits and values were not applied. |
| 115 | +* 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. |
| 116 | +* Fixed another potential math domain error due to log(0) in UCB1 value calculation when initial number of visit set to 0. |
| 117 | +* Fixed bug in particle belief update (minor type error) |
| 118 | +* Simplified the Tiger example code, updated the Tiger example in documentation. |
| 119 | +* Fixed bug in ValueIteration and verified in Tiger that it's able to |
| 120 | + differentiate differentiate between listen/stay actions when horizon = 3, but |
| 121 | + not so when horizon = 1 or 2. The same behavior is observed using the pomdp |
| 122 | + solver by `POMDP.org <https://www.pomdp.org/code/index.html>`_. |
| 123 | +* Added an exact value function in :code:`pomdp_py.algorithms.value_function`. It is a simpler exact value iteration algorithm. |
| 124 | +* Added Load/Unload domain `Pull request #9 <https://github.com/h2r/pomdp-py/pull/9>`_ |
| 125 | +* `Pull request #11 <https://github.com/h2r/pomdp-py/pull/11>`_ |
| 126 | + |
| 127 | +Pull Request #3 (08/01/2020) |
| 128 | +---------------------------- |
| 129 | +* Added :code:`num_sims` parameter to POMCP/POUCT that allows specifying the number of simulations per planning step (Previously only :code:`planning_time` was available. |
| 130 | +* Added cythonized versions of tiger and rocksample domains which are much faster. |
| 131 | + |
| 132 | +Pull Request #1 (06/02/2020) |
| 133 | +---------------------------- |
| 134 | +* Added continuous light-dark domain. A solver (BLQR) is attempted but not ready yet. |
| 135 | +* Bug fix in 2D MOS domain rollout; action step size changeable |
| 136 | +* Added Tag domain, tested with POUCT random rollout |
| 137 | +* Documentation |
| 138 | + |
| 139 | + |
| 140 | +Version 1.0 - 1.2 (02/08/2020 - 02/16/2020) |
| 141 | +------------------------------------------- |
| 142 | + |
| 143 | +* Rewritten with cleaner interfaces and Cython integration |
| 144 | +* Refactored POMCP: Now it extends POUCT which does not assume particle belief representation. |
| 145 | +* Included Tiger, RockSample, and a 2D multi-object search (MOS) domain. |
| 146 | +* Using Sphinx Documentation |
| 147 | + |
| 148 | + |
| 149 | +Version 0.0 |
| 150 | +----------- |
| 151 | +* Implementation of POMCP and OO-POMDP |
0 commit comments