|
|
@ -56,7 +56,7 @@ Another option, with math, would be to iterate over all possible direction numbe |
|
|
|
and for every direction number (out of 270), and for each permutation of final nodes (6^6~=47k) compute: |
|
|
|
and for every direction number (out of 270), and for each permutation of final nodes (6^6~=47k) compute: |
|
|
|
For each one out of the six starting states, how many steps does it take to get to this node? And to get to it again? |
|
|
|
For each one out of the six starting states, how many steps does it take to get to this node? And to get to it again? |
|
|
|
(Answering that question with brute-forcing would require on the order of 200k operations for every starting state and final state, |
|
|
|
(Answering that question with brute-forcing would require on the order of 200k operations for every starting state and final state, |
|
|
|
and another 200k for every final state, so that's about 200k*(270*6 + 270*6*6) ~= 2 billion operations |
|
|
|
and another 200k for every final state, so that's about 200k * (270 * 6 + 270 * 6^6) ~= 2 billion operations |
|
|
|
to precompute all ~10k values, |
|
|
|
to precompute all ~10k values, |
|
|
|
but it can be optimized if we would identify the shape of transitions, |
|
|
|
but it can be optimized if we would identify the shape of transitions, |
|
|
|
and untangle the transition matrix into a set of loops, and of paths leading to these loops). |
|
|
|
and untangle the transition matrix into a set of loops, and of paths leading to these loops). |
|
|
|