optimized the W and Wp method oracles #71
Merged
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.
My attempt at optimizing the W and Wp methods.
The memory taken up by the
middlepart is reduced byyieldingfrom it in both thefirst phaseandsecond phase. Turns out that it hurts performance when includingmiddleinproduct.Another difference is that the top iteration is performed on the
middlepart, in order to search in big depths only if no counterexample if found in small depths.Finally, these ideas can be applied to the W method too, as it suffered from the same problems.
The implementation on the master branch right now is wrong because the oracle does not actually iterate over the
middlemore than once, becausemiddleis exhausted after the first iteration. It just so happens that all counter examples are found without needing to iterate over themiddlemore than once.