Fast-forward source node expansion anywhere in the succession diagram #122
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a slightly more controversial update:
During the block expansion, allow to "fast-forward" the expansion of source nodes anywhere in the succession diagram. That is, if the percolation of a stable motif results in the creation of a bunch of source nodes, we automatically create
2**n
successors for these without further analysis (they can't contain motif-avoidant attractors anyway). However, this only happens with block expansion and can be turned off using the recently addedoptimize_source_nodes
flag.This eliminates
88 978
SD nodes and almost 9 minutes of compute time for the BBM "easy" models alone. I haven't retested all the hard models yet, but this overall seems like a win. It does sometimes increase the ratio of expanded nodes vs. the non-expanded ones, but is mostly not an issue, because the ones where we expand the source nodes cost us very little compute.