Hi all.
I recently ran a 100 game match between the 64-bit versions of Strelka 5 and Komodo 3.
Match conditions: Intel core I7 920 at 2.66GHz using 4 cores HT off; Win 7 64 Home Premimum; 6G RAM; pc doing nothing but the match while a game is being played.
Each engine uses default settings; no large pages; no end-game tablebases; 512 hash each; 1 core each; ponder = ON.
Time control is game in 3 minutes. I am using the excellent "ChessGUI" to run the match, set to give each engine a 1/10th second "overstep" margin to help avoid any time losses.
The openings are played using random choices from a set of epd positions after 8 moves in games of high-rated players; each position is played as Black and White by each engine.
I decided to have ponder=ON since with the 4 cores there will not be a penalty to either engine by letting the other think while not "on the move".
Results: games are here... http://www.datafilehost.com/download-5e439b6e.html
Strelka 5 57.5 + 35 = 45 - 20
Komodo 3 42.5 + 20 = 45 - 35
Komodo 3 v Strelka 5 -- 100 games 3 minutes
Moderators: hgm, Rebel, chrisw
-
- Posts: 880
- Joined: Mon Feb 15, 2010 6:43 am
-
- Posts: 2041
- Joined: Wed Mar 08, 2006 8:30 pm
Re: Komodo 3 v Strelka 5 -- 100 games 3 minutes
Hi Pal,PawnStormZ wrote: ponder = ON.
Time control is game in 3 minutes. I am using the excellent "ChessGUI" to run the match, set to give each engine a 1/10th second "overstep" margin to help avoid any time losses.
Amazing!!!!!!!!!!!!!!!!
ponder = ON and no crashes with Strelka 5!
(with Fritz and Shredder GUI, it's unplayable, ask me and Ingo Bauer, with Arena I don't know..., and Strelka 5.1 is not much better)
There has to be an explanation!
-
- Posts: 3245
- Joined: Thu Mar 09, 2006 9:10 am
Re: Komodo 3 v Strelka 5 -- 100 games 3 minutes
The best explanation is that the move that an UCI engine must send to GUI when there is a ponder miss is always discarded.ernest wrote:Hi Pal,PawnStormZ wrote: ponder = ON.
Time control is game in 3 minutes. I am using the excellent "ChessGUI" to run the match, set to give each engine a 1/10th second "overstep" margin to help avoid any time losses.
Amazing!!!!!!!!!!!!!!!!
ponder = ON and no crashes with Strelka 5!
(with Fritz and Shredder GUI, it's unplayable, ask me and Ingo Bauer, with Arena I don't know..., and Strelka 5.1 is not much better)
There has to be an explanation!
So ChessGUI does not penalize an engine if it "forgets" to send it.
![Very Happy :D](./images/smilies/icon_biggrin.gif)
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
http://www.chess.hylogic.de
-
- Posts: 1539
- Joined: Thu Mar 09, 2006 2:02 pm
Re: Komodo 3 v Strelka 5 -- 100 games 3 minutes
Hello Matthias,
Quote: " ... This will be sent if the engine was told to ponder on the same move the user has played. The engine should continue searching but switch from pondering to normal search."
When there is a pondermiss the engine usually only should get a position and a go ... ( position [fen <fenstring> | startpos ] moves <move1> .... <movei>) (go start calculating on the current position set up with the "position" command)
I am not sure if I understand what you want to say. Please help.
![Sad :-(](./images/smilies/icon_sad.gif)
Maybe I completly missunderstood something here.
Bye
Ingo
What exactly do you mean by " move ... that an UCI engine must send to GUI when ... ponder miss"? I am a bit puzzled by this as there is nothing official in the protocoll for a "ponder miss" but just for a "ponderhit" where the engine only get a ponderhit andMatthias Gemuh wrote: The best explanation is that the move that an UCI engine must send to GUI when there is a ponder miss is always discarded.
Quote: " ... This will be sent if the engine was told to ponder on the same move the user has played. The engine should continue searching but switch from pondering to normal search."
When there is a pondermiss the engine usually only should get a position and a go ... ( position [fen <fenstring> | startpos ] moves <move1> .... <movei>) (go start calculating on the current position set up with the "position" command)
I am not sure if I understand what you want to say. Please help.
That sounds a bit like you are working around bad implementations of the UCI-protocol in engines. If so, this will not help to improve the engines ...Matthias Gemuh wrote: So ChessGUI does not penalize an engine if it "forgets" to send it.
![Sad :-(](./images/smilies/icon_sad.gif)
Maybe I completly missunderstood something here.
Bye
Ingo
-
- Posts: 3245
- Joined: Thu Mar 09, 2006 9:10 am
Re: Komodo 3 v Strelka 5 -- 100 games 3 minutes
Hi Ingo,IWB wrote:Hello Matthias,
What exactly do you mean by " move ... that an UCI engine must send to GUI when ... ponder miss"? I am a bit puzzled by this as there is nothing official in the protocoll for a "ponder miss" but just for a "ponderhit" where the engine only get a ponderhit andMatthias Gemuh wrote: The best explanation is that the move that an UCI engine must send to GUI when there is a ponder miss is always discarded.
Quote: " ... This will be sent if the engine was told to ponder on the same move the user has played. The engine should continue searching but switch from pondering to normal search."
When there is a pondermiss the engine usually only should get a position and a go ... ( position [fen <fenstring> | startpos ] moves <move1> .... <movei>) (go start calculating on the current position set up with the "position" command)
I am not sure if I understand what you want to say. Please help.
That sounds a bit like you are working around bad implementations of the UCI-protocol in engines. If so, this will not help to improve the engines ...Matthias Gemuh wrote: So ChessGUI does not penalize an engine if it "forgets" to send it.
Maybe I completly missunderstood something here.
Bye
Ingo
every "go" must be answered sooner or later by sending a bestmove, whether search was a complete one or just interrupted by a "stop" as in the case of a ponder miss.
20% of all WB engines would not work if GUI authors don't break protocol.
That is why I don't penalize the few UCI engines that misbehave.
Matthias.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
http://www.chess.hylogic.de
-
- Posts: 41795
- Joined: Sun Feb 26, 2006 10:52 am
- Location: Auckland, NZ
Re: Komodo 3 v Strelka 5 -- 100 games 3 minutes
Well Matthias - at least you know that those of us who ChessGUI appreciate all that you've done to make engine v engine testing much more pleasurable.Matthias Gemuh wrote:Hi Ingo,
every "go" must be answered sooner or later by sending a bestmove, whether search was a complete one or just interrupted by a "stop" as in the case of a ponder miss.
20% of all WB engines would not work if GUI authors don't break protocol.
That is why I don't penalize the few UCI engines that misbehave.
Matthias.
![Wink :wink:](./images/smilies/icon_wink.gif)
gbanksnz at gmail.com
-
- Posts: 3245
- Joined: Thu Mar 09, 2006 9:10 am
Re: Komodo 3 v Strelka 5 -- 100 games 3 minutes
Some of the guys who break the WB protocol (to different extents) are :Graham Banks wrote:Well Matthias - at least you know that those of us who ChessGUI appreciate all that you've done to make engine v engine testing much more pleasurable.Matthias Gemuh wrote:Hi Ingo,
every "go" must be answered sooner or later by sending a bestmove, whether search was a complete one or just interrupted by a "stop" as in the case of a ponder miss.
20% of all WB engines would not work if GUI authors don't break protocol.
That is why I don't penalize the few UCI engines that misbehave.
Matthias.
Martin, HGM, Matthias, Ilari, Gunnar, etc.
![Embarassed :oops:](./images/smilies/icon_redface.gif)
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
http://www.chess.hylogic.de
-
- Posts: 1539
- Joined: Thu Mar 09, 2006 2:02 pm
Re: Komodo 3 v Strelka 5 -- 100 games 3 minutes
Hello Mathias,
E.g:
...
Mon Nov 07 06:52:06 2011: from Deep Shredder 12 x64 (0): bestmove e7e5 ponder c2c4
Mon Nov 07 06:52:06 2011: to Deep Shredder 12 x64 (0): position startpos moves h2h3 e7e5 c2c4
Mon Nov 07 06:52:06 2011: to Deep Shredder 12 x64 (0): go ponder wtime 306000 btime 290134 winc 3000 binc 3000
....
Mon Nov 07 06:52:15 2011: to Deep Shredder 12 x64 (0): stop
Mon Nov 07 06:52:15 2011: from Deep Shredder 12 x64 (0): info string Shredder got command stop
Mon Nov 07 06:52:15 2011: from Deep Shredder 12 x64 (0): info refutation e8e7
Mon Nov 07 06:52:15 2011: from Deep Shredder 12 x64 (0): info nps 3165068 cpuload 3650 nodes 29672516 hashfull 36
Mon Nov 07 06:52:15 2011: from Deep Shredder 12 x64 (0): bestmove b8c6
Mon Nov 07 06:52:15 2011: to Deep Shredder 12 x64 (0): position startpos moves h2h3 e7e5 a2a3
Mon Nov 07 06:52:15 2011: to Deep Shredder 12 x64 (0): go wtime 299625 btime 290134 winc 3000 binc 3000
...
As you can see the bestmove @ the 5th 6.52.15 is simply ignored (what else to do?).
I was mainly confused because your proposal is not solving the problem of Strelka!
And regarding your 20% which would not work ... maybe WB-protocoll would be more accepted by the users if all engines would behave identical and the configuration would be equal (... wait, its called UCI then) but because the GUI programmers work araund the problems the engine programmers become lazy.
I personaly think that if there is a standard in case of a breaking of the rules it should be enforced by the GUI (or the engine). I see different interpretations of the protocoll in GUIs and personaly thing that this is not good for the end user!
Have a nice week
Ingo
Ahh now I got you, you mean that more in general as discarding bestmoves from a non ponderhit is mandatory for every GUI.Matthias Gemuh wrote: Hi Ingo,
every "go" must be answered sooner or later by sending a bestmove, whether search was a complete one or just interrupted by a "stop" as in the case of a ponder miss.
E.g:
...
Mon Nov 07 06:52:06 2011: from Deep Shredder 12 x64 (0): bestmove e7e5 ponder c2c4
Mon Nov 07 06:52:06 2011: to Deep Shredder 12 x64 (0): position startpos moves h2h3 e7e5 c2c4
Mon Nov 07 06:52:06 2011: to Deep Shredder 12 x64 (0): go ponder wtime 306000 btime 290134 winc 3000 binc 3000
....
Mon Nov 07 06:52:15 2011: to Deep Shredder 12 x64 (0): stop
Mon Nov 07 06:52:15 2011: from Deep Shredder 12 x64 (0): info string Shredder got command stop
Mon Nov 07 06:52:15 2011: from Deep Shredder 12 x64 (0): info refutation e8e7
Mon Nov 07 06:52:15 2011: from Deep Shredder 12 x64 (0): info nps 3165068 cpuload 3650 nodes 29672516 hashfull 36
Mon Nov 07 06:52:15 2011: from Deep Shredder 12 x64 (0): bestmove b8c6
Mon Nov 07 06:52:15 2011: to Deep Shredder 12 x64 (0): position startpos moves h2h3 e7e5 a2a3
Mon Nov 07 06:52:15 2011: to Deep Shredder 12 x64 (0): go wtime 299625 btime 290134 winc 3000 binc 3000
...
As you can see the bestmove @ the 5th 6.52.15 is simply ignored (what else to do?).
I was mainly confused because your proposal is not solving the problem of Strelka!
I know that the UCI protocoll asks to ignore wrong things, but to assume something right when the implementation is bluntly wrong might not be a solution!Matthias Gemuh wrote:
20% of all WB engines would not work if GUI authors don't break protocol.
That is why I don't penalize the few UCI engines that misbehave.
Matthias.
And regarding your 20% which would not work ... maybe WB-protocoll would be more accepted by the users if all engines would behave identical and the configuration would be equal (... wait, its called UCI then) but because the GUI programmers work araund the problems the engine programmers become lazy.
I personaly think that if there is a standard in case of a breaking of the rules it should be enforced by the GUI (or the engine). I see different interpretations of the protocoll in GUIs and personaly thing that this is not good for the end user!
Have a nice week
Ingo
-
- Posts: 41795
- Joined: Sun Feb 26, 2006 10:52 am
- Location: Auckland, NZ
Re: Komodo 3 v Strelka 5 -- 100 games 3 minutes
Really depends what the user is looking for. Under ChessGUI, I can use more engines reliably than in any other GUI, plus I get very few crashes and time losses. When I do strike problems, I can send the automatically produced debug files to either Matthias or the engine author to help remedy any issues. The key is helping the engine authors to improve their engines by doing so.IWB wrote:.......I see different interpretations of the protocoll in GUIs and personaly thing that this is not good for the end user!
Have a nice week
Ingo
For engine v engine testing, I'd have to say that ChessGUI is now my preferred GUI.
However, different users have different wants and preferences and there's nothing wrong with that.
![Smile :)](./images/smilies/icon_smile.gif)
Graham.
gbanksnz at gmail.com
-
- Posts: 1539
- Joined: Thu Mar 09, 2006 2:02 pm
Re: Komodo 3 v Strelka 5 -- 100 games 3 minutes
Hi Graham,
I dont agree. Beeing very broad in a GUI protocoll implementation means that enignes evolves into anything but not UCI anymore. The more liberal a GUI is the more the programmers get "lazy" the more other GUIs have problems (maybe that is the reason why WB engines differ so much).
I can not tell you how often I have read (e.g. in the last weeks with Strelka) in the german fora the sentence "but it runs here, use a proper GUI" despite the fact that the problem is 100% in the engine ... I know that the end user dont care and dont know better, but on the long run it might end like in WB (where you never know if the running configuration you have is really the best possible one)
I favor a strict implementation of protocolls (regardless which one) and as people blame the GUI regardless of the real problem I can only call for more "solidarity" from the GUI programmer side!
Bye and a nice week for you
Ingo
I dont agree. Beeing very broad in a GUI protocoll implementation means that enignes evolves into anything but not UCI anymore. The more liberal a GUI is the more the programmers get "lazy" the more other GUIs have problems (maybe that is the reason why WB engines differ so much).
I can not tell you how often I have read (e.g. in the last weeks with Strelka) in the german fora the sentence "but it runs here, use a proper GUI" despite the fact that the problem is 100% in the engine ... I know that the end user dont care and dont know better, but on the long run it might end like in WB (where you never know if the running configuration you have is really the best possible one)
I favor a strict implementation of protocolls (regardless which one) and as people blame the GUI regardless of the real problem I can only call for more "solidarity" from the GUI programmer side!
Bye and a nice week for you
Ingo