Skip to content

Use of JuliaPOMDP with cognitive modelling package #570

@PTWaade

Description

@PTWaade

Hey developers of JuliaPOMP !

I am working on a package for cognitive modelling (i.e. the field of reverse-engineering which models how people use to solve tasks), and in that context, I wanted to see if I could rely on your extensive ecosystem for POMDP-related models.
To test that, I just need an example with a simple updater/solver for a simple POMDP (notably, I do not necesarily need to rely on your POMDP tasks or environments).
However, I need to be able to run the action-perception loop manually (because I need to intervene in it), so I can’t use your otherwise very useful simulation functions.
I have been looking around, but have found it a little difficult to figure out how to do this naturally.
I wondered if you would be kind enough to provide me with a brief dummy code example looking something like this:

using ...

#create pomdp

#create updater

#create solver

#initialise beliefs

for i in 1:n_timesteps
   #update belief based on observation (and previous action)
   #choose action based on belief
end

Notably, it would be a great advantage if the loop were fully differentiable (preferably with ForwardDiff.jl, although that requires support for Dual Numbers, so alternatively Mooncake.jl or Enzyme.jl).

Additionally, I would much prefer it if it were possible to return not just an action, but a probability distribution over actions (or something from which I could generate such a distribution). Then the action could be sampled from that afterwards.

And finally, I would also be happy if I could construct a simple interface for setting parameters of the POMDP solver and belief updater (since those are the ones I would try to estimate for a given experimental subject, based on their behaviour in an experiment).

Let me know if there is anything I can do - and lots of admiration for your incredible work!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions