Skip to content

Commit

Permalink
added a bit more documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
zsunberg committed Jul 12, 2024
1 parent 5893e86 commit cf62e5b
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions lib/POMDPTools/src/ModelTools/generative_belief_mdp.jl
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
"""
GenerativeBeliefMDP(pomdp, updater)
<<<<<<< Updated upstream
Create a generative model of the belief MDP corresponding to POMDP `pomdp` with belief updates performed by `updater`.
=======
Create a generative model of the belief MDP corresponding to POMDP `pomdp` with belief updates performed by `updater`. Each step is performed by sampling a state from the current belief, generating an observation from that state and action, and then using `updater` to update the belief.
A belief is considered terminal when _all_ POMDP states in the support with nonzero probability are terminal.
The default behavior when a terminal POMDP state is sampled from the belief is to transition to [`terminalstate`](@ref). This can be controlled by the `terminal_behavior` keyword argument. Using `terminal_behavior=ContinueTerminalBehavior(pomdp, updater)` will cause the MDP to keep attempting a belief update even when the sampled state is terminal. This can be further customized by providing `terminal_behavior` with a `Function` or callable object that takes arguments `b, s, a, rng` and returns a new belief (see the implementation of `ContinueTerminalBehavior` for an example). `determine_gbmdp_state_type` can be used to further customize behavior.
>>>>>>> Stashed changes
"""
struct GenerativeBeliefMDP{P<:POMDP, U<:Updater, B, A} <: MDP{B, A}
pomdp::P
Expand Down

0 comments on commit cf62e5b

Please sign in to comment.