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.
PolicyGenerator's internal checking of all paths is overzealous when the graph of input states gets large, which it can do very easily with just a few decision points. The resulting list of paths in nx.all_simple_paths grows very rapidly, which causes the whole thing to slow down if this feature is activated. This PR retains the option to do the validation if desired by setting the
validate=True
option when a PolicyGenerator object is created. But the default behavior is now to not look at every path. This should be ok, because the way we're creating the graph as the transient reduction of a graph that only adds edges where needed should be sufficient to ensure that we're not going to get any bogus paths anyway.