Fruit

From Chessprogramming wiki
Jump to: navigation, search

Home * Engines * Fruit

Samuel Bak - After the Perquisition, 1994 [1]

Fruit,
until Version 2.1 open source, is a groundbreaking UCI compatible chess engine developed by primary author Fabien Letouzey. It made its first appearance to the public in March 2004, when Fruit was a basic program with a very simple evaluation and basic search. However, since then it made progress adding about 100 Elo to each new release (1.5, 2.0, 2.1 and Fruit 2.2) [2].

Revolution

The release of Fruit until version 2.1 under the GNU General Public License was a "revolution" in computer chess in 2005 - an open source engine was "suddenly" competitive with the long time leading programs Shredder and Junior, as demonstrated at the WCCC 2005, where Fruit became runner up behind Zappa. After the strong Massy 2005 over the board debut, and the great success of Reykjavik, where Fabien Letouzey met his professional colleagues, he decided to close the source [3] and to go commercial [4] - while Fruit derivatives have already appeared based on the source code of Fruit 2.1, most notably Toga by Thomas Gaksch, and Gambit Fruit by Ryan Benitez, who in late 2005 joint forces with Fabian for the commercial endeavor. Fabien finished his commercial computer chess career so far in 2007 [5]. Fruit 2.3+ is non GPL with full rights given to Ryan Benitez who continued the Fruit development porting it to bitboards [6], while Fruit 2.1 is now owned by the Free Software Foundation [7], released as GNU Chess 6 [8].

Tournament Play

Fruit had its strong debut at CCT7, February 2005, and over the board at Massy 2005 in June 2005, with the then surprising shared second place, tied with Chess Wizard behind AnMon. After the mentioned breakthrough at the WCCC 2005 in Reykjavík, Fruit played the DOCCC 2005, operated by new book author Jeroen Noomen, who short later left the team for Rybka, the IPCCC 2005 b, CCT8 and the DOCCC 2006. Fruit continued to play CCT Tournaments from CCT10 in 2008.

Photos & Games

ShredderFruit2005.jpg

Stefan Meyer-Kahlen and Fabien Letouzey, Shredder - Fruit, WCCC 2005 [9]

[Event "WCCC 2005"]
[Site "Reykjavík, Iceland"]
[Date "2005.08.16"]
[Round "5"]
[White "Shredder"]
[Black "Fruit"]
[Result "0-1"]

1.e4 c5 2.Nf3 e6 3.d4 cxd4 4.Nxd4 Nc6 5.Nc3 a6 6.Be2 d6 7.Be3 Nf6 8.f4 Be7 9.O-O Qc7 
10.Qe1 O-O 11.Kh1 Nxd4 12.Bxd4 b5 13.Qg3 Bb7 14.a3 Bc6 15.Bd3 Rfd8 16.Rae1 Qb7 17.Bxf6
Bxf6 18.e5 Be7 19.Ne4 dxe5 20.fxe5 Rd5 21.Re2 Rf8 22.Nf6+ Bxf6 23.Rxf6 Rd4 24.Rh6 g6 
25.Rh4 Rxh4 26.Qxh4 Qb6 27.Qf4 Rd8 28.Rf2 Rd7 29.c3 Qc7 30.Qe3 Qd8 31.Bf1 Rd1 32.Kg1 Qd5
33.Re2 a5 34.Qf2 b4 35.axb4 axb4 36.cxb4 h6 37.Re1 Rxe1 38.Qxe1 Qd4+ 39.Qf2 Qxb4 40.h3 
Be4 41.Kh2 Bd5 42.Bd3 Qb7 43.Qf6 Qb6 44.Qh4 Qb8 45.Qf6 Qb7 46.Bb1 Qd7 47.Qh4 Qc7 48.Qf4 
Ba8 49.b4 Qb7 50.Qd2 Kg7 51.Qb2 Qb5 52.Kg1 h5 53.Ba2 Qd3 54.Qf2 Kg8 55.Kh2 Be4 56.Qb2 h4 
57.b5 g5 58.Qf2 Qc3 59.b6 Kf8 60.Kg1 Qa1+ 61.Kh2 Qxe5+ 62.Kg1 Qa1+ 63.Kh2 Qc3 64.Kg1 Ke7 
65.Kh2 f5 66.Kg1 Kd7 67.Kh2 Kc6 68.Qe2 Kxb6 69.Qf2+ Kc6 70.Qe2 Kd6 71.Bc4 Qe5+ 72.Kg1 Qd4+ 
73.Kh2 g4 74.hxg4 fxg4 75.Qxg4 Qxc4 76.Qxh4 Qe2 77.Qd8+ Kc6 78.Qc8+ Kb5 79.Qb8+ Kc4 80.Qc7+ 
Kd3 81.Qd6+ Bd5 82.Qa6+ Kd2 83.Qa5+ Kc2 84.Qa4+ Bb3 85.Qd4 e5 86.Qa7 e4 87.Qc5+ Bc4 88.Qa3 
Qd3 89.Qa5 e3 90.Qa4+ Qb3 91.Qe8 e2 92.Qe4+ Kb2 93.Qh4 Qc3 94.Qf2 0-1

Innovations

Fruit was and still is one of the most influential didactic open source programs. It uses a 16x12 Vector attack board representation, since Version 1.5 a 16x16 board to have a symmetric treatment of files and ranks [10] . Its structure and C source code was very clean and apparently bug-free due to runtime checking a lot of preconditions using debug asserts. While late move reductions (LMR) might be used in other programs before, Fabien's history based implementation in conjunction with history leaf pruning made LMR very popular. Another Fruit innovation, despite not absolutely new and already a known issue, and related to what is mentioned in evaluation philosophy, was tapered evaluation to avoid discontinuity [11] .

Fruit Team

Beside Fabien Letouzey as primary author and opening book author Marc Lacrosse, Ryan Benitez joined the Fruit-Team in December 2005. Before he developed Gambit Fruit with some interesting changes on the basis of the last open-source-version 2.1. Joachim Rang was the main tester of Fruit since its first public appearance, tuned parameters, and tested evaluation and search features [12] .

Fruit 64

Ryan Benitez continued the development on the non public Fruit in 2007 [14]. He converted the board representation from vector attacks to bitboards, and naturally, Fruit has become a new evaluation to go along with that [15]. Fruit by Fabien Letouzey and Ryan Benitez played the CCT10, the CCT11, where it became shared winner along with Bright after the later Rybka disqualification [16], and the CCT13 in 2011.

Influence

Many programmers took a lot of ideas and implementation details from Fruit, as noted by Vasik Rajlich [17] :

Alexander Schmidt:

The increase in playing strength of the latest chess engines is unbelieveable. We have since some time with Fruit 2.1 by Fabien Letouzey a very strong open source engine. Do you see a relation between the published sources of such a strong engine and the increase of strength in computer chess in general? How much influence do the ideas of Fruit have on the future of computerchess? 

Vasik Rajlich:

Yes, the publication of Fruit 2.1 was huge. Look at how many engines took a massive jump in its wake: Rybka, HIARCS, Fritz, Zappa, Spike, List, and so on. I went through the Fruit 2.1 source code forwards and backwards and took many things. 

Fruit Reloaded

In March 2014, ten years after the initial Fruit 1.0 release, Daniel Mehrmann initiated a "let's update Fruit" called Fruit Reloaded [18]. With some help from Ryan Benitez, the aim is to add SMP to Fruit and upgrade search and evaluation with modern techniques [19] [20]. Simultaneously, Fabien Letouzey waved goodbye to Fruit and published his new open source engine Senpai, also with Ryan Benitez and Joachim Rang involved [21].

Derivatives

See also

Rybka Controversy

Publications

Forum Posts

2004

2005

Re: why is Patriot 2.0 beta ? by Fabien Letouzey, CCC, May 17, 2005

2006

2007

Re: Fruit availability - 2 questions by Ryan Benitez, CCC, July 21, 2007

2008

2009

Re: Fruit vs. Toga poll by Ryan Benitez, CCC, March 19, 2009

2010

2011

2012 ...

External Links

Chess Engine

Fruit

Fruit-logo.jpg

Fruit reloaded

Misc

References

  1. After the Perquisition, 1994 in Samual Bak - The Fruit of Knowledge (pdf) from the Pucker Gallery - Samuel Bak
  2. Fruit - pure playing strength - Team / History
  3. Re: Fruit Reykjavic by Fabien Letouzey, CCC, August 24, 2005
  4. Fruit commercial by Fabien Letouzey, CCC, September 16, 2005
  5. Fruit - pure playing strength
  6. Re: How many "official" Toga projects there is now by Ryan Benitez, CCC, January 24, 2008
  7. Re: When will come a new Toga Engine? by Ryan Benitez from CCC, April 10, 2009
  8. GNU Chess 6 (= Fruit) by Harm Geert Muller, CCC, January 25, 2011
  9. Photo by Gerd Isenberg
  10. Re: Fruit's Board Representation? by Fabien Letouzey, Winboard Forum, April 28, 2005
  11. Secrets of Rybka and Fruit from my point of view by Sergei Markoff, CCC, December 15, 2005
  12. Fruit - pure playing strength - Team / History
  13. To Fruit's author Fabien Letouzey and commercial manager Joachim Rang by Marc Lacrosse, CCC, November 17, 2005
  14. Re: Question to co-Author of Fruit and Chess64, Ryan Benitez by Ryan Benitez, CCC, November 03, 2007
  15. Re: Fruit vs. Toga poll by Ryan Benitez, CCC, March 19, 2009
  16. CCT11: Bright by Allard Siemelink and Fruit by Fabien Letouzey are Co-Champions
  17. Interview with Vasik Rajlich by Christopher Conkie, Michael Diosi, Frank Quisinsky & Alexander Schmidt, December 20, 2005, hosted by Ed Schröder
  18. Fruit 1.0 anniversary by Fabien Letouzey, CCC, March 17, 2014
  19. Akusari/Fruit-reloaded-public · GitHub
  20. Fruit Reloaded - Computer Chess Programming hosted by Steve Maughan
  21. Senpai 1.0 (new engine) by Fabien Letouzey, CCC, March 17, 2014
  22. Feb 12 version: Rybka 1.0 Beta / Fruit 2.1 document by Mark Watkins, OpenChess General Forum, February 12, 2011
  23. Programmer Corner - How Rebel Plays Chess - Reductions by Ed Schröder, pdf reprint
  24. GNU Chess - Free Software Foundation
  25. Interview with Fabien (from the year 2005) ... by Frank Quisinsky, CCC, January 25, 2011

Up one Level