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

We need some convenient space types #301

Open
zsunberg opened this issue May 16, 2020 · 5 comments
Open

We need some convenient space types #301

zsunberg opened this issue May 16, 2020 · 5 comments

Comments

@zsunberg
Copy link
Member

Right now it is inconvenient to implement continuous action spaces. We need some convenient space types, like Box or something. Unclear if this already exists somewhere or it should go into POMDPModelTools or some new package named with some combination of the words "Box" "Interval" "Real" "Multidimensional" "Vector"

@MaximeBouton
Copy link
Contributor

MaximeBouton commented May 18, 2020

This might be useful: https://github.com/invenia/Intervals.jl

@lassepe
Copy link
Member

lassepe commented May 19, 2020

Are simple sets like Box enough? Or do we need support for arbitrary polytopes? It sounds like sampling may become rather tedious at some point.

@zsunberg
Copy link
Member Author

This might be useful: https://github.com/invenia/Intervals.jl

Yes, something like that that someone has already implemented would be great! There are two problems with that particular package though:

  1. It doesn't have rand implemented
  2. It doesn't work like we would want:
julia> [1.5,2.5] in Interval([1,1], [2,2])
true

Are there any other packages?

Are simple sets like Box enough?

Yes, I think boxes are enough for now! if people want polytopes they can write their own space objects easily enough.

The other thing that we might want is cartesian products, i.e. [0,1] x {true, false}

@lassepe
Copy link
Member

lassepe commented May 20, 2020

Maybe we should just make a small implementation for ourselves since hybrid spaces might be already quite a special needs. Product distributions are already supported by Distribitions.jlso the rand interface should be easy to implement for these simple spaces.

@MaximeBouton
Copy link
Contributor

There is this as well that we could take inspiration from: https://github.com/FluxML/Gym.jl/tree/master/src/Spaces

we could also use that directly but I don't know if we want a dependency on Gym.jl

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

No branches or pull requests

3 participants