Question about Fruit

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

Moderators: hgm, Rebel, chrisw

kasinp
Posts: 251
Joined: Sat Dec 02, 2006 10:47 pm
Location: Toronto
Full name: Peter Kasinski

Re: Question about Fruit

Post by kasinp »

Dann Corbit wrote:
kasinp wrote:I hope I’m not the slowest guy who visits this place. A long while back I wrote a functional chess engine which could spot a mate in 10 even if it did little else well. However, I never had the time (or patience, or resolve) to study Fruit source code.

My request: could someone explain in broad strokes what was so utterly revolutionary about Fruit?

I am looking for a brief (bullet-point?) summary to help me gain the perspective that everyone else seems to share.

Much appreciated,
PK
Fruit was mostly so strong because of solid, bug-free programming.

The most copied idea was Sergei Markov's "Late Move Reductions" which Fruit popularized.

Fabian's search algorithm was better than other search algorithms of that era in that it had a better branching factor due to clever reductions.

There are lots of little, incremental things in the code that made it better than other programs of that time period. It is very hard to put your finger down and list them in importance. I doubt if anyone can do it accurately.

Today, Fruit is well down the list in strength, compared to recent top programs:
http://computerchess.org.uk/ccrl/4040/r ... t_all.html
Thanks for all the answers.

Placing this note here allows me to respond to what was the first, and the most comprehensive reply.

I appreciate all responses but I am puzzled at the extent of the ongoing debates (several other threads). At the risk of overstating it, I expected something as revolutionary as: "Fruit was the first circle in the world of triangles". Instead, it appears that Fruit was a well written (and debugged) program which introduced a number of small improvements (none meriting a specific mention in this thread) in addition to one fundamentally new concept of LMR.

On reflection it appears that explaining Rybka's dominance by quoting Fruit is somewhat offensive to the programmers who have managed to grasp the concept of LMR, and yet were unable to automatically bring their engines to Rybka's strength.

Latest Fritz still can't touch R3, 30 months after its release. Now I must conclude that whatever secret was the difference maker for R3 is unlikely to have been taken from Fruit.

Regards,
PK
Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: Question about Fruit

Post by Milos »

kasinp wrote:Instead, it appears that Fruit was a well written (and debugged) program which introduced a number of small improvements (none meriting a specific mention in this thread) in addition to one fundamentally new concept of LMR.
Well, if you knew some programing and understood disassembled code, you would know that Rybka 3 is exactly the same thing. A well written (not so well debugged ;)) program which introduced a number of small improvements (none meriting a specific mention) in addition to extremely well tuned evaluation values and terms.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Question about Fruit

Post by Don »

kasinp wrote:
Dann Corbit wrote:
kasinp wrote:I hope I’m not the slowest guy who visits this place. A long while back I wrote a functional chess engine which could spot a mate in 10 even if it did little else well. However, I never had the time (or patience, or resolve) to study Fruit source code.

My request: could someone explain in broad strokes what was so utterly revolutionary about Fruit?

I am looking for a brief (bullet-point?) summary to help me gain the perspective that everyone else seems to share.

Much appreciated,
PK
Fruit was mostly so strong because of solid, bug-free programming.

The most copied idea was Sergei Markov's "Late Move Reductions" which Fruit popularized.

Fabian's search algorithm was better than other search algorithms of that era in that it had a better branching factor due to clever reductions.

There are lots of little, incremental things in the code that made it better than other programs of that time period. It is very hard to put your finger down and list them in importance. I doubt if anyone can do it accurately.

Today, Fruit is well down the list in strength, compared to recent top programs:
http://computerchess.org.uk/ccrl/4040/r ... t_all.html
Thanks for all the answers.

Placing this note here allows me to respond to what was the first, and the most comprehensive reply.

I appreciate all responses but I am puzzled at the extent of the ongoing debates (several other threads). At the risk of overstating it, I expected something as revolutionary as: "Fruit was the first circle in the world of triangles". Instead, it appears that Fruit was a well written (and debugged) program which introduced a number of small improvements (none meriting a specific mention in this thread) in addition to one fundamentally new concept of LMR.

On reflection it appears that explaining Rybka's dominance by quoting Fruit is somewhat offensive to the programmers who have managed to grasp the concept of LMR, and yet were unable to automatically bring their engines to Rybka's strength.
Yes. It's extremely offensive because it takes away everything from the programmer and it's an insult to ALL programmers. If you read what is being said it is that Rybka is 99% Fruit, and that whatever was added to it is trivial and inconsequential. It's an extreme point of view that is totally ludicrous to any strong chess programming author who realizes how non-trivial it is to add even 20 or 30 ELO to an existing strong program. To me the last 50 ELO is 95% of what makes Komodo what it is and was the most difficult 50 ELO to obtain. Gaining 50 ELO takes longer than writing a complete chess program from scratch.

These idiots do not have any real comprehension of how much hard work is involved in writing a really strong program. Even if someone started with a copy of Fruit but produced a modern state of the art program (which is NOT what Fruit is now) that would save them almost no time percentage-wise.

If the Rybka-cloners ever manage to actually produce a program substantially stronger the Rybka, then my opinion of them will change - but it's not very impressive using a clone of Rybka to produce something that plays like Rybka, is the same strength as Rybka or is even a rewrite of Rybka. If someone produces a clone that is
100 ELO stronger then I KNOW they put a ton of blood sweat and tears into the project and I no longer care if they started with "Robbo" or something else.

Latest Fritz still can't touch R3, 30 months after its release. Now I must conclude that whatever secret was the difference maker for R3 is unlikely to have been taken from Fruit.

Regards,
PK
Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: Question about Fruit

Post by Milos »

Don wrote:Yes. It's extremely offensive because it takes away everything from the programmer and it's an insult to ALL programmers. If you read what is being said it is that Rybka is 99% Fruit, and that whatever was added to it is trivial and inconsequential. It's an extreme point of view that is totally ludicrous to any strong chess programming author who realizes how non-trivial it is to add even 20 or 30 ELO to an existing strong program. To me the last 50 ELO is 95% of what makes Komodo what it is and was the most difficult 50 ELO to obtain. Gaining 50 ELO takes longer than writing a complete chess program from scratch.
No it's maybe offensive against you, but don't put your name as a representative of all the programmers since you are obviously not one.
If you are incapable of making more than 50elo progress this doesn't mean it's a general rule.
You are obviously projecting your own disability to every other programmer trying to make some picture where Vas is a genius since he can do what you can't. All these tantrums of yours are nothing else but your own protection mechanism where you are just rationalizing. It's been shown to you that many programs achieved more than Rybka in the same period. So these programmers (with their original programs) are clearly capable of performing at the same level as Vas and your projected attitude covering your own inabilities is nothing else but an offense against other good programmers.
These idiots do not have any real comprehension of how much hard work is involved in writing a really strong program. Even if someone started with a copy of Fruit but produced a modern state of the art program (which is NOT what Fruit is now) that would save them almost no time percentage-wise.
Obviously you totally lost it. Sad really.
If the Rybka-cloners ever manage to actually produce a program substantially stronger the Rybka, then my opinion of them will change - but it's not very impressive using a clone of Rybka to produce something that plays like Rybka, is the same strength as Rybka or is even a rewrite of Rybka. If someone produces a clone that is
100 ELO stronger then I KNOW they put a ton of blood sweat and tears into the project and I no longer care if they started with "Robbo" or something else.
Houdini is at least 60 elo stronger than Rybka 3 (its alleged clone source in your world) in x64 and more than 80elo (in shorter TCs certainly over 100elo) in x32.
So it already surpassed your so much glorified 50 elo achievement (that you are incapable of making) and the new version is coming soon. So there is definitively more to expect.
Problem is you are not capable to give credit where credit is due just because it makes you personally miserable.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Question about Fruit

Post by bob »

Dann Corbit wrote:
Tord Romstad wrote:
Dann Corbit wrote:The most copied idea was Sergei Markov's "Late Move Reductions" which Fruit popularized.
Sergei Markov? No, LMR is a lot older than that. It's one of these techniques which have been around forever, but for some reason almost nobody believed in it until a few years back. I think I spent about a year describing and recommending the technique here on the CCC before anyone even bothered to try it (which is strange, considering that a basic implementation takes just a few minutes of work). The earliest open source engine I'm aware of which uses LMR is Pepito.
It was Sergei that I remembered popularizing it. But probably I was mistaken. I have correspondence with a chess programmer in Brazil where we talked about the idea before 2000.
Both Bruce Moreland and I played with this in the 1995-1996 range. But at the shallow depths we saw, and without any reasonable way of filtering which moves should be reduced and which should not (using something other than just 'the move is tried later rather than earlier in the ordering) we did not get very far. It looked very promising due to the depth it would produce, but it also produced significant blunders...
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Question about Fruit

Post by Don »

Milos wrote: No it's maybe offensive against you, but don't put your name as a representative of all the programmers since you are obviously not one.
I'm obviously not a chess programmer? Where did Komodo come from?
If you are incapable of making more than 50elo progress this doesn't mean it's a general rule.
I am capable and have done it several times in a row. My statement is that it's HARD to do, it takes a LOT of work.

There is no strong program author that won't back me up on this. It's easy for you to imagine that this is easy to do since all you have to do it sit back and wait for someone to release a new version of their program and then download it. No effort on your part but you don't really know what is going on behind the scenes.

[/quote]
Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: Question about Fruit

Post by Milos »

Don wrote:I'm obviously not a chess programmer? Where did Komodo come from?
No you are not representative of all the programmers (you are certainly a chess programmer). There are ppl with different opinion (quite a few) who are successful chess programmers.
There is no strong program author that won't back me up on this. It's easy for you to imagine that this is easy to do since all you have to do it sit back and wait for someone to release a new version of their program and then download it. No effort on your part but you don't really know what is going on behind the scenes.
This is your opinion. I might know I might not know. However, I would not be so certain that everyone would back up your opinion, as a matter of fact, I don't think you are even in majority.
bhlangonijr
Posts: 482
Joined: Thu Oct 16, 2008 4:23 am
Location: Milky Way

Re: Question about Fruit

Post by bhlangonijr »

Milos wrote:
Don wrote:I'm obviously not a chess programmer? Where did Komodo come from?
No you are not representative of all the programmers (you are certainly a chess programmer). There are ppl with different opinion (quite a few) who are successful chess programmers.
There is no strong program author that won't back me up on this. It's easy for you to imagine that this is easy to do since all you have to do it sit back and wait for someone to release a new version of their program and then download it. No effort on your part but you don't really know what is going on behind the scenes.
This is your opinion. I might know I might not know. However, I would not be so certain that everyone would back up your opinion, as a matter of fact, I don't think you are even in majority.
Don Dailey is one of the few authors of a - original work - 3000+ chess engine and he is actively involved in the chess community for years (also he is one of the founding members of the chess programming wiki). ...So I am sure he is pretty representative of all chess programmers.

As a matter of fact, the best Fruit (amazing work by Fabien) could achieve was a 2th place at Reykjavík in 2005, being one of the strongest chess programs at that time. In another hand, Rybka is completely unbeaten in every computer chess tournament for more than 5 years in a row.
And well, while you and others just keep talking the fact is: Vas will stick in the computer chess history as one of the most successful and innovative persons.

"The credit belongs to the man who is actually in the arena - whose face is marred by dust and sweat and blood...who knows the great enthusiasms, the great devotions - and spends himself in a worthy cause - who at best if he wins knows the thrills of high achievement - and if he fails at least fails while daring greatly - so that his place shall never be with those cold and timid souls who know neither victory or defeat"
Dann Corbit
Posts: 12564
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Question about Fruit

Post by Dann Corbit »

Milos wrote:
Don wrote:I'm obviously not a chess programmer? Where did Komodo come from?
No you are not representative of all the programmers (you are certainly a chess programmer). There are ppl with different opinion (quite a few) who are successful chess programmers.
There is no strong program author that won't back me up on this. It's easy for you to imagine that this is easy to do since all you have to do it sit back and wait for someone to release a new version of their program and then download it. No effort on your part but you don't really know what is going on behind the scenes.
This is your opinion. I might know I might not know. However, I would not be so certain that everyone would back up your opinion, as a matter of fact, I don't think you are even in majority.
There are a few people who are the true pioneers of computer chess. Don Dailey is one of them.
http://chessprogramming.wikispaces.com/Don+Dailey

Your comments about Don do not put you into a good light.

IMO-YMMV
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Question about Fruit

Post by bob »

Don wrote:
Milos wrote: No it's maybe offensive against you, but don't put your name as a representative of all the programmers since you are obviously not one.
I'm obviously not a chess programmer? Where did Komodo come from?
If you are incapable of making more than 50elo progress this doesn't mean it's a general rule.
I am capable and have done it several times in a row. My statement is that it's HARD to do, it takes a LOT of work.

There is no strong program author that won't back me up on this. It's easy for you to imagine that this is easy to do since all you have to do it sit back and wait for someone to release a new version of their program and then download it. No effort on your part but you don't really know what is going on behind the scenes.
[/quote]

I disagree. It is easy to do if you start with a poor program and apply state-of-the-art ideas. Or it is easy to do if you start with a good program and copy code directly from a program or programs that are significantly stronger.

To do it the way many of us have done it over the past 40+ years _is_ hard. But for me, half the fun has been in overcoming the difficulty. I get zero satisfaction from copying someone else's code, and if there is no satisfaction, how can there be any pride in what one does? And without pride, what is the point in the first place?

For some, pride is irrelevant, results and false recognition are the goals...