Skip to content

Releases: Zinoex/IntervalMDP.jl

v0.7.0

04 Dec 13:24

Choose a tag to compare

IntervalMDP v0.7.0

Diff since v0.6.0

Changelog

  • Unify underlying storage as FactoredRobustMarkovDecisionProcess; also supports factored models.
  • Improve performance for IMDPs on GPU via bit-magic indexing in bitonic sorting.
  • Add customizable Bellman operator algorithms.
  • Add probabilistic labelling to ProductProcess.
  • Improve docs, especially for specifications.
  • Improve show of FactoredRobustMarkovDecisionProcess, problems, etc. - now prints key types, statistics, and configurations rather than the full transition matrices that clutter the REPL with little meaningfulness.

Breaking changes

  • With the new FactoredRobustMarkovDecisionProcess model as a general underlying model, it requires a fixed number of actions per state. This will be relaxed in later versions. Convenience constructors for IntervalMarkovDecisionProcess and IntervalMarkovChain are included, but IntervalMarkovDecisionProcess currently requires a fixed number of actions.
  • Rename from IntervalProbabilities to IntervalAmbiguitySets.

Merged pull requests:

Closed issues:

  • GPU for OrthogonalIntervalMarkovDecisionProcesses (#55)
  • Factored IMDPs (+ mixtures) as a general model (#84)

v0.6.0

16 Jul 18:23
f3697ac

Choose a tag to compare

IntervalMDP v0.6.0

Diff since v0.5.0

Changelog

  • Removed bellman operator, workspaces from public interface (breaking change)
  • Changed interface to conform to CommonSolve interface (breaking change)

Merged pull requests:

  • Bellman operator for ProductProcess (#87) (@Zinoex)
  • Use CommonSolve standardized interface (#88) (@Zinoex)

v0.5.0

20 Jun 14:42

Choose a tag to compare

IntervalMDP v0.5.0

Diff since v0.4.6

  • Update kernels for the Bellman operator bellman! to support rational arithmetic for exact value iteration.
  • The bellman operator bellman! now takes a model rather than a probability object and a state pointer (breaking). The old interface is used underlying in _bellman_helper!, which is called by bellman!.

Merged pull requests:

Closed issues:

  • Rational number support (#14)

v0.4.6

30 May 14:44

Choose a tag to compare

IntervalMDP v0.4.6

Diff since v0.4.5

Merged pull requests:

v0.4.5

27 Jan 15:30

Choose a tag to compare

IntervalMDP v0.4.5

Diff since v0.4.4

v0.4.4

22 Jan 14:28

Choose a tag to compare

IntervalMDP v0.4.4

Diff since v0.4.3

v0.4.3

21 Jan 15:59

Choose a tag to compare

IntervalMDP v0.4.3

Diff since v0.4.2

v0.4.2

14 Jan 11:47
5b44edb

Choose a tag to compare

IntervalMDP v0.4.2

Diff since v0.4.1

Merged pull requests:

Closed issues:

  • Avoid specifying transition probabilities for sink states (#78)

v0.4.1

03 Jan 13:10

Choose a tag to compare

IntervalMDP v0.4.1

Diff since v0.4.0

Merged pull requests:

v0.4.0

04 Dec 16:55

Choose a tag to compare

IntervalMDP v0.4.0

Diff since v0.3.0

Merged pull requests:

  • Check device upload problem construction for better error messages (#42) (@Zinoex)
  • Time-varying markov process (#43) (@Zinoex)
  • Move the models into separate files (#44) (@Zinoex)
  • CompatHelper: add new compat entry for Adapt in [weakdeps] at version 4, (keep existing compat) (#45) (@github-actions[bot])
  • CompatHelper: add new compat entry for LLVM in [weakdeps] at version 7, (keep existing compat) (#46) (@github-actions[bot])
  • CompatHelper: add new compat entry for GPUArrays in [weakdeps] at version 10, (keep existing compat) (#47) (@github-actions[bot])
  • Introduce workspaces (#48) (@Zinoex)
  • Massive refactor - primarily with the intention of incorporating ParallelProduct (#50) (@Zinoex)
  • CompatHelper: bump compat for LLVM in [weakdeps] to 8, (keep existing compat) (#51) (@github-actions[bot])
  • CompatHelper: bump compat for LLVM in [weakdeps] to 9, (keep existing compat) (#52) (@github-actions[bot])
  • Remove ParallelProduct (#53) (@Zinoex)
  • Orthogonal IMDPs (#54) (@Zinoex)
  • More workspace types for OrthogonalIntervalProbabilities (#59) (@Zinoex)
  • Simplify action vectors (#62) (@Zinoex)
  • Refactor bellman! to prepare for mixture models (#63) (@Zinoex)
  • Change interface for time varying models (#66) (@Zinoex)
  • Add safety property (#67) (@Zinoex)
  • CompatHelper: bump compat for GPUArrays in [weakdeps] to 11, (keep existing compat) (#68) (@github-actions[bot])
  • Mixture model (#69) (@Zinoex)
  • Use abs in convergence check (#72) (@bkraske)
  • Fix strategy interface for CUDA (#75) (@Zinoex)
  • Update docs (#76) (@Zinoex)

Closed issues:

  • SparseOrdering to CuSparseOrdering adaptor (#12)
  • Read bmdp-tool into an IntervalMarkovChain if num_actions == 1 (#30)
  • Apply policy to IMDP to obtain IMC (#33)
  • Test asserts (#35)
  • Composition of IntervalMarkovProcesses (#38)
  • Improve device error messages (#40)
  • Test device check (#49)
  • Simplify action vectors (#56)
  • Sparse OrthogonalIntervalMarkovDecisionProcess (#57)
  • Multi-threaded OrthogonalIntervalMarkovDecisionProcess (#58)
  • Improve how strategies are applied (#64)
  • Function to transfer data back to cpu (#74)