|
|
Created on 2011-01-16.17:23:22 by malte, last changed by gabi.
| msg1202 (view) |
Author: gabi |
Date: 2011-01-19.11:49:08 |
|
I documented the behaviour in the wiki. -> resolved.
|
| msg1198 (view) |
Author: malte |
Date: 2011-01-17.23:09:47 |
|
> Gabi, if you're also reasonably happy with the changes, feel free to set this to
> resolved.
Actually, no, we should also document the changed behaviour on the wiki and
explain that this is different from the "The More, The Merrier" tech report.
*Then* this can be marked as resolved.
|
| msg1195 (view) |
Author: malte |
Date: 2011-01-17.23:01:12 |
|
Gabi, if you're also reasonably happy with the changes, feel free to set this to
resolved.
|
| msg1193 (view) |
Author: erez |
Date: 2011-01-17.13:47:48 |
|
I've had a look, and everything seems to be ok.
I think we can close this issue, and keep issue207 open.
|
| msg1188 (view) |
Author: malte |
Date: 2011-01-16.23:18:06 |
|
Lazy search appears to work correctly after the changes to the evaluators and
heuristics -- I did test it. But of course it'd still be great if you would have
another look.
|
| msg1186 (view) |
Author: erez |
Date: 2011-01-16.23:14:15 |
|
I've had a brief look, and it seems fine.
I think lazy search should also be changes - I'll take a look tomorrow.
|
| msg1183 (view) |
Author: malte |
Date: 2011-01-16.18:52:51 |
|
I've merged this with the IPC repository already since it looks like an
improvement in any case, but I'll leave this at "reviewing" since I'd like to
hear your input on this.
|
| msg1181 (view) |
Author: malte |
Date: 2011-01-16.18:37:48 |
|
There were several places in the code that had to be changed to accommodate
this, and since the search code is such a mess, I'm not confident it is all
correct (although it does seem to work).
Can you look at http://codereview.appspot.com/4045041/ and comment if you see
any potential problems? In particular, I'd like Gabi to comment on the change to
the insert method of alternation open queues. (I already added a comment there
to point out what I want to know.)
Here's the log message for that change:
Adressed issue206 and fixed some related and unrelated bugs:
* alternation search will now expand a state this is considered
a dead end by some but not all heuristics when all dead end
reports are unreliable.
* eager search no longer gets preferred operators from heuristics
that think they are in a dead end (this could happen in cases
where some heuristics reported dead ends but the state was still
considered good).
* fixed a bug in the alternation queue which would pick an empty
queue in some cases (queue 0 is empty and has the highest priority)
* Heuristic::get_heuristic() may now be called on dead ends and will
return numeric_limit<int>::max(). However, this is a HACK and was
only put in place to make the code work. I hope that the places that
currently call this code without checking for dead ends first are
benign (progress evaluator, and the code that stores h value in
the search space in cases where we don't care about it because
we don't reopen).
|
| msg1180 (view) |
Author: malte |
Date: 2011-01-16.18:02:16 |
|
ARGH! The overridden versions of are_dead_ends_reliable for our heuristics were
never actually called since the base class version was declared const but the
derived versions were not, so that the derived versions were seen as *completely
different methods*. A compiler warning would have been nice there...
(The behaviour of the alternation heuristic still needs to be changed, but at
least we're now one step further.)
|
| msg1179 (view) |
Author: malte |
Date: 2011-01-16.17:34:15 |
|
Note: the tech report for the "The More, The Merrier" paper agrees with the
current implementation (the paper itself doesn't discuss dead ends), so if we
change that, we should clearly document this difference in the wiki.
|
| msg1178 (view) |
Author: malte |
Date: 2011-01-16.17:23:22 |
|
I made some tests with alternation on the IPC-2008 benchmark set and get some
very nice results except for combinations involving h^cea in Sokoban, which all
only solve 5 or 6 problems. For pure h^cea, the reason for this is that it
returns a huge amount of wrong infinite heuristic values, which is not a
surprise in Sokoban.
The surprise is that a combination like h^FF with h^cea should suffer from this
to this large extent. I checked the code, and currently a state is considered a
dead end by alternation as soon as any heuristic considers it a dead end.
I would expect that a state is only considered a dead end if *all* heuristics
consider it a dead end or if a *reliable* heuristic considers it a dead end. If
a state that is considered a dead end by some but not all heuristics is
expanded, it should then only be expanded in the sub-open-lists that don't
consider it a dead end.
Gabi agrees that this would be the behaviour she'd consider correct.
So I'll make this change.
|
|
| Date |
User |
Action |
Args |
| 2011-01-19 11:49:08 | gabi | set | status: reviewing -> resolved messages:
+ msg1202 |
| 2011-01-17 23:09:47 | malte | set | messages:
+ msg1198 |
| 2011-01-17 23:01:12 | malte | set | messages:
+ msg1195 |
| 2011-01-17 13:47:49 | erez | set | messages:
+ msg1193 |
| 2011-01-16 23:18:06 | malte | set | messages:
+ msg1188 |
| 2011-01-16 23:14:15 | erez | set | messages:
+ msg1186 |
| 2011-01-16 18:52:51 | malte | set | status: in-progress -> reviewing messages:
+ msg1183 |
| 2011-01-16 18:37:48 | malte | set | messages:
+ msg1181 |
| 2011-01-16 18:02:16 | malte | set | messages:
+ msg1180 |
| 2011-01-16 17:34:15 | malte | set | messages:
+ msg1179 |
| 2011-01-16 17:23:22 | malte | create | |
|