implement an alternative form of symmetry reduction
This commit implements an optimistic algorithm for symmetry reduction based on sorting the state with respect to scalarsets. The advantage here is that we do a single pass -- no dynamic allocation or comparing against multiple alternative states -- so this is significantly faster than the previous exhaustive algorithm. The disadvantage is that this algorithm is not guaranteed to find the minimal canonical set of states; we may explore more states than necessary. In practice, this heuristic seems to work reasonably well though. Note, there is no perfect algorithm here as the problem is NP complete. Github: related to #12 "symmetry reduction"
parent
49f8939c
Please register or sign in to comment