|
Created on 2010-12-17.16:53:04 by malte, last changed by malte.
File name |
Uploaded |
Type |
Edit |
Remove |
domain.pddl
|
gabi,
2011-01-14.19:36:28
|
application/octet-stream |
|
|
problem.pddl
|
gabi,
2011-01-14.19:36:47
|
application/octet-stream |
|
|
msg1780 (view) |
Author: malte |
Date: 2011-09-19.14:08:09 |
|
Wonderful! Merged and closed.
|
msg1779 (view) |
Author: gabi |
Date: 2011-09-19.13:51:48 |
|
Ok, I changed this.
|
msg1772 (view) |
Author: malte |
Date: 2011-09-15.23:36:10 |
|
It looks like the new code allows having multiple :constants, :predicate etc.
entries, with the semantics that the last one overrides the previous ones,
except for :types, where they are combined? I think we should not allow
repetition of the same field.
The "no longer allowed" field also seems to contain a bit of duplication across
the cases since it's prefixes of the same list?
Here's one possible implementation strategy that could reduce the duplication:
- have a constant list "correct_order = [":requirements", ...]
- have a list "seen_fields = ..."
- first test each encountered field if it's in correct_order at all -- if not,
then we should break out of the loop (the same way we currently do)
- test each encountered field to seen_fields to see if it's a duplicate => error
- if seen_fields is not empty, test if correct_order.index(seen_fields[-1]) >
correct_order.index(current_field) => warning
- append current field to seen_fields
The nice thing about this is that the handling of the field order only has to be
done once, rather than once for each possible field.
|
msg1771 (view) |
Author: gabi |
Date: 2011-09-14.17:02:10 |
|
I think we should close this issue at some point. The current state is the
following:
1. We allow requirements :existential-preconditions and :universal-preconditions
(implemented in branch issue163)
2. We allow an arbitrary order of the specification of certain components in the
PDDL domain specification (more precisely, the order of types, constants,
predicates, and functions). If the order is different from the one of the BNF
specification, we print a warning but continue (implemented in branch issue 163)
3. I opened a new issue for the "Negated axiom impossible" issue (issue280)
4. Daniel did not answer Silvia's email and we cannot reproduce the dictionary
key error, so I would suggest to close this issue part.
So I think we can close this issue as soon as the changes are integrated into
default.
|
msg1207 (view) |
Author: silvia |
Date: 2011-01-20.09:45:03 |
|
> I agree that this should trigger the bug in the way I interpret the description.
> Silvia, can you ask the original bug reporter to clarify/give an example?
I've sent an email to Daniel.
|
msg1176 (view) |
Author: malte |
Date: 2011-01-15.19:32:05 |
|
> In my opinion, this behavior is in accordance with the PDDL specification (resp.
> with the prophecy) and it is easy to adapt a domain description accordingly.
> Should we nevertheless support an arbitrary order?
If the PDDL spec doesn't allow it, no, then I wouldn't change it. We might want
to improve the error message though; I would guess it is currently rather poor.
> I could not reproduce this but maybe I misinterpret the bug description.
> I attach a task that in my understanding should trigger the dictionary key
> error.
I agree that this should trigger the bug in the way I interpret the description.
Silvia, can you ask the original bug reporter to clarify/give an example?
> The task is also interesting because changing the goal description from
> (:goal (forall (?x) (and (not (pred ?x)) (ok ?x))))
> to
> (:goal (forall (?x) (and (pred ?x) (ok ?x))))
> throws an AssertionError ("Negated axiom impossible; cannot deal with that")
> which should easily be avoidable for constant predicates.
What is the point of that assertion anyway? What does it check, why is is
necessary? This looks like it should be fixed (maybe opening a separate issue
for that is best).
|
msg1174 (view) |
Author: gabi |
Date: 2011-01-14.19:36:28 |
|
- Im Domain-file müssen für LAMA die Konstanten vor den Predikaten deklariert
werden.
In my opinion, this behavior is in accordance with the PDDL specification (resp.
with the prophecy) and it is easy to adapt a domain description accordingly.
Should we nevertheless support an arbitrary order?
- Das PDDL requirement :universal-preconditions wird von LAMA nicht erkannt,
:quantified-preconditions (das ist ja eine Übermenge) jedoch schon.
I changed this.
- Jedes Prädikat dass im Ziel (vermutlich auch in preconditions) unter einem
Allquantor vorkommt muss für LAMA entweder im Init state oder in einem
Aktionseffekt in einem positiven Literal verwendet werden, ansonsten gibt es
im translate Teil einen dictionary key error. Praktisch tritt der Bug mit
handgeschriebenen Problemen sogut wie nie auf,
bei unseren automatisch generierten Problemen aber schon (allerdings negiert,
sonst wären ja die betreffenden Literale trivial falsch).
Hier mussten wir einigen Aufwand betreiben um unsere generierten Probleme
anzupassen. Im Planer selbst ist des vermutlich relativ einfach den Bug
zu beheben.
I could not reproduce this but maybe I misinterpret the bug description.
I attach a task that in my understanding should trigger the dictionary key error.
The task is also interesting because changing the goal description from
(:goal (forall (?x) (and (not (pred ?x)) (ok ?x))))
to
(:goal (forall (?x) (and (pred ?x) (ok ?x))))
throws an AssertionError ("Negated axiom impossible; cannot deal with that")
which should easily be avoidable for constant predicates.
|
msg890 (view) |
Author: malte |
Date: 2010-12-17.16:53:03 |
|
This is from an old bug report (March 2009) from Daniel Bauer to Silvia. I'll
leave this in German for convenience; we can translate it as necessary.
We should check which bugs are still current, and for the ones that are, either
fix them directly if they are small issues, or open separate issues if they look
like more work.
Once this is closed, we should get back to Daniel Bauer to notify him (see
Silvia's email from March 26, 2009).
Dabei sind uns ein paar kleine "Bugs" aufgefallen (in dem Sinn, dass unsere PDDL
Probleme zunächst von LAMA nicht akzeptiert wurden obwohl sie zur PDDL
Spezifikation konform sind). Du weist natürlich in der Readme auf solche Fehler
hin, aber ich dachte du bist vielleicht trotzdem an unseren Erfahrungen
interessiert :-)
- Im Domain-file müssen für LAMA die Konstanten vor den Predikaten deklariert
werden.
- Das PDDL requirement :universal-preconditions wird von LAMA nicht erkannt,
:quantified-preconditions (das ist ja eine Übermenge) jedoch schon.
- Jedes Prädikat dass im Ziel (vermutlich auch in preconditions) unter einem
Allquantor vorkommt muss für LAMA entweder im Init state oder in einem
Aktionseffekt in einem positiven Literal verwendet werden, ansonsten gibt es
im translate Teil einen dictionary key error. Praktisch tritt der Bug mit
handgeschriebenen Problemen sogut wie nie auf,
bei unseren automatisch generierten Problemen aber schon (allerdings negiert,
sonst wären ja die betreffenden Literale trivial falsch).
Hier mussten wir einigen Aufwand betreiben um unsere generierten Probleme
anzupassen. Im Planer selbst ist des vermutlich relativ einfach den Bug
zu beheben.
|
|
Date |
User |
Action |
Args |
2011-09-19 14:08:10 | malte | set | status: reviewing -> resolved messages:
+ msg1780 |
2011-09-19 13:51:48 | gabi | set | messages:
+ msg1779 |
2011-09-15 23:36:11 | malte | set | messages:
+ msg1772 |
2011-09-14 17:02:10 | gabi | set | status: chatting -> reviewing assignedto: gabi -> malte messages:
+ msg1771 |
2011-01-20 09:45:04 | silvia | set | messages:
+ msg1207 |
2011-01-15 19:32:06 | malte | set | messages:
+ msg1176 |
2011-01-14 19:36:47 | gabi | set | files:
+ problem.pddl |
2011-01-14 19:36:28 | gabi | set | files:
+ domain.pddl messages:
+ msg1174 |
2011-01-14 18:13:22 | gabi | set | assignedto: gabi |
2010-12-17 16:53:04 | malte | create | |
|