-
Notifications
You must be signed in to change notification settings - Fork 298
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
Update resign_analysis script for chess. #427
Conversation
Note: This code assumes all log files are for self-play games, not matches. I think that's true because client/main.go only adds |
I think that this approach will get a rather confused look at resignation false positives. Since temperature still applies after the resignation detection depth, false positive rates found by this approach are probably higher than what would be obtained from temperature = 0 play after the resignation point. |
resign_plynum = plynum | ||
#print("debug stm, winrate, plynum", stm, winrate, plynum) | ||
#print("debug who_resigned {} resign_playnum {} total_plynum {}".format(who_resigned, resign_plynum, plynum)) | ||
if ((score == -1 and who_resigned == "Black") or |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this be score != 1 and score != -1 on the next line?
Converting a resignation in to a draw is also an incorrect resignation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's only half as bad, so I think it should only have half as much affect on increasing FP rate.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch. I will change it to report more stats like resigned a drawn game and resigned a won game.
Add Very Incorrect resigns for winning a game you would have resigned.
Results:
Biggest reversals: Looks like around 3% is under Deepmind's 5% guideline, and gives a very nice 31.5% time savings + elimination of "garbage time" training positions that don't matter. |
Why do Incorrect+Very Incorrect+Correct not add up to 100%
…On Wed, Apr 25, 2018 at 3:17 AM Andy Olsen ***@***.***> wrote:
Results:
Analyzing 621 games
Incorrect resign = would have resigned, but drew or won.
Very Incorrect resign = would have resigned, won.
Resign rate 0% Incorrect 0.0% Very Incorrect 0.0% Correct 0.0% Plies saved 0.0%
Resign rate 1% Incorrect 1.1% Very Incorrect 0.3% Correct 69.6% Plies saved 8.0%
Resign rate 2% Incorrect 3.1% Very Incorrect 1.1% Correct 82.8% Plies saved 22.3%
Resign rate 3% Incorrect 4.3% Very Incorrect 1.8% Correct 85.5% Plies saved 31.5%
Resign rate 4% Incorrect 5.5% Very Incorrect 2.4% Correct 87.9% Plies saved 37.0%
Resign rate 5% Incorrect 6.3% Very Incorrect 2.7% Correct 88.9% Plies saved 40.9%
Resign rate 10% Incorrect 10.1% Very Incorrect 6.0% Correct 88.6% Plies saved 50.7%
Resign rate 20% Incorrect 15.6% Very Incorrect 9.8% Correct 87.0% Plies saved 61.6%
Resign rate 30% Incorrect 22.9% Very Incorrect 15.6% Correct 83.1% Plies saved 70.9%
Resign rate 40% Incorrect 35.4% Very Incorrect 27.7% Correct 72.0% Plies saved 80.4%
Resign rate 50% Incorrect 52.3% Very Incorrect 44.4% Correct 55.6% Plies saved 98.4%
Biggest reversals:
https://lichess.org/v9GR0EpJ#225
https://lichess.org/4Crixe7L#103
Looks like around 3% is under Deepmind's 5% guideline, and gives a very
nice 31.5% time savings + elimination of "garbage time" training positions
that don't matter.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#427 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AKvpl6oR9J4BC4dWdBfQ6PEfhZKilYgpks5tr861gaJpZM4Tg9yx>
.
|
I would be interested in the answer to @mooskagh's question. By the way, I think we can allow more than 5% incorrect without experiencing any problems, due our use of temperature in end game which Alphago Zero didn't. |
Incorrect + Correct + Never_resigned = 100%. Last one is not printed. Very Incorrect is a subset of Incorrect. I'll add this to the definitions printed since several people asked about it. |
Why is incorrect + correct > 100% in the last line?
ср, 25 кра 2018, 15:25 карыстальнік Andy Olsen <[email protected]>
напісаў:
… Incorrect + Correct + Never_resigned = 100%. Last one is not printed. Very
Incorrect is a subset of Incorrect.
I'll add this to the definitions printed since several people asked about
it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#427 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AKvpl3By7MRzqX4ly70uhR8KK3ELUd-Lks5tsHkvgaJpZM4Tg9yx>
.
|
Thanks, I see a bug in correct_resigns, it is set in the elif of very_incorrect. It should be elif of the incorrect instead. Will fix tonight and rereun. I'll add some asserts to the code to catch these things. |
Also output more stats.
@mooskagh I fixed the bug, and added some more output stats. NR + first I + first C = 100% Probably should add that to the output description. |
Here is another set of games, my most recent 2369. No overlap in games from the previous set. Overall the incorrect resign rate when slightly down.
|
Update with recent 15x196 nets. Looks like we're still good.
|
Update script to parse output of
client -debug
. Also slightly modify theinfo string winrate
to make it easier to parse.I'll collect some data overnight and analyze tomorrow. Should have ~500 games by then.
See also #418, this is just the code to analyze what resign rate is reasonable.