Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider moving initialstate_distribution to the common section in the documentation #237

Closed
lassepe opened this issue Feb 4, 2019 · 2 comments · Fixed by #307
Closed
Milestone

Comments

@lassepe
Copy link
Member

lassepe commented Feb 4, 2019

When implementing the POMDP interface -- even when implementing the generative version -- it seems to me that there is barely anything that one can do with this model unless initialstate_distribution is implemented. E.g. when running a HistoryRecorder, even when using the NothingUpdater the code fails, since the initial belief distribution can not be determined (trying to call initialstate_distribution). So the common workaround seems to be to implement some custom distribution type and then define Base.rand on this type which simply calls initialstate from the generative interface.

Maybe initiastate_distribution should be moved to the "common" section of the POMDPs.jl API documentation? Or maybe one could place a hint somewhere that the above workaround exists. @zsunberg suggested that this workaround could be placed in POMDPModelTools.jl in a generalized form.

Feel free to come up with a better title for this issue.

@zsunberg
Copy link
Member

zsunberg commented Feb 5, 2019

Perhaps there should be

initialbelief(::Updater, ::POMDP)

in the interface, with a default of

initialbelief(u::Updater, m::POMDP) = initialize_belief(u, initialstate_distribution(m))

Then things like particle filters can just use initialstate() directly.

@zsunberg
Copy link
Member

zsunberg commented Jun 8, 2020

Yes, it seems like this should be moved to the "Defining Basic (PO)MDP Properties" section.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants