Closed Zannick closed 8 months ago
This is the step at which we start having a real estimate:
== 44. * Collect Flask from Amagi > West Lake > Cavern Tear Duct > Remote Flask ==
Move... to Amagi > West Lake > Cavern Refill Station
Move... to Amagi > West Lake > Cavern Tear Duct
* Collect Flask from Amagi > West Lake > Cavern Tear Duct > Remote Flask
position: Amagi__West_Lake__Cavern_Rear_Pillar → Amagi__West_Lake__Cavern_Tear_Duct
flasks: 6 → 7
Flask: +1
Skipped: Amagi > West Lake > Cavern Eye > Item
Visited: Amagi > West Lake > Cavern Tear Duct > Remote Flask
Visits: +1
Skips: +1
est=161759
This is the last flask needed for the current objective. So, perhaps one of the edges involved is missing in the steiner graph (base_distances
), or we've messed up the canon setup somehow, or a certain count of the same item doesn't work in the steiner graph...
Ah, this is because the shortest paths algorithm we use fails if any of our required locations is inaccessible... so as long as we haven't reached the needed number of duplicates of an item, if any location of that item is inaccessible, we give up. And for Flask that means simply that we added some Flasks to the total graph that we can't reach yet.
An AV2 run without a route provided found a greedy route and then exited early (and crashed due to #126). While looking into this to write up here, I noticed the start state has a time estimate of 1073741824, which is
1 << 30
, which should come from https://github.com/Zannick/logic-graph/blob/679a0f47ef97ceaaaa9f800dc09261ecd8bf34f9/analyzer/src/estimates.rs#L198-L201Likely this means we are missing some edges in the steiner process, causing there to be no arborescence we can use for an estimate. The "sufficiently large number" is then much higher than the current limit. This could also explain why previous runs seemed to start with nothing below progress level 15 (now 16).