Issue1126

Title Use unordered_set to store landmark achievers
Priority wish Status resolved
Superseder Nosy List clemens, jendrik, malte, salome, silvan
Assigned To Keywords
Optional summary

Created on 2023-10-17.15:00:25 by clemens, last changed by clemens.

Messages
msg11467 (view) Author: clemens Date: 2023-10-19.11:33:18
I was interrupted in my plan to merge this two days ago. Because of a flawed version I merged in issue1122 there were failing tests on the main branch which I wanted to clean up before merging the next thing. This is all done now and I finally merged this as well. By the way, thanks for your review Jendrik!
msg11465 (view) Author: clemens Date: 2023-10-17.15:24:21
As promised, here are the results.
https://ai.dmi.unibas.ch/_experiments/ai/downward/issue1126/data/unordered-set-v1-sat-eval/unordered-set-v1-sat-unordered-set-base-unordered-set-v1-compare.html
https://ai.dmi.unibas.ch/_experiments/ai/downward/issue1126/data/unordered-set-v1-opt-eval/unordered-set-v1-opt-unordered-set-base-unordered-set-v1-compare.html

There's not much to see for the LAMA configurations in the satisficing experiment. The variations are in the usual ballpark that we also see when running the same configuration without any changes. In the last satisficing configuration (lm_zg) there's a purely positive effect.

The effect is more pronounced in the optimal case where we see improvements in time scores of up to 19 points (seq-opt-bjolp). Moreover, there is a significant shift from errors out-of-time to out-of-memory, and we also gain up to 8 tasks in terms of coverage in the best configuration.

In conclusion, I don't see any argument against this change. If someone wants to have a look anyway, here's a link to the pull request: https://github.com/aibasel/downward/pull/195. I'll take the liberty to merge this in a few hours, at the end of my working day, unless somebody objects earlier.
msg11464 (view) Author: clemens Date: 2023-10-17.15:00:25
Using *unordered_set* is usually faster than *set*. Landmark achievers are currently stored in *set*s, though, so would like to change the data type to *unordered_set*. The change is trivial. Nevertheless, I wanted to run a bunch of experiments to make sure it has a positive impact. I will move the results to the appropriate place and link them here as soon as I get an issue number from this initial post.
History
Date User Action Args
2023-10-19 11:33:18clemenssetstatus: chatting -> resolved
messages: + msg11467
2023-10-17 15:24:21clemenssetstatus: unread -> chatting
messages: + msg11465
2023-10-17 15:00:25clemenscreate