JuliaPOMDP / POMDPs.jl

MDPs and POMDPs in Julia - An interface for defining, solving, and simulating fully and partially observable Markov decision processes on discrete and continuous spaces.
http://juliapomdp.github.io/POMDPs.jl/latest/
Other
671 stars 105 forks source link

Solver General Registration Checklist #318

Closed zsunberg closed 4 years ago

zsunberg commented 4 years ago

This is a checklist for registering solvers in the Julia General registry. We can either purposely create new versions or just wait until new versions happen and then register them.

MaximeBouton commented 4 years ago

Do you have other plans for the RL stuff? (DeepQLearning, and incoming PolicyOptimization + RLInterface)

Should we order them by dependencies? From a first glance it seems like the order works.

zsunberg commented 4 years ago

Oh, sorry, I just didn't look far enough down to get the RL stuff. I think the only question is if we want to switch to CommonRLInterface rather than RLInterface, but I probably would not have time to work on it soon, so maybe it's best to just register what we have now and possibly think about switching later.

zsunberg commented 4 years ago

Yes, we will have to do it in dependency order. I did not organize them in that order yet. Feel free to switch it.

MaximeBouton commented 4 years ago

FIB is pending.

FIB name is too short, idk if we can ask someone to merge it anyway or if we should change the name. https://github.com/JuliaRegistries/General/pull/21383

How did MCTS.jl get merged? it is not 5 letters long

QMDP also pending because of a compat issue that should be easily fixable, but it might trigger the naming error as well...

zsunberg commented 4 years ago

We are supposed to ask in the pkg-registration channel on slack to get them to merge it. I think the short names will be ok. I will ask now

zsunberg commented 4 years ago

@MaximeBouton, how should we handle SARSOP_jll?

zsunberg commented 4 years ago

Should we tag 0.96.1? or have 0.96.0 registered both in General and the JuliaPOMDP Registry?

I am kind of leaning toward 0.96.0 registered in both. I think it should be ok.

zsunberg commented 4 years ago

I am going ahead with 0.96.0 and see what happens. Let me know if I should stop.

zsunberg commented 4 years ago

That did not seem to work - it came up with a different git tree sha than the one on JuliaPOMDP/Registry and I got scared. Now my plan is to bump the version to 0.96.0+1 and register that in General. Does that seem like the right plan @MaximeBouton ?

MaximeBouton commented 4 years ago

For jll packages, I think one way is to submit a PR to Yggdrasil with the build recipe. The PR from general failed because of the version number, I don't think it accepts the +0 notation. Should we register as 0.96.1 ?

zsunberg commented 4 years ago

I don't think the +0 is a problem because all of the other _jll packages have +0. I think that just prevented the automatic merge. In my mind, the real problem is that the git tree sha hash does not match between JuliaPOMDP/Registry and JuliaRegistries/General, so they will not be able to merge.

build_tarballs for SARSOP_jll did not work for me the first time, but I am not sure if I did it right.

If we try to go through Yggdrasil, does that mean we need to move the repo to JuliaBinaryWrappers?

@MaximeBouton Do you have bandwidth to figure out the solution since you set it up in the first place and know how build_tarballs, etc. works?

MaximeBouton commented 4 years ago

if we move to Yggdrasil I don't think we have to move the repo at all, but just submit a PR with the build_tarballs file. My understanding is that it will automatically generate a new _jll package at the right place. I started a discussion on slack, I will cc you and try to get it done before the end of the week.

MaximeBouton commented 4 years ago

SARSOP_jll in general :) https://github.com/JuliaRegistries/General/pull/22279

zsunberg commented 4 years ago

Thanks @MaximeBouton ! But there is a problem if you have the JuliaPOMDP registry

image

because we registered two SARSOP_jll v0.96.0+0 packages with different hashes. Not sure what the best way to fix it is

zsunberg commented 4 years ago

Is this the solution? https://github.com/JuliaPOMDP/Registry/pull/91

zsunberg commented 4 years ago

And we're done!

MaximeBouton commented 4 years ago

Missing DeepQLearning and RLInterface but I need to think about what to do there.

rejuvyesh commented 4 years ago

Should we rename it to POMDPRLInterface while implementing the CommonRL interface?

zsunberg commented 4 years ago

I thought about this this weekend - should we even have a separate package? I think we could just integrate CommonRLInterface compatibility into the POMDPs.jl package directly.

rejuvyesh commented 4 years ago

Hmm. That's reasonable too, given it's mostly an API. We can put up the ZMQ stuff elsewhere.

MaximeBouton commented 4 years ago

Does it imply having a dependency on CommonRLInterface in POMDPs.jl and implementing the required methods from CommonRLInterface using gen?

zsunberg commented 4 years ago

Yes, that's what I was thinking