Stockfish 1.5

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

Moderators: hgm, Rebel, chrisw

Volker Pittlik
Posts: 623
Joined: Wed Mar 08, 2006 9:10 pm
Location: Murten / Morat, Switzerland
Full name: Volker Pittlik

Re: Stockfish 1.5

Post by Volker Pittlik »

mcostalba wrote:...
If you want to get the maximum from SF I suggest to compile with Intel compiler that is free under Linux.
...
Thanks. I have the Intel compiler, but to be honest: I'm to lazy to use it. In terms of rating points one gets 30-40 points. And if you compile all programs with that compiler there is no difference at all. In addition not all makefiles work as comfortable as yours.

Another point for me is that I use the chess programs on an EeePC from time to time. The Intel compiler is just to big for it. Another point is that even a debug version is far to strong for me :-).

If I was going to play serious tournament matches (what means: money involved) I would use the Intel thing for sure.

vp
Hart

Re: Stockfish 1.5

Post by Hart »

I am very impressed with this engine and it is now one of my three goto engines for hard analysis, the others being Naum and Rybka.

How does SF handle pawns on the 7th rank? I was just looking at a game against Rybka where SF has a pawn on the 7th rank but Rybka has a Knight in close proximity and two Rooks on the 8th rank. It looked obvious to me that the pawn would never promote but SF scored its position almost 200cp to its favor. A few moves later when the pawn is captured the score immediately drops. The position was otherwise balanced position- and material-wise. I know the actual game would be infinitely more helpful than my recollection of it, but this is the best I can do. Perhaps you could explain to a non-chess programmer how pawns on the 7th rank are scored?
Tord Romstad
Posts: 1808
Joined: Wed Mar 08, 2006 9:19 pm
Location: Oslo, Norway

Re: Stockfish 1.5

Post by Tord Romstad »

Hart wrote:I am very impressed with this engine and it is now one of my three goto engines for hard analysis, the others being Naum and Rybka.

How does SF handle pawns on the 7th rank? I was just looking at a game against Rybka where SF has a pawn on the 7th rank but Rybka has a Knight in close proximity and two Rooks on the 8th rank. It looked obvious to me that the pawn would never promote but SF scored its position almost 200cp to its favor. A few moves later when the pawn is captured the score immediately drops. The position was otherwise balanced position- and material-wise. I know the actual game would be infinitely more helpful than my recollection of it, but this is the best I can do. Perhaps you could explain to a non-chess programmer how pawns on the 7th rank are scored?
That's hard to explain briefly even in programming terms. Stockfish's passed pawn evaluation is quite complex (at least compared to other open source chess engines), and very speculative. Passed pawn bonuses are often huge. My impression is that Stockfish's passed pawn eval works well most of the time, but there are cases where it overevaluates a passed pawn and just looks silly. It sounds like the game you watched was one of those.

I think the optimistic view of passed pawns is one of the most distinctive sides of Stockfish's style of play.
Hart

Re: Stockfish 1.5

Post by Hart »

Okay. I guess I will have to accept this as the answer. I am sure the real explanation would have gone over my head anyways.

One last question for you. I am running some tournaments in Arena201, and I am getting several forfeits on time by SF. The exact number is 9 out of 85. I use a time control of 30/1' which on my hardware should be comparable to CCRL 40/4. Is this normal or am I doing something wrong?

Here is one example:


[Event "Arena tournament"]
[Date "2009.10.06"]
[White "Stockfish_15_x64_ja"]
[Black "Rybka 3"]
[Result "0-1"]
[ECO "B96"]
[Opening "Sicilian"]
[Variation "Najdorf, 7.f4 Nbd7 8.Qe2 Qc7"]
[TimeControl "30/60:30/60:30/60"]
[Termination "time forfeit"]
[PlyCount "58"]
[WhiteType "program"]
[BlackType "program"]

1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 Nbd7 8.
Qe2 Qc7 9. O-O-O b5 10. a3 Bb7 11. g4 Be7 12. Bg2 {(12.Bg2 0-0 13.Kb1 Qc4
14.Qe1 h6 15.Bh4 Bd8 16.g5 hxg5 17.Bf1 Qc7 18.Bxg5 Nc5) +0.12/14 4} Qc4
{(12. ... Qc4 13.Qxc4 bxc4 14.Bxf6 Nxf6 15.Bf3 Rb8 16.g5 Nd7 17.Rhg1 0-0
18.Be2 Rfc8) +0.17/12 4} 13. Qd2 {(13.Qd2 Qc7 14.h4 0-0 15.Kb1 Nc5 16.Qe2
h6 17.Bxf6 Bxf6 18.g5 hxg5 19.hxg5) +0.28/14 3} O-O {(13. ... 0-0 14.Bxf6
Bxf6 15.g5 Bd8 16.h4 b4 17.axb4 Qxb4 18.Nb3 Nb6 19.Qd4) +0.10/12 3} 14. Bh4
{(14.Bh4 b4 15.axb4 Qxb4 16.g5 Nb6 17.gxf6 Nc4) +0.04/14 9} b4 {(14. ... b4
15.axb4 Qxb4 16.g5 Nh5) +0.09/11 3} 15. axb4 {(15.axb4 Kh8 16.Kb1) +0.20/15
5} Qxb4 {(15. ... Qxb4 16.g5 Nh5 17.Be1 Rab8 18.Nce2 Qb6 19.b3 g6 20.Nc3
Nc5) +0.21/13 5} 16. g5 {(16.g5 Nb6 17.Nb1 Qxd2+ 18.Nxd2 Nh5 19.Rhf1 Rae8
20.Ne2 e5 21.Kb1 Nxf4 22.Nxf4 exf4 23.Rxf4 f5 24.gxf6 Bxf6 25.Bxf6 Rxf6
26.Rxf6 gxf6) +0.20/14 1} Nh5 {(16. ... Nh5 17.Kb1 Rab8 18.Nd5 Bxd5 19.Qxb4
Rxb4 20.exd5 Nxf4 21.Nc6 Nxg2 22.Nxe7+ Kh8 23.dxe6 fxe6 24.Be1 Nxe1
25.Rhxe1 Ne5 26.Rxd6 Nc4 27.Rc6 Nxb2 28.Kc1 e5 29.Rxa6 Nc4) +0.13/13 7} 17.
Bf3 {(17.Bf3 Nb6 18.Nce2 Qa4 19.Kb1 Nc4 20.Qd3 g6 21.Bxh5 gxh5 22.Nc3 Qb4
23.Nb3 Bc6) +0.20/14 2} Nxf4 {(17. ... Nxf4 18.Qxf4 e5 19.Qe3 exd4 20.Rxd4
Qc5 21.Be2 Ne5 22.Na4 Qc7 23.Rf1 Rab8 24.Bg3) +0.30/13 1} 18. Qxf4
{(18.Qxf4 e5 19.Qe3 exd4 20.Qxd4 Qa5 21.Kb1 Ne5 22.Bh5 Rfc8 23.Rhf1 Rab8
24.Qa7 g6 25.Be2 Nc4) -0.08/15 2} e5 {(18. ... e5) +0.30/12 0} 19. Qe3
{(19.Qe3 exd4 20.Rxd4 Qb6 21.Kb1 Ne5 22.Na4 Qa5 23.Be1 Qc7 24.h4 Nxf3
25.Qxf3 Rac8 26.Nc3 f5 27.Qe2 fxe4 28.Nxe4) -0.24/17 5} exd4 {(19. ...
exd4) +0.30/11 0} 20. Qxd4 {(20.Qxd4 Qa5 21.Kb1 Ne5 22.Be2 Rac8 23.Rhf1 Rb8
24.Nd5 Bxd5 25.Qxd5 Qa4 26.Qd4 Rb4) -0.12/15 2} a5 {(20. ... a5 21.Be2 Rfc8
22.Rhg1) +0.34/12 3} 21. Rhg1 {(21.Rhg1 Ne5 22.Be2 Ng6 23.Be1 Qxd4 24.Rxd4
Nf4 25.Bc4 Ne6 26.Rd3 Bxg5+ 27.Bd2 Bxd2+ 28.Kxd2 Nc5 29.Rdg3 g6 30.Bd5 Bxd5
31.exd5) -0.28/16 5} Rfc8 {(21. ... Rfc8 22.Be2 Nc5 23.Rg4) +0.31/13 2} 22.
Be2 {(22.Be2 Ne5 23.Be1 Bd8 24.Nd5 Qb3 25.Nc3 Qb4 26.Nd5) 0.00/14 2} Nc5
{(22. ... Nc5 23.Rg4 Ne6 24.Qd2 Rab8 25.Nd5) +0.25/12 2} 23. Rg4 {(23.Rg4
Bf8 24.Kb1 Re8 25.Bc4 Ne6 26.Bxe6 Rxe6 27.Rf4 Qxd4 28.Rxd4 Bc6 29.Nd5 Rb8)
+0.04/13 1} Ne6 {(23. ... Ne6 24.Qd2 Rab8 25.Nd5 Qxd2+ 26.Rxd2 Bd8 27.Nc3
Rc6 28.Nd5 Nc5 29.Nc3 Bc8) +0.20/13 8} 24. Qe3 {(24.Qe3 Rab8 25.e5 Rxc3
26.Qxc3 Qxc3 27.bxc3 dxe5 28.g6 Ba3+ 29.Kd2 hxg6 30.Ra4 Bc5 31.Rxa5 Be4
32.Bc4) -0.16/14 4} Bd8 {(24. ... Bd8 25.Nd5 Qa4 26.Nc3 Qc6 27.Bb5 Qc7
28.Bg3 Be7 29.Qd3 Qb6) +0.16/12 2} 25. e5 {(25.e5 Rxc3 26.Qxc3 Qxc3 27.bxc3
dxe5 28.Rd7 Nc5 29.Rd1 Ne6 30.Rd7 Nc5) 0.00/13 1} Bb6 {(25. ... Bb6 26.Qd2
dxe5 27.Nd5 Qxd2+ 28.Rxd2 Bc5 29.Bf3 Rab8 30.Bf2 Bxf2 31.Rxf2 Bxd5 32.Bxd5
Nf4) +1.41/11 2} 26. Qd2 {(26.Qd2 dxe5 27.Rxb4 axb4 28.Kb1 bxc3 29.Qd6 Bd4
30.Bg4 cxb2 31.Rxd4 exd4 32.Bxe6 fxe6 33.Qxe6+ Kh8 34.Bg3 Bf3 35.Kxb2 Re8)
-0.68/14 2} dxe5 {(26. ... dxe5) +1.41/9 0} 27. Rxb4 {(27.Rxb4 axb4 28.Kb1
bxc3 29.Qd6 Bd4 30.g6 hxg6 31.b4 Be4 32.Bd3 Bf3 33.Re1 g5 34.Bg3 Nf4)
-1.25/15 1} axb4 {(27. ... axb4 28.Kb1 bxc3 29.Qd6 Bd4 30.b4) +2.02/10 1}
28. Kb1 {(28.Kb1 bxc3 29.Qd6 Bd4 30.Bg3 cxb2 31.Rxd4 exd4 32.Bd3 Bf3
33.Kxb2 Rd8 34.Qe7 Re8 35.Qd7 Nxg5 36.Qxd4) -1.57/13 0} bxc3 {(28. ...
bxc3) +2.02/8 0} 29. Qd6 {(29.Qd6 Bd4 30.Bg3 cxb2 31.Rxd4 exd4 32.Bd3 Bf3
33.Kxb2 Rc7 34.Kc1 Rb7 35.Kd2 Ra1) -1.61/14 1} Bd4 {(29. ... Bd4 30.Rxd4
Nxd4 31.Qxe5 Ra4 32.g6 hxg6 33.bxc3 Nxe2 34.Qxe2 Rxh4 35.Qe7 Rh3 36.Qxb7
Rhxc3 37.Kc1 R3c7 38.Qa6 Rxc2+ 39.Kd1 Rc1+ 40.Ke2 R8c2+ 41.Kf3 Rxh2 42.Qa8+
Kh7) +2.58/11 6} 30. ... {0-1 White forfeits on time} 0-1
Uri Blass
Posts: 10460
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Stockfish 1.5

Post by Uri Blass »

I suspect that arena simply steal time from the engines and it is the reason that stockfish lost on time.

My opinion is that a special version of stockfish that does not show the analysis can perform better under arena because arena steal more time from engines that show more output.

The problem is clearly a problem of arena that does not happen in winboard that is superior for testing relative to arena.

stealing 0.2 or 0.3 seconds per move is not a problem at long time control but it is clearly a problem at the fast time control that you are using.

Uri
Hart

Re: Stockfish 1.5

Post by Hart »

Would it make sense then to turn off autoflag or use a Fischer increment style time control? I really prefer Arena otherwise and do not want to switch to WinBoard to run tournaments.
Hart

Re: Stockfish 1.5

Post by Hart »

I just figured out that the option "UCI filter" is supposed to solve this problem so I am re-running my tournaments and hopefully this will have fixed it.
Tord Romstad
Posts: 1808
Joined: Wed Mar 08, 2006 9:19 pm
Location: Oslo, Norway

Re: Stockfish 1.5

Post by Tord Romstad »

Hart wrote:Okay. I guess I will have to accept this as the answer. I am sure the real explanation would have gone over my head anyways.
I don't really think so. It could be explained perfectly well in chess-specific, non-technical terms. The problem is that it would require a tremendous lot of words. :)
One last question for you. I am running some tournaments in Arena201, and I am getting several forfeits on time by SF. The exact number is 9 out of 85. I use a time control of 30/1' which on my hardware should be comparable to CCRL 40/4. Is this normal or am I doing something wrong?
It's probably normal; I don't think you are doing anything wrong. Stockfish frequently loses on time when it has only a few seconds left on the clock, is in a desperate situation, and encounters a big fail low. Apparently it thinks it is lost anyway, and decides to use all the remaining time in the hope that it finds some better move at the last moment.

I'm not sure whether this behavior is intended (I did not introduce it), but I never bothered to look at it, because it only happens in hopeless positions (which means that Stockfish doesn't lose any points) and only when there is very little time left (which means that it doesn't waste any time for the user/tester).
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Stockfish 1.5

Post by mcostalba »

Hart wrote: One last question for you. I am running some tournaments in Arena201, and I am getting several forfeits on time by SF. The exact number is 9 out of 85. I use a time control of 30/1' which on my hardware should be comparable to CCRL 40/4. Is this normal or am I doing something wrong?
It is normal under Arena and short time controls. That's the reason I never use Arena for testing.

To workaround this (Arena) issue use a little time increment per move, also 0.2" is enough.
Tord Romstad
Posts: 1808
Joined: Wed Mar 08, 2006 9:19 pm
Location: Oslo, Norway

Re: Stockfish 1.5

Post by Tord Romstad »

mcostalba wrote:It is normal under Arena and short time controls.
No, it is not just an Arena issue. It happens under all GUIs and command line utilities I have used (and, just in case you think I have forgotten about it, it is not caused by setting loseOnTime to true in search.cpp).