Implemented Belief Updaters
POMDPTools provides the following generic belief updaters:
- a discrete belief updater
- a k previous observation updater
- a previous observation updater
- a nothing updater (for when the policy does not depend on any feedback)
For particle filters see ParticleFilters.jl.
Discrete (Bayesian Filter)
The DiscreteUpater
is a default implementation of a discrete Bayesian filter. The DiscreteBelief
type is provided to represent discrete beliefs for discrete state POMDPs.
A convenience function uniform_belief
is provided to create a DiscreteBelief
with equal probability for each state.
POMDPTools.BeliefUpdaters.DiscreteBelief
— TypeDiscreteBelief
A belief specified by a probability vector.
Normalization of b
is assumed in some calculations (e.g. pdf), but it is only automatically enforced in update(...)
, and a warning is given if normalized incorrectly in DiscreteBelief(pomdp, b)
.
Constructor
DiscreteBelief(pomdp, b::Vector{Float64}; check::Bool=true)
Fields
pomdp
: the POMDP problemstate_list
: a vector of ordered statesb
: the probability vector
POMDPTools.BeliefUpdaters.DiscreteUpdater
— TypeDiscreteUpdater
An updater type to update discrete belief using the discrete Bayesian filter.
Constructor
DiscreteUpdater(pomdp::POMDP)
Fields
pomdp <: POMDP
POMDPTools.BeliefUpdaters.uniform_belief
— Method uniform_belief(pomdp)
Return a DiscreteBelief with equal probability for each state.
K Previous Observations
POMDPTools.BeliefUpdaters.KMarkovUpdater
— TypeKMarkovUpdater
Updater that stores the k most recent observations as the belief.
Example:
up = KMarkovUpdater(5)
s0 = rand(rng, initialstate(pomdp))
initial_observation = rand(rng, initialobs(pomdp, s0))
initial_obs_vec = fill(initial_observation, 5)
hr = HistoryRecorder(rng=rng, max_steps=100)
hist = simulate(hr, pomdp, policy, up, initial_obs_vec, s0)
Previous Observation
POMDPTools.BeliefUpdaters.PreviousObservationUpdater
— TypeUpdater that stores the most recent observation as the belief. If an initial distribution is provided, it will pass that as the initial belief.
Nothing Updater
POMDPTools.BeliefUpdaters.NothingUpdater
— TypeAn updater useful for when a belief is not necessary (i.e. for a random policy). update
always returns nothing
.