Closed anubhav-cs closed 5 years ago
Thanks @anubhav-cs. Could you please tell us what test or code exactly are you running, so that I can reproduce the bug?
Full script is here:- test.py
(forall ...)
preconditions removed:- openstacks/domain_mod.pddlassert f.quantifier == Quantifier.Forall
raise RuntimeError('TODO')
So, I wrote a python method to compile away the universal quantifiers in the preconditions. (forall ...)
preconditions removed. It still threw error because of (not (made ?p))
in precondition of action setup-machine
.@gfrances I had a query. How would tarski handle a negated precondition like (not (made ?p))
. Currently, I get an error, where the file tmp5pun7pck shows that the rule for head
- setup__machine(P, Avail)
has a -None(P)
lp-atom - the error occurs here. Should I be compiling away negated precondition before I call the grounder?
This can be reproduced by cloning tarski-test, and then executing test.py
Yes, that appears to be a different issue, give me a couple of hours and I'll look into that as well. Thanks for the report again!
Negated literals in preconditions and goal should no longer be a problem - they are now assumed to be true, as per Helmert, Concise finite-domain representations for PDDL planning tasks, Section 6.1.3. Let me close this issue and open a new one for the handling of universally-quantified preconditions, which indeed is yet not implemented.
Faced following issue while running some tests on openstacks ipc benchmark problem.
Error in method
LPGroundingStrategy._solve_lp
:-(not (made ?p))
insetup-machine
action causes an error/tmp/tmp6_w8s8li:676:62-63: error: syntax error, unexpected (
.tmp6_w8s8li
at line676
ismove(Curpos, Nextpos) :- place(Curpos), place(Nextpos), -None(Curpos), connected(Curpos, Nextpos).
Suggested Fix-
Issue seems to be arising from line number 200 in
reachability/asp.py
, thenegated
value isNone
innegated = "-{}".format(negated)
. Hence, a LPAtom withsymbol = -None
is getting created. Changing the line tonegated = "-{}".format(atom.symbol)
seems to be the fix here. Requesting a review.