Changes

Jump to: navigation, search

Turochamp

17,139 bytes added, 16:45, 23 April 2018
Created page with "'''Home * Engines * Turochamp''' '''Turochamp''', a chess program by Alan Turing and David Champernowne developed in 1948 as chess..."
'''[[Main Page|Home]] * [[Engines]] * Turochamp'''

'''Turochamp''',
a chess program by [[Alan Turing]] and [[David Champernowne]] developed in [[Timeline#1948|1948]] as chess playing algorithm, implemented as "paper machine". Since there was no machine yet that could execute the instructions, Turing acted as a human CPU requiring more than half an hour per move. One game from 1952 is recorded, which Turochamp lost to one of Turing's colleagues <ref>[http://www.chessbase.com/columns/column.asp?pid=102 A short history of computer chess] from [[ChessBase]]</ref>, [https://en.wikipedia.org/wiki/Alick_Glennie Alick Glennie]. It won an earlier game versus Champernowne's wife, a beginner at chess <ref>Chapter 16, Introduction on 'Chess', in [[Alan Turing]], [https://en.wikipedia.org/wiki/Jack_Copeland Jack Copeland] (editor) ('''2004'''). ''The Essential Turing, Seminal Writings in Computing, Logic, Philosophy, Artificial Intelligence, and Artificial Life plus The Secrets of Enigma''. [https://en.wikipedia.org/wiki/Oxford_University_Press Oxford University Press], [http://www.amazon.com/Essential-Turing-Philosophy-Artificial-Intelligence/dp/0198250800/ref=sr_1_1?s=books&ie=UTF8&qid=1324659595&sr=1-1 amazon], [http://books.google.com/books?id=RSkxnKlv1D4C&lpg=PP882&ots=VOWmiIm_lD&dq=Turochamp%2C%20chess&pg=PP881#v=onepage&q&f=true google books]</ref>.

Turochamp incorporated important methods of [[Evaluation|evaluation]] <ref>[http://ilk.uvt.nl/icga/journal/contents/content23-4.htm#DAVID%20CHAMPERNOWNE David Champernowne (1912-2000)], [[ICGA Journal#23_4|ICGA Journal, Vol. 23, No. 4]]</ref>, and also the concepts of [[Selectivity|selectivity]] and [[Quiescence Search|dead position]], despite it is unclear how this was "implemented" in the game playing experiments. Champernowne [[David Champernowne#Turochamp|later said]] 'they were a bit slapdash about all this and must have made a number of slips since the arithmetic was extremely tedious with pencil and paper' <ref>[[Alan Turing]], [https://en.wikipedia.org/wiki/Jack_Copeland Jack Copeland] (editor) ('''2004'''). ''The Essential Turing, Seminal Writings in Computing, Logic, Philosophy, Artificial Intelligence, and Artificial Life plus The Secrets of Enigma''. [https://en.wikipedia.org/wiki/Oxford_University_Press Oxford University Press], [http://www.amazon.com/Essential-Turing-Philosophy-Artificial-Intelligence/dp/0198250800/ref=sr_1_1?s=books&ie=UTF8&qid=1324659595&sr=1-1 amazon], [http://books.google.com/books?id=RSkxnKlv1D4C&lpg=PP882&ots=VOWmiIm_lD&dq=Turochamp%2C%20chess&pg=PP881#v=onepage&q&f=true google books]</ref>. In a [[CCC]] forum post, [[Frederic Friedel]] mentioned a [[Search|search]] [[Depth|depth]] of up to three [[Ply|plies]] <ref>[https://www.stmintz.com/ccc/index.php?id=107112 Re: How did Alan Turing's program work?] by [[Frederic Friedel]], [[CCC]], April 22, 2000</ref>.

=Chess=
In his 1953 paper 'Chess' in [https://en.wikipedia.org/wiki/B._V._Bowden,_Baron_Bowden Bowden's] ''Faster Than Thought'' <ref>[[Alan Turing]] ('''1953'''). '''''Chess'''''. part of the collection ''Digital Computers Applied to Games''. in [https://en.wikipedia.org/wiki/B._V._Bowden,_Baron_Bowden Bertram Vivian Bowden] (editor), ''[http://www.computinghistory.org.uk/cgi-bin/sitewise.pl?act=det&p=10719 Faster Than Thought]'', a symposium on digital computing machines, reprinted 1988 in [[Computer Chess Compendium]], reprinted 2004 in Chapter 16 of [[Alan Turing]], [https://en.wikipedia.org/wiki/Jack_Copeland Jack Copeland] (editor) ('''2004'''). ''The Essential Turing, Seminal Writings in Computing, Logic, Philosophy, Artificial Intelligence, and Artificial Life plus The Secrets of Enigma''. [https://en.wikipedia.org/wiki/Oxford_University_Press Oxford University Press], [http://www.amazon.com/Essential-Turing-Philosophy-Artificial-Intelligence/dp/0198250800/ref=sr_1_1?s=books&ie=UTF8&qid=1324659595&sr=1-1 amazon], [http://books.google.com/books?id=RSkxnKlv1D4C&lpg=PP882&ots=VOWmiIm_lD&dq=Turochamp%2C%20chess&pg=PP881#v=onepage&q&f=true google books]</ref>, Turing defines [[Evaluation|evaluation features]], and elaborates on [[Minimax|minimax strategy]], [[Selectivity|variable look-ahead]], [[Quiescence Search|quiescence]] and even [[Learning|learning]] as an early example of a [[Genetic Programming|genetic algorithm]]. He does not explicitly mention the name Turochamp, but the 'Machine', and its game versus a human. [https://en.wikipedia.org/wiki/Jack_Copeland Jack Copeland] in ''The Essential Turing'', 2004 <ref>[[Alan Turing]], [https://en.wikipedia.org/wiki/Jack_Copeland Jack Copeland] (editor) ('''2004'''). ''The Essential Turing, Seminal Writings in Computing, Logic, Philosophy, Artificial Intelligence, and Artificial Life plus The Secrets of Enigma''. [https://en.wikipedia.org/wiki/Oxford_University_Press Oxford University Press], [http://www.amazon.com/Essential-Turing-Philosophy-Artificial-Intelligence/dp/0198250800/ref=sr_1_1?s=books&ie=UTF8&qid=1324659595&sr=1-1 amazon], [http://books.google.com/books?id=RSkxnKlv1D4C&lpg=PP882&ots=VOWmiIm_lD&dq=Turochamp%2C%20chess&pg=PP881#v=onepage&q&f=true google books]</ref> on Turing's paper:
Turing says that the system of rules set out in 'Chess' is based on an '[https://en.wikipedia.org/wiki/Introspection introspective] analysis' of his own [https://en.wikipedia.org/wiki/Thought thought process] when playing (but with 'considerable simplifications'). His system anticipates much that has become standard in chess programming: the use of heuristics to guide the [[Search|search]] through the [[Search Tree|tree]] of possible [[Moves|moves]] and counter-moves; the use of [[Evaluation|evaluation]] rules which assign [[Score|numerical values]], indicative of strength or weakness, to [[Chess Position|board configurations]]; the minimax strategy; and variable look-ahead whereby, instead of the consequences of every possible move being followed equally far, the 'more profitable moves are considered in greater detail than the less'. Turing also realized the necessity of using 'an entirely different system for the [[Endgame|end-game]]'.

The [[Learning|learning]] procedure that Turing proposed in 'Chess' involves the machine trying out variations in its method of play - e.g. varying the numerical values that are assigned to the various pieces. The machine adopts any variation that leads to more satisfactory results. This procedure is an early example of a [[Genetic Programming|genetic algorithm]].

=The Essential Turing=
[[David Champernowne|Champernowne's]] quote on Turochamp from ''The Essential Turing'' <ref>Chapter 16, Introduction on 'Chess', in [[Alan Turing]], [https://en.wikipedia.org/wiki/Jack_Copeland Jack Copeland] (editor) ('''2004'''). ''The Essential Turing, Seminal Writings in Computing, Logic, Philosophy, Artificial Intelligence, and Artificial Life plus The Secrets of Enigma''. [https://en.wikipedia.org/wiki/Oxford_University_Press Oxford University Press], [http://www.amazon.com/Essential-Turing-Philosophy-Artificial-Intelligence/dp/0198250800/ref=sr_1_1?s=books&ie=UTF8&qid=1324659595&sr=1-1 amazon], [http://books.google.com/books?id=RSkxnKlv1D4C&lpg=PP882&ots=VOWmiIm_lD&dq=Turochamp%2C%20chess&pg=PP881#v=onepage&q&f=true google books]</ref>:
Most of our attention went to deciding which moves were to be followed up. My memory about this is infuriatingly weak, Captures had to be followed up at least to the point where no further captures was immediately possible. Check and forcing moves had to be followed further. We were particularly keen on the idea that whereas certain moves would be scorned as pointless and pursued no further others would be followed quite a long way down certain paths. In the actual experiment I suspect we were a bit slapdash about all this and must have made a number of slips since the arithmetic was extremely tedious with pencil and paper. Out general conclusion was that a computer should be fairly easy to programme to play a game of chess against a beginner and stand a fair chance of winning or least reaching a winning position.
<span id="EvaluationFeatures"></span>
=Evaluation Features=
<ref>[http://uscfsales.wordpress.com/2011/07/01/an-%E2%80%9Ceasy%E2%80%9D-engine-for-the-fritzrybka-interface/ An “easy” engine for the Fritz/Rybka interface] by [[Steve Lopez]], [http://uscfsales.wordpress.com/ USCFSales], July 01, 2011</ref>
* [[Point Value|Point Values]] for [[Material]]: [[Pawn]]=1, [[Knight]]=3, [[Bishop]]=3.5, [[Rook]]=5, [[Queen]]=10
* [[Mobility]]: For the pieces other than Kings and pawns, add the square roots of the number of moves that the piece can make, counting a capture as two moves.
* [[Connectivity|Piece safety]]: If a Rook, Bishop, or Knight is defended once, add 1 point; add 1.5 points if it is defended twice.
* King mobility: Use the same method as above, but don’t count castling.
* [[King Safety|King safety]] : Deduct x points for a vulnerable King, with x being the number of moves that a Queen could move if it were on the same square as the one occupied by the King.
* [[Castling]]: When evaluating a move, add 1 point if castling is still possible after the move is made. Add another point if castling is immediately possible or if the castling move has just been performed.
* Pawn credit: Score 0.2 points for each square advanced, plus 0.3 points for each pawn defended by one or more non-pawns.
* [[Check|Checks]] and mate threats: Score 1 point for the threat of mate and a half-point for a check.

=Programming trials=
At the [[University of Manchester]], Turing began programming Turochamp, as well as [[Donald Michie|Michie's]] and [[Shaun Wylie|Wylie's]] program [[Machiavelli]], to run on a [[Ferranti Mark 1]] computer, but could not complete them <ref>[http://www.fbi.fh-darmstadt.de/fileadmin/vmi/chronologie/index.htm Chronology of Computing] compiled by [[Mathematician#DSingmaster|David Singmaster]]</ref>. In 2004 [[ChessBase]] published a engine based on Turing's ideas, developed by [[Mathias Feist]] with the help of [[Ken Thompson]] <ref>[http://www.spiegel.de/netzwelt/gadgets/computer-und-schach-die-goldene-gans-die-niemals-schnattert-a-273665.html Computer und Schach: "Die goldene Gans, die niemals schnattert"] by [https://en.chessbase.com/author/andre-schulz André Schulz], [https://en.wikipedia.org/wiki/Spiegel_Online Spiegel Online], November 12, 2003 (German)</ref> <ref>[http://www.chessbase.de/nachrichten.asp?newsid=3245 Alan Turing] by [https://en.chessbase.com/author/andre-schulz André Schulz], [[ChessBase|ChessBase Nachrichten]], June 07, 2004 (German)</ref> <ref>[http://uscfsales.wordpress.com/2011/07/01/an-%E2%80%9Ceasy%E2%80%9D-engine-for-the-fritzrybka-interface/ An “easy” engine for the Fritz/Rybka interface] by [[Steve Lopez]], [http://uscfsales.wordpress.com/ USCFSales], July 01, 2011</ref>.
<span id="TurochampGame"></span>
=Turochamp vs. Glennie=
The mentioned game of Turochamp versus [https://en.wikipedia.org/wiki/Alick_Glennie Alick Glennie], who wrote the [https://en.wikipedia.org/wiki/Autocode Autocode] compiler for the [https://en.wikipedia.org/wiki/Manchester_Mark_1 Manchester-Mark I] computers. The game took several weeks <ref>[http://www.chessgames.com/perl/chessgame?gid=1356927 Alan Turing vs Alick Glennie (1952)] from [http://www.chessgames.com/index.html chessgames.com]</ref>.
<pre>
[Event "Paper machine - Human"]
[Site "Manchester, UK"]
[Date "1952"]
[Round "?"]
[White "Turochamp"]
[Black "Alick Glennie"]
[Result "0-1"]

1.e4 e5 2.Nc3 Nf6 3.d4 Bb4 4.Nf3 d6 5.Bd2 Nc6 6.d5 Nd4 7.h4 Bg4 8.a4 Nxf3+ 9.gxf3 Bh5
10.Bb5+ c6 11.dxc6 0-0 12.cxb7 Rb8 13.Ba6 Qa5 14.Qe2 Nd7 15.Rg1 Nc5 16.Rg5 Bg6 17.Bb5
Nxb7 18.0-0-0 Nc5 19.Bc6 Rfc8 20.Bd5 Bxc3 21.Bxc3 Qxa4 22.Kd2 Ne6 23.Rg4 Nd4 24.Qd3 Nb5
25.Bb3 Qa6 26.Bc4 Bh5 27.Rg3 Qa4 28.Bxb5 Qxb5 29.Qxd6 Rd8 0-1
</pre>
=Publications=
* [[Alan Turing]] ('''1953'''). ''Chess''. part of the collection ''Digital Computers Applied to Games'', in [https://en.wikipedia.org/wiki/B._V._Bowden,_Baron_Bowden Bertram Vivian Bowden] (editor), [http://www.computinghistory.org.uk/cgi-bin/sitewise.pl?act=det&p=10719 Faster Than Thought], a symposium on digital computing machines, reprinted 1988 in [[Computer Chess Compendium]], reprinted 2004 in ''The Essential Turing'', [http://books.google.com/books?id=RSkxnKlv1D4C&lpg=PP882&ots=VOWmiIm_lD&dq=Turochamp%2C%20chess&pg=PP881#v=onepage&q&f=true google books]
* [[Alan Turing]], [https://en.wikipedia.org/wiki/Jack_Copeland Jack Copeland] (editor) ('''2004'''). ''The Essential Turing, Seminal Writings in Computing, Logic, Philosophy, Artificial Intelligence, and Artificial Life plus The Secrets of Enigma''. [https://en.wikipedia.org/wiki/Oxford_University_Press Oxford University Press], [http://www.amazon.com/Essential-Turing-Philosophy-Artificial-Intelligence/dp/0198250800/ref=sr_1_1?s=books&ie=UTF8&qid=1324659595&sr=1-1 amazon]
* [[Guy Haworth|Guy McCrossan Haworth]] ('''2013'''). ''Turing, Kasparov and the Future''. [[ICGA Journal#36_1|ICGA Journal, Vol. 36, No. 1]]

=Forum Posts=
* [https://www.stmintz.com/ccc/index.php?id=106953 How did Alan Turing's program work?] by Pete Galati, [[CCC]], April 20, 2000
* [https://www.stmintz.com/ccc/index.php?id=326962 New Chessbase Engine called "Turing"] by [[Ingo Bauer]], [[CCC]], November 12, 2003 <ref> [http://www.spiegel.de/netzwelt/gadgets/computer-und-schach-die-goldene-gans-die-niemals-schnattert-a-273665.html Computer und Schach: "Die goldene Gans, die niemals schnattert"] by [https:''en.chessbase.com/author/andre-schulz|André Schulz]], [https://en.wikipedia.org/wiki/Spiegel_Online Spiegel Online], November 12, 2003 (German)</ref>
* [http://www.hiarcs.net/forums/viewtopic.php?t=8578 Alan Turing's 1950 Chess Computer Program] by fourthirty, [[Computer Chess Forums|Hiarcs Forum]], September 05, 2017

=External Links=
* [http://web.archive.org/web/20071221115817/http://classicchess.googlepages.com/Chess.htm Classic Computer Chess - ... The programs of yesteryear] by [[Carey Bloodworth|Carey]], hosted by the [https://en.wikipedia.org/wiki/Internet_Archive Internet Archive] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=56938&start=2 Re: Old programs CHAOS and USC] by [[Dann Corbit]], [[CCC]], July 11, 2015</ref>
* [http://www.spiegel.de/netzwelt/gadgets/computer-und-schach-die-goldene-gans-die-niemals-schnattert-a-273665.html Computer und Schach: "Die goldene Gans, die niemals schnattert"] by [https://en.chessbase.com/author/andre-schulz André Schulz], [https://en.wikipedia.org/wiki/Spiegel_Online Spiegel Online], November 12, 2003 (German) <ref>[https://www.stmintz.com/ccc/index.php?id=326962 New Chessbase Engine called "Turing"] by [[Ingo Bauer]], [[CCC]], November 12, 2003</ref>
* [http://www.chessbase.de/nachrichten.asp?newsid=3245 Alan Turing] by [https://en.chessbase.com/author/andre-schulz André Schulz], [[ChessBase|ChessBase Nachrichten]], June 07, 2004 (German)
* [http://www.chessbase.de/spotlight/spotlight2.asp?id=15 Anmerkungen zur Programmierung der Turing-Engine] by [[Mathias Feist]], [[ChessBase|ChessBase Spotlights]] (German, with original article 'Chess' by Alan Turing) (no longer available)
* [http://uscfsales.wordpress.com/2011/07/01/an-%E2%80%9Ceasy%E2%80%9D-engine-for-the-fritzrybka-interface/ An “easy” engine for the Fritz/Rybka interface] by [[Steve Lopez]], [http://uscfsales.wordpress.com/ USCFSales], July 01, 2011
* [http://www.turing100.manchester.ac.uk/ The Alan Turing Centenary Conference Manchester UK], June 22-25, 2012, hosted by the [[University of Manchester|University in Manchester]]
* [http://en.chessbase.com/post/kasparov-on-alan-turing-and-his-paper-machine- Kasparov on Alan Turing and his 'Paper Machine'], [[ChessBase|ChessBase News]], June 23, 2012
* [http://www.theverge.com/2012/6/26/3119022/alan-turing-60-year-old-chess-program-garry-kasparov Alan Turing's 60-year-old chess program takes on Garry Kasparov | The Verge], by [https://en.wikipedia.org/wiki/Bryan_Bishop Bryan Bishop], June 26, 2012
* <span id="Video"></span>[http://www.cs.manchester.ac.uk/aboutus/news/2012/25-6-12_kasparov/ Kasparov versus Turing], June 25, 2012, [https://en.wikipedia.org/wiki/Garry_Kasparov Garry Kasparov] and [[Frederic Friedel]], [https://en.wikipedia.org/wiki/YouTube YouTube] Video <ref>[http://www.chessgames.com/perl/chessgame?gid=1670503 Turochamp (Computer) vs Garry Kasparov (2012)] from [http://www.chessgames.com/index.html chessgames.com]</ref>
: {{#evu:https://www.youtube.com/watch?v=wrxdWkjmhKg|alignment=left|valignment=top}}
* [http://www.history.com/news/in-1950-alan-turing-created-a-chess-computer-program-that-prefigured-a-i In 1950, Alan Turing Created a Chess Computer Program That Prefigured A.I.] by [http://www.history.com/news/author/martinstezano Martin Stezano], [http://www.history.com/ History in the Headlines], August 29, 2017 <ref>[http://www.hiarcs.net/forums/viewtopic.php?t=8578 Alan Turing's 1950 Chess Computer Program] by fourthirty, [[Computer Chess Forums|Hiarcs Forum]], September 05, 2017</ref>

=References=
<references />

'''[[Engines|Up one Level]]'''

Navigation menu