Changes

Jump to: navigation, search

Junior

18,014 bytes added, 11:37, 4 June 2018
Created page with "'''Home * Engines * Junior''' FILE:1920 Locust yearbook p. 053 (Junior).jpg|border|right|thumb| Junior class artwork <ref>Junior class artwork featured in..."
'''[[Main Page|Home]] * [[Engines]] * Junior'''

[[FILE:1920 Locust yearbook p. 053 (Junior).jpg|border|right|thumb| Junior class artwork <ref>Junior class artwork featured in [https://en.wikipedia.org/wiki/Texas_A%26M_University%E2%80%93Commerce East Texas State Normal College's] [http://dmc.tamuc.edu/digital/collection/p15778coll9/id/5086 1920 Locust yearbook], [https://en.wikipedia.org/wiki/Junior_(education) Junior (education) from Wikipedia]</ref> ]]

'''Junior''', (Deep Junior)<br/>
a chess engine by primary programmer [[Amir Ban]] and [[Shay Bushinsky]]. Junior is six times winner of the [[Shannon Trophy]] from [[WCCC 2002]], [[WCCC 2004]] <ref>[https://www.stmintz.com/ccc/index.php?id=376311 Junior thoughts] by [[Amir Ban]], [[CCC]], July 12, 2004</ref> , [[WCCC 2006]], [[WCCC 2009]] (shared), [[WCCC 2011]] <ref>[http://www.chess.org.il/users/ShowNewsUpdates.aspx?contentId=304&contentTypeId=2 ריאיון עם שי בושינסקי], November 27, 2011 (Hebrew) [http://translate.google.com/translate?sl=iw&tl=en&js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&u=http%3A%2F%2Fwww.chess.org.il%2Fusers%2FShowNewsUpdates.aspx%3FcontentId%3D304%26contentTypeId%3D2 Interview with Shay Bushinsky] translated by [https://en.wikipedia.org/wiki/Google_Translate Google Translate]</ref> and [[WCCC 2013]], and two times winner of the [[World Microcomputer Chess Championship]], the [[WMCCC 1997]] and [[WMCCC 2001]] respectively, and thus '''most successful program''' ever. [[Opening Book Authors|Book authors]] are [[Alon Greenfeld]] and [[Boris Alterman]]. In 2003, the multiprocessor version '''Deep Junior''' played a [[Kasparov versus Deep Junior 2003|6-game match]] against [https://en.wikipedia.org/wiki/Garry_Kasparov Garry Kasparov] that resulted in a 3-3 tie. Junior is known for its entertaining, dynamic and sometimes speculative playing style <ref>[https://en.chessbase.com/post/programs-and-eentials/3 Programs and essentials] by [[Steve Lopez]], [[ChessBase|ChessBase News]], March 13, 2005</ref> <ref>[https://www.stmintz.com/ccc/index.php?id=416509 Nice article about Junior 9 by Steve Lopez] by Jorge Pichard, [[CCC]], March 12, 2005</ref> . Until version 10.0 market as [[ChessBase]] engine in conjunction with the [[Fritz#FritzGUI|Fritz GUI]] <ref>[http://www.chessbase.com/shop/product.asp?pid=288 Chess software - Junior 10] from [[ChessBase]]</ref> , Deep Junior 13 as pure [[UCI Engines|UCI compatible engine]] is purchased as download product from the [[Hiarcs]] site <ref>[http://www.hiarcs.com/pc-chess-deep-junior.htm Deep Junior 13 PC Chess Software] from [http://www.hiarcs.com/index.htm HIARCS Chess Software for PC, Mac, Pocket PC, iPhone, iPod and Palm Chess]</ref> , and requires a [[Windows]] [[IBM PC|PC]] and an external [[GUI]] supporting the [[UCI]] protocol.

=Photos & Games=
<ref>[[WCCC 2006]], Photos by [[Gerd Isenberg]]</ref>
==WCCC 2006 Round 4==
[[FILE:JuniorShredder2006.JPG|none|border|text-bottom|640px]]
[[Stefan Meyer-Kahlen]], [[Amir Ban]], [[Theo van der Storm]], ..., and [[Johannes Zwanzger]] watching <br/>
[[WCCC 2006]], round 4, [[Junior]] - [[Shredder]] <ref>[https://www.game-ai-forum.org/icga-tournaments/round.php?tournament=16&round=4&id=1 Turin 2006 - Chess - Round 4 - Game 1 (ICGA Tournaments)]</ref>
<pre>
[Event "WCCC 2006"]
[Site "Turin, Italy"]
[Date "2006.05.27"]
[Round "4"]
[White "Junior"]
[Black "Shredder"]
[Result "1/2-1/2"]

1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 a6 6.Be3 e5 7.Nb3 Be6 8.f3 Nbd7
9.Qd2 Be7 10.g4 O-O 11.O-O-O b5 12.g5 Nh5 13.Nd5 Bxd5 14.exd5 b4 15.Kb1 a5
16.Bb5 a4 17.Nc1 a3 18.Nd3 Rb8 19.Bc6 axb2 20.Rhg1 Qc7 21.Rg4 f5 22.Rxb4 f4
23.Bf2 Bxg5 24.c3 Kh8 25.Qc2 Nhf6 26.Rg1 Bh6 27.Qa4 Nb6 28.Qa5 Nbxd5 29.Qxc7
Nxc7 30.Rxb8 Rxb8 31.Nb4 Ne6 32.Rd1 e4 33.a4 exf3 34.a5 Ng4 35.Rd2 Nxf2
36.Rxf2 Nc7 37.a6 Nxa6 38.Nxa6 Rb3 39.Rxf3 g5 40.Bd5 Rb5 41.Bc4 Rb7 42.Nb4 g4
43.Rd3 Bg7 44.Rxd6 Bxc3 45.Nd5 Bd2 46.Nf6 Bc3 47.Nxg4 Kg7 48.Rd5 Ra7 49.Ba2
h6 50.h4 Ra4 51.Nh2 Re4 52.Rd1 Re3 53.Rg1+ Rg3 54.Rf1 Re3 55.Nf3 Kg6 56.Bb3
Kf5 57.h5 Re7 58.Rd1 Kg4 59.Bd5 1/2-1/2
</pre>
==WCCC 2006 Shannon Trophy==
[[FILE:AmirWithShannonTrophy2006.jpg|none|border|text-bottom|640px]]
[[Jaap van den Herik]] awards [[Amir Ban]] with the [[Shannon Trophy]]. First prize for Junior, [[WCCC 2006]]

=Description=
given in 1995 from the [[ICGA]] page <ref>[https://www.game-ai-forum.org/icga-tournaments/program.php?id=24 Junior's ICGA Tournaments]</ref> :
Junior is a leading Israeli chess playing PC program. It was developed as a hobby by Amir Ban and Shay Bushinsky. Junior's breakthrough occurred during August 1994: The program scored a remarkable equal fourth place (with [[Alon Greenfeld|GM Alon Greenfeld]]) in the [https://en.wikipedia.org/wiki/Kfar_Saba Kfar-Saba] Open national chess tournament. The games were conducted under normal tournament time control. In the final round, Junior amazingly defeated GM Leonid Gopstein. During November 1994, Junior participated in the strongest international blitz tournament ever held in Israel. It beat [https://en.wikipedia.org/wiki/Ilya_Smirin GM Ilya Smirin] and drew with [https://en.wikipedia.org/wiki/Lev_Psakhis GM Lev Psakhis] and GM Alon Greenfeld. Amongst others, Junior reached a completely won position against [https://en.wikipedia.org/wiki/Judit_Polg%C3%A1r GM Judit Polgar]. Since then Junior has established itself as a well respected player in the Israeli chess scene and is the one and only software selected to play in Israel's national chess league. Junior is one of the top chess playing programs on the [https://en.wikipedia.org/wiki/Internet_chess_server Internet Chess Server].

=Program Internals=
Amir started chess programming in 1985 - Junior's predecessor was written in [[Pascal#TurboPascal|Turbo Pascal]], later ported to [[C]] and [[Cpp|C++]]. In 1993, Shay joins Amir's programming efforts, specializing in evaluation and optimisation <ref>[http://www.robotwisdom.com/ai/deepjunior.html Deep Junior timeline] by [https://en.wikipedia.org/wiki/Jorn_Barger Jorn Barger], February 2003</ref> .

==C++==
[[Amir Ban]] in [[Computer Chess Forums|rgcc]], June 1997 <ref>[http://groups.google.com/group/rec.games.chess.computer/browse_frm/thread/5fba0f94be869f35 Search Degredation w/ C++] by Chris Jason Richards, [[Computer Chess Forums|rgcc]], June 12, 1997, post 4 and 6 by [[Amir Ban]]</ref> <ref>[https://www.stmintz.com/ccc/index.php?id=11617 Question to Amir Ban] by [[Bas Hamstra]], [[CCC]], November 05, 1997</ref> :
Junior is written entirely in [[Cpp|C++]] (Borland). The entire search engine is the implementation of class 'Position'. One statement that cannot be said about Junior is that it is slow. I've heard these kinds of performance arguments about C++ several times in the past. As a C++ veteran in many projects, I'm quite mystified about what is supposed to be slow about the language.

Creating a new Position and detroying it for every node is indeed the classic OOP approach, and also exactly what my program does. Your assumption that this involves "[https://en.wikipedia.org/wiki/Malloc malloc]" (or "[https://en.wikipedia.org/wiki/New_%28C%2B%2B%29 new]) is the incorrect one. mallocing a Position whenever you need one is as unnecesary and silly as mallocing an int every time you want to do a loop. You should malloc something when you want it to have dynamic lifetime and/or scope.

You can create an object as you create an int, by putting it as an auto variable on the [[Stack|stack]], e.g.:
<pre>
alphabeta(...)
{
...
Position newPosition;
...
}
</pre>
This constructs a Position at the point of declaration and destroys it on the exit from the block. The constructor and destructor do exactly what you code in them of course. No more, no less. The overhead for this is not low. It's zero.

==Search Depth==
[[Amir Ban]] in [[Computer Chess Forums|rgcc]], March 1998 <ref>[http://groups.google.com/group/rec.games.chess.computer/browse_frm/thread/2163f0fa2f0715f1 Funny Junior Engine in CBLight / Junior Engine ply depth] by Wolfgang Krietsch, [[Computer Chess Forums|rgcc]], February 27, 1998, post 7 and 16 by [[Amir Ban]]</ref> :
The [[Brute-Force|brute-force]] [[Ply|ply]] [[Depth|depth]] is indeed half the publicized depth. All the rest are [[Extensions|extensions]] (in conventional terminology, I don't think of them this way). If you set Junior to depth 12, e.g., then you should be able to find a 7-ply combination where it fails. If I am doing a good job, then you should have a hard time finding one.

The question of what this is equivalent to in terms of other programs, e.g. a null-mover with "standard" extensions is interesting, but I don't know the answer. In tournament conditions middlegame Junior typically gets 14-16 depths, and it looks competitive tactically.

[[Amir Ban]] in [[CCC]], April 1998 <ref>[https://www.stmintz.com/ccc/index.php?id=17231 Re: Junior] by [[Amir Ban]], [[CCC]], April 20, 1998</ref> ;
The Junior depth value measures half-plies, so if you insist, it's ply 6. I could have called it ply 12 or ply 9 with equal justification. Since nobody does brute-force anymore, and everybody does both pruning and extensions, what the depth indicator means is a bit vague. Very roughly, I would propose this equality:

Genius depth 6 = Rebel depth 8 = Fritz5 depth 10 = Junior depth 12

which once said should be forgotten, since it's much more complicated than that.

==Razoring==
[[Amir Ban]] in a [[CCC]] discussion with [[Robert Hyatt]] on [[Razoring]] versus [[Pruning]], January 1999 <ref>[https://www.stmintz.com/ccc/index.php?id=41065 Re: Razoring?] by [[Amir Ban]], [[CCC]], January 27, 1999</ref> :
Razoring is supposed to be a sort of forward pruning where rather than skipping an entire subtree, you search it to a reduced depth, typically one less than normal depth. The advantage is that you get most of the saving but with much lower risk than pruning entire subtrees. Razoring is the only forward pruning technique Junior uses, with a depth reduction of one (half-ply). Seems like [[Crafty]] uses the same definition ...

=Release Dates=
* Junior 3.3
* Junior 3.5
* Junior 4.0
* Junior 5.0 : 1998
* Junior 6.0 : 2000
* Junior 7 : 2002
* Junior 8 : 2004
* Junior 9 : 2005
* Junior 10 : 2006-8
* Junior 10.1 : 2007-6
* Junior 11 : 2009-11
* Junior 11.1 : 2010-3
* Junior 11.2 : 2010-5
* Junior 2010 : 2010
* Junior 12 : 2010-11
* Junior 12.5 : 2011-04
* Junior 13 : 2012-02
* Junior 13.3 : 2012-11
* Deep Junior [[WCCC 2013|Yokohama]]: 2013-10-24

=Matches=
* [[Kasparov versus Deep Junior 2003]]
* [[Deep Fritz versus Deep Junior 2007]]

=Publications=
* [[Amir Ban]] ('''1996'''). ''Junior among the Grandmasters''. [[ICGA Journal#19_4|ICCA Journal, Vol. 19, No. 4]]
* [[Frank Schneider]] ('''2001'''). ''Deep Junior wins the 18th World Microcomputer Chess Championship''. [[ICGA Journal#24_3|ICGA Journal, Vol. 24, No. 3]] » [[WMCCC 2001]]
* [[David Levy]] ('''2003'''). ''[http://ilk.uvt.nl/icga/journal/contents/content26-1.htm#MANMACHINE The State of the Art in Man vs. “Machine” Chess]''. [[ICGA Journal#26_1|ICGA Journal, Vol. 26, No. 1]] » [[Kasparov versus Deep Junior 2003]]
* [[Karsten Müller]] ('''2003'''). ''[http://ilk.uvt.nl/icga/journal/contents/content26-1.htm#MANEQUALS Man Equals Machine in Chess]''. [[ICGA Journal#26_1|ICGA Journal, Vol. 26, No. 1]] » [[Kasparov versus Deep Junior 2003]]
* [[Amir Ban]] ('''2004'''). ''Deep Junior Confirms its Strength''. [[ICGA Journal#27_3|ICGA Journal, Vol. 27, No. 3]] » [[WCCC 2004]]
* [[Shay Bushinsky]] ('''2007'''). ''Showdown in Elista''. [[ICGA Journal#30_2|ICGA Journal, Vol. 30, No, 2]] » [[Deep Fritz versus Deep Junior 2007]]
* [[Shay Bushinsky]] ('''2009'''). ''[http://www.aaai.org/ojs/index.php/aimagazine/article/view/2255 Deus Ex Machina— A Higher Creative Species in the Game of Chess]''. [[AAAI#AIMAG|AI Magazine]], Vol. 30, No. 3 <ref>[http://www.talkchess.com/forum/viewtopic.php?t=61240 "Deus Ex Machina - article by Shay Bushinsky] by Lonnie Cook, [[CCC]], August 26, 2016</ref>
* [[Amir Ban]] ('''2012'''). ''[http://www.ratio.huji.ac.il/node/2362 Automatic Learning of Evaluation, with Applications to Computer Chess]''. Discussion Paper 613, [https://en.wikipedia.org/wiki/Hebrew_University_of_Jerusalem The Hebrew University of Jerusalem] - Center for the Study of Rationality, [https://en.wikipedia.org/wiki/Givat_Ram Givat Ram] » [[Learning]]

=Forum Posts=
==1995 ...==
* [https://www.stmintz.com/ccc/index.php?id=11617 Question to Amir Ban] by [[Bas Hamstra]], [[CCC]], November 05, 1997
* [https://www.stmintz.com/ccc/index.php?id=17214 Junior: "Fast" Searcher or "Deep" Searcher?] by [[Fernando Villegas]], [[CCC]], April 19, 1998
* [https://www.stmintz.com/ccc/index.php?id=18213 Re: What is "pre-processing"] by [[Amir Ban]], May 08, 1998 » [[Piece-Square Tables#Preprocessing|Pre-processing]]
* [https://www.stmintz.com/ccc/index.php?id=15667 Junior 4.6 and the null move technique] by [[Sylvain Renard]], [[CCC]], March 14, 1998
* [https://groups.google.com/d/msg/rec.games.chess.computer/UklRzu9z_qA/eKYuOyczkQkJ Junior 5 !] by [[Dirk Frickenschmidt]], [[Computer Chess Forums|rgcc]], August 25, 1998
* [https://www.stmintz.com/ccc/index.php?id=41065 Re: Razoring?] by [[Amir Ban]], [[CCC]], January 27, 1999 » [[Razoring]]
==2000 ...==
* [https://www.stmintz.com/ccc/index.php?id=122370 Junior chess program. Just version of Fritz 5?] by [[Leonid Liberman|Leonid]], [[CCC]], July 29, 2000 » [[Fritz]]
* [https://www.stmintz.com/ccc/index.php?id=284417 Answers] by [[Amir Ban]], [[CCC]], February 15, 2003 <ref>[https://www.stmintz.com/ccc/index.php?id=283279 list of questions to ask to Amir and Shay ...] by [[Vincent Lejeune]], [[CCC]], February 10, 2003</ref> » [[Kasparov versus Deep Junior 2003]]
* [https://www.stmintz.com/ccc/index.php?id=356131 Re: Shredder 8 secret: search depth?] by [[Vasik Rajlich]], [[CCC]], March 23, 2004 » [[Depth]], [[Shredder]], [[Fritz]]
==2010 ...==
* [http://www.talkchess.com/forum/viewtopic.php?t=33435 Patt-Bug, Junior 11.1a show mate and Ktulu 9.03 made patt!] by [[Frank Quisinsky]], [[CCC]], March 23, 2010 » [[Stalemate]]
* [http://www.talkchess.com/forum/viewtopic.php?t=36512 Deep Junior 12 now available] by [[Graham Banks]], [[CCC]], October 27, 2010
* [http://www.talkchess.com/forum/viewtopic.php?t=48991 Junior is World Computer Chess Champion!] by [[Gerd Isenberg]], [[CCC]], August 17, 2013
* [http://www.talkchess.com/forum/viewtopic.php?t=48992 WCCC 2013: Junior wins] by [[Michael Scheidl|Mike Scheidl]], [[CCC]], August 17, 2013
* [http://www.talkchess.com/forum/viewtopic.php?t=49016 Israel’s Deep Junior still the king at WCCC] by Sean Evans, [[CCC]], August 19, 2013 <ref>[http://www.jpost.com/National-News/Israels-Deep-Junior-still-the-king-at-World-Computer-Chess-Championship-323527 Israel’s Deep Junior still the king at World Computer Chess Championship], [https://en.wikipedia.org/wiki/The_Jerusalem_Post Jerusalem Post], August 18, 2013</ref>
* [http://www.talkchess.com/forum/viewtopic.php?t=49812 Deep Junior Yokohama] by [[Graham Banks]], [[CCC]], October 24, 2013
* [http://www.talkchess.com/forum/viewtopic.php?t=50271 Deep Junior Yokohama] by [[Graham Banks]], [[CCC]], November 29, 2013

=External Links=
* [https://www.game-ai-forum.org/icga-tournaments/program.php?id=24 Junior's ICGA Tournaments]
* [https://en.wikipedia.org/wiki/Junior_%28chess%29 Junior (chess) from Wikipedia]
* [http://www.robotwisdom.com/ai/deepjunior.html Deep Junior timeline] by [https://en.wikipedia.org/wiki/Jorn_Barger Jorn Barger], February 2003
* [https://en.chessbase.com/post/programs-and-eentials/3 Programs and essentials] by [[Steve Lopez]], [[ChessBase|ChessBase News]], March 13, 2005 » [[Shredder|Shredder 9]]
* [http://gilkalai.wordpress.com/2008/06/25/amir-ban-on-deep-junior/ Amir Ban on Deep Junior] from [http://gilkalai.wordpress.com/ Combinatorics and more - Gil Kalai’s blog], June 25, 2008
==Purchase==
* [http://www.hiarcs.com/pc-chess-deep-junior.htm Deep Junior 13 PC Chess Software] from [http://www.hiarcs.com/index.htm HIARCS Chess Software for PC, Mac, Pocket PC, iPhone, iPod and Palm Chess]
* [http://www.hiarcs.com/dj13/pc-chess-junior-download.htm Download Junior] from [http://www.hiarcs.com/index.htm HIARCS Chess Software for PC, Mac, Pocket PC, iPhone, iPod and Palm Chess]
* [https://shop.chessbase.com/en/products/deep_junior_138 Deep Junior 13.8 mulitprocessor version], [[ChessBase|ChessBase Shop]], February 2014
==Reports==
* [http://www.thechessdrum.net/tournaments/Kasparov-DeepJr/ Kasparov & Deep Junior fight to 3-3 draw!]
* [http://www.hiarcs.com/Games/djkasp/deepjuniorvkasparov.htm Kasparov-Junior] from [http://www.hiarcs.com/index.htm HIARCS Chess Software for PC, Mac, Pocket PC, iPhone, iPod and Palm Chess]
* [http://www.jpost.com/National-News/Israels-Deep-Junior-still-the-king-at-World-Computer-Chess-Championship-323527 Israel’s Deep Junior still the king at World Computer Chess Championship], [https://en.wikipedia.org/wiki/The_Jerusalem_Post Jerusalem Post], August 18, 2013 <ref>[http://www.talkchess.com/forum/viewtopic.php?t=49016 Israel’s Deep Junior still the king at WCCC] by Sean Evans, [[CCC]], August 19, 2013</ref>
==Misc==
* [https://en.wikipedia.org/wiki/Junior Junior from Wikipedia]
* [https://www.discogs.com/artist/968447-Franco-Tonani Franco Tonani] - Junior's Idea, from [https://www.discogs.com/de/Franco-Tonani-Night-In-Fonorama/release/4116768 Night In Fonorama], recorded [https://en.wikipedia.org/wiki/Milan Milan], May 31,1964, [https://en.wikipedia.org/wiki/YouTube YouTube] Video
: feat. [https://it.wikipedia.org/wiki/Giovanni_Tommaso Giovanni Tommaso], [[Videos#FrancoDAndrea|Franco D'Andrea]], [[Videos#GatoBarbieri|Gato Barbieri]], [https://en.wikipedia.org/wiki/Franco_Ambrosetti Franco Ambrosetti]
: {{#evu:https://www.youtube.com/watch?v=fJq0Cf6cRuc|alignment=left|valignment=top}}

=References=
<references />

'''[[Engines|Up one level]]'''

Navigation menu