Last one is a draw. Weird ending, with one of them refusing to take a pawn because the resulting end game is in a table base and is 100% known to be a draw, and the computer evaluates the position where it doesn’t take the pawn as a 0.x% win and a 99.y% draw.
Weird indeed. Can anyone explain why LC0 thought it had a chance? It seems obvious (thinking like a human) that white can't make progress: it can't move its rook off the h file without losing the pawn, and it can't promote its pawn without moving its rook. And it can't bring its king up to help the h-pawn without letting black's pawn promote.
LC0 evaluates the final position at 0.04, which I guess is close enough to 0 for it to agree to a draw, but I wonder why Stockfish is able to see that it's truly 0.00 and LC0 isn't.
”it can't move its rook off the h file without losing the pawn”
Nitpick: I agree there’s nothing for white in that position, rook a6, b6 or c6 seem possible moves in the end position (if black takes the pawn, the rook gives chess on row 5 and takes black’s rook in the next move). From there, it could move the rook to row 5 to defend the pawn. If so, the rook can get away from the h file.
Also, if black’s king were to walk towards the black pawn, the rook has to move from the h file to give chess.
In general, LC0 seems to be way more optimistic in its scoring function than Stockfish. As an extreme, look at game 70. Stockfish sees it as a 100.0% draw after move 49, but play goes on until move 202 (!), with LC0 at some stage thinking it has a 25% chance at winning (around move 106)
RE your nitpick: Fair point. I hadn’t seen the pinning tactic after 140. Ra6 Rxh5??? 141. Ra5+
As is probably obvious from that oversight, I am not a very strong player.
However, I still see no way for white to make progress. After 140. Ra6, black just walks its king towards the white pawn. White’s only options then are to give perpetual check with the rook, or to give up the pawn.
It’s plausible to me why lc0 doesnt see this — I guess it is just searching down random paths involving useless rook moves forever, and never gets to the end of the tree. I’m more curious about how Stockfish is able to prove it’s a draw.
Edit: after poking around the Stockfish code a bit, I think what's going on is that Stockfish sees that down every non-pruned path of the tree, either player has the ability to give check, so neither player can be ahead (basically each side has a perpetural check). Would love if any Stockfish expert reading this can comment on whether that's a valid understanding.
I know nothing of this system other than reading this page, but my basic understanding is that Stockfish is more of a traditional algorithm that simulates possibilities and finds the most likely path to a win ('IF I move my knight here, they could do X or Y or Z...'), but LC0 is a neural network, which don't really process absolutes, just probabilities in terms of floating point numbers. It might be something to do with that.
Stockfish's evaluation function is; though; ultimately a floating point accumulation of such decision processes. In fact the leaf level scores are themselves floating point.
Sure, but it still makes sense that that number would still result in a flat zero - or be disregarded - since Stockfish is (presumably?) capable of evaluating and realizing the absolute 0 chance, no? I'm not claiming to have special knowledge of these algorithms but it makes at least intuitive sense to me.