Page 1 of 2

Which Fruit version?

PostPosted: 22 Aug 2009, 12:16
by H.G.Muller
Soon we will release the WinBoard 4.4.0 installer package from the GNU XBoard website. We wanted to (optionally) include one strong engine in it, which people could use for analysis. Preferably a UCI engine, because that catches two birds with one stone: it also provides a working example of an installed UCI engine. (And let's be honest: who wants GNU Chess?)

I was thinking of Fruit, because it is open source an GPL, not very big, available for both Windows and Linux, an original and a classic.

I am no Fruit expert, though, and am not sure which version to include. I could find a Fruit 2.1 Windows compile for download somewhere, but I am not sure if this is the most recent version.

Any opinios or suggestions on this subject will be appreciated.

Re: Which Fruit version?

PostPosted: 22 Aug 2009, 12:28
by F.Huber
Fruit 2.3.1 is the latest official release.

Website:
http://www.superchessengine.com/fruit.htm

Direct download:
http://www.superchessengine.com/Fruit-2-3-1-Win.zip

Furthermore this is also a good test for your engine settings window, because is has really lots of options. :wink:

Re: Which Fruit version?

PostPosted: 22 Aug 2009, 15:37
by Zach Wegner
H.G.Muller wrote:Soon we will release the WinBoard 4.4.0 installer package from the GNU XBoard website. We wanted to (optionally) include one strong engine in it, which people could use for analysis. Preferably a UCI engine, because that catches two birds with one stone: it also provides a working example of an installed UCI engine. (And let's be honest: who wants GNU Chess?)

I was thinking of Fruit, because it is open source an GPL, not very big, available for both Windows and Linux, an original and a classic.

I am no Fruit expert, though, and am not sure which version to include. I could find a Fruit 2.1 Windows compile for download somewhere, but I am not sure if this is the most recent version.

Any opinios or suggestions on this subject will be appreciated.


2.1 is the latest open source version. Glaurung/Stockfish would be a good choice too, since it's SMP.

Re: Which Fruit version?

PostPosted: 22 Aug 2009, 16:02
by nepossiver
Zach Wegner wrote:2.1 is the latest open source version. Glaurung/Stockfish would be a good choice too, since it's SMP.


I second Glaurung/Stockfish. In addition to strong, open source and SMP, it has a defined and cohesive development team, and it is very much in fast progress. Fruit 2.1 is a classic, but old and later versions are not open source (in fact, the latest are private), and Toga development is really messy - linux compatibility has been restored though.

Re: Which Fruit version?

PostPosted: 22 Aug 2009, 16:12
by H.G.Muller
F.Huber wrote:Furthermore this is also a good test for your engine settings window, because is has really lots of options. :wink:

Hmm, I see what you mean. :) There is still a lot that needs cosmetical improvement, e.g. in the breaking over the colums (which falls within a groupbox here, so the groupbox is not correctly displayed). But all that can wait for a later version.

What is this UCI_Chess960 check option? Shouldn't that be handled by Polyglot internally? Polyglot also exported a Chess960 option to WinBoard, which I just suppressed. But I had not realized that UCI engines that actually play Chess960 add heir own option for this as well. I should suppress that too; playing Chess960 shouldd simply be controlled through the WB variant command...

Re: Which Fruit version?

PostPosted: 22 Aug 2009, 16:33
by F. Bluemers
H.G.Muller wrote:
F.Huber wrote:Furthermore this is also a good test for your engine settings window, because is has really lots of options. :wink:

Hmm, I see what you mean. :) There is still a lot that needs cosmetical improvement, e.g. in the breaking over the colums (which falls within a groupbox here, so the groupbox is not correctly displayed). But all that can wait for a later version.

What is this UCI_Chess960 check option? Shouldn't that be handled by Polyglot internally? Polyglot also exported a Chess960 option to WinBoard, which I just suppressed. But I had not realized that UCI engines that actually play Chess960 add heir own option for this as well. I should suppress that too; playing Chess960 shouldd simply be controlled through the WB variant command...

Code: Select all
         if (uci_option_exist(Uci,"UCI_Chess960")) {
            xboard_send(XBoard,"feature variants=\"normal,fischerandom\"");
         } else {
            xboard_send(XBoard,"feature variants=\"normal\"");
         }

edit: (added:)
Code: Select all
      } else if (match(string,"variant *")) {

         if (my_string_equal(Star[0],"fischerandom")) {
            option_set("Chess960","true");
         } else {
            option_set("Chess960","false");
         }

I think its good to supress it anyway,we want chess not chess960 :D

Re: Which Fruit version?

PostPosted: 22 Aug 2009, 18:08
by F. Bluemers
H.G.Muller wrote:Soon we will release the WinBoard 4.4.0 installer package from the GNU XBoard website. We wanted to (optionally) include one strong engine in it, which people could use for analysis. Preferably a UCI engine, because that catches two birds with one stone: it also provides a working example of an installed UCI engine. (And let's be honest: who wants GNU Chess?)

I was thinking of Fruit, because it is open source an GPL, not very big, available for both Windows and Linux, an original and a classic.

I am no Fruit expert, though, and am not sure which version to include. I could find a Fruit 2.1 Windows compile for download somewhere, but I am not sure if this is the most recent version.

Any opinios or suggestions on this subject will be appreciated.

What about gambitfruit :?:
It got people complaining that GUI's could not process all uci options due to the number of them :D

Re: Which Fruit version?

PostPosted: 22 Aug 2009, 19:07
by H.G.Muller
F. Bluemers wrote:
Code: Select all
         if (uci_option_exist(Uci,"UCI_Chess960")) {
            xboard_send(XBoard,"feature variants=\"normal,fischerandom\"");
         } else {
            xboard_send(XBoard,"feature variants=\"normal\"");
         }

edit: (added:)
Code: Select all
      } else if (match(string,"variant *")) {

         if (my_string_equal(Star[0],"fischerandom")) {
            option_set("Chess960","true");
         } else {
            option_set("Chess960","false");
         }

I think its good to supress it anyway,we want chess not chess960 :D

Yes, this code looks OK. But then UCI_Chess960 should not occur in the Engine Settings dialog, not? If the user will change the setting while the engine was set in accordance to the variant command at the start of the game, and the user can change it at any time without the GUI knowing, that is just a recipe for trouble...

Re: Which Fruit version?

PostPosted: 22 Aug 2009, 19:21
by F. Bluemers
H.G.Muller wrote:
F. Bluemers wrote:
Code: Select all
         if (uci_option_exist(Uci,"UCI_Chess960")) {
            xboard_send(XBoard,"feature variants=\"normal,fischerandom\"");
         } else {
            xboard_send(XBoard,"feature variants=\"normal\"");
         }

edit: (added:)
Code: Select all
      } else if (match(string,"variant *")) {

         if (my_string_equal(Star[0],"fischerandom")) {
            option_set("Chess960","true");
         } else {
            option_set("Chess960","false");
         }

I think its good to supress it anyway,we want chess not chess960 :D

Yes, this code looks OK. But then UCI_Chess960 should not occur in the Engine Settings dialog, not? If the user will change the setting while the engine was set in accordance to the variant command at the start of the game, and the user can change it at any time without the GUI knowing, that is just a recipe for trouble...

yes,it is ok/good to hide it as the gui should handle it.
Just like the other UCI_ variables,i guess.
* name <id>
The option has the name id.
Certain options have a fixed value for <id>, which means that the semantics of this option is fixed.
Usually those options should not be displayed in the normal engine options window of the GUI but
get a special treatment. "Pondering" for example should be set automatically when pondering is
enabled or disabled in the GUI options. The same for "UCI_AnalyseMode" which should also be set
automatically by the GUI. All those certain options have the prefix "UCI_" except for the
first 6 options below. If the GUI gets an unknown Option with the prefix "UCI_", it should just
ignore it and not display it in the engine's options dialog.

Re: Which Fruit version?

PostPosted: 23 Aug 2009, 12:21
by Michel
UCI_Opponent and UCI_Chess960 should definitely be filtered as they are internally handled by PG.

Now what about

UCI_ShowCurrLine
UCI_ShowRefutations

It seems the extra info produced by these guys is not really used by PG. So they should be filtered.

========================================================
UCI_LimitStrength
UCI_Elo

These seem useful
========================================================
UCI_EngineAbout

This is useful information that should be communicated to the user.
========================================================

UCI_ShredderbasesPath
UCI_SetPositionValue


??

Re: Which Fruit version?

PostPosted: 23 Aug 2009, 15:03
by Michel
I posted a new version which suppresses most UCI_ options.

The main point of this release is that now all PG and engine options can be set directly from the command line.
It is explained in the manpage how to do it but here would be an example for xboard 4.2.7

xboard -fcp "polyglot -noini -log -ec fruit -hash 128"

I also suppressed the sending of Chess960 since reading the source code it seems it was never meant to be set
from the config file. It is used purely internally.

Re: Which Fruit version?

PostPosted: 20 Oct 2009, 15:55
by Onno Garms
nepossiver wrote:
Zach Wegner wrote:2.1 is the latest open source version. Glaurung/Stockfish would be a good choice too, since it's SMP.


I second Glaurung/Stockfish. In addition to strong, open source and SMP, it has a defined and cohesive development team, and it is very much in fast progress. Fruit 2.1 is a classic, but old and later versions are not open source (in fact, the latest are private), and Toga development is really messy -


Absolutely right and quite a good list of arguments. Messy means not only that the derivative work tree has a high branching factor and many leaves, but also that the latest Toga is no longer the tidy code Fabien wrote. On the one hand, many improvements were achieved. On the other hand, Thomas already introduced some bugs, and later authors made questionable changes. The worst is the poor SMP implementation that has pollulated over many functions and is a badly scaling algorithm. My opinion: Include Fruit 2.1 for didactical purposes and/or include Stockfish for playing strength.

Re: Which Fruit version?

PostPosted: 20 Oct 2009, 18:30
by Michel
From what I read on this forum it seems obvious one should include Stockfish. It is a free engine (as in speech), has a clear development model (unlike toga) and is about the same strength as Rybka 2. What more could one want?

Re: Which Fruit version?

PostPosted: 20 Oct 2009, 20:26
by Roger Brown
Michel wrote:From what I read on this forum it seems obvious one should include Stockfish. It is a free engine (as in speech), has a clear development model (unlike toga) and is about the same strength as Rybka 2. What more could one want?




Hello Michel,

Could you direct me to the evidence of the strength comparison vis a vis Rybka?

I am not in any way casting doubt on Tord's considerable (if severely understated and underappreciated) talents as a programmer.

I just think that this makes the entire strength issue between free and commercial a lot more interesting.

Later.

Re: Which Fruit version?

PostPosted: 21 Oct 2009, 02:57
by Dann Corbit
Roger Brown wrote:
Michel wrote:From what I read on this forum it seems obvious one should include Stockfish. It is a free engine (as in speech), has a clear development model (unlike toga) and is about the same strength as Rybka 2. What more could one want?




Hello Michel,

Could you direct me to the evidence of the strength comparison vis a vis Rybka?

I am not in any way casting doubt on Tord's considerable (if severely understated and underappreciated) talents as a programmer.

I just think that this makes the entire strength issue between free and commercial a lot more interesting.

Later.


Seems that stockfish does better at longer time controls. 1.5.1 is pretty new so not a lot of games yet.
Here is 40/20 for CEGT {53-27=26 Elo below with +/= 44 Elo window of error, so it is not certain which one is stronger within 2 standard deviations}:
http://www.husvankempen.de/nunn/40_40%2 ... liste.html
no Program Elo + - Games Score Av.Op. Draws
9 Rybka 2.3.2a x64 2CPU WM-2007 3053 9 9 3485 69.2% 2912 41.5%
13 Stockfish 1.5.1 x64 4CPU 3027 35 35 200 50.2% 3025 46.5%

Here is ccrl data for 40 moves in 4 minutes (69 Elo difference with error window of +/- 35 so we know Rybka 2.3.2a is clearly stronger at this speed):
http://www.computerchess.org.uk/ccrl/40 ... t_all.html
Rank Name Rating Score Average Opponent Draws Games LOS ELO + -
Rybka 2.3.2a 64-bit 4CPU 3134 +10 -10 71.2% -149.0 35.8% 3782 62.5%
4 Stockfish 1.4 64-bit 4CPU 3069 +15 -15 54.3% -32.1 35.2% 1555

Re: Which Fruit version?

PostPosted: 21 Oct 2009, 20:41
by Roger Brown
Dann Corbit wrote:
Seems that stockfish does better at longer time controls. 1.5.1 is pretty new so not a lot of games yet.
Here is 40/20 for CEGT {53-27=26 Elo below with +/= 44 Elo window of error, so it is not certain which one is stronger within 2 standard deviations}:
http://www.husvankempen.de/nunn/40_40%2 ... liste.html
no Program Elo + - Games Score Av.Op. Draws
9 Rybka 2.3.2a x64 2CPU WM-2007 3053 9 9 3485 69.2% 2912 41.5%
13 Stockfish 1.5.1 x64 4CPU 3027 35 35 200 50.2% 3025 46.5%

Here is ccrl data for 40 moves in 4 minutes (69 Elo difference with error window of +/- 35 so we know Rybka 2.3.2a is clearly stronger at this speed):
http://www.computerchess.org.uk/ccrl/40 ... t_all.html
Rank Name Rating Score Average Opponent Draws Games LOS ELO + -
Rybka 2.3.2a 64-bit 4CPU 3134 +10 -10 71.2% -149.0 35.8% 3782 62.5%
4 Stockfish 1.4 64-bit 4CPU 3069 +15 -15 54.3% -32.1 35.2% 1555



Hello Dann,

It is clear now.

Stockfish is a clone of Rybka and Tord is not the superb programmer I thought he was.

There is no way that someone as genuinely modest as Tord could have written something that good so this is the explanation.

And to think I held him in such high regard.

Tsk, tsk.

Let's see if that one flies!

:twisted:

Thanks for the data Dann, I will have to watch this one.

Later.

Re: Which Fruit version?

PostPosted: 22 Oct 2009, 16:56
by Werner Schüle
Roger Brown wrote:Hello Dann,
It is clear now.
Stockfish is a clone of Rybka and Tord is not the superb programmer I thought he was.
There is no way that someone as genuinely modest as Tord could have written something that good so this is the explanation.
And to think I held him in such high regard.
Tsk, tsk.
Let's see if that one flies!
:twisted:
Thanks for the data Dann, I will have to watch this one.
Later.


Hi Olivier,
any comment to this statement??
I think this is not a good joke!
Werner

Re: Which Fruit version?

PostPosted: 22 Oct 2009, 17:21
by Olivier Deville
Werner Schüle wrote:
Roger Brown wrote:Hello Dann,
It is clear now.
Stockfish is a clone of Rybka and Tord is not the superb programmer I thought he was.
There is no way that someone as genuinely modest as Tord could have written something that good so this is the explanation.
And to think I held him in such high regard.
Tsk, tsk.
Let's see if that one flies!
:twisted:
Thanks for the data Dann, I will have to watch this one.
Later.


Hi Olivier,
any comment to this statement??
I think this is not a good joke!
Werner


Hi Werner

Who will moderate the moderator ? :wink:

Well the joke is not that bad IMHO, and I doubt Tord will be offended.

Olivier

Re: Which Fruit version?

PostPosted: 22 Oct 2009, 22:44
by Roger Brown
Werner Schüle wrote:
Roger Brown wrote:Hello Dann,
It is clear now.
Stockfish is a clone of Rybka and Tord is not the superb programmer I thought he was.
There is no way that someone as genuinely modest as Tord could have written something that good so this is the explanation.
And to think I held him in such high regard.
Tsk, tsk.
Let's see if that one flies!
:twisted:
Thanks for the data Dann, I will have to watch this one.
Later.


Hi Olivier,
any comment to this statement??
I think this is not a good joke!
Werner




Hello Werner,

Let's leave what happens in other places out of here.

No-one who knows me in the slightest could believe for one second that I have anything but the greatest admiration for Tord as a person (most important!) and as a programmer (a distant second in the things I admire about him).

In fact, I am disappointed that with such an obvious line as let's see if that one flies that anyone could fail to see the obvious humour.

It obviously offends your sensibilities which I suggest may be a tad sensitive considering what happens elsewhere but here the mood is more relaxed and we take a different approach.

As for siccing Olivier on me as if I was supposed to be taken to the woodshed and whupped....

He's the boss and he can do as he thinks best but you seriously need to relax more and not take everything so seriously.

Oh, by the way Tord is someone I regard as a friend and yes, he is a genius and far too modest about it!

Reminds me of someone else I know.

Wait for the Stockfish clones now....

Sigh.

Later.

Re: Which Fruit version?

PostPosted: 22 Oct 2009, 22:49
by Roger Brown
Olivier Deville wrote:
Werner Schüle wrote:
Roger Brown wrote:Hello Dann,
It is clear now.
Stockfish is a clone of Rybka and Tord is not the superb programmer I thought he was.
There is no way that someone as genuinely modest as Tord could have written something that good so this is the explanation.
And to think I held him in such high regard.
Tsk, tsk.
Let's see if that one flies!
:twisted:
Thanks for the data Dann, I will have to watch this one.
Later.


Hi Olivier,
any comment to this statement??
I think this is not a good joke!
Werner


Hi Werner

Who will moderate the moderator ? :wink:

Well the joke is not that bad IMHO, and I doubt Tord will be offended.

Olivier




Hello Olivier,

Moderate as you see fit, it is your place after all.

As for me, I need to go somewhere where people are not so uptight about imagined slights and where they are perhaps not so touchy. It isn't as though there are not other fun things to do.

:evil:

Vacation time!

Later.