Closed Jaraxxus-Me closed 5 days ago
Hi Bowen,
Thanks for the question/comments. The points you raised are actually all intentional.
Given this, I'd rather you not modify the original domain. However, if you'd like to subclass the domain and introduce a new domain (maybe called satellites-markov
?), I would be happy to review your PR.
I see. I appreciate these clarifications. Yes, sure, I can introduce the new domain with a PR.
PR opened.
Hi, thanks for this library. After carefully studying your implementation, I have some questions and potential suggestions for the Satellite Domain. Maybe I misunderstood something, correct me if I'm wrong.
Currently, the operator "MoveTo" has no pre-conditions and only creates one "Sees", deleting nothing. See here. This is a bit problematic in the continuous space:
To solve these, I suggest some modifications to the domain definition:
Add one more predicate called "ViewClear(?sat)". And one more operator "MoveAway(?sat, ?obj)". Change the "MoveTo(?sat, ?obj)" def: pre-cond: {ViewClear(?sat)} Effect+: Sees(?sat, ?obj) Effect-: ViewClear(?sat, ?obj) MoveAway(?sat, ?obj) def: pre-cond: Sees(?sat, ?obj) Effect+: ViewClear(?sat) Effect-: Sees(?sat, ?obj)
And also add the MoveAway() sampler. In this case, we don't need to have ignore_effects, and the low-level states achieve Markov Property.
As I'm actively working on this, I can do these and submit a pull request if needed.