Issue282

Title get rid of unmaintained translator top-level scripts
Priority wish Status resolved
Superseder Nosy List florian, gabi, jendrik, malte
Assigned To jendrik Keywords 1.0
Optional summary

Created on 2011-09-22.00:00:50 by malte, last changed by jendrik.

Messages
msg2422 (view) Author: jendrik Date: 2013-04-19.20:32:20
Merged and closed.
msg2421 (view) Author: malte Date: 2013-04-19.19:47:17
> One question remains: Should the code explicitly remove operators that don't
> have any effect after the delete effects have been removed?

Not necessary; if such operators exist, they should be pruned by relevance
analysis in the preprocessor. (If not, that's a bug in the preprocessor.)
msg2420 (view) Author: jendrik Date: 2013-04-19.19:45:45
I'll run some more tests, but I'm pretty confident that the change only improves 
the generated output compared to the old behaviour. 

One question remains: Should the code explicitly remove operators that don't have 
any effect after the delete effects have been removed?
msg2419 (view) Author: malte Date: 2013-04-19.19:39:11
> The description is wrong: The pre-post effect is turned into a prevail
> condition if pre=post.

OK, that's correct. Should we do some experiments to test that the new
translation behaves similarly to the old one in practice? Your call; I think
it'd be good to have the reassurance, but am not sure if it's worth the effort.

Otherwise feel free to merge this.
msg2417 (view) Author: jendrik Date: 2013-04-19.19:12:24
> - Pre-post effects with pre=post are removed.

The description is wrong: The pre-post effect is turned into a prevail condition if pre=post. This happens 
in woodworking-p01.pddl.

I opened issue374 for the fact renaming.
msg2415 (view) Author: malte Date: 2013-04-19.19:04:04
> - Each Atom that was previously something like "NegatedAtom at(ball1, roomb)"
> is now called "<none of
> those>".

Not a big issue. But it would be nice to change this more generally to make the
output more readable: if a SAS+ variable has only two values and one of these is
a "none of those", then check if the other is "Atom ..." and call the other
value "NegatedAtom ..." instead.

> - Operators that don't change any value are removed.

That's good. :-)

> - Pre-post effects with pre=post are removed.

Can you give an example where this happens? In general this is not correct
because it removes a precondition.
msg2414 (view) Author: jendrik Date: 2013-04-19.18:22:36
I corrected the removal of the delete effects. Now the only differences to the old translate-relaxed.py 
behaviour are:

- Each Atom that was previously something like "NegatedAtom at(ball1, roomb)" is now called "<none of 
those>".
- Operators that don't change any value are removed.
- Pre-post effects with pre=post are removed.

I moved the normalize() method into translate.py, because otherwise we would probably have to pass 
relaxed=True from translate.py over instantiate.py to pddl_to_prolog.py. What do you think?

Can there be operators without add effects? If so, are those automatically deleted in relaxed tasks?
msg2413 (view) Author: florian Date: 2013-04-19.11:59:38
I used translated-relaxed.py for those. I remember that it was broken in one or
two places (I believe it was a method that needed an additional parameter) so I
made a some modifications, but nothing major.
msg2412 (view) Author: jendrik Date: 2013-04-19.11:23:14
How did you generate the delete-relaxed tasks, Florian?
msg2411 (view) Author: malte Date: 2013-04-19.01:09:53
Ahem, to be clear, giving the second opinion shouldn't take more than a minute.
;-) The implementation itself will be a bit more difficult, but not terribly
much so. We should do a before/after evaluation to make sure the delete-relaxed
tasks come out OK.

Please get in touch with Florian for this to find out how he generated the
delete-relaxed tasks for his ICAPS 2012 paper so that we can check that the new
method still works with that (= generates the same or at least plausible results).
msg2410 (view) Author: malte Date: 2013-04-19.01:08:00
Excellent! I think the --relaxed option should be implemented differently,
though; see the comments on Bitbucket. Maybe Gabi can give you a second opinion
on the implementation strategy I suggest there. (Shouldn't take more than a minute.)
msg2409 (view) Author: jendrik Date: 2013-04-19.00:25:34
I took a stab at this today and created a code review in the form of a pull-
request at my FD fork on bitbucket.
Did you get a notification, Malte? What's your username at bitbucket, Gabi? 

I moved the functionality from translate-relaxed.py into translate.py (in the 
form of a --relaxed option). All that's left is removing the old files you 
mentioned.
msg1790 (view) Author: malte Date: 2011-09-22.00:06:29
I've fixed the scripts and renamed the issue.
msg1789 (view) Author: malte Date: 2011-09-22.00:00:50
In addition to translate.py, we have a bunch of other top-level scripts of the
translator that are frequently broken because they are not commonly used:
  * translated-relaxed.py
  * additive-hmax.py (together with run-additive-hmax
  * relaxed_task.py
  * relaxed_tasks.py

All of these are broken right now. I recently fixed translate-relaxed.py, but it
got broken again with my recent changes to the output format (which changed the
way that the simplification code is used).

It is questionable whether we need three variations on the theme of generating
relaxed tasks. :-) So some cleanup here would be good. All of these are/were
used at some point, and they serve slightly different purposes. I think they
should probably all go away, but the functionality of generating relaxed tasks
should be retained by a switch to translate.py.

Hopefully, this could be as simple as disabling invariant generation and not
translating delete effects.
History
Date User Action Args
2013-04-19 20:32:20jendriksetstatus: chatting -> resolved
messages: + msg2422
2013-04-19 19:47:17maltesetmessages: + msg2421
2013-04-19 19:45:45jendriksetmessages: + msg2420
2013-04-19 19:39:11maltesetmessages: + msg2419
2013-04-19 19:12:24jendriksetmessages: + msg2417
2013-04-19 19:04:04maltesetmessages: + msg2415
2013-04-19 18:22:36jendriksetmessages: + msg2414
2013-04-19 11:59:38floriansetmessages: + msg2413
2013-04-19 11:23:14jendriksetnosy: + florian
messages: + msg2412
assignedto: jendrik
2013-04-19 01:09:53maltesetmessages: + msg2411
2013-04-19 01:08:00maltesetmessages: + msg2410
2013-04-19 00:25:34jendriksetmessages: + msg2409
2011-09-22 00:06:29maltesetpriority: feature -> wish
messages: + msg1790
title: fix broken translator top-level scripts -> get rid of unmaintained translator top-level scripts
2011-09-22 00:00:50maltecreate