Issue587

Title Remove conditional effect if effect condition contradicts pre- or prevail condition
Priority feature Status resolved
Superseder Nosy List gabi, malte
Assigned To gabi Keywords translator
Optional summary

Created on 2015-10-30.18:28:23 by gabi, last changed by malte.

Messages
msg4807 (view) Author: malte Date: 2015-11-16.14:52:09
Great! :-)
msg4806 (view) Author: gabi Date: 2015-11-16.14:11:37
I created a test task to validate the correct behaviour of my code. This way I
also found out that the same behaviour was caused by the optional simplification
step (in simplify.py) after the validation in sas_task.py. Since we want to
guarantee cleaned up effect conditions for the search component, I nevertheless
merged my changes. The documentation of the validation requirements has been
updated.
msg4770 (view) Author: malte Date: 2015-11-11.16:18:00
Sorry for the late reply! Feel free to merge if you don't think someone else
should look at the code. Have you also updated the documentation of the
validation requirements in sas_tasks.py?

Regarding the part of the documentation that you quoted, I don't think I
encountered this anywhere. I just thought about which odd things might possibly
exist in the input.
msg4735 (view) Author: gabi Date: 2015-11-09.10:06:49
I only consider contradictions that become apparent from conflicting variable
values (not any additional information from mutex groups). While being at it, I
also remove facts from effect conditions that are already operator pre- or
prevail conditions.

I updated build_sas_operator in translate.py accordingly and updated the
validation so that effect conditions may not mention any variables from pre- and
prevail conditions.

These changes have no effect on any of our benchmark instances. The only
differences were in two large trucks instances but these were due to a different
encoding caused by the time out of the invariant synthesis.

Malte, in the documentation of the sas task validation you wrote

     Odd things that are *not* illegal:
        - Effect conditions that contradict a precondition or prevail
          condition are permitted.

How did you encounter this? Did you run an extra test case?

Should I just merge the changes or do you want to have a look at the code?
msg4709 (view) Author: gabi Date: 2015-10-30.18:32:43
This should easily be possible in build_sas_operator of translate.py. If we do
this, we should also update SASOperator.validate().
History
Date User Action Args
2015-11-16 14:52:09maltesetmessages: + msg4807
2015-11-16 14:11:37gabisetstatus: chatting -> resolved
assignedto: gabi
messages: + msg4806
2015-11-11 16:18:00maltesetmessages: + msg4770
2015-11-09 10:06:49gabisetmessages: + msg4735
2015-10-30 18:38:17maltesetnosy: + malte
2015-10-30 18:32:43gabisetstatus: unread -> chatting
nosy: + gabi
messages: + msg4709
summary: This should easily be possible in build_sas_operator of translate.py. ->
2015-10-30 18:28:23gabicreate