Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gh-115727: Reduce confidence even on 100% predicted jumps #115748

Merged
merged 3 commits into from
Feb 22, 2024

Conversation

gvanrossum
Copy link
Member

@gvanrossum gvanrossum commented Feb 21, 2024

The theory is that even if we saw a jump go in the same direction the last 16 times we got there, we shouldn't be overly confident that it's still going to go the same way in the future. This PR makes it so that in the extreme cases, the confidence is multiplied by 0.9 instead of remaining unchanged. For unpredictable jumps, there is no difference (still 0.5). For somewhat predictable jumps, we interpolate.

@gvanrossum
Copy link
Member Author

@markshannon Please review.

@vaamb
Copy link

vaamb commented Feb 21, 2024

Rather than scaling arbitrarily by 90%, it could be a good idea to use Laplace's Law (https://en.wikipedia.org/wiki/Rule_of_succession) to estimate the confidence.
Basically, you just need to do +1, divided by the number of occurrences + 2, so in this case (bitcount + 1) / 18.

@gvanrossum
Copy link
Member Author

gvanrossum commented Feb 22, 2024

I don't know that something like Laplace applies in this case. But mostly I can't follow the math.

Copy link
Member

@markshannon markshannon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

@gvanrossum gvanrossum merged commit 4ee6bdf into python:main Feb 22, 2024
53 checks passed
@gvanrossum gvanrossum deleted the tweak-confidence branch February 22, 2024 20:23
woodruffw pushed a commit to woodruffw-forks/cpython that referenced this pull request Mar 4, 2024
…on#115748)

The theory is that even if we saw a jump go in the same direction the
last 16 times we got there, we shouldn't be overly confident that it's
still going to go the same way in the future. This PR makes it so that
in the extreme cases, the confidence is multiplied by 0.9 instead of
remaining unchanged. For unpredictable jumps, there is no difference
(still 0.5). For somewhat predictable jumps, we interpolate.
diegorusso pushed a commit to diegorusso/cpython that referenced this pull request Apr 17, 2024
…on#115748)

The theory is that even if we saw a jump go in the same direction the
last 16 times we got there, we shouldn't be overly confident that it's
still going to go the same way in the future. This PR makes it so that
in the extreme cases, the confidence is multiplied by 0.9 instead of
remaining unchanged. For unpredictable jumps, there is no difference
(still 0.5). For somewhat predictable jumps, we interpolate.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants