pnprog / goreviewpartner

A tool to help analyse and review your game of go (weiqi, baduk) using strong bots.
GNU General Public License v3.0
285 stars 66 forks source link

Last move doesn't get analysis #121

Open barrtgt opened 5 years ago

pnprog commented 5 years ago

Hi, Can you share a sgf file where last move doesn't get analysis? I cannot reproduce the issue.

barrtgt commented 5 years ago

Maybe I'm confused. The variation that is shown for the last move (the stone that isn't shown in the "Actual game", only a circle with the letter A) is an analysis after that move is played or the move before? It doesn't show value network win probability in the comments for the last move and it also doesn't show up in the converted csv. grp_test_csv grp_test_sabaki grp_test_last

pnprog commented 5 years ago

Yes you are somehow right, in fact, half the analysis is performed:

The reason the win rate of the last move is missing if because GRP evaluates the win rate of move N by asking Leela Zero her best move win rate at N+1. GRP does that because quite often, the game move is not part of the best move proposed by Leela Zero.

In your example, the game move corresponds to Leela Zero third choice (variation C) but what if it is not considered by Leela Zero at all? For this reason, GRP asks Leela Zero to place that move on the board, then to play the following move with the opposite color (this has to be done anyway when analyzing the following game move).

If the win rate of Leela Zero for move 8 is 45%, then GRP deduces that move 7 win rate is 100-45=55%. This also allows to have Leela Zero spend all of her playout on that board position, so the evaluation is as accurate as possible. And since the following move has to be analyzed anyway, it's not a problem.

So the win rate of move N is found when analyzing move N+1, which means the last move does not get a proper evaluation. It's usually not a problem, when the last move of a game is pass, or resign, but in your example, this is a problem. So maybe I should ask Leela to spend some time on the last last move when it's not pass or resign.

it also doesn't show up in the converted csv.

This also is an issue, I will fix that as well.