Stockfish time management is BADLY broken

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Damir
Posts: 2801
Joined: Mon Feb 11, 2008 3:53 pm
Location: Denmark
Full name: Damir Desevac

Re: Stockfish time management is BADLY broken

Post by Damir »

Let's hope Stockfish not start losing on time, like in the previous TCEC, 2-3 seasons back.. Stockfish time menagement must be fixed.
I am am quite surprised that this problem has not been fixed by now.
Also when testing Stockfish in Fritz GUI, both offline and online, Stockfish is losing many games on time.
It is not just LittleBlitzer, but other GUI's as well that Stockfish is losing games on time. :( :(
syzygy
Posts: 5563
Joined: Tue Feb 28, 2012 11:56 pm

Re: Stockfish time management is BADLY broken

Post by syzygy »

Damir wrote:Let's hope Stockfish not start losing on time, like in the previous TCEC, 2-3 seasons back.. Stockfish time menagement must be fixed.
It will probably survive in games with a fixed increment per move.

But after a more in depth look at the code, I can only conclude it is totally broken at time controls like 60 moves per 2 hours. For example, at move 52 it might use all of the remaining time except for 100ms Move Overhead. It will then try not to touch that remaining 100ms in the last 8 moves before the increment. So if it does not get flagged, it will blunder anyway.
I am am quite surprised that this problem has not been fixed by now.
Evidently this has not been properly reviewed and tested before it was committed.
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: Stockfish time management is BADLY broken

Post by MikeB »

Jouni wrote:I tried to play 22.9.2017 version with 60 moves in minute level. I must stop, when 15% of games were lost by time against Houdini.
Example game:

[pgn]
[Event "?"]
[Site "?"]
[Date "????.??.??"]
[Round "?"]
[White "Houdini 6 x64-pext"]
[Black "Stockfish 220917 64 BMI2"]
[Result "1-0"]
[SetUp "1"]
[FEN "rn1qkbnr/pp1bpppp/3p4/1Bp5/4P3/5N2/PPPP1PPP/RNBQK2R w KQkq - 0 1"]
[PlyCount "119"]

1. c4 Nf6 2. Nc3 Bxb5 3. cxb5 a6 4. bxa6 Nxa6 5. d4 e6 6. Be3 Be7 7. O-O O-O 8.
a3 Ng4 9. Qb3 Nxe3 10. fxe3 Rb8 11. Qa4 Qb6 12. Rf2 Qc6 13. Qxc6 bxc6 14. Rc2
d5 15. g3 Rfc8 16. Kg2 c4 17. Rf1 Rb6 18. Rff2 Nc7 19. Na4 Ra6 20. Nc3 Nb5 21.
Nxb5 cxb5 22. Nd2 Rd8 23. Nb1 dxe4 24. Nc3 Rb6 25. Nxe4 f5 26. Nc3 Kf7 27. h3
g6 28. g4 Bg5 29. Kf3 Ke7 30. Rce2 Rf8 31. Kg3 Bf6 32. Rf1 Ra8 33. Kf4 Ra5 34.
Rd1 b4 35. axb4 Rxb4 36. gxf5 gxf5 37. e4 Bxd4 38. Nd5+ exd5 39. exd5+ Kd6 40.
Rxd4 Rxd5 41. Rxd5+ Kxd5 42. Kxf5 Kd4 43. Kg5 Kd3 44. Rg2 Kd4 45. Re2 c3 46.
bxc3+ Kxc3 47. Re7 Rb5+ 48. Kh6 Kd4 49. h4 Rf5 50. h5 Kd5 51. Rxh7 Ke6 52. Rg7
Kf6 53. Rg1 Kf7 54. Ra1 Kg8 55. Kg6 Rf7 56. h6 Rg7+ 57. Kf5 Rf7+ 58. Kg6 Rg7+
59. Kf5 Rb7 60. Kg6 1-0

[/pgn]

This game was draw already 10 moves before time control (I have syzygy installed and cached to RAM) :o.
It is broken, in longer games (15 + 15 seconds ) it leaves very little time after only 40 moves. They test it at super fast time controls - but things like time management , which was fine before should not have been touched. But with that said, there are a LOT more positives with how Stockfish is updated and improved and I'm sure they will get around to fixing this at some point in the future. Once they realize they have a problem, right now they are clueless there is a problem, but at some point it will pop up in TCEC 10 and then they will fix it. It's broken in SF-McBrain too. I meant to keep that patch out - but I forgot. I have to take look and see if I revert easily - not all patches can be reverted easily once other patches are over laid on top of the initial patch. Then it's very easy to cause even more damage. They made a lot of patches in the last two months that were not really Elo related, but changed a lot of lines of code.
User avatar
hgm
Posts: 27794
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Stockfish time management is BADLY broken

Post by hgm »

Jouni wrote:Actually partial reason for time losses can be just LittleBlitzer! It starts game always with move 1. even if there is 10 move pgn opening - no good.
It should not matter at all how the GUI mangles the time control, as long as it does it consistently. The GUI is both in charge of telleing the engine how much time it has, and of deciding whether the engine overstepped this time. So no matter how deluded it might be about whet TC the user wants, it should never give rise to any forfeits if it just enforces what it told the engine.
Jouni
Posts: 3285
Joined: Wed Mar 08, 2006 8:15 pm

Re: Stockfish time management is BADLY broken

Post by Jouni »

Engine should NEVER lose on time with X/Y time control when CPU can execute one instruction in nanoseconds :!:. Fix before SF9 please.
Jouni
stavros
Posts: 165
Joined: Tue Dec 02, 2014 1:29 am

Re: Stockfish time management is BADLY broken

Post by stavros »

i played a game vs latest sf dv at 40 moves in 3 mins/40 moves in 3 moves
i didnt see any bad time management from st ,it used perfectly its time
also i didnt see any lack of time the last 5-10 moves
at what time contol st has this problem?
GUI fritz 12.
Modern Times
Posts: 3546
Joined: Thu Jun 07, 2012 11:02 pm

Re: Stockfish time management is BADLY broken

Post by Modern Times »

One game ? Play more.
stavros
Posts: 165
Joined: Tue Dec 02, 2014 1:29 am

Re: Stockfish time management is BADLY broken

Post by stavros »

i played me vs st 2nd game again st, no time problems
i wonder...what % of the games this problem appears
corres
Posts: 3657
Joined: Wed Nov 18, 2015 11:41 am
Location: hungary

Re: Stockfish time management is BADLY broken

Post by corres »

If you like old time manager of Stockfish you can return it an easy way:

1. Copy from the Stockfish source before Aug 17 into the newer source
the next three files:
- timeman.cpp
- timeman.h
- ucioption.cpp
and overwrite.

2. In the ucioption.cpp modify the next line:
void on_threads(const Option&) { Threads.read_uci_options(); }
as the follows:
void on_threads(const Option& o) { Threads.set(o); }

3. Compile the source.

That is all.
syzygy
Posts: 5563
Joined: Tue Feb 28, 2012 11:56 pm

Re: Stockfish time management is BADLY broken

Post by syzygy »

I guess I should have used Stockfish, but a match at 60/60 between Cfish and Cfish (with time management identical to that of Stockfish) results in at least 10% time losses (cutechess-cli, default Move Overhead):
[pgn][White "cfish"]
[Black "cfish"]
[Result "0-1"]
[FEN "rnb1kbnr/pppp1ppp/8/4p1q1/8/1P3P2/P1PPP1PP/RNBQKBNR w KQkq - 0 1"]
[PlyCount "118"]
[SetUp "1"]
[Termination "time forfeit"]
[TimeControl "60/60"]

1. e4 {+0.10/17 1.3s} Qd8 {-0.05/17 1.2s} 2. d4 {+0.19/18 1.0s}
Nf6 {-0.18/18 1.3s} 3. Nc3 {+0.40/16 0.23s} exd4 {-0.37/20 1.3s}
4. Qxd4 {+0.51/19 0.70s} Nc6 {-0.23/19 0.57s} 5. Qe3 {+0.52/18 0.12s}
Qe7 {-0.65/19 2.2s} 6. a3 {+0.64/16 0.49s} a6 {-0.84/20 3.8s}
7. Nge2 {+0.77/18 0.65s} Qc5 {-0.77/18 1.1s} 8. g4 {+1.04/20 0.96s}
h6 {-0.73/19 0.62s} 9. Bg2 {+0.88/21 1.3s} b6 {-0.90/20 1.1s}
10. h4 {+0.75/18 0.16s} Bb7 {-0.71/20 0.70s} 11. g5 {+0.80/19 0.82s}
Nh5 {-0.76/19 0.22s} 12. f4 {+0.75/20 2.0s} Qxe3 {-0.80/21 1.1s}
13. Bxe3 {+0.85/21 0.73s} g6 {-0.93/17 0.25s} 14. Bf3 {+0.87/22 1.1s}
O-O-O {-0.78/18 0.65s} 15. Nd5 {+0.70/20 1.4s} Re8 {-0.78/16 0.17s}
16. Kf2 {+0.58/15 0.13s} a5 {-0.77/18 1.4s} 17. c4 {+0.89/17 1.5s}
Ne7 {-0.80/18 1.2s} 18. Nec3 {+0.92/18 0.79s} Nxd5 {-1.13/20 3.6s}
19. cxd5 {+0.99/19 2.2s} Kb8 {-1.01/19 0.77s} 20. a4 {+1.02/20 1.1s}
Bd6 {-0.83/18 0.40s} 21. Bxh5 {+1.23/19 0.94s} gxh5 {-1.05/22 1.6s}
22. Kf3 {+1.24/20 0.88s} Bb4 {-1.24/21 1.0s} 23. Bd4 {+1.38/19 0.45s}
Rh7 {-1.32/21 1.9s} 24. Rac1 {+1.47/19 0.75s} Rg8 {-1.40/21 1.8s}
25. Rh2 {+1.44/21 3.5s} Ka8 {-1.24/19 0.95s} 26. Be3 {+1.47/19 1.4s}
Kb8 {-1.45/21 2.3s} 27. f5 {+1.59/20 0.93s} Bd6 {-1.45/20 1.8s}
28. Rh3 {+1.59/21 1.6s} hxg5 {-1.66/20 1.0s} 29. hxg5 {+1.63/19 0.91s}
Be7 {-1.60/20 0.70s} 30. Rg1 {+1.68/18 0.69s} c6 {-1.75/20 1.6s}
31. Bf4+ {+1.88/18 0.67s} Kc8 {-1.81/21 0.60s} 32. d6 {+1.96/22 0.81s}
Bd8 {-1.67/20 0.66s} 33. Be3 {+2.15/20 0.98s} Ba6 {-2.14/22 2.3s}
34. f6 {+2.17/18 0.15s} h4 {-1.92/18 0.71s} 35. Kf4 {+2.22/19 0.40s}
Rh5 {-2.29/21 1.1s} 36. Bf2 {+2.50/22 1.3s} b5 {-2.15/20 0.27s}
37. axb5 {+2.57/22 0.67s} Bxb5 {-2.35/19 0.11s} 38. Rg4 {+2.89/22 0.44s}
Bf1 {-2.43/20 0.80s} 39. Rhxh4 {+3.70/22 0.49s} Rhh8 {-4.13/25 2.0s}
40. Rxh8 {+4.12/22 0.35s} Rxh8 {-4.30/24 0.55s} 41. Rh4 {+4.08/20 0.11s}
Rf8 {-4.93/23 2.5s} 42. Na4 {+4.72/22 1.1s} c5 {-5.00/23 0.84s}
43. Bxc5 {+4.81/23 1.1s} Kb7 {-5.27/23 2.3s} 44. Be3 {+4.95/21 0.26s}
Bb5 {-4.82/18 0.35s} 45. e5 {+5.08/22 0.85s} Bc6 {-5.19/21 1.0s}
46. Nc5+ {+5.25/21 0.75s} Kc8 {-6.67/22 2.0s} 47. Rh7 {+5.62/21 0.27s}
Bb6 {-6.51/20 0.25s} 48. Ne4 {+5.90/22 1.2s} Bd8 {-6.81/21 0.71s}
49. Nc3 {+6.20/20 0.54s} a4 {-6.86/15 0.041s} 50. Nxa4 {+7.20/22 2.1s}
Bd5 {-7.42/20 1.2s} 51. g6 {+7.54/21 0.82s} fxg6 {-7.45/18 0.15s}
52. Nc5 {+7.49/19 0.64s} Bc6 {-7.46/18 0.72s} 53. Kg5 {+8.98/19 1.6s}
Rg8 {-8.04/16 0.26s} 54. Bd4 {+9.98/19 1.2s} Re8 {-5.55/1 0s}
55. e6 {+13.32/19 0.95s} dxe6 {-8.57/10 0.001s} 56. d7+ {+16.46/18 1.2s}
Bxd7 {-8.61/10 0s} 57. Nxd7 {+17.02/19 0.79s} e5 {-8.56/7 0s}
58. Nxe5 {+49.75/19 2.4s} Re6 {-7.96/7 0s} 59. Nc4 {+55.30/18 1.9s}
Rc6 {-8.79/7 0.001s, White loses on time} 0-1[/pgn]
Note in how much time trouble black was finding itself after move 53: it played each of its remaining moves within 1ms. White on the other hand could afford to spend seconds on each move, but then got flagged in a winning position.
[pgn][White "cfish"]
[Black "cfish"]
[Result "1-0"]
[FEN "rnb1kbnr/pppp1ppp/8/4p1q1/8/1P3P2/P1PPP1PP/RNBQKBNR w KQkq - 0 1"]
[PlyCount "107"]
[SetUp "1"]
[Termination "time forfeit"]
[TimeControl "60/60"]

1. e4 {+0.10/17 1.3s} Qd8 {-0.05/17 1.1s} 2. d4 {+0.19/18 1.1s}
Nf6 {-0.18/18 1.2s} 3. Nc3 {+0.40/16 0.25s} exd4 {-0.37/20 1.3s}
4. Qxd4 {+0.51/19 0.70s} Nc6 {-0.23/19 0.59s} 5. Qe3 {+0.52/18 0.12s}
Qe7 {-0.65/19 2.2s} 6. a3 {+0.64/16 0.48s} a6 {-0.84/20 3.8s}
7. Nge2 {+0.77/18 0.66s} Qc5 {-0.77/18 1.1s} 8. g4 {+1.04/20 0.99s}
h6 {-0.73/19 0.59s} 9. Bg2 {+0.88/21 1.3s} b6 {-0.90/20 1.1s}
10. h4 {+0.75/18 0.16s} Bb7 {-0.73/19 0.34s} 11. g5 {+0.80/19 0.82s}
Nh5 {-0.81/17 0.13s} 12. f4 {+0.75/20 2.0s} Qxe3 {-0.70/19 0.82s}
13. Bxe3 {+0.85/20 0.57s} O-O-O {-0.88/18 0.28s} 14. Bf3 {+0.79/21 1.0s}
g6 {-0.87/18 0.69s} 15. Nd5 {+0.78/19 1.7s} Ng7 {-0.88/18 2.2s}
16. Kf2 {+0.88/16 0.58s} a5 {-0.85/20 2.1s} 17. c3 {+0.51/20 1.6s}
Bc5 {-0.72/17 0.65s} 18. Bxc5 {+0.78/15 0.41s} bxc5 {-0.76/17 0.15s}
19. Rag1 {+0.77/18 0.84s} Ba6 {-0.76/19 1.2s} 20. Ng3 {+0.82/19 1.2s}
Ne6 {-0.77/19 1.3s} 21. gxh6 {+1.00/17 0.63s} Rxh6 {-1.09/19 1.5s}
22. Rd1 {+1.12/17 0.65s} d6 {-0.89/17 0.96s} 23. h5 {+1.20/20 1.5s}
g5 {-0.80/19 0.81s} 24. Nf5 {+1.20/22 1.7s} Rhh8 {-0.58/19 0.57s}
25. fxg5 {+1.39/19 0.20s} Nxg5 {-1.46/21 1.7s} 26. Rdg1 {+1.33/20 0.85s}
Nxf3 {-1.50/19 0.12s} 27. Kxf3 {+1.51/21 0.95s} Ne5+ {-1.53/19 0.84s}
28. Ke3 {+1.44/20 0.18s} a4 {-1.27/18 0.46s} 29. bxa4 {+1.89/18 0.51s}
Kd7 {-1.32/18 0.15s} 30. h6 {+2.36/19 0.32s} Bb7 {-2.32/22 2.8s}
31. Rg7 {+2.82/20 0.53s} Ra8 {-2.87/19 0.33s} 32. h7 {+2.53/19 0.14s}
Rxa4 {-3.90/23 3.7s} 33. Rg8 {+4.16/20 0.43s} Ng6 {-4.52/22 1.0s}
34. Rxh8 {+4.58/19 0.15s} Nxh8 {-4.61/19 0.094s} 35. Rg1 {+4.75/22 0.49s}
Ke6 {-5.16/21 0.95s} 36. Rg8 {+4.89/20 0.22s} Bxd5 {-5.00/19 0.36s}
37. Ng7+ {+5.42/21 0.60s} Ke5 {-5.52/21 0.81s} 38. exd5 {+5.59/20 0.19s}
Re4+ {-6.32/23 2.6s} 39. Kd2 {+5.85/23 0.62s} Ng6 {-6.41/23 1.1s}
40. Nh5 {+6.02/22 0.18s} Rh4 {-5.97/22 0.095s} 41. Rxg6 {+6.33/22 0.41s}
Rxh5 {-7.23/26 3.2s} 42. Rg5+ {+7.07/23 1.9s} Rxg5 {-7.25/23 0.22s}
43. h8=Q+ {+7.08/19 0.34s} Kxd5 {-7.33/25 1.5s} 44. Qf6 {+7.69/20 1.0s}
Re5 {-7.42/25 1.0s} 45. a4 {+9.78/21 1.3s} Kc6 {-7.48/27 0.82s}
46. a5 {+10.53/19 0.37s} Rd5+ {-19.32/21 5.5s} 47. Kc2 {+19.51/20 1.6s}
Re5 {-17.53/18 0.39s} 48. Qxf7 {+16.79/19 0.55s} Re2+ {-76.39/19 2.3s}
49. Kd3 {+53.65/19 1.3s} Rb2 {-10.67/12 0.11s} 50. Qe8+ {+132.64/17 3.5s}
Kb7 {-132.67/15 0.53s} 51. Kc4 {+132.69/18 5.4s} Rd2 {-132.65/12 0.13s}
52. Qb5+ {+M23/18 2.5s} Kc8 {-132.67/13 0.020s} 53. a6 {+M21/20 0.66s}
Kd8 {-132.72/13 0.12s} 54. a7 {+M19/21 1.8s, Black loses on time} 1-0[/pgn]
Black uses up all its time and gets flagged already at move 54. But at least its postiion was already lost.
[pgn][White "cfish"]
[Black "cfish"]
[Result "1-0"]
[FEN "rnbqkbnr/1ppppppp/8/8/p5P1/8/PPPPPP1P/RNBQKBNR w KQkq - 0 1"]
[PlyCount "115"]
[SetUp "1"]
[Termination "time forfeit"]
[TimeControl "60/60"]

1. Nf3 {-0.35/18 2.3s} d5 {+0.35/19 1.6s} 2. h3 {-0.28/19 1.4s}
e6 {+0.38/18 2.4s} 3. d4 {-0.23/18 0.85s} c5 {+0.38/17 0.80s}
4. e3 {-0.50/18 4.1s} Nf6 {+0.45/18 2.8s} 5. c4 {-0.40/17 0.64s}
cxd4 {+0.42/17 1.7s} 6. Nxd4 {-0.22/17 0.68s} Bc5 {+0.32/19 4.8s}
7. Nc3 {-0.22/17 1.1s} O-O {+0.29/17 0.89s} 8. Nxa4 {-0.12/17 0.47s}
Bxd4 {+0.52/19 0.64s} 9. exd4 {-0.59/20 1.5s} dxc4 {+0.60/17 0.12s}
10. Nc3 {-0.37/17 0.13s} Qb6 {+0.62/20 0.97s} 11. Bg2 {-0.79/20 1.7s}
Bd7 {+0.65/19 0.53s} 12. O-O {-0.72/21 1.1s} Bc6 {+0.72/20 0.55s}
13. Qe2 {-0.70/18 0.19s} Bxg2 {+0.65/19 0.29s} 14. Kxg2 {-0.76/20 0.88s}
Qc6+ {+0.78/19 0.49s} 15. f3 {-0.72/21 1.4s} b5 {+0.74/18 0.15s}
16. Bg5 {-0.82/21 1.2s} Nbd7 {+0.77/19 1.0s} 17. a3 {-0.79/18 0.19s}
Nd5 {+0.74/17 0.25s} 18. Qe4 {-0.80/21 2.1s} N7b6 {+0.81/19 0.75s}
19. Bd2 {-0.84/21 1.1s} Qd7 {+0.82/20 1.4s} 20. f4 {-0.83/21 0.83s}
Nxc3 {+0.95/18 0.88s} 21. Bxc3 {-0.85/16 0.15s} Nd5 {+0.83/18 0.94s}
22. Qf3 {-0.71/17 0.69s} Rfd8 {+0.79/19 1.3s} 23. Rad1 {-0.75/17 0.17s}
Nxc3 {+0.94/18 0.74s} 24. Qxc3 {-0.67/20 1.6s} Ra4 {+0.96/19 0.73s}
25. f5 {-0.90/19 2.1s} Ra6 {+1.07/19 0.50s} 26. Rd2 {-0.70/18 0.41s}
h5 {+0.70/20 2.0s} 27. gxh5 {-0.78/19 1.4s} exf5 {+1.04/19 0.42s}
28. Rf4 {-0.80/20 1.4s} Qd5+ {+0.74/19 1.2s} 29. Qf3 {-0.67/21 0.98s}
Qxf3+ {+0.92/18 0.15s} 30. Rxf3 {-0.57/17 0.11s} Rd5 {+0.97/22 1.4s}
31. Re3 {-0.42/19 0.53s} Rad6 {+0.57/22 1.4s} 32. Re8+ {-0.79/22 1.4s}
Kh7 {+0.57/1 0s} 33. Re7 {-0.75/20 0.19s} f6 {+0.60/22 0.56s}
34. Rb7 {-0.72/23 0.70s} f4 {+0.61/20 0.10s} 35. Kf3 {-0.73/22 0.21s}
Rxh5 {+0.60/20 0.63s} 36. Kxf4 {-0.62/21 0.37s} Kh6 {+0.81/20 0.53s}
37. Rb8 {-0.63/19 0.12s} Rhd5 {+0.70/18 0.20s} 38. Ke3 {-0.64/21 1.8s}
Re6+ {+0.73/18 0.74s} 39. Kf3 {-0.45/19 1.00s} Rf5+ {+0.57/18 0.90s}
40. Kg2 {-0.70/22 0.95s} Re3 {+0.72/18 0.11s} 41. Rc8 {-0.60/20 0.18s}
Rf4 {+0.77/20 1.0s} 42. Rc5 {-0.77/25 4.3s} Rd3 {+0.79/23 1.2s}
43. Re2 {-0.64/24 1.8s} Rb3 {+0.67/23 1.8s} 44. a4 {-0.83/19 0.20s}
bxa4 {+0.75/23 2.0s} 45. Rxc4 {-0.83/22 0.72s} Rh4 {+0.95/20 0.70s}
46. Kf1 {-0.90/22 3.2s} Rbxh3 {+1.10/21 0.86s} 47. Rd2 {-1.45/21 3.9s}
Rh2 {+1.19/22 0.84s} 48. Ke1 {-1.12/19 0.63s} Kg5 {+1.31/22 1.2s}
49. Rxa4 {-1.13/19 0.37s} Kf5 {+1.45/22 1.1s} 50. Rc4 {-1.27/23 3.0s}
g5 {+1.68/21 0.73s} 51. Rxh2 {-2.14/22 1.4s} Rxh2 {+2.45/22 0.73s}
52. Rb4 {-2.14/15 0.049s} Ke4 {+3.63/23 1.0s} 53. Rb5 {-2.13/15 0.024s}
g4 {+4.19/24 0.84s} 54. d5 {-2.29/15 0.023s} Ke5 {+4.44/21 0.25s}
55. d6+ {-2.49/15 0.054s} Kxd6 {+10.28/23 1.3s} 56. Kf1 {-2.51/12 0.003s}
Ke6 {+10.75/23 0.49s} 57. Rb8 {-2.51/6 0s} Ke5 {+15.90/23 0.93s}
58. Rb5+ {-2.61/10 0.003s, Black loses on time} 1-0[/pgn]
White has no time left whatsoever, but black allows itself to get flagged.
[pgn][White "cfish"]
[Black "cfish"]
[Result "1-0"]
[FEN "rnb1kbnr/pppp1ppp/4pq2/8/5PP1/8/PPPPP2P/RNBQKBNR w KQkq - 0 1"]
[PlyCount "119"]
[SetUp "1"]
[Termination "time forfeit"]
[TimeControl "60/60"]

1. Nh3 {-0.50/20 1.8s} Qh4+ {+0.53/20 3.5s} 2. Nf2 {-0.50/1 0s}
h5 {+0.60/21 1.0s} 3. h3 {-0.50/20 2.2s} d5 {+0.62/17 0.84s}
4. e3 {-0.52/18 1.6s} Bd7 {+0.48/15 0.14s} 5. Nc3 {-0.41/18 2.0s}
c5 {+0.49/16 1.1s} 6. b3 {-0.49/16 0.22s} Bc6 {+0.54/17 0.80s}
7. Rg1 {-0.37/17 0.35s} d4 {+0.54/18 1.3s} 8. Nb5 {-0.39/18 2.1s}
Na6 {+0.80/16 1.1s} 9. g5 {-0.02/18 0.85s} Rd8 {+0.39/18 1.2s}
10. Bd3 {-0.01/17 0.18s} c4 {-0.17/21 5.5s} 11. bxc4 {+0.10/18 0.42s}
Bc5 {-0.22/19 1.1s} 12. c3 {+0.15/17 0.12s} dxe3 {+0.17/19 0.57s}
13. dxe3 {-0.19/22 2.2s} Ne7 {+0.37/19 0.44s} 14. Qc2 {0.00/19 0.47s}
Nf5 {+0.50/19 0.90s} 15. Nd4 {0.00/22 0.98s} Bxd4 {0.00/21 1.6s}
16. exd4 {0.00/23 1.3s} Nb4 {0.00/22 0.56s} 17. cxb4 {0.00/21 0.19s}
Nxd4 {0.00/22 0.11s} 18. Qd1 {+0.25/24 3.3s} O-O {+0.42/22 1.8s}
19. Kf1 {-1.47/22 5.6s} e5 {+1.81/19 0.81s} 20. Bb2 {-1.40/22 3.2s}
Nf5 {+1.85/20 0.70s} 21. Qe2 {-1.86/23 1.8s} e4 {+1.72/19 0.15s}
22. Bxe4 {-1.86/23 3.6s} Bxe4 {+1.93/21 1.0s} 23. Qxe4 {-2.00/22 1.3s}
Rd2 {+1.67/18 0.16s} 24. Qf3 {-2.07/20 0.13s} Rxb2 {+1.91/21 1.2s}
25. Re1 {-1.42/20 0.41s} Rxb4 {+1.75/19 0.19s} 26. Re5 {-1.92/20 1.2s}
g6 {+2.01/21 0.65s} 27. Nd3 {-1.83/20 0.70s} Nd4 {+2.02/19 0.19s}
28. Qg3 {-1.85/17 0.12s} Qxg3 {+2.11/19 0.37s} 29. Rxg3 {-1.88/21 0.86s}
Rxc4 {+2.11/19 0.19s} 30. Re4 {-1.87/21 0.89s} Rfc8 {+2.04/22 1.0s}
31. Rge3 {-2.18/23 2.1s} Nf5 {+2.10/21 0.53s} 32. Re8+ {-2.17/21 0.62s}
Kg7 {+1.98/20 0.27s} 33. Re1 {-2.04/19 0.35s} Rxe8 {+2.08/22 0.75s}
34. Rxe8 {-2.18/22 1.6s} Rd4 {+2.20/18 0.12s} 35. Ke2 {-2.04/17 0.079s}
Ra4 {+2.33/21 0.72s} 36. Ke1 {-2.12/21 0.75s} Rxa2 {+2.21/22 1.6s}
37. Rb8 {-2.31/20 0.61s} Nd6 {+2.23/22 0.97s} 38. Rd8 {-2.33/17 0.057s}
Ne4 {+2.33/20 0.20s} 39. Re8 {-2.37/19 0.68s} Ra4 {+2.65/22 1.8s}
40. Rd8 {-2.51/21 1.6s} b6 {+2.58/22 1.2s} 41. Ke2 {-2.59/19 0.52s}
Ng3+ {+2.57/20 0.35s} 42. Kf2 {-2.35/20 0.56s} Nf5 {+2.65/25 4.6s}
43. Rb8 {-2.52/18 0.11s} Rd4 {+2.91/23 1.0s} 44. Ke2 {-2.57/22 0.76s}
Re4+ {+3.12/20 0.23s} 45. Kf2 {-2.52/21 0.66s} Nd6 {+3.40/21 0.53s}
46. Kf3 {-3.28/23 1.2s} Re8 {+3.61/23 0.66s} 47. Rxe8 {-3.42/21 0.13s}
Nxe8 {+3.65/22 0.34s} 48. Ke4 {-3.82/22 1.2s} a5 {+3.98/24 1.3s}
49. Ne1 {-4.17/24 2.2s} Nc7 {+4.28/23 0.99s} 50. h4 {-4.51/24 3.1s}
b5 {+4.58/25 0.85s} 51. Ke3 {-4.61/23 0.83s} Ne6 {+5.37/24 0.94s}
52. Nd3 {-4.43/13 0.007s} a4 {+5.64/26 0.82s} 53. Kd2 {-3.91/12 0.005s}
Nd4 {+6.82/23 1.1s} 54. Kc3 {-4.52/11 0.002s} Nf5 {+7.42/23 0.83s}
55. Kb4 {-6.02/16 0.079s} Nxh4 {+8.12/22 0.67s} 56. Kxb5 {-6.05/11 0.001s}
a3 {+15.06/22 2.1s} 57. Nb4 {-6.12/10 0s} Ng2 {+21.22/20 1.1s}
58. Kc6 {-6.69/10 0.001s} h4 {+23.60/18 0.86s} 59. f5 {-7.16/7 0s}
gxf5 {+68.06/19 1.3s} 60. Nc2 {-8.17/7 0s, Black loses on time} 1-0[/pgn]
Same as previous game.
[pgn][White "cfish"]
[Black "cfish"]
[Result "1-0"]
[FEN "rnb1kbnr/pppp1ppp/4pq2/8/5PP1/8/PPPPP2P/RNBQKBNR w KQkq - 0 1"]
[PlyCount "119"]
[SetUp "1"]
[Termination "time forfeit"]
[TimeControl "60/60"]

1. Nh3 {-0.50/20 1.7s} Qh4+ {+0.53/20 3.6s} 2. Nf2 {-0.50/1 0s}
h5 {+0.60/21 1.1s} 3. h3 {-0.50/20 2.2s} d5 {+0.62/17 0.85s}
4. e3 {-0.52/18 1.5s} Bd7 {+0.48/15 0.16s} 5. Nc3 {-0.41/18 1.9s}
c5 {+0.49/16 1.1s} 6. b3 {-0.49/16 0.25s} Bc6 {+0.54/17 0.88s}
7. Rg1 {-0.37/17 0.36s} d4 {+0.54/18 1.3s} 8. Nb5 {-0.39/18 2.2s}
Na6 {+0.80/16 1.1s} 9. g5 {-0.02/18 0.85s} Rd8 {+0.39/18 1.3s}
10. Bd3 {-0.01/17 0.16s} c4 {-0.17/21 5.4s} 11. bxc4 {+0.10/18 0.37s}
Bc5 {-0.22/19 1.1s} 12. c3 {+0.15/17 0.12s} dxe3 {+0.17/19 0.57s}
13. dxe3 {-0.19/22 2.3s} Ne7 {+0.37/19 0.43s} 14. Qc2 {0.00/19 0.47s}
Nf5 {+0.50/19 0.91s} 15. Nd4 {0.00/22 0.97s} Bxd4 {0.00/21 1.6s}
16. exd4 {0.00/23 1.3s} Nb4 {0.00/23 0.91s} 17. cxb4 {0.00/21 0.17s}
Nxd4 {0.00/24 0.20s} 18. Qd1 {+0.25/24 3.3s} O-O {+0.94/21 1.6s}
19. Kf1 {-1.47/22 5.6s} e5 {+0.93/21 0.91s} 20. Bb2 {-1.40/22 3.2s}
e4 {+1.45/20 0.40s} 21. Bxe4 {-1.72/24 1.1s} Bxe4 {+1.62/21 0.22s}
22. Bxd4 {-1.80/21 0.12s} Qxf4 {+1.77/24 0.69s} 23. Qc1 {-1.69/24 0.80s}
Bd3+ {+1.85/20 0.19s} 24. Kg2 {-1.77/22 0.12s} Qxd4 {+1.92/26 1.8s}
25. Rd1 {-1.85/24 2.6s} Qe5 {+1.95/21 0.17s} 26. Rxd3 {-1.82/18 0.14s}
Rxd3 {+1.83/23 1.2s} 27. Nxd3 {-1.99/21 1.1s} Qe4+ {+1.99/18 0.13s}
28. Kh2 {-1.88/22 0.63s} Qe2+ {+2.06/21 0.70s} 29. Kg1 {-1.83/22 1.2s}
Qxd3 {+1.98/18 0.20s} 30. Qf1 {-2.01/22 0.90s} Qe3+ {+2.16/20 1.3s}
31. Kh1 {-2.02/22 0.52s} Rd8 {+2.14/21 0.76s} 32. Re1 {-1.75/16 0.31s}
Qxg5 {+2.22/21 1.1s} 33. Rd1 {-1.80/20 1.3s} Rd2 {+2.34/20 0.46s}
34. Rxd2 {-2.24/23 2.0s} Qxd2 {+2.45/20 0.67s} 35. Qb1 {-2.47/23 2.2s}
b6 {+2.70/23 3.2s} 36. b5 {-2.48/22 1.4s} g6 {+2.70/23 0.43s}
37. a4 {-2.85/23 3.1s} Qe3 {+2.57/22 0.096s} 38. Qf1 {-2.85/21 0.32s}
h4 {+2.84/23 0.52s} 39. Kg2 {-2.43/16 0.19s} Qg3+ {+2.92/19 0.083s}
40. Kh1 {-2.43/1 0s} Kg7 {+3.06/22 1.7s} 41. Qa1+ {-3.18/20 1.5s}
f6 {+3.20/24 2.0s} 42. Qf1 {-3.16/22 0.42s} Qb3 {+3.30/22 0.19s}
43. Kg1 {-3.16/21 0.12s} g5 {+3.30/24 1.2s} 44. Kg2 {-3.19/23 0.88s}
Qg3+ {+3.34/24 0.73s} 45. Kh1 {-2.28/1 0s} Qc3 {+3.40/22 0.34s}
46. Kg2 {-3.19/27 1.7s} Kf7 {+3.51/22 0.58s} 47. Kg1 {-3.61/24 4.1s}
Qe3+ {+4.41/21 2.4s} 48. Kh1 {-3.66/19 0.44s} Ke6 {+4.51/22 0.51s}
49. Kh2 {-3.98/25 1.4s} f5 {+5.69/21 1.4s} 50. c5 {-4.56/16 0.16s}
Qxc5 {+7.19/20 0.75s} 51. Kh1 {-4.83/16 0.085s} Qd5+ {+7.96/20 0.60s}
52. Kg1 {-5.91/17 0.21s} Qd2 {+8.21/20 0.19s} 53. Qf3 {-5.91/10 0.001s}
Ke5 {+12.32/22 1.1s} 54. Qa3 {-5.91/10 0s} Ke4 {+12.73/22 0.20s}
55. Kf1 {-5.07/7 0s} Qd3+ {+132.70/19 2.8s} 56. Qxd3+ {-4.30/5 0s}
Kxd3 {+132.70/20 0.21s} 57. Ke1 {-5.93/8 0.001s} g4 {+132.72/21 2.2s}
58. a5 {-5.66/4 0s} bxa5 {+132.75/19 0.69s} 59. Kf2 {-7.57/7 0.001s}
gxh3 {+132.75/20 0.68s} 60. Kg1 {-10.12/8 0.001s, Black loses on time} 1-0[/pgn]
Same as the previous game.