Grand Chess

Discussion of chess software programming and technical issues.

Moderator: Ras

User avatar
hgm
Posts: 28390
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Ultima chess available

Post by hgm »

I let Nebiyu (the "usermove" version) play itself at Ultima. But why exactly in the game below does it say "black wins"? It doesn't seem checkmate yet. The checkmate by Chameleon c4 x d3# is unavoidable, but it seems it cries victory one move too soon. (299.98 is mate score, right?)

Code: Select all

[Event "Computer Chess Game"]
[Site "CHESS_LAPTOP"]
[Date "2011.03.20"]
[Round "-"]
[White "NebiyuAlien_1.2"]
[Black "NebiyuAlien_1.2"]
[Result "0-1"]
[TimeControl "40/60"]
[Variant "alien"]
[FEN "7i/2k4p/8/dpcp1pp1/1D6/3W1C2/PP4P1/C3K3 w - g6 0 1"]
[SetUp "1"]

{--------------
. . . . . . . i
. . k . . . . p
. . . . . . . .
d p c p . p p .
. D . . . . . .
. . . W . C . .
P P . . . . P .
C . . . K . . .
white to play
--------------}
1. Pf5 {+0.05/8} Pcc6 {-0.20/7 1.5} 2. Le3 {+0.20/8 1.3} Pff6 {-0.15/8 1.5}
3. Pa5 {-0.15/6 1.2} Ld5 {+0.30/7 1.3} 4. Ph5 {+0.05/7 1.4} Wb6
{+0.35/8 1.1} 5. Paa3 {-0.05/7 1.1} Pce6 {+0.10/7 1.5} 6. Pad3
{-0.10/6 1.4} Wb3 {+0.20/8 1.6} 7. Ia4 {-0.35/6 2.2} Cc3 {-0.30/8 1.4} 8.
Ic4 {-0.20/8 1.5} Pa1 {-0.30/7 1.5} 9. Lb6 {+0.60/8 1.4} Lbd6 {-0.30/9 1.5}
10. Dg1 {+0.40/8 1.5} La6 {-0.40/7 1.3} 11. Pa2 {+0.70/8 1.4} Lb6
{-0.70/8 8} 12. Lb2 {+1.80/8 1.5} Lc7 {-2.10/7 2.8} 13. Dc5 {+2.50/6 3} Kd8
{-2.10/3 1.2} 14. Le5 {+2.10/3 1.6} Lg3 {-2.10/3 0.9} 15. Pe5 {+2.85/6 1.4}
Da3 {-2.95/6 1.2} 16. Da7 {+2.85/5 1.2} Cc5 {-3.20/7 1.9} 17. Db6
{+3.10/6 2.1} Kc7 {+0.25/8 0.9} 18. Pg5 {-2.35/4 1.2} Lg6 {+0.70/7 1.1} 19.
Db4 {-1.30/8 1.9} Pbb5 {+2.40/7 0.9} 20. Cf3 {-0.45/3 1.4} Pd5
{+2.00/8 1.1} 21. Pdd3 {-0.35/3 1.4} Da4 {+3.40/9 1.1} 22. Pb2
{-3.35/9 1.0} Lb1 {+2.05/7 1.0} 23. Ca1 {-2.75/9 1.5} Pff5 {+1.45/7 1.0}
24. Wb3 {-1.30/7 1.2} Da5 {+1.55/7 1.0} 25. Wd3 {-1.45/7 2.3} Pg5
{+1.35/6 1.2} 26. Kd2 {-1.65/8 1.3} Ic3 {+299.96/12 0.9} 27. Pg3
{-299.97/21 1.3} Cc4 {+299.98/17 1.3}
{Black wins} 0-1
Note that something goes wrong in WinBoard here. This was a game from the initial position, not from the FEN in the pGN tag. It seems that the board updates by setupcommands confuse WinBoard; I also cannot use the << button to get back to the initalposition anymore.
Last edited by hgm on Sun Mar 20, 2011 1:53 pm, edited 1 time in total.
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: Ultima chess available

Post by Daniel Shawul »

Ok the fonts work great. Also I had the normal version by accident and it works for that too.

I will make the change suicide to 0@c5 . The other issues regarding piece symbols and FEN can be handled from the ini . It is good that I have those configurable to conform to chess server specifications. Unfortunately for the non-alien versions though, I would have to re-compile again. Maybe I will change that too.
User avatar
hgm
Posts: 28390
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Ultima chess available

Post by hgm »

About piece values: I let Nebiyu play an end-game KIKLL, and the Immobilizer won! This was probably due to stupid play by the side with the Long Leapers, though: it was advancing on the enemy King, and did it so carelessly that both its Long Leapers could be immobilized, after which it was an easy win. Nevertheless, it seems the Immobilizer side has a very easy fortress draw: just put its King in the corner. Then the Long Leapers cannot touch it, and the King cannot approach it, and theere is no zugzwang, becase you can move the Immobilizer. But this might be a peculiar weakness of Long Leapers (like KNNK in Chess).

Nevertheless, I have the feeling that KIKQ (Immobilizer against FIDE Queen) would also be an easy win for the Immobilizer. A Queen cannot attack it without exposing itself to Immobilization, and the King cannot really escape immobilization. This Immobilizer is awfully strong.
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: Ultima chess available

Post by Daniel Shawul »

I can not replay alien games for some reason. One problem I notcied is the startin FEN attached to the PGN is wrong. It is an intermediate FEN which probably winboard took from a 'setup' command of the engine. Even after that I get some illegal moves. Did you fix the king order for this game?
Edit: I see you noticed that too.

About material values, I see that your approach has been to start from positions with material imbalance and try to infer the material values from the winning percentage. How do you assign the numbers (piece values) once that is done? I am thinking of tuning from a pre-selected initial guesses for the pieces using gradient descent or something similar. It is easier to get to a local optima (and is probably all I expect from this method anyway).

Endgame studies are good indicators for piece values so maybe we should start from there. Not necessarily generating TBS but games against different imbalances with no pincer pawns. I agree with you about the immobilizer's awesomeness btw.
User avatar
hgm
Posts: 28390
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Ultima chess available

Post by hgm »

I convert the score from the imbalanced games to centi-Pawn, by comparing two nearly balanced combinations that differ one Pawn. For instance, to compare Q and C I wouldplay both Q vs C (a Q vs a C 'hole' in the opening position) and Q vs C+P holes. If the side with Q beats C by 58%, but C+P beat Q 58%, then Q is apparently exactly halfway between C and C+P. So I get the equation Q - C = 50 cP. Similarly, if Q vs A is 62% (= 50% + 12%) in favor of the Q, but Q loses to A+P by 53% (= 50% + 3%), Q is 3/4 on the way between A and A+P, so Q - A = 75cP.

Sometimes I play with adouble imbalance, like C+C vs A+A, and C+C vs A+A+P. That cannot be pure holes, as the standard opening does not contain 2A or 2C, so in that case it is A hole + extra C (or vice versa), i.e. I replace the A by C on one side, and C by A on the other. Then again I compare the score surplus in one direction on the other. If it is again half-way, I get an equation 2C - 2A = 50cP, or C-A = 25cP. (But with better accuracy for the same number of games, as you also divide the statistical error in the 50cP by 2.)

Anyway, in the end I am left with a lot of equations of the form "material difference = XXX centi-Pawn", like

B + pair - N = 100 cP
B - N = 50 cP
B + 2N - Q = 50 cP
2R - Q = 0cP
Q - A = 75cP
A - R - B = 75 cP

Usually the set is over-complete, and can be solved in the least-squares sense, taking account of the statistical error in the centi-Pawn determination.

I abandoned indirect piece value determination, where you look at the effect of the piece values used by the program on its score, by playing programs with different tunings against each other from a perfectly symmetric position. This method is simply not competative: to get the same accuracy you would need 100 to 1000 times as many games. This because setting a different piece value only results in the associated material imbalance occurring in less than 10% of the games (if the values are not totally crazy). In all other games the pieces are traded against each other, which is always a neutral trade to both players. But the other 90% of the games does contribute to the statistical noise.

Bob confirmed this, by reporting that having a Queen value of 7.5 in stead of 9.5 would only suppress the rating by about 10 Elo (i.e. 1.4% score). That means that after some 800 games you can barely detect a mistuning of 200 cP. Assuming that it is a normal quadratic maximum, a 10 times smaller mistuning would give a 100 times smaller Elo drop, needing 10,000 times as many games to resolve. So several runs of 8 million games to determine what tuning is optimal, and that both for the tuning of the Q and A value to get an estimate of the difference. With the direct method you would have that same accuracy in a couple of thousand games.
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: Ultima chess available

Post by Daniel Shawul »

Indeed starting from imbalanced position should significantly reduce the number of games required. There might still be too much noise if we try to pin down small differences (f.i Q Vs A could be 25cp). Also the interaction between different pieces is ignored here. May be A could score better if both have rooks. So the test should be done many times which as you said leads to over specified equations that need to be solved by regression.

What about the evaluation to be used to get the games ? What effect does it have if I use different values for Q and A. I am guessing Q and A can be set to the same value there. Then Q vs A + P and Q vs A played and equations obtained as you explained. What effect will the value assigned to the rest of the pieces have.

How deep are the searches ? I.e time control for the games. Have you thought about monte-carlo ? Not that it is a good alternative to real games but to just compare the effect of brute force statistics vs smart methodology to arrive at the optimal values. I have a playout searcher that I want to refine a bit and play many games to see if it comes up with anything useful. But it is kind of dumb right now throwing away. For checkers it is a little bit smarter since captures are forced there.
Bob confirmed this, by reporting that having a Queen value of 7.5 in stead of 9.5 would only suppress the rating by about 10 Elo (i.e. 1.4% score). That means that after some 800 games you can barely detect a mistuning of 200 cP. Assuming that it is a normal quadratic maximum, a 10 times smaller mistuning would give a 100 times smaller Elo drop, needing 10,000 times as many games to resolve. So several runs of 8 million games to determine what tuning is optimal, and that both for the tuning of the Q and A value to get an estimate of the difference. With the direct method you would have that same accuracy in a couple of thousand games.
I don't know if a change of 200cp can take that much games to detect and that it is only 10cp. May be the queen was grossly mis-evaluated in the first place. For very close calls involving exchanges R vs B for instance that 200cp difference should show up quickly. But with the aggressive tuning of today's engine's I wouldn't be surprised. The piece values determined are usually good for that engine only. Queen , bishop pair etc have been highly over-evaluated in many engines at least according to human grand masters. Also in modern engines there is many positional factors that contribute to the overall eval so the piece values are for that eval only. Since our engines are simplistic except for the piece square tables, I would say we should get representative piece values that humans would find acceptable. Aggressive king safety evaluator usually needs its queen badly. Which reminds me about different piece values in middle/end game phases too. For the endgames it should be quicker to determine as the games are started from highly advanced positions.
User avatar
hgm
Posts: 28390
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Ultima chess available

Post by hgm »

Daniel Shawul wrote:I can not replay alien games for some reason. One problem I notcied is the startin FEN attached to the PGN is wrong. It is an intermediate FEN which probably winboard took from a 'setup' command of the engine. Even after that I get some illegal moves. Did you fix the king order for this game?
Edit: I see you noticed that too.
I figured out the reason of this problem:

WinBoard still chokes on the Berolina-type e.p. field in the FEN, and then does not get to readng the move number. So it returns the latter as 1, which translates to board 0 or 1 depending on who has the move. So the first two positions of the game will contain the last position where the corresponding side did a double-push. And of course board #0 is later used to generate the FEN tag from, as WinBoard always assumes the game started from a setup position when the engine sent the setup command before the first move (and it was accepted).

Of course eventually WB will have to implement the Berolina-style e.p. indicator (when I have it fully support Berolina), which would make the problem disappear. But I think Nebiyu should also not send spurious e.p. rights in games that have no e.p. capture. Actually such games should not have an e.p. field at all in their FEN, not even a '-'. (E.g. Xiangqi FENs neither use castling nor e.p. fields.)
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: Ultima chess available

Post by Daniel Shawul »

A should be replaced by C in my post. Q vs C not Q vs A . Archbishop is a bit weaker I guess.
User avatar
hgm
Posts: 28390
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Ultima chess available

Post by hgm »

Daniel Shawul wrote:What about the evaluation to be used to get the games ? What effect does it have if I use different values for Q and A. I am guessing Q and A can be set to the same value there. Then Q vs A + P and Q vs A played and equations obtained as you explained. What effect will the value assigned to the rest of the pieces have.
I always set the values slightly different, to minimize the probability of un-forced trading, and keep the imbalance durng as large a part of the game as possible. With different values there is always one side that tries to avoid the trade.

Funny enough the sign of the difference does not seem to matter very much. Whether I set C = Q - 25cP or C = Q + 25cP, in both cases the Q has the upper hand in Q-C imbalances with about 58%. But when the values are not as I expect, I always redo the experiment with corrected piece values. In principle one should iterate to self-consistency, but my initial guesses are usually good enough that the second iteration just confirms the result of the first. (With Ultima that might be a bit different!)
How deep are the searches ? I.e time control for the games.
I used 1-min games on a 2.4GHz Core 2 Duo. At some point I was worried that Knights would be under-estimated at faster TC compared to Bishops, because they would start to play very stupid in the end-game, as prootons would get only within the horizon when it was too late for the Knight to catch the passer, while a Bishop can usually already see it early enough in a 4-ply search. So I did some systematic studies with B vs N+P imbalances, at 30 sec, 1min, 2min, 5min. But I did not fnd any systematic dependence of the score on the TC in that range.
Have you thought about monte-carlo ? Not that it is a good alternative to real games but to just compare the effect of brute force statistics vs smart methodology to arrive at the optimal values. I have a playout searcher that I want to refine a bit and play many games to see if it comes up with anything useful. But it is kind of dumb right now throwing away. For checkers it is a little bit smarter since captures are forced there.
I have never tried that. It would be interesting to see f it would work; if it does, it would be a realtime saver.
I don't know if a change of 200cp can take that much games to detect and that it is only 10cp. May be the queen was grossly mis-evaluated in the first place. For very close calls involving exchanges R vs B for instance that 200cp difference should show up quickly. But with the aggressive tuning of today's engine's I wouldn't be surprised. The piece values determined are usually good for that engine only. Queen , bishop pair etc have been highly over-evaluated in many engines at least according to human grand masters. Also in modern engines there is many positional factors that contribute to the overall eval so the piece values are for that eval only. Since our engines are simplistic except for the piece square tables, I would say we should get representative piece values that humans would find acceptable. Aggressive king safety evaluator usually needs its queen badly. Which reminds me about different piece values in middle/end game phases too. For the endgames it should be quicker to determine as the games are started from highly advanced positions.
Well, it is easy enough to test this. (Intentonally mistuned engine against normalone). The Queen might be an unfavorable case, as it is difficult to trade against other material anyway. Reducing the value to 7 will still not reverse the sign of any simple trade, you would need at least Q vs R+B or something like that. Setting the Rook less valuable than Knight would lead to squandering of the Rook much more often, through simple R-B or R-N trades, for which there should be many opportunities considering you have two Rooks and that the opponent 4 minors. But then we are of course also talking about a much larger percentual error (300 in stead of 500). Setting Q as low as R+P would probably also have a larger impact.

Indeed, end-game values cn be determned through the same method, but did not do very many of them. Just to make sure the surprisingly high Archbishop value was not game-stage dependent. (Sometimes you have this, that a piece that is essentially worthless in the end-game has a very good forking power on a crowded board, so that you can almost always force a trade for something intrinsically more valuable. For instance with a Camel (= (3,1) leaper, where Knight = (2,1) leaper).)

What I do in such a case is select a number of diverse and plausible Pawn structures, where each side has 4-6 Pawns, (always in pairs that are color-conjugated mirrorimages as far as Pawns is concerned), and then add the piece imbalance in a tactically passive way. E.g. if I give white Pawns on a2, b3, c4, g2, h2, and black a7, b6, f7, g6, h7, and want to play A vs R+N, I would put the A and R on a1/a8, and the N on f1/f8. Some Pawn structures would be symmetric, only would have passers, two groups of 3, three groups of 2, etc. And then just play a thousand games and see who has the upper hand.
User avatar
hgm
Posts: 28390
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Ultima chess available

Post by hgm »

OK, another game with an unexpected end, this time without phoney initial FEN:

Code: Select all

[Event "Computer Chess Game"]
[Site "CHESS_LAPTOP"]
[Date "2011.03.20"]
[Round "-"]
[White "NebiyuAlien_1.2"]
[Black "NebiyuAlien_1.2"]
[Result "0-1"]
[TimeControl "40/60"]
[Variant "alien"]
[FEN "dlcwkcli/pppppppp/8/8/8/8/PPPPPPPP/ILCWKCLD w - - 0 1"]
[SetUp "1"]

{--------------
d l c w k c l i
p p p p p p p p
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
P P P P P P P P
I L C W K C L D
white to play
--------------}
1. Pcc4 {+0.20/7} Pff6 {-0.15/7 1.1} 2. Ld3 {+0.20/8 1.4} Ph4 {-0.25/7 1.4}
3. Pg5 {+0.30/6 1.5} Ih5 {-0.40/7 1.5} 4. Cc3 {+0.00/6 1.5} Pdd5
{-0.55/6 1.4} 5. Df3 {+0.15/6 1.5} Pcc5 {+0.40/5 1.1} 6. Lh7 {-0.40/4 1.1}
Lf4 {+1.05/4 1.2} 7. Wc2 {-0.40/2 1.4} La4 {+1.55/4 1.1} 8. Lg3
{-1.55/5 1.3} Le6 {+1.55/4 1.6} 9. Dd3 {-1.75/4 1.4} Ld1 {+1.75/5 1.5} 10.
Dd4 {-1.75/6 1.4} Lh3 {+2.50/5 1.3} 11. Lgd3 {-1.55/4 1.8} Cg4
{+3.15/6 1.5} 12. Kd1 {-3.85/4 1.4} Wd6 {+3.75/4 1.3} 13. Pg2 {-1.65/5 1.4}
Lh1 14. Ke1 {-1.35/4 1.2} Cgd7 {+1.40/3 1.6} 15. Lh3 {-0.95/5 1.2} Dc8
{+1.50/4 1.5} 16. Lf3 {-1.50/4 1.4} Dc6 17. Lhd3 {-1.65/5 1.2} Ph7
{+2.55/5 1.2} 18. Lh3 {-1.45/5 1.7} Cc7 {+1.75/5 1.6} 19. Pf5 {-1.75/4 1.6}
We6 {+2.60/4 2.7} 20. Pff3 Cg3 {+299.98/13 1.3}
{Black wins} 0-1
A mate score comes 'out of the blue'; the opponent did not see it coming at all. (And justifiably so, as this is no mate!)

Another game with trouble:

Code: Select all

[Event "Computer Chess Game"]
[Site "CHESS_LAPTOP"]
[Date "2011.03.20"]
[Round "-"]
[White "NebiyuAlien_1.2"]
[Black "NebiyuAlien_1.2"]
[Result "0-1"]
[TimeControl "40/60"]
[Variant "alien"]
[FEN "dlcwkcli/pppppppp/8/8/8/8/PPPPPPPP/ILCWKCLD w - - 0 1"]
[SetUp "1"]

{--------------
d l c w k c l i
p p p p p p p p
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
P P P P P P P P
I L C W K C L D
white to play
--------------}
1. Pf5 {+0.10/7} Pcc6 {-0.15/8 1.4} 2. Le3 {+0.25/7 1.2} Ld6 {-0.10/6 1.4}
3. Ph4 {+0.05/7 1.4} Pff6 {+0.15/7 1.2} 4. Pa5 {-0.10/6 1.5} Lgd5
{-0.10/7 1.5} 5. Pff3 {+0.00/7 1.2} Wb6 {+0.25/7 1.5} 6. Paa4 {-0.30/7 1.5}
Pff5 {+0.20/6 1.2} 7. Pad4 {-0.20/7 1.5} Cc7 {+0.00/7 1.5} 8. La2
{-0.05/7 1.5} L5c5 {-0.15/8 1.5} 9. La6 {+0.10/8 1.5} Pb8 {+0.15/6 1.5} 10.
La5 {+0.20/6 1.3} Pfd5 {+0.00/6 1.5} 11. Pf5 {+0.05/6 1.5} Pb7
{-0.30/6 1.5} 12. Cf3 {+0.05/6 1.3} Pgg6 {-0.10/6 2.1} 13. Pbb4 {+0.10/6 3}
Ph6 {-0.20/6 1.5} 14. Ic3 {+0.25/8 1.1} Phh5 {-0.20/6 1.4} 15. Phg4
{+0.30/6 1.5} If6 {-0.15/6 1.4} 16. Dh4 {+0.10/6 1.4} Pgg5 {+0.45/6 1.4}
17. Ic4 {-0.30/6 4} Pe5 {+0.10/8 1.4} 18. Kf2 {-1.05/7 5} Pe7 {+1.15/8 1.5}
19. P4e4 {-1.05/7 1.1} Kd7 {+1.15/8 1.2} 20. Lb5 {-1.15/8 1.2} Pa1
{+1.25/7 1.4} 21. La4 {-1.30/7 1.2} Cfe8 {+1.25/7 2.5} 22. Cb2
{-0.65/8 1.1} Cg6 {+0.30/7 1.3} 23. Wb1 {-0.25/8 1.1} Pa2 {+0.25/7 1.3} 24.
Dg4 {-0.25/7 0.9} Le6 {+0.55/6 1.2} 25. Cf5 {-0.10/6 1.1} Cf7 {+0.30/6 1.1}
26. Cc3 {-0.15/7 1.1} Pg6 {+0.15/7 1.5} 27. Lg5 {-0.05/8 1.3} Ph3
{+0.30/7 1.3} 28. Kf3 {+0.10/8 1.1} Ph6 {-0.10/6 1.5} 29. Ib5 {+0.05/6 2.0}
Ke8 {+0.65/6 1.2} 30. Ke3 {+0.20/6 1.1} Cg7 {+1.95/7 1.6} 31. La5
{-0.80/7 1.1} Kf7 {+0.95/7 1.5} 32. Kf3 {-1.10/7 1.2} Cg6 {+1.20/8 1.2} 33.
Kf2 {-1.15/6 1.8} Ch5 {+1.70/7 1.5} 34. Kf1 {-2.65/5 1.9} Kg6 {+4.00/7 1.6}
35. Cf3 {-3.90/7 0.9} Ch4 {+4.05/7 1.3} 36. Pgg4 {-3.60/7 0.9} Pg3
{+3.60/7 2.0} 37. Ke1 {-3.95/7 1.0} Kg7 {+4.75/8 1.5} 38. Wb3 {-7.00/7 0.7}
De8 {+7.20/8 1.1} 39. Wc4 {-7.20/7 1.5} Dh5 {+9.70/7 0.7} 40. Wc3
{-9.75/6 0.4} Kf7 {+9.80/6 1.9} 41. La7 {-8.75/7 1.4} Dg5 {+8.75/6 0.4} 42.
We3 {-8.70/7 3} Pg2 {+11.45/8 1.2} 43. Pf2 {-10.55/7 2.1} Lh3
{+14.30/8 1.6} 44. Ch5 {-13.25/7 1.2} Ke6 {+16.05/7 1.5} 45. Wf4
{-13.45/5 1.5} Ld3 {+16.05/8 1.6} 46. Kd1 {-16.85/6 1.1} La6 {+16.75/7 1.6}
47. La2 {-18.05/8 1.4} Pg6 {+16.95/9 1.5} 48. Ch8 {-14.15/9 1.2} Ig7
{+14.25/9 1.6} 49. We3 {-14.25/8 0.5} Cf4 {+14.20/10 1.3} 50. Wd3
{-14.20/8 1.5} Pg3 {+14.20/8 1.5} 51. La6 {-14.20/7 1.3} Pe3 {+14.40/9 1.5}
52. Kc1 {-14.25/8 1.5} Pa7 {+14.30/7 1.2} 53. La8 {-14.30/8 1.5} Pc3
{+13.75/7 1.6} 54. Lh1 {-13.60/7 1.3} Cf5 {+13.35/8 1.6} 55. Pc4
{-13.55/8 1.5} Ca7 {+13.75/7 1.5} 56. Pba4 {-12.90/9 1.5} Pg3
{+12.00/8 1.6} 57. Pg4 {-13.05/8 1.5} Wa5 {+13.90/8 1.3} 58. Lc6
{-13.45/8 1.5} Kf7 {+13.60/7 1.6} 59. Pg2 {-16.40/8 1.5} Kg8 {+15.70/9 1.5}
60. Le8 {-15.45/8 1.5} Ce6 {+18.45/9 1.6} 61. Pc4 {-18.75/8 1.3} Kxh8
{+18.90/8 1.6} 62. Pa3 {-19.00/8 1.6} If7 {+20.00/7 1.6} 63. Pf2
{-20.15/8 1.3} Ca8 {+20.20/8 1.6} 64. Pd8 {-21.65/9 1.6} Wc7 {+21.65/8 1.6}
65. Pd6 {-22.35/8 1.5} Cg6 {+22.10/8 1.6} 66. Pe4 {-22.15/8 1.2} Caf8
{+22.25/8 1.6} 67. Pe6 {-24.10/9 1.6} Wd6 {+22.60/7 1.6} 68. Kb2
{-23.60/7 1.6} Ig7 {+22.65/6 1.6} 69. Pc3 {-23.70/6 0.4} Id4 {+23.75/9 1.6}
70. Pf6 {-24.00/9 1.6} Wa6 {+23.75/8 1.6} 71. Pf4 {-25.20/9 1.3} Cff7
{+299.94/11 1.7} 72. Pff5 {-299.95/13 1.4} Cgg5 {+299.94/9 1.5} 73. Pf4
{-299.95/13 1.3} Cc4 {+299.96/12 1.6}
{Black wins on time} 0-1
From the debug fle I can see that after Black's Cc4 white plays Pf5xc5 (captures Cc4), which according to the position black gave after its last move is indeed a valid move. But black rejects it with an illegal-move complaint, WinBoard of course believes that, with legality testing off, and takes the move back, after whch the game hangs with white on move, so that black wins on time. Lifting the communication with the second engine (blac) from the debug file, the relevant part says:

Code: Select all

877452 <second: 
877452 <second: setup 7k/4p3/w7/5Pc1/2ciPP2/2P5/1K6/8 w - - 1 74
879114 >second: time 1263
879114 >second: otim 1235
879114 >second: usermove 879114 >second: f5c5
879134 <second: Illegal move: f5c5