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.
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?
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.
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?
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.
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.
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.
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).
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.
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).