Issue162

Title merge-and-shrink bug (assertion fails)
Priority bug Status resolved
Superseder Nosy List malte, moritz
Assigned To moritz Keywords 1.0
Optional summary

Created on 2010-12-17.16:47:39 by malte, last changed by malte.

Files
File name Uploaded Type Edit Remove
P03_AIRPORT1_P2.PDDL malte, 2010-12-17.16:47:56 application/octet-stream
P03_DOMAIN.PDDL malte, 2010-12-17.16:47:39 application/octet-stream
Messages
msg1345 (view) Author: malte Date: 2011-04-29.11:47:50
OK, given that the code specifically has an assertion to check for this case
already (and this is what failed here), I think we can mark this as resolved then.
msg1344 (view) Author: moritz Date: 2011-04-29.10:10:02
Tested this with revision 650:0eaaa80fa3ff.

The assertion fail is caused by a duplicate entry in the effects-vector
(the pair (9,1)).

This pair appears already in the preprocessed output file:
...
takeoff_seg_rww_0_50_north airplane_cfbeg
1
26 0
6
0
32 1 14
0
0 0 1
0
8 -1 0
0
9 -1 1    <- here
0
9 -1 1    <- and here
0
30 -1 1
0
end_operator
...

When using the current translator&preprocessor, this duplicate
disappears - and the problem is solved, even when using the old version
of downward-debug. 
And the current version of downward-debug fails when using the old
translator and preprocessor.

So the fault was in either the preprocessor or the translator, and
apparently disappeared at some time.
msg889 (view) Author: malte Date: 2010-12-17.16:47:39
The attached problem is solved when using the normal (= release) build, but it
fails an assertion when using downward-debug:

translate.py P03_DOMAIN.PDDL P03_AIRPORT1_P2.PDDL
preprocess < output.sas
downward-debug < output --search 'astar(mas())'

Output of downward-debug:

Simplifying transitions... done!
Conducting best first search with reopening closed nodes, bound = 2147483647
Initializing merge-and-shrink heuristic...
Abstraction size limit: 50000
Abstraction size limit right before merge: 50000
Number of abstractions to maximize over: 1
Merge strategy: linear CG/GOAL, tie breaking on level (main)
Shrink strategy: high f/low h (main)
Label simplification: enabled
Expensive statistics: disabled
Building abstraction nr 0...
Building atomic abstractions...
Building atomic abstractions... unreachable: 0 nodes, irrelevant: 1 nodes
shrink forced: prune unreachable/irrelevant states
done!
Merging abstractions...
next variable: #45
abstraction: 1/46 vars, 2 nodes, ???/4 arcs, 876 bytes
             init h=1, max f=1, max g=1, max h=1 [t=0s]
next variable: #32
unreachable: 0 nodes, irrelevant: 2 nodes
shrink forced: prune unreachable/irrelevant states
abstraction: 2/46 vars, 28 nodes, ???/36 arcs, 1616 bytes
             init h=8, max f=20, max g=20, max h=13 [t=0s]
next variable: #42
downward-debug: operator_registry.cc:32:
OperatorSignature::OperatorSignature(const std::vector<std::pair<int, int>,
std::allocator<std::pair<int, int> > >&, const std::vector<std::pair<int, int>,
std::allocator<std::pair<int, int> > >&): Assertion `effects[i].first >
effects[i - 1].first' failed.
Peak memory: 4176 KB
caught signal 6 -- exiting
Aborted
History
Date User Action Args
2011-04-29 11:47:50maltesetstatus: chatting -> resolved
assignedto: moritz
messages: + msg1345
2011-04-29 10:10:03moritzsetnosy: + moritz
messages: + msg1344
2010-12-17 16:47:56maltesetfiles: + P03_AIRPORT1_P2.PDDL
2010-12-17 16:47:39maltecreate