Skip to content
This repository has been archived by the owner on Aug 14, 2021. It is now read-only.

pruning #22

Open
zsunberg opened this issue Aug 7, 2017 · 9 comments
Open

pruning #22

zsunberg opened this issue Aug 7, 2017 · 9 comments

Comments

@zsunberg
Copy link
Member

zsunberg commented Aug 7, 2017

Hi @ebalaban, do you remember anything about the status of pruning? Right now the prune functions are commented out with #TODO: fix pruning at the top. Do you remember anything about what needed to be fixed? It's ok if not; I just didn't want to jump in and start debugging it if you had a more specific idea of what needs to be fixed.

Thanks!

@ebalaban
Copy link
Contributor

ebalaban commented Aug 8, 2017

It's been a while since I looked at pruning last. It wasn't quite working properly, but I don't remember why now. It was not all that important to me at that point, so I did not spend much time debugging. Feel free to tinker with the code if you'd like.

@zsunberg
Copy link
Member Author

zsunberg commented Aug 8, 2017

I am working on this today

@zsunberg
Copy link
Member Author

zsunberg commented Aug 8, 2017

It doesn't look like the regularization (which I think is the same as pruning) mattered too much for the RockSample problems, but it does seem to be important for laser tag. I'm assuming that you don't have very much time to work on implementing it right now, right @ebalaban? The fastest way forward is for me to learn the details and implement it myself I guess.

@zsunberg
Copy link
Member Author

zsunberg commented Aug 8, 2017

When you were implementing DESPOT.jl in the first place, did you mostly look at their C++ source code or their papers for guidance?

@ebalaban
Copy link
Contributor

ebalaban commented Aug 9, 2017

I started with their original 2013 paper for the overall algorithm layout, then consulted with the C++ code when I needed some specific implementation ideas.

@ebalaban
Copy link
Contributor

ebalaban commented Aug 9, 2017

I could get to fixing pruning, but probably not for a week or so - a little swamped right now. If you need it working sooner, yes, please feel free to give it a try.

@zsunberg
Copy link
Member Author

@ebalaban , not sure if you were still thinking about doing this. I am currently considering making a new implementation that follows the pseudocode in appendix B of this paper: https://www.jair.org/media/5328/live-5328-9753-jair.ps . They note in footnote 2 on p.241 that this algorithm is slightly different than the one from their 2013 paper. Given the good experience I had re-implementing POMCP, I think that this will produce a better outcome than putting the pruning into the current DESPOT.jl implementation. Do you have any comments/advice about doing that? I am still trying to decide on a course of action.

@ebalaban
Copy link
Contributor

Have not gotten to this yet. If they do have a newer version of pruning, perhaps it'be worth the effort to implement that for DESPOT instead of debugging the old one. Will try to look through the latest paper tomorrow and see what the differences are. If you are going to do it for POMCP, I may then implement it for DESPOT when I get some cycles.

@zsunberg
Copy link
Member Author

zsunberg commented Aug 16, 2017

I meant that I am implementing a completely new DESPOT package, not a new POMCP. The main advantage of the new implementation is that it follows the pseudocode in the JAIR paper closely, so it should be much easier to understand after reading the paper. I have already implemented some of it here: https://github.com/zsunberg/ARDESPOT.jl/blob/master/src/planner.jl

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

No branches or pull requests

2 participants