Fruit
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].
Contents
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
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] .
- Evaluation Philosophy
- History Heuristic
- History Leaf Pruning
- Late Move Reductions
- Null Move Pruning
- Tapered Eval
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] :
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?
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
- Cluster Toga
- Cyclone
- Fruit Reloaded
- Gambit Fruit
- GNU Chess 6
- Grapefruit
- GridChess
- Lion
- Patriot 2.0
- Rybka
- Strelka
- Toga
See also
Publications
- Mark Watkins (2011). A comparison of Rybka 1.0 Beta and Fruit 2.1, pdf, February 12, 2011 Version [22]
- Mark Watkins (2011). A comparison of Rybka 1.0 Beta and Fruit 2.1, pdf, February 24, 2011 Version
- Mark Watkins (2011). A comparison of Rybka 1.0 Beta and Fruit 2.1, pdf, March 11, 2011 Version » Rybka
- Jaap van den Herik, Krzysztof Siewicz (2011). Open Source has a Price. ICGA Journal, Vol. 34, No. 2
Forum Posts
2004
- Fruit Results, by Afzal Siddique, CCC, March 10, 2004
- Fruit: first observations. Not a coconut yet, a budding pomegranate? by Đorđe Vidanović, CCC, March 10, 2004
- Fruit - Question for Fabien by Dan Honeycutt, CCC, March 11, 2004 » Node Types, Transposition Table, Principal Variation, Principal Variation Search
- What makes Fruit so strong? by Steve Maughan, March 12, 2004
- Fruit, trying to answer various missed posts by Fabien Letouzey, CCC, March 15, 2004
- Fruit 1.0 UCI (with source code) now available by Fabien Letouzey, CCC, March 17, 2004
- Fruit 1.0 64-bit by Slater Wold, CCC, March 26, 2004
- Fruit 1.5 UCI available (Windows/Linux/MacOS + source code)! by Fabien Letouzey, CCC, June 04, 2004
- Fruit 1.5 released! by Joachim Rang, CCC, June 05, 2004
- Fruit 1.5 Hash Hit Percentage by Robert Allgeuer, CCC, June 19, 2004
- null move question(Fruit) by Jan K., CCC, July 22, 2004
- Fruit 2.0 released! by Joachim Rang, CCC, December 24, 2004
2005
- Fruit2 = Ruffian with source code! by Jouni Uski, CCC, January 04, 2005
- Fruit 2 and endgame play by Jouni Uski, CCC, January 12, 2005
- Fruit's Board Representation? by Steve Maughan, Winboard Programming Forum, April 27, 2005
- why is Patriot 2.0 beta ? by Matthias Gemuh, CCC, May 16, 2005 » Patriot
- Re: why is Patriot 2.0 beta ? by Fabien Letouzey, CCC, May 17, 2005
- Re: What makes Fruit and Fruit-Toga so strong? by Fabien Letouzey, CCC, June 15, 2005
- understanding fruit by Uri Blass, Winboard Programming Forum, June 18, 2005
- Temptation for Fabien: going commercial by Matthias Gemuh, CCC, June 20, 2005
- Fruit on Pocket PC by Alain Zanchetta, CCC, July 27, 2005 » CEBoard, Pocket PC
- Re: Some details by Joachim Rang, CCC, August 09, 2005
- Re: Fruit Reykjavic by Fabien Letouzey, CCC, August 24, 2005
- Fruit commercial by Fabien Letouzey, CCC, September 16, 2005
- Re: Fact is also that Fruit went commercial by Eduard Nemeth, CCC, November 09, 2005
- Re: Gambit Fruit ? by Ryan B., CCC, November 15, 2005
- Has anyone tested Gambit Fruit with Rebel Reductions on? by Ryan B., CCC, November 15, 2005 » Reductions, Rebel [23]
- To Fruit's author Fabien Letouzey and commercial manager Joachim Rang by Marc Lacrosse, CCC, November 17, 2005
- Gambit Fruit Beta 3 available by Ryan B., CCC, November 19, 2005
- A. STEEN vs. FRUIT 2.2.1 {Posted at request of Graham Banks & M. Monge} by A. Steen, CCC, November 24, 2005
- Unmasking the Secrets of Rybka and Fruit by Stuart Cracraft, CCC, December 15, 2005
- Secrets of Rybka and Fruit from my point of view by Sergei Markoff, CCC, December 15, 2005
2006
- SSDF(Fruit 2.2.1 - Ruffian 1.0.1)A1200, 2½-2½, ended 26-14 by Tony Hedlund, CCC, January 09, 2006 » SSDF, Ruffian
- not correct information in fruit's site by Uri Blass, CCC, January 09, 2006
- congratulations to gambit-fruit! by Thorsten Czub, CCC, January 13, 2006 » Gambit Fruit
- Rybka and Fruit on Chessbase by Walter Faxon, CCC, January 14, 2006 » Rybka, ChessBase
- SSDF(Fritz 9 - Fruit 2.2.1)A1200, 1.5-1.5, ended 21-19 by Tony Hedlund, CCC, January 14, 2006 » SSDF, Fritz
- SSDF Fruit 2.2.1 A1200 - Junior 7.0 A1200 Ended: 38.5-8.5 by Paul Petersson, CCC, January 22, 2006 » SSDF, Junior
- SSDF(Hiarcs 10 - Fruit 2.2.1)A1200, 1-2, ended 19-21 by Tony Hedlund, CCC, January 29, 2006 » SSDF, HIARCS
- What are the moves of the loss of fruit against hiarcs? by Uri Blass, CCC, February 26, 2006 » CCT8
- Fruit depth by Stuart Cracraft, CCC, March 06, 2006 » Depth, Branching Factor
- Toga II 1.2 Beta2a based on Fruit released by Thomas Gaksch, CCC, March 08, 2006
2007
- SSDF(Hiarcs 11.1 - Fruit 2.2.1)A1200, 12-7, ended 24-24 by Tony Hedlund, April 28, 2007 » SSDF, HIARCS
- SSDF(Zap!Chess Zanzibar-Fruit 2.2.1)A1200 3½-2½ ende 22½-17½ by Tony Hedlund, June 24, 2007 » SSDF, Zappa
- Fruit, Rybka, Strelka final conclusion! (I hope) by Michael Sherwin, CCC, July 13, 2007 » Rybka, Strelka
- What is Fruit? Fabien explains! by Michael Sherwin, CCC, July 14, 2007
- Fruit and History Reductions by Ed Schröder, CCC, July 19, 2007 » Late Move Reductions
- Fruit availability - 2 questions by Kaj Soderberg, CCC, July 20, 2007
- Re: Fruit availability - 2 questions by Ryan Benitez, CCC, July 21, 2007
- Fruit is already a free chess engine... by Dr.Wael Deeb, CCC, July 23, 2007
- Fruit 2.2.1 : 2687 by Patrick Buchmann, CCC, July 24, 2007
- Fruit 2.3 released by Ryan Benitez, CCC, July 26, 2007
- Fruit 2.3 : 2689 by Patrick Buchmann, CCC, July 31, 2007
- Fruit 2.3.1 released by Ryan Benitez, CCC, August 02, 2007
- Fruit 2.3.1 : 2673 by Patrick Buchmann, CCC, August 06, 2007
- Is Toga still weaker than Fruit? by Jouni Uski, CCC, August 23, 2007
- Fruit2.3.1 stalemate bug by Uri Blass, CCC, October 21, 2007
- Question to co-Author of Fruit and Chess64, Ryan Benitez by Swaminathan, CCC, November 03, 2007
- Fruit SMP 2.3.4e Beta by Daniel Charles, CCC, December 15, 2007
2008
- Re: How many "official" Toga projects there is now by Ryan Benitez, CCC, January 24, 2008
- Has Fruit finaly surpassed Rybka!? by Dr.Wael Deeb, CCC, March 11, 2008
- Fruit 2.1 pruning by kongsian, CCC, July 15, 2008 » Pruning
- Fruit 2.1 vs Strelka 2.0 by Norman Schmidt, CCC, August 18, 2008
- counting similiarities between strelka2.0 and fruit2.1 by Uri Blass, CCC, August 22, 2008
- Strelka = Rybka 1.0 =Fruit 2.1 = Toga?? Oh how disappointing by Oliver Brausch, CCC, October 21, 2008 » Strelka, Rybka, Toga
- Chess engine oldies upgrades by Denis P. Mendoza, Toga Developers Discussion Board, December 30, 2008 » Gambit Fruit
2009
- posix source for GambitFruit4bxSE ? by Martin Helmer, CCC, January 28, 2009
- Fruit vs. Toga poll by Miguel A. Ballicora, CCC, March 11, 2009
- Re: Fruit vs. Toga poll by Ryan Benitez, CCC, March 19, 2009
- Error in Fruit 2.1 source? by Ernest Bonnem, CCC, March 25, 2009
- Re: When will come a new Toga Engine? by Ryan Benitez, CCC, April 10, 2009
- Toga / Fruit historical question by Vladimir Medvedev, CCC, August 25, 2009
2010
- Question about Fruit 2.1 code by Harm Geert Muller, CCC, April 14, 2010
- Cluster Toga based on Fruit Source Code by Kai Himstedt, CCC, June 07, 2010 » Cluster Toga
- Question about Fruit by Peter Kasinski, CCC, December 02, 2010
- Brief Q&A about Rybka 1.0 Beta and Fruit 2.1 by BB+, OpenChess Forum, December 14, 2010
2011
- Interview with Fabien (from the year 2005) ... by Frank Quisinsky, CCC, January 25, 2011
- GNU Chess 6 (= Fruit) by Harm Geert Muller, CCC, January 25, 2011 [24]
- Feb 12 version: Rybka 1.0 Beta / Fruit 2.1 document by BB+, OpenChess Forum, February 12, 2011
- Attack of the clones | ChessVibes by David Levy, 19 February, 2011 (Wayback Machine)
- Programmers write open letter about Rybka-Fruit issue | ChessVibes by Peter Doggers, March 01, 2011 (Wayback Machine)
- Open letter to the ICGA about the Rybka-Fruit issue by Harvey Williamson, Hiarcs Forum, March 01, 2011
- Programmers Open Letter to ICGA on Rybka/Fruit by BB+, OpenChess Forum, March 01, 2011 » ICGA Investigations
- Loop 2007 / Fruit 2.1 by BB+, OpenChess Forum, Apr 18, 2011 » Loop
2012 ...
- Fruit/Rybka timeline by BB+, OpenChess Forum, January 09, 2012
- Fruit 1.0 anniversary by Fabien Letouzey, CCC, March 17, 2014
- Fruit and derivatives list ! by De Noose Daniel, CCC, August 31, 2019
External Links
Chess Engine
Fruit
- Fruit Chess Engine by Fabien Letouzey - Fruit 2.1 source
- GNU Chess - Free Software Foundation
- Fruit's ICGA Tournaments
- Fruit (chess engine) from Wikipedia
- The alternative to Crafty, Interview with Fabien Letouzey by Frank Quisinsky April 05, 2005, from Free chess graphical user interface (GUI) Arena for chess engines, News-Ticker, Page 7, 96, FQ, also hosted by Ed Schröder [25]
- Attack of the clones | ChessVibes by David Levy, 19 February, 2011 » Rybka, Strelka
- Fruit 2.1 in CCRL 40/40
- Fruit 2.1 in CCRL 40/4
Fruit reloaded
- Akusari/Fruit-reloaded-public · GitHub
- Fruit Reloaded - Computer Chess Programming hosted by Steve Maughan
Misc
- Fruit from Wikipedia
- Fruit (disambiguation) from Wikipedia
- Forbidden fruit (disambiguation) from Wikipedia
- Forbidden fruit from Wikipedia
- Billie Holiday - Strange Fruit (1939), YouTube Video
References
- ↑ After the Perquisition, 1994 in Samual Bak - The Fruit of Knowledge (pdf) from the Pucker Gallery - Samuel Bak
- ↑ Fruit - pure playing strength - Team / History
- ↑ Re: Fruit Reykjavic by Fabien Letouzey, CCC, August 24, 2005
- ↑ Fruit commercial by Fabien Letouzey, CCC, September 16, 2005
- ↑ Fruit - pure playing strength
- ↑ Re: How many "official" Toga projects there is now by Ryan Benitez, CCC, January 24, 2008
- ↑ Re: When will come a new Toga Engine? by Ryan Benitez from CCC, April 10, 2009
- ↑ GNU Chess 6 (= Fruit) by Harm Geert Muller, CCC, January 25, 2011
- ↑ Photo by Gerd Isenberg
- ↑ Re: Fruit's Board Representation? by Fabien Letouzey, Winboard Forum, April 28, 2005
- ↑ Secrets of Rybka and Fruit from my point of view by Sergei Markoff, CCC, December 15, 2005
- ↑ Fruit - pure playing strength - Team / History
- ↑ To Fruit's author Fabien Letouzey and commercial manager Joachim Rang by Marc Lacrosse, CCC, November 17, 2005
- ↑ Re: Question to co-Author of Fruit and Chess64, Ryan Benitez by Ryan Benitez, CCC, November 03, 2007
- ↑ Re: Fruit vs. Toga poll by Ryan Benitez, CCC, March 19, 2009
- ↑ CCT11: Bright by Allard Siemelink and Fruit by Fabien Letouzey are Co-Champions
- ↑ Interview with Vasik Rajlich by Christopher Conkie, Michael Diosi, Frank Quisinsky & Alexander Schmidt, December 20, 2005, hosted by Ed Schröder
- ↑ Fruit 1.0 anniversary by Fabien Letouzey, CCC, March 17, 2014
- ↑ Akusari/Fruit-reloaded-public · GitHub
- ↑ Fruit Reloaded - Computer Chess Programming hosted by Steve Maughan
- ↑ Senpai 1.0 (new engine) by Fabien Letouzey, CCC, March 17, 2014
- ↑ Feb 12 version: Rybka 1.0 Beta / Fruit 2.1 document by Mark Watkins, OpenChess General Forum, February 12, 2011
- ↑ Programmer Corner - How Rebel Plays Chess - Reductions by Ed Schröder, pdf reprint
- ↑ GNU Chess - Free Software Foundation
- ↑ Interview with Fabien (from the year 2005) ... by Frank Quisinsky, CCC, January 25, 2011